Fast Track: A Software System for Speculative Program Optimization

被引:35
作者
Kelsey, Kirk [1 ]
Bai, Tongxin [1 ]
Ding, Chen [1 ]
Hang, Chengliang [2 ]
机构
[1] Univ Rochester, Dept Comp Sci, Rochester, NY 14627 USA
[2] Microsoft Corp, Redmond, WA 98052 USA
来源
CGO 2009: INTERNATIONAL SYMPOSIUM ON CODE GENERATION AND OPTIMIZATION, PROCEEDINGS | 2009年
关键词
D O I
10.1109/CGO.2009.18
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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.
引用
收藏
页码:157 / +
页数:3
相关论文
共 34 条
  • [1] [Anonymous], 2001, OPTIMIZING COMPILERS
  • [2] [Anonymous], 2005, P ACM SIGPLAN C PROG
  • [3] Arnold M., 2001, P ACM SIGPLAN C PROG
  • [4] Chilimbi T. M., 2002, P ACM SIGPLAN C PROG
  • [5] Design space exploration of a software speculative parallelization scheme
    Cintra, M
    Llanos, DR
    [J]. IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, 2005, 16 (06) : 562 - 576
  • [6] DING C, 1999, P SIGPLAN 99 C PROGR
  • [7] Ding C., 2007, P ACM SIGPLAN C PROG
  • [8] DING Y, 2004, P INT S COD GEN OPT
  • [9] GARG A, 2008, P ACM IEEE INT S MIC
  • [10] Grzegorczyk C, 2007, INT SYM CODE GENER, P325