Improved Parallel Cache-Oblivious Algorithms for Dynamic Programming [Extend Abstract]

被引:0
|
作者
Blelloch, Guy E. [1 ]
Gu, Yan [2 ]
机构
[1] Carnegie Mellon Univ, Pittsburgh, PA 15213 USA
[2] Univ Calif Riverside, Riverside, CA 92521 USA
基金
美国国家科学基金会;
关键词
COMMUNICATION; COMPLEXITY;
D O I
暂无
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Emerging non-volatile main memory (NVRAM) technologies provide byte-addressability, low idle power, and improved memorydensity, and are likely to be a key component in the future memory hierarchy. However, a critical challenge in achieving high performance is in accounting for the asymmetry that NVRAM writes can be significantly more expensive than NVRAM reads. In this paper, we consider a large class of cache-oblivious algorithms for dynamic programming (DP) and try to reduce the writes in the asymmetric setting while maintaining high parallelism. To achieve that, our key approach is to show the correspondence between these problems and an abstraction for their computation, which is referred to as the k-d grids. Then by showing lower bound and new algorithms for computing k-d grids, we show a list of improved cache-oblivious algorithms of many DP recurrences in the asymmetric setting, both sequentially and in parallel. Surprisingly, even without considering the read-write asymmetry (i.e., setting the write cost to be the same as the read cost in the algorithms), the new algorithms improve the existing cache complexity of many problems. We believe the reason is that the extra level of abstraction of k-d grids helps us to better understand the complexity and difficulties of these problems. We believe that the novelty of our framework is of theoretical interest and leads to many new questions for future work.
引用
收藏
页码:105 / 119
页数:15
相关论文
共 50 条
  • [1] Cache-Oblivious Dynamic Programming
    Chowdhury, Rezaul Alam
    Ramachandran, Vijaya
    PROCEEDINGS OF THE SEVENTHEENTH ANNUAL ACM-SIAM SYMPOSIUM ON DISCRETE ALGORITHMS, 2006, : 591 - 600
  • [2] Cache-Oblivious Dynamic Programming for Bioinformatics
    Chowdhury, Rezaul Alam
    Le, Hai-Son
    Ramachandran, Vijaya
    IEEE-ACM TRANSACTIONS ON COMPUTATIONAL BIOLOGY AND BIOINFORMATICS, 2010, 7 (03) : 495 - 510
  • [3] Cache-oblivious algorithms
    Leiserson, CE
    ALGORITHMS AND COMPLEXITY, PROCEEDINGS, 2003, 2653 : 5 - 5
  • [4] Cache-Oblivious Algorithms
    Frigo, Matteo
    Leiserson, Charles E.
    Prokop, Harald
    Ramachandran, Sridhar
    ACM TRANSACTIONS ON ALGORITHMS, 2012, 8 (01)
  • [5] AUTOGEN: Automatic Discovery of Cache-Oblivious Parallel Recursive Algorithms for Solving Dynamic Programs
    Chowdhury, Rezaul
    Ganapathi, Pramod
    Tithi, Jesmin Jahan
    Bachmeier, Charles
    Kuszmaul, Bradley C.
    Leiserson, Charles E.
    Solar-Lezama, Armando
    Tang, Yuan
    ACM SIGPLAN NOTICES, 2016, 51 (08) : 111 - 122
  • [6] Low Depth Cache-Oblivious Algorithms
    Blelloch, Guy E.
    Gibbons, Phillip B.
    Simhadri, Harsha Vardhan
    SPAA '10: PROCEEDINGS OF THE TWENTY-SECOND ANNUAL SYMPOSIUM ON PARALLELISM IN ALGORITHMS AND ARCHITECTURES, 2010, : 189 - 199
  • [7] Cache-Oblivious Wavefront: Improving Parallelism of Recursive Dynamic Programming Algorithms without Losing Cache-Efficiency
    Tang, Yuan
    You, Ronghui
    Kan, Haibin
    Tithi, Jesmin Jahan
    Ganapathi, Pramod
    Chowdhury, Rezaul A.
    ACM SIGPLAN NOTICES, 2015, 50 (08) : 205 - 214
  • [8] Cache-oblivious algorithms and data structures
    Brodal, GS
    ALGORITHM THEORY- SWAT 2004, 2004, 3111 : 3 - 13
  • [9] Cache-oblivious computation: Algorithms and experimental evaluation
    Ramachandran, Vijaya
    ICCTA 2007: INTERNATIONAL CONFERENCE ON COMPUTING: THEORY AND APPLICATIONS, PROCEEDINGS, 2007, : 20 - 25
  • [10] Exponential structures for efficient cache-oblivious algorithms
    Bender, MA
    Cole, R
    Raman, R
    AUTOMATA, LANGUAGES AND PROGRAMMING, 2002, 2380 : 195 - 207