Cache-efficient dynamic programming algorithms for multicores
Cache-efficient dynamic programming algorithms for multicores
复制标题
DOI:
10.1145/1378533.1378574
复制
发表时间:
2008-06
期刊:
影响因子:
--
通讯作者:
R. Chowdhury;V. Ramachandran
中科院分区:
文献类型:
--
作者:
R. Chowdhury;V. Ramachandran
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.