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

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.
Fulltext: pdf
Errata: pdf
Published: Proceedings of the International Conference on Parallel Architectures and Compilation Techniques (PACT 2001), pages 221-230, September 2001.
DOI: 10.1109/PACT.2001.953302
Presentation: pdf

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.

Last modified: