Passer à la navigation principale Passer à la recherche Passer au contenu principal

Scheduling strategies for optimistic parallel execution of irregular programs

  • Milind Kulkarni
  • , Patrick Carribault
  • , Keshav Pingali
  • , Ganesh Ramanarayanan
  • , Bruce Walter
  • , Kavita Bala
  • , L. Paul Chew
  • The University of Texas at Austin
  • Cornell University

Résultats de recherche: Le chapitre dans un livre, un rapport, une anthologie ou une collectionContribution à une conférenceRevue par des pairs

48 Citations (Scopus)

Résumé

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.

langue originaleAnglais
titreSPAA'08 - Proceedings of the 20th Annual Symposium on Parallelism in Algorithms and Architectures
Pages217-228
Nombre de pages12
Les DOIs
étatPublié - 15 déc. 2008
Modification externeOui
Evénement20th ACM Symposium on Parallelism in Algorithms and Architectures, SPAA'08 - Munich, Allemagne
Durée: 14 juin 200816 juin 2008

Série de publications

NomAnnual ACM Symposium on Parallelism in Algorithms and Architectures

Une conférence

Une conférence20th ACM Symposium on Parallelism in Algorithms and Architectures, SPAA'08
Pays/TerritoireAllemagne
La villeMunich
période14/06/0816/06/08

Empreinte digitale

Examiner les sujets de recherche de « Scheduling strategies for optimistic parallel execution of irregular programs ». Ensemble, ils forment une empreinte digitale unique.

Contient cette citation