Data-parallel abstractions for irregular programs

KK Pingali - Proceedings of the 5th conference on Computing …, 2008 - dl.acm.org
Proceedings of the 5th conference on Computing frontiers, 2008dl.acm.org
Client-side applications running on multicore processors are likely to be irregular programs
that deal with complex, pointer-based data structures such as graphs and trees. In her 2007
Turing award lecture, Fran Allen raised an important question about such programs: do
irregular programs have data parallelism, and if so, how do we exploit it on multicore
processors? In this talk, we demonstrate using concrete examples that irregular programs
have a generalized data parallelism that arises from the use of iterative algorithms that …
Client-side applications running on multicore processors are likely to be irregular programs that deal with complex, pointer-based data structures such as graphs and trees. In her 2007 Turing award lecture, Fran Allen raised an important question about such programs: do irregular programs have data parallelism, and if so, how do we exploit it on multicore processors?
In this talk, we demonstrate using concrete examples that irregular programs have a generalized data parallelism that arises from the use of iterative algorithms that manipulate worklists of various sorts. We also argue that optimistic parallelization is required for these programs since compile-time parallelization techniques like points-to and shape analysis cannot expose the parallelism in these programs.
We then describe the approach taken in the Galois project to exploit this generalized data-parallelism. There are three main aspects to the Galois system: (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 optimistic computations. We present experimental results that demonstrate that the Galois approach is practical, and discuss ongoing work on this system.
ACM Digital Library
Showing the best result for this search. See all results