Sciweavers

123
Voted
IEEEPACT
2009
IEEE

Interprocedural Load Elimination for Dynamic Optimization of Parallel Programs

15 years 10 months ago
Interprocedural Load Elimination for Dynamic Optimization of Parallel Programs
Abstract—Load elimination is a classical compiler transformation that is increasing in importance for multi-core and many-core architectures. The effect of the transformation is to replace a memory access, such as a read of an object field or an array element, by a read of a compiler-generated temporary that can be allocated in faster and more energyefficient storage structures such as registers and local memories (scratchpads). Unfortunately, current just-in-time and dynamic compilers perform load elimination only in limited situations. In particular, they usually make worst-case assumptions about potential side effects arising from parallel constructs and method calls. These two constraints interact with each other since parallel constructs are usually translated to low-level runtime library calls. In this paper, we introduce an interprocedural load elimination algorithm suitable for use in dynamic optimization of parallel programs. The main contributions of the paper include: a)...
Rajkishore Barik, Vivek Sarkar
Added 24 May 2010
Updated 24 May 2010
Type Conference
Year 2009
Where IEEEPACT
Authors Rajkishore Barik, Vivek Sarkar
Comments (0)