Software behavior oriented parallelization

被引:32
作者
Ding, Chen [2 ]
Shen, Xipeng [3 ]
Kelsey, Kirk [2 ]
Tice, Chris [2 ]
Huang, Ruke [1 ]
Zhang, Chengliang [2 ]
机构
[1] Microsoft Corp, Redmond, WA 98052 USA
[2] Univ Rochester, Dept Comp Sci, Rochester, NY 14627 USA
[3] Coll William & Mary, Dept Comp Sci, Williamsburg, VA 23187 USA
关键词
languages; performance; speculative parallelization; program behavior;
D O I
10.1145/1273442.1250760
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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 multicore, 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.
引用
收藏
页码:223 / 234
页数:12
相关论文
共 38 条
[1]  
ALLEN R., 2001, OPTIMIZING COMPILERS
[2]  
[Anonymous], P 11 INT C ARCH SUPP
[3]  
Arnold M., 2001, P ACM SIGPLAN C PROG
[4]   ANALYSIS OF PROGRAMS FOR PARALLEL PROCESSING [J].
BERNSTEIN, AJ .
IEEE TRANSACTIONS ON ELECTRONIC COMPUTERS, 1966, EC15 (05) :757-+
[5]  
BLUME AJ, 1996, IEEE T ELECT COMPUTE, V29, P77
[6]  
BLUME W, 1996, IEEE COMPUT, V29, P77
[7]  
BOEHM HJ, 2005, P 2005 ACM SIGPLAN C, P261
[8]  
CHANG FW, 1999, P S OP SYST DES IMPL
[9]  
CHEN WY, 2005, P INT C PAR ARCH COM
[10]  
Chilimbi T. M., 2002, P ACM SIGPLAN C PROG