Skip to main navigation Skip to search Skip to main content

Cache-efficient dynamic programming algorithms for multicores

  • University of Texas at Austin

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

80 Scopus citations

Abstract

We present cache-efficient chip multiprocessor (CMP) algorithms with good speed-up for some widely used dynamic programming algorithms. We consider three types of caching systems for CMPs: D-CMP with a private cache for each core, S-CMP with a single cache shared by all cores, and Multicore, which has private L1 caches and a shared L2 cache. We derive results for three classes of problems: local dependency dynamic programming (LDDP), Gaussian Elimination Paradigm (GEP), and parenthesis problem. For each class of problems, we develop a generic CMP algorithm with an associated tiling sequence. We then tailor this tiling sequence to each caching model and provide a parallel schedule that results in a cache-efficient parallel execution up to the critical path length of the underlying dynamic programming algorithm. We present experimental results on an 8-core Opteron for two sequence alignment problems that are important examples of LDDP. Our experimental results show good speed-ups for simple versions of our algorithms.

Original languageEnglish
Title of host publicationSPAA'08 - Proceedings of the 20th Annual Symposium on Parallelism in Algorithms and Architectures
Pages207-216
Number of pages10
DOIs
StatePublished - 2008
Event20th ACM Symposium on Parallelism in Algorithms and Architectures, SPAA'08 - Munich, Germany
Duration: Jun 14 2008Jun 16 2008

Publication series

NameAnnual ACM Symposium on Parallelism in Algorithms and Architectures

Conference

Conference20th ACM Symposium on Parallelism in Algorithms and Architectures, SPAA'08
Country/TerritoryGermany
CityMunich
Period06/14/0806/16/08

Keywords

  • Cache-efficiency
  • Distributed cache
  • Multicore
  • Parallelism
  • Shared cache

Fingerprint

Dive into the research topics of 'Cache-efficient dynamic programming algorithms for multicores'. Together they form a unique fingerprint.

Cite this