Optimistic Parallelism Requires Abstractions

被引:118
作者
Kulkarni, Milind [1 ]
Pingali, Keshav [1 ]
Walter, Bruce
Ramanarayanan, Ganesh
Bala, Kavita
Chew, L. Paul
机构
[1] Univ Texas Austin, Dept Comp Sci, Austin, TX 78712 USA
来源
PLDI'07: PROCEEDINGS OF THE 2007 ACM SIGPLAN CONFERENCE ON PROGRAMMING LANGUAGE DESIGN AND IMPLEMENTATION | 2007年
关键词
Optimistic Parallelism; Abstractions; Irregular Programs;
D O I
10.1145/1250734.1250759
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Irregular applications. which manipulate large, pointer-based data structures like graphs, are difficult to parallelize manually. Automatic tools and techniques such as restructuring compilers and runtime speculative execution have failed to uncover much parallelism in these applications, in spite of a lot of effort by the research community. These difficulties have even led some researchers to wonder if there is any coarse-grain parallelism worth exploiting in irregular applications. In this paper, we describe two real-world irregular applications: a Delaunay mesh refinement application and a graphics application that performs agglomerative clustering. By studying the algorithms and data structures used in these applications, we show that there is substantial coarse-grain, data parallelism in these applications, but that this parallelism is very dependent on the input data and therefore cannot be uncovered by compiler analysis. In principle, optimistic techniques such as thread-level speculation can be used to uncover this parallelism, but we argue that current implementations cannot accomplish this because they do not use the proper abstractions for the data structures in these programs. These insights have informed our design of the Galois system, an object-based optimistic parallelization system for irregular applications. There are three main aspects to Galois: (1) a small number of syntactic constructs for packaging optimistic parallelism as iteration over ordered and unordered sets, (2) assertions about methods in class libraries, and (3) a runtime scheme for detecting and recovering from potentially unsafe accesses to shared memory made by an optimistic computation. We show that Delaunay mesh generation and agglomerative clustering can be parallelized in a straight-forward way using the Galois approach, and we present experimental measurements to show that this approach is practical. These results suggest that Galois is a practical approach to exploiting data parallelism in irregular programs.
引用
收藏
页码:211 / 222
页数:12
相关论文
共 43 条
[1]  
ANANIAN CS, 2005, HPCA 05
[2]  
ANTONOPOULOS CD, 2005, ICS 05
[3]   MULTIDIMENSIONAL BINARY SEARCH TREES USED FOR ASSOCIATIVE SEARCHING [J].
BENTLEY, JL .
COMMUNICATIONS OF THE ACM, 1975, 18 (09) :509-517
[4]  
Bernstein A. J., 1966, IEEE T ELECT COMPUTE
[5]  
BURKE M, 1997, 21055 IBM RC
[6]  
CARLSTROM BD, 2007, PRINCIPLES PRACTICES
[7]  
CHEW LP, 1993, SCG 93, P274
[8]  
DEGALAS J, 2005, QUEST MORE PROCESSIN
[9]  
ELIOT J, 2005, SCOOL 05
[10]  
FISHER JA, 1998, ISCA 98