Abstract
Automatic parallelization of general-purpose programs is still not possible in general in the presence of irregular data structures and complex control-flows. One promising strategy is tread-level data speculation (TLDS). Although TLDS alleviates the need of proving independent computations statically, studies showed that applying TLDS blindly to programs with limited speculative parallelism may lead to performance degradation. Therefore, a positive approach is to combine TLDS with strong compiler analyses. The compiler can provide a guideline of where to speculate by `lazily' detecting some dependences and leave dependences that are more dynamic to be detected at runtime. Furthermore, transformations can be applied to eliminate some of the dependences detected by the compiler to enhance speculative parallelism in the program. This paper proposes compiler techniques to implement this approach. In particular, we focus on general-purpose Java programs with extensive use of containers that refer to any general-purpose aggregate data structures.
Original language | English (US) |
---|---|
Pages (from-to) | 84-90 |
Number of pages | 7 |
Journal | Parallel Architectures and Compilation Techniques - Conference Proceedings, PACT |
State | Published - 1999 |
Event | Porceedings of the 1999 International Conference on Parallel Architectures and Compilation Techniques (PACT '99) - Newport Beach, CA, USA Duration: Oct 12 1999 → Oct 16 1999 |
ASJC Scopus subject areas
- Software
- Theoretical Computer Science
- Hardware and Architecture