Serialization Sets: A Dynamic Dependence-Based Parallel Execution Model

被引:23
作者
Allen, Matthew D. [1 ]
Sridharan, Srinath [1 ]
Sohi, Gurindar S. [1 ]
机构
[1] Univ Wisconsin, Dept Comp Sci, Madison, WI 53706 USA
基金
美国国家科学基金会;
关键词
Languages; Performance; parallel computing; runtime system; serialization sets; serializer;
D O I
10.1145/1594835.1504190
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
This paper proposes a new parallel execution model where programmers augment a sequential program with pieces of code called serializers that dynamically map computational operations into serialization sets of dependent operations. A runtime system executes operations in the same serialization set in program order, and may concurrently execute operations in different sets. Because serialization sets establish a logical ordering on all operations, the resulting parallel execution is predictable and deterministic. We describe the API and design of Prometheus, a C++ library that implements the serialization set abstraction through compile-time template instantiation and a runtime support library. We evaluate a set of parallel programs running on the x86_64 and SPARC-V9 instruction sets and study their performance on multi-core, symmetric multiprocessor, and ccNUMA parallel machines. By contrast with conventional parallel execution models, we find that Prometheus programs are significantly easier to write, test, and debug, and their parallel execution achieves comparable performance.
引用
收藏
页码:85 / 95
页数:11
相关论文
共 21 条
[1]  
[Anonymous], 2004, P 6 S OP SYST DES I
[2]  
[Anonymous], 2000, Generative Programming: Methods, Tools, and Applications
[3]  
[Anonymous], 2008, P 17 INT C PAR ARCH
[4]   COMMUNICATION OPTIMIZATIONS FOR IRREGULAR SCIENTIFIC COMPUTATIONS ON DISTRIBUTED-MEMORY ARCHITECTURES [J].
DAS, R ;
UYSAL, M ;
SALTZ, J ;
HWANG, YS .
JOURNAL OF PARALLEL AND DISTRIBUTED COMPUTING, 1994, 22 (03) :462-478
[5]  
FRIGO M, 1998, PLDI 98, P212, DOI DOI 10.1145/277652.277725
[6]   FastForward for Efficient Pipeline Parallelism A Cache-Optimized Concurrent Lock-Free Queue [J].
Giacomoni, John ;
Moseley, Tipp ;
Vachharajani, Manish .
PPOPP'08: PROCEEDINGS OF THE 2008 ACM SIGPLAN SYMPOSIUM ON PRINCIPLES AND PRACTICE OF PARALLEL PROGRAMMING, 2008, :43-52
[7]   MULTILISP - A LANGUAGE FOR CONCURRENT SYMBOLIC COMPUTATION [J].
HALSTEAD, RH .
ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 1985, 7 (04) :501-538
[8]  
HEWITT C, 1977, J ARTIFICIAL INTELLI, V8, P323
[9]   Optimistic Parallelism Requires Abstractions [J].
Kulkarni, Milind ;
Pingali, Keshav ;
Walter, Bruce ;
Ramanarayanan, Ganesh ;
Bala, Kavita ;
Chew, L. Paul .
PLDI'07: PROCEEDINGS OF THE 2007 ACM SIGPLAN CONFERENCE ON PROGRAMMING LANGUAGE DESIGN AND IMPLEMENTATION, 2007, :211-222
[10]  
LAVENDER RG, 1995, P 2 C PATT LANG PROG