Fast Track: A Software System for Speculative Program Optimization

  • Authors:
  • Kirk Kelsey;Tongxin Bai;Chen Ding;Chengliang Zhang

  • Affiliations:
  • -;-;-;-

  • Venue:
  • Proceedings of the 7th annual IEEE/ACM International Symposium on Code Generation and Optimization
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

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.