A shape analysis for optimizing parallel graph programs

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

Research output: Contribution to journalArticlepeer-review

11 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
Pages (from-to)159-171
Number of pages13
JournalACM SIGPLAN Notices
Volume46
Issue number1
DOIs
StatePublished - 1 Jan 2011
Externally publishedYes

Keywords

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

Fingerprint

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

Cite this