A shape analysis for optimizing parallel graph programs

Dimitrios Prountzos, Roman Manevich, Keshav Pingali, Kathryn S. McKinley

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

3 Scopus citations

Abstract

Computations on unstructured graphs are challenging to parallelize because dependences in the underlying algorithms are usually complex functions of runtime data values, thwarting static parallelization. One promising general-purpose parallelization strategy for these algorithms is optimistic parallelization. This paper identifies the optimization of optimistically parallelized graph programs as a new application area, and develops the first shape analysis for addressing this problem. Our shape analysis identifies failsafe points in the program after which the execution is guaranteed not to abort and backup copies of modified data are not needed; additionally, the analysis can be used to eliminate redundant conflict checking. It uses two key ideas: a novel top-down heap abstraction that controls state space explosion, and a strategy for predicate discovery that exploits common patterns of data structure usage. We implemented the shape analysis in TVLA, and used it to optimize benchmarks from the Lonestar suite. The optimized programs were executed on the Galois system. The analysis was successful in eliminating all costs related to rollback logging for our benchmarks. Additionally, it reduced the number of lock acquisitions by a factor ranging from 10× to 50×, depending on the application and the number of threads. These optimizations were effective in reducing the running times of the benchmarks by factors of 2× to 12×.

Original languageEnglish
Title of host publicationPOPL'11 - Proceedings of the 38th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages
Pages159-171
Number of pages13
DOIs
StatePublished - 1 Dec 2010
Externally publishedYes
Event38th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL'11 - Austin, TX, United States
Duration: 26 Jan 201128 Jan 2011

Publication series

NameConference Record of the Annual ACM Symposium on Principles of Programming Languages
ISSN (Print)0730-8566

Conference

Conference38th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL'11
Country/TerritoryUnited States
CityAustin, TX
Period26/01/1128/01/11

Keywords

  • Abstract interpretation
  • Amorphous data-parallelism
  • Cautious operators
  • Compiler optimization
  • Concurrency
  • Irregular programs
  • Optimistic parallelization
  • Parallelism
  • Shape analysis
  • Static analysis
  • Synchronization overheads

ASJC Scopus subject areas

  • Software

Fingerprint

Dive into the research topics of 'A shape analysis for optimizing parallel graph programs'. Together they form a unique fingerprint.

Cite this