Proceedings of the Twentieth Annual Symposium on Parallelism in Algorithms and Architectures 2008
DOI: 10.1145/1378533.1378574
|View full text |Cite
|
Sign up to set email alerts
|

Cache-efficient dynamic programming algorithms for multicores

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 o… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
67
0

Year Published

2008
2008
2019
2019

Publication Types

Select...
5
2
1

Relationship

1
7

Authors

Journals

citations
Cited by 75 publications
(67 citation statements)
references
References 31 publications
0
67
0
Order By: Relevance
“…Dynamic programs are usually described through recurrence relations that specify how to decompose sub-problems, and is typically implemented using a DP table where each cell holds the computed solution for one of these sub-problems. The table can be filled by visiting each cell once in some predetermined order, but recent research has shown that it is possible to achieve order-of-magnitude performance improvements over this standard implementation approach by developing divide-and-conquer implementation strategies that recursively partition the space of subproblems into smaller subspaces [4,[8][9][10][11]32].…”
Section: Overviewmentioning
confidence: 99%
See 1 more Smart Citation
“…Dynamic programs are usually described through recurrence relations that specify how to decompose sub-problems, and is typically implemented using a DP table where each cell holds the computed solution for one of these sub-problems. The table can be filled by visiting each cell once in some predetermined order, but recent research has shown that it is possible to achieve order-of-magnitude performance improvements over this standard implementation approach by developing divide-and-conquer implementation strategies that recursively partition the space of subproblems into smaller subspaces [4,[8][9][10][11]32].…”
Section: Overviewmentioning
confidence: 99%
“…Later, these concepts have been applied to divide-and-conquer in a disciplined way in [7,31]; these address divide-andconquer in the classical sense of [13] (Chapter 4), focusing on parallelism. In Bellmania, more focus is put on re-ordering of array reads and writes, following and mechanizing techniques related to DP from [8,9]. In fact, traditional parallelism is taking "for granted" for our aggregation operators, since they are associative and methods such as [17] apply rather trivially, and translated into the tactics Slice, Assoc, and Distrib.…”
Section: Related Workmentioning
confidence: 99%
“…Therefore, C(G) has only (( Table 2 (the calculations are not difficult and are omitted for brevity). Therefore, the number of parallel steps required to execute all supernodes is of the sequential time complexity divided by the number of processors p. In a more recent work [10] we have shown that for both shared and distributed caches the depth of any GEP computation can be improved to O(n) while still matching its optimal sequential cache complexity by choosing tile sizes that depend only on the number of cores/processors and thus still remaining cache-oblivious. This is the maximum parallelism achievable when staying within the GEP framework.…”
Section: Subdag In G Corresponding To Any Supernode V Is Denoted By Smentioning
confidence: 99%
“…Chowdhury and Ramachandran [9] consider cache-complexity in both private-and shared-cache models for matrix-based computations, including all-pairs shortest paths algorithm of FloydWarshall. They also consider parallel dynamic programming algorithms in private-, shared-and multicore-cache models [10].…”
Section: A Prior Related Workmentioning
confidence: 99%