Variant-based Competitive Parallel Execution of Sequential Programs

被引:7
作者
Trachsel, Oliver [1 ]
Gross, Thomas R. [1 ]
机构
[1] Swiss Fed Inst Technol, Dept Comp Sci, Lab Software Technol, Zurich, Switzerland
来源
PROCEEDINGS OF THE 2010 COMPUTING FRONTIERS CONFERENCE (CF 2010) | 2010年
关键词
Design; Experimentation; Performance; COMPILER OPTIMIZATIONS;
D O I
10.1145/1787275.1787325
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Competitive parallel execution (CPE) is a simple yet attractive technique to improve the performance of sequential programs on multi-core and multi-processor systems. A sequential program is transformed into a CPE-enabled program by introducing multiple variants for parts of the program. The performance of different variants depends on runtime conditions, such as program input or the execution platform, and the execution time of a CPE-enabled program is the sum of the shortest variants. Variants compete at run-time under the control of a CPE-aware run-time system. The run-time system ensures that the behavior and outcome of a CPE-enabled program is not distinguishable from the one of its original sequential counterpart. We present and evaluate a run-time system that is implemented as a user-space library and that closely interacts with the operating system. The paper discusses two strategies for the generation of variants and investigates the applicability of CPE for two usage scenarios: i) computation-driven CPE: a simple and straightforward parallelization of heuristic algorithms, and ii) compiler-driven CPE: generation of CPE-enabled programs as part of the compilation process using different optimization strategies. Using a state-of-the-art SAT solver as an illustrative example, we report for compiler-based CPE speedups of 4-6% for many data sets, with a maximum slow-down of 2%. Computation-driven CPE provides super-linear speedups for 5 out of 31 data sets (with a maximum speedup of 7.4) and at most a slow-down of 1% for two data sets.
引用
收藏
页码:197 / 206
页数:10
相关论文
共 25 条
[1]   PetaBricks: A Language and Compiler for Algorithmic Choice [J].
Ansel, Jason ;
Chan, Cy ;
Wong, Yee Lok ;
Olszewski, Marek ;
Zhao, Qin ;
Edelman, Alan ;
Amarasinghe, Saman .
PLDI'09 PROCEEDINGS OF THE 2009 ACM SIGPLAN CONFERENCE ON PROGRAMMING LANGUAGE DESIGN AND IMPLEMENTATION, 2009, :38-49
[2]  
Bashkuev Gennadii, 2007, SMART 07, P1
[3]  
Cavazos J, 2007, INT SYM CODE GENER, P185
[4]  
Cho SH, 1997, 1997 INTERNATIONAL CONFERENCE ON PARALLEL AND DISTRIBUTED SYSTEMS, PROCEEDINGS, P382, DOI 10.1109/ICPADS.1997.652577
[5]  
DAVIS M, 1962, COMMUNICATIONS ACM, V5
[6]  
Dean J, 2004, USENIX ASSOCIATION PROCEEDINGS OF THE SIXTH SYMPOSIUM ON OPERATING SYSTEMS DESIGN AND IMPLEMENTATION (OSDE '04), P137
[7]   Self-adapting linear algebra algorithms and software [J].
Demmel, J ;
Dongarra, J ;
Eijkhout, V ;
Fuentes, E ;
Petitet, A ;
Vuduc, R ;
Whaley, RC ;
Yelick, K .
PROCEEDINGS OF THE IEEE, 2005, 93 (02) :293-312
[8]   Dynamic feedback: An effective technique for adaptive computing [J].
Diniz, P ;
Rinard, M .
ACM SIGPLAN NOTICES, 1997, 32 (05) :71-84
[9]   An extensible SAT-solver [J].
Eén, N ;
Sörensson, N .
THEORY AND APPLICATIONS OF SATISFIABILITY TESTING, 2004, 2919 :502-518
[10]  
Fursin G, 2005, LECT NOTES COMPUT SC, V3793, P29, DOI 10.1007/11587514_4