Leveraging Caches to Accelerate Hash Tables and Memoization

被引:15
|
作者
Zhang, Guowei [1 ]
Sanchez, Daniel [1 ]
机构
[1] MIT, Comp Sci & Artificial Intelligence Lab, Cambridge, MA 02139 USA
关键词
hash table; memoization; cache; microarchitecture; specialization;
D O I
10.1145/3352460.3358272
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Hash tables are widely used, but they are inefficient in current systems: they use core resources poorly and suffer from limited spatial locality in caches. To address these issues we propose HTA, a technique that accelerates hash table operations via simple ISA extensions and hardware changes. HTA adopts an efficient hash table format that leverages the characteristics of caches. HTA accelerates most operations in hardware, and leaves rare cases to software. We present two implementations of HTA, Flat-HTA and Hierarchical-HTA. Flat-HTA adopts a simple, hierarchy-oblivious layout and reduces runtime overheads with simple changes to cores. Hierarchical-HTA is a more complex implementation that uses a hierarchy-aware layout to improve spatial locality at intermediate cache levels. It requires some changes to caches and provides modest benefits over Flat-HTA. We evaluate HTA on hash table-intensive benchmarks and use it to accelerate memoization, a technique that caches and reuses the outputs of repetitive computations. Flat-HTA improves the performance of the state-of-the-art hash table-intensive applications by up to 2x, while Hierarchical-HTA outperforms Flat-HTA by up to 35%. Flat-HTA also outperforms software memoization by 2x.
引用
收藏
页码:440 / 452
页数:13
相关论文
共 50 条
  • [1] Leveraging Hardware Caches for Memoization
    Zhang, Guowei
    Sanchez, Daniel
    [J]. IEEE COMPUTER ARCHITECTURE LETTERS, 2018, 17 (01) : 59 - 63
  • [2] EBRAM - Extending the BlockRAMs in FPGAs to support caches and hash tables in an efficient manner
    Ehliar, Andreas
    [J]. 2012 IEEE 20TH ANNUAL INTERNATIONAL SYMPOSIUM ON FIELD-PROGRAMMABLE CUSTOM COMPUTING MACHINES (FCCM), 2012, : 242 - 242
  • [3] An Instruction to Accelerate Software Caches
    Azevedo, Arnaldo
    Juurlink, Ben
    [J]. ARCHITECTURE OF COMPUTING SYSTEMS - ARCS 2011, 2011, 6566 : 158 - +
  • [4] Authenticated Hash Tables
    Papamanthou, Charalampos
    Tamassia, Roberto
    Triandopoulos, Nikos
    [J]. CCS'08: PROCEEDINGS OF THE 15TH ACM CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY, 2008, : 437 - 448
  • [5] Distributed Hash Tables
    Wehrle, K
    Götz, S
    Rieche, S
    [J]. PEER-TO-PEER SYSTEMS AND APPLICATIONS, 2005, 3485 : 79 - 93
  • [6] ORDERED HASH TABLES
    AMBLE, O
    KNUTH, DE
    [J]. COMPUTER JOURNAL, 1974, 17 (02): : 135 - 142
  • [7] Distributed hash tables
    不详
    [J]. IEEE INTERNET COMPUTING, 2007, 11 (04) : 54 - 54
  • [8] Good hash tables & multiple hash functions
    Mitzenmacher, M
    [J]. DR DOBBS JOURNAL, 2002, 27 (05): : 28 - +
  • [9] Hash in a Flash: Hash Tables for Flash Devices
    Clemons, Tyler
    Faisal, S. M.
    Tatikonda, Shirish
    Aggarwal, Charu
    Parthasarathy, Srinivasan
    [J]. 2013 IEEE INTERNATIONAL CONFERENCE ON BIG DATA, 2013,
  • [10] FaBRiQ: Leveraging Distributed Hash Tables towards Distributed Publish-Subscribe Message Queues
    Sadooghi, Iman
    Wang, Ke
    Patel, Dharmit
    Zhao, Dongfang
    Li, Tonglin
    Srivastava, Shiva
    Raicu, Ioan
    [J]. 2015 IEEE/ACM 2ND INTERNATIONAL SYMPOSIUM ON BIG DATA COMPUTING (BDC), 2015, : 11 - 20