ACM Home Page
Please provide us with feedback. Feedback
Digital Library logoTake a look at the new version of this page: [ beta version ]. Tell us what you think.
Fast Track: A Software System for Speculative Program Optimization
Full text PdfPdf (251 KB)
Source Code Generation and Optimization archive
Proceedings of the 2009 International Symposium on Code Generation and Optimization table of contents
Pages: 157-168  
Year of Publication: 2009
ISBN:978-0-7695-3576-0
Authors
Publisher
IEEE Computer Society  Washington, DC, USA
Bibliometrics
Downloads (6 Weeks): 13,   Downloads (12 Months): 131,   Citation Count: 2
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Review this Article  
DOI Bookmark: 10.1109/CGO.2009.18

Warning: The download time has expired please click on the item to try again.


ABSTRACT

Fast track is a software speculation system that enables unsafe optimization of sequential code. It speculatively runs optimized code to improve performance and then checks the correctness of the speculative code by running the original program on multiple processors. We present the interface design and system implementation for Fast Track. It lets a programmer or a profiling tool mark fast-track code regions and uses a run-time system to manage the parallel execution of the speculative process and its checking processes and ensures the correct display of program outputs. The core of the run-time system is a novel concurrent algorithm that balances exploitable parallelism and available processors when the fast track is too slow or too fast. The programming interface closely affects the run-time support. Our system permits both explicit and implicit end markers for speculatively optimized code regions as well as extensions that allow the use of multiple tracks and user defined correctness checking. We discuss the possible uses of speculative optimization and demonstrate the effectiveness of our prototype system by examples of unsafe semantic optimization and a general system for fast memory-safety checking, which is able to reduce the checking time by factors between 2 and 7 for large sequential code on a 8-CPU system.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

1
 
2
 
3
4
 
5
 
6
7
8
9
 
10
11
 
12
 
13
D. Michie, "Memo functions and machine learning," Nature, vol. 218, pp. 19-22, 1968.
 
14
15
 
16
 
17
18
 
19
H. Patil and C. Fischer, "Efcient run-time monitoring using shadow processing," 1995, presented at AADEBUG'95.
 
20
21
22
 
23
24
25
 
26
S. Lee and J. Tuck, "Parallelizing Mudflap using thread-level speculation on a CMP," 2008, presented at the Workshop on the Parallel Execution of Sequential Programs on Multicore Architecture, co-located with ISCA.
 
27
J. Mellor-Crummey, "Compile-time support for efficient data race detection in shared memory parallel programs," Rice University, Tech. Rep. CRPC-TR92232, September 1992.
 
28
29
30
31
32
 
33
 
34


Collaborative Colleagues:
Kirk Kelsey: colleagues
Tongxin Bai: colleagues
Chen Ding: colleagues
Chengliang Zhang: colleagues