Skip to main navigation Skip to search Skip to main content

Cache-oblivious wavefront: Improving parallelism of recursive dynamic programming algorithms without losing cache-efficiency

  • Fudan University
  • Stony Brook University

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

30 Scopus citations

Abstract

State-of-the-art cache-oblivious parallel algorithms for dynamic programming (DP) problems usually guarantee asymptotically optimal cache performance without any tuning of cache parameters, but they often fail to exploit the theoretically best parallelism at the same time. While these algorithms achieve cache-optimality through the use of a recursive divide-and-conquer (DAC) strategy, scheduling tasks at the granularity of task dependency introduces artificial dependencies in addition to those arising from the defining recurrence equations. We removed the artificial dependency by scheduling tasks ready for execution as soon as all its real dependency constraints are satisfied, while preserving the cache-optimality by inheriting the DAC strategy. We applied our approach to a set of widely known dynamic programming problems, such as Floyd-Warshall's All-Pairs Shortest Paths, Stencil, and LCS. Theoretical analyses show that our techniques improve the span of 2-way DAC-based Floyd Warshall's algorithm on an n node graph from Θ(nlog2 n) to Θ(n), stencil computations on a d-dimensional hypercubic grid of width w for h time steps from Θ ((d2h) wlog(d+2)-1) to Θ(h), and LCS on two sequences of length n each from Θ (nlog23) to Θ(n). In each case, the total work and cache complexity remain asymptotically optimal. Experimental measurements exhibit a 3-5 times improvement in absolute running time, 10-20 times improvement in burdened span by Cilkview, and approximately the same L1/L2 cache misses by PAPI.

Original languageEnglish
Title of host publication20th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP 2015 - Proceedings
PublisherAssociation for Computing Machinery
Pages205-214
Number of pages10
ISBN (Electronic)9781450332057
DOIs
StatePublished - Jan 24 2015
Event20th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP 2015 - San Francisco, United States
Duration: Feb 7 2015Feb 11 2015

Publication series

NameProceedings of the ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP
Volume2015-January
ISSN (Print)1542-0205

Conference

Conference20th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP 2015
Country/TerritoryUnited States
CitySan Francisco
Period02/7/1502/11/15

Keywords

  • Cache-oblivious parallel algorithm
  • Cache-oblivious wavefront
  • Cilk
  • Dynamic programming
  • Multi-core
  • Nested parallel computation

Fingerprint

Dive into the research topics of 'Cache-oblivious wavefront: Improving parallelism of recursive dynamic programming algorithms without losing cache-efficiency'. Together they form a unique fingerprint.

Cite this