Containers on the parallelization of general-purpose Java programs

Peng Wu, David A Padua

Research output: Contribution to journalArticlepeer-review

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 languageEnglish (US)
Pages (from-to)84-90
Number of pages7
JournalParallel Architectures and Compilation Techniques - Conference Proceedings, PACT
StatePublished - 1999

ASJC Scopus subject areas

  • Computer Science(all)

Fingerprint

Dive into the research topics of 'Containers on the parallelization of general-purpose Java programs'. Together they form a unique fingerprint.

Cite this