ACM Home Page
Please provide us with feedback. Feedback
Scheduling strategies for optimistic parallel execution of irregular programs
Full text PdfPdf (395 KB)
Source
ACM Symposium on Parallel Algorithms and Architectures archive
Proceedings of the twentieth annual symposium on Parallelism in algorithms and architectures table of contents
Munich, Germany
SESSION: Special track -- multicore algorithms table of contents
Pages 217-228  
Year of Publication: 2008
ISBN:978-1-59593-973-9
Authors
Milind Kulkarni  The University of Texas at Austin, Austin, TX, USA
Patrick Carribault  The University of Texas at Austin, Austin, TX, USA
Keshav Pingali  The University of Texas at Austin, Austin, TX, USA
Ganesh Ramanarayanan  Cornell University, Ithaca, NY, USA
Bruce Walter  Cornell University, Ithaca, NY, USA
Kavita Bala  Cornell University, Ithaca, NY, USA
L. Paul Chew  Cornell University, Ithaca, NY, USA
Sponsors
ACM: Association for Computing Machinery
SIGACT: ACM Special Interest Group on Algorithms and Computation Theory
SIGARCH: ACM Special Interest Group on Computer Architecture
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 12,   Downloads (12 Months): 129,   Citation Count: 2
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1378533.1378575
What is a DOI?

ABSTRACT

Recent application studies have shown that many irregular applications have a generalized data parallelism that manifests itself as iterative computations over worklists of different kinds. In general, there are complex dependencies between iterations. These dependencies cannot be elucidated statically because they depend on the inputs to the program; thus, optimistic parallel execution is the only tractable approach to parallelizing these applications.

We have built a system called Galois that supports this style of parallel execution. Its main features are (i) set iterators for expressing worklist-based data parallelism, and (ii) a runtime system that performs optimistic parallelization of these iterators, detecting conflicts and rolling back computations as needed.

Our work builds on the Galois system, and it addresses the problem of scheduling iterations of set iterators on multiple cores. The policy used by the base Galois system is to assign an iteration to a core whenever it needs work to do, but we show in this paper that this policy is not optimal for many applications. We also argue that OpenMP-style DO-ALL loop scheduling directives such as chunked and guided self-scheduling are too simplistic for irregular programs. These difficulties led us to develop a general scheduling framework for irregular problems; OpenMP-style scheduling strategies are special cases of this general approach. We also provide hooks into our framework, allowing the programmer to leverage application knowledge to further tune a schedule for a particular application.

To evaluate this framework, we implemented it as an extension of the Galois system. We then tested the system using five real-world, irregular, data-parallel applications. Our results show that (i) the optimal scheduling policy can be different for different applications and often leverages application-specific knowledge and (ii) implementing these schedules in the Galois system is relatively straightforward.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
2
3
4
 
5
Leonidas J. Guibas, Donald E. Knuth, and Micha Sharir. Randomized incremental construction of delaunay and voronoi diagrams. Algorithmica, 7(1):381--413, December 1992.
 
6
 
7
B. W. Kernighan and S. Lin. An effective heuristic procedure for partitioning graphs. The Bell System Technical Journal, pages 291--308, February 1970.
 
8
 
9
10
11
 
12
 
13
OpenMP. http://www.openmp.org.
 
14
15
 
16
17
18
19
 
20
 
21
 
22
23


Collaborative Colleagues:
Milind Kulkarni: colleagues
Patrick Carribault: colleagues
Keshav Pingali: colleagues
Ganesh Ramanarayanan: colleagues
Bruce Walter: colleagues
Kavita Bala: colleagues
L. Paul Chew: colleagues