Affiliation:
1. University of Rochester, Rochester, NY
2. College of William and Mary, Williamsburg, VA
3. Microsoft, Redmond, WA
Abstract
Many sequential applications are difficult to parallelize because of unpredictable control flow, indirect data access, and input-dependent parallelism. These difficulties led us to build a software system for behavior oriented parallelization (BOP), which allows a program to be parallelized based on partial information about program behavior, for example, a user reading just part of the source code, or a profiling tool examining merely one or few executions.
The basis of BOP is programmable software speculation, where a user or an analysis tool marks possibly parallel regions in the code, and the run-time system executes these regions speculatively. It is imperative to protect the entire address space during speculation. The main goal of the paper is to demonstrate that the general protection can be made cost effective by three novel techniques: programmable speculation, critical-path minimization, and value-based correctness checking. On a recently acquired multi-core, multi-processor PC, the BOP system reduced the end-to-end execution time by integer factors for a Lisp interpreter, a data compressor, a language parser, and a scientific library, with no change to the underlying hardware or operating system.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Cited by
25 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Accelerating Continuous Integration with Parallel Batch Testing;Proceedings of the 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering;2023-11-30
2. An efficient hardware supported and parallelization architecture for intelligent systems to overcome speculative overheads;International Journal of Intelligent Systems;2022-09-08
3. Challenging Sequential Bitstream Processing via Principled Bitwise Speculation;Proceedings of the Twenty-Fifth International Conference on Architectural Support for Programming Languages and Operating Systems;2020-03-09
4. Enabling prefix sum parallelism pattern for recurrences with principled function reconstruction;Proceedings of the 28th International Conference on Compiler Construction - CC 2019;2019
5. Software Speculation on Caching DSMs;International Journal of Parallel Programming;2017-04-04