Back to Search Start Over

Optimistic Parallelism Requires Abstractions.

Authors :
Kulkarni, Milind
Pingali, Keshav
Walter, Bruce
Ramanarayanan, Ganesh
Bala, Kavita
Chew, L. Paul
Source :
Communications of the ACM. Sep2009, Vol. 52 Issue 9, p89-97. 9p. 9 Diagrams, 3 Graphs.
Publication Year :
2009

Abstract

The problem of writing software for multicore processors is greatly simplified if we could automatically parallelize sequential programs. Although auto-parallelization has been studied for many decades, it has succeeded only in a few application areas such as dense matrix computations. In particular, auto-parallelization of irregular programs, which are organized around large, pointer-based data structures like graphs, has seemed intractable. The Galois project is taking a fresh look at auto-parallelization. Rather than attempt to parallelize all programs no matter how obscurely they are written, we are designing programming abstractions that permit programmers to highlight opportunities for exploiting parallelism in sequential programs, and building a runtime system that uses these hints to execute the program in parallel. In this paper, we describe the design and implementation of a system based on these ideas. Experimental results for two real-world irregular applications, a Delaunay mesh refinement application and a graphics application that performs agglomerative clustering, demonstrate that this approach is promising. [ABSTRACT FROM AUTHOR]

Details

Language :
English
ISSN :
00010782
Volume :
52
Issue :
9
Database :
Academic Search Index
Journal :
Communications of the ACM
Publication Type :
Periodical
Accession number :
44181663
Full Text :
https://doi.org/10.1145/1562164.1562188