中文

Buddy-RAM:利用 DRAM 提升批量按位运算的性能与效率

硬件体系结构 2016-12-01 v1

摘要

按位运算是现代编程的重要组成部分。许多广泛使用的数据结构(例如数据库中的位图索引)依赖于对大位向量的快速按位运算以实现高性能。遗憾的是,在现有系统中,无论底层架构如何(例如 CPU、GPU、FPGA),此类批量按位运算的吞吐量均受限于可用的内存带宽。我们提出了 Buddy,一种利用 DRAM 的模拟操作在 DRAM 芯片内部完全执行批量按位运算的新机制。Buddy 包含两个组件。首先,同时激活连接到同一组灵敏放大器的三个 DRAM 行,使我们能够执行按位 AND 和 OR 运算。其次,每个灵敏放大器中存在的反相器使我们能够执行按位 NOT 运算,只需对 DRAM 阵列进行适度修改。这两个组件使得 Buddy 具备功能完备性。我们的 Buddy 实现主要利用了现有的 DRAM 结构和接口,且开销低(占 DRAM 芯片面积的 1%)。我们基于 SPICE 仿真的评估表明,在七种常用的按位运算中,Buddy 在原始吞吐量上提供了 10.9X---25.6X 的提升,并在能耗上降低了 25.1X---59.5X。我们评估了三个利用按位运算的真实数据密集型应用:1) 位图索引,2) BitWeaving,和 3) 基于位向量的集合实现。我们的评估表明,Buddy 显著优于现有最先进技术。

关键词

引用

@article{arxiv.1611.09988,
  title  = {Buddy-RAM: Improving the Performance and Efficiency of Bulk Bitwise Operations Using DRAM},
  author = {Vivek Seshadri and Donghyuk Lee and Thomas Mullins and Hasan Hassan and Amirali Boroumand and Jeremie Kim and Michael A. Kozuch and Onur Mutlu and Phillip B. Gibbons and Todd C. Mowry},
  journal= {arXiv preprint arXiv:1611.09988},
  year   = {2016}
}

备注

arXiv admin note: text overlap with arXiv:1605.06483