Home Bio Publications Contact

Limits on Speculative Module-Level Parallelism in Imperative and Object-Oriented Programs on CMP Platforms
Authors: Fredrik Warg and Per Stenström
Abstract:

This paper considers program modules, e.g. procedures, functions, and methods as the basic method to exploit speculative parallelism in existing codes. We analyze how much inherent and exploitable parallelism exist in a set of C and Java programs on a set of chip-multiprocessor architecture models, and identify what inherent program features, as well as architectural deficiencies, that limit the speedup. Our data complement previous limit studies by indicating that the programming style -- object-oriented versus imperative -- does not seem to have any noticeable impact on the achievable speedup. Further, we show that as few as eight processors are enough to exploit all of the inherent parallelism. However, memory-level data dependence resolution and thread management mechanisms of recent CMP proposals may impose overheads that severely limit the speedup obtained.

Keywords: Multiprocessors, thread-level speculation, module-level parallelism, performance evaluation
Year-Month: 2001-09
Published: 10th International Conference on Parallel Architectures and Compilation Techniques (PACT 2001)
Publication type: Conference paper
Pages: 221--230
Note: This material is presented to ensure timely dissemination of scholarly and technical work. Copyright and all rights therein are retained by authors or by other copyright holders. All persons copying this information are expected to adhere to the terms and constraints invoked by each author's copyright. In most cases, these works may not be reposted without the explicit permission of the copyright holder.
Bibtex:
@inproceedings{LimitsSpecMLP_pact2001,
  title     = {Limits on Speculative Module-Level Parallelism in Imperative and Object-Oriented Programs on CMP Platforms},
  author    = {Warg, Fredrik and Stenström, Per},
  year      = {2001},
  month     = {09},
  abstract  = {This paper considers program modules, e.g. procedures, functions, and methods as the basic method to exploit speculative parallelism in existing codes. We analyze how much inherent and exploitable parallelism exist in a set of C and Java programs on a set of chip-multiprocessor architecture models, and identify what inherent program features, as well as architectural deficiencies, that limit the speedup. Our data complement previous limit studies by indicating that the programming style -- object-oriented versus imperative -- does not seem to have any noticeable impact on the achievable speedup. Further, we show that as few as eight processors are enough to exploit all of the inherent parallelism. However, memory-level data dependence resolution and thread management mechanisms of recent CMP proposals may impose overheads that severely limit the speedup obtained.},
  keywords  = {Multiprocessors, thread-level speculation, module-level parallelism, performance evaluation},
  booktitle = {10th International Conference on Parallel Architectures and Compilation Techniques ({PACT} 2001)},
  doi       = {10.1109/PACT.2001.953302},
  pages     = {221--230},
  note      = {Publication data: https://warg.org/fredrik/publ/}
}