中文

StreamBox-HBM:基于高带宽混合内存的流分析

数据库 2019-01-29 v2

摘要

流分析对内存和性能有着贪得无厌的需求。新兴的混合内存将商用DDR4 DRAM与3D堆叠高带宽内存(HBM)DRAM结合,以满足此类需求。然而,实现这一前景具有挑战性,因为(1)HBM容量受限,且(2)HBM对顺序访问和高并行度负载的性能提升最佳。乍看之下,流分析似乎尤其不适合HBM,因为它们具有高容量需求,而其最繁重的数据分组操作使用随机访问。本文提出StreamBox-HBM的设计与实现,这是一种利用混合内存实现可扩展高性能的流分析引擎。StreamBox-HBM在HBM中使用顺序访问排序算法执行数据分组,而非DRAM中常用的随机访问哈希算法。StreamBox-HBM仅使用HBM存储密钥指针数组(KPA)数据结构,该结构仅包含用于分组操作的部分记录(键和指向完整记录的指针)。它动态创建和管理海量数据与流水线并行度,选择何时在HBM中分配KPA。它针对HBM的高带宽与有限容量,以及标准DRAM的有限带宽与高容量进行动态优化。StreamBox-HBM在有效利用Intel Knights Landing(一款具有混合内存的商用服务器)全部64个核心的同时,达到每秒1.1亿条记录和238 GB/s的内存带宽。其吞吐量是采用无KPA顺序访问算法的流引擎的7倍,是采用随机访问算法的流引擎的十倍。据我们所知,StreamBox-HBM是首个针对混合内存优化的流引擎。

关键词

引用

@article{arxiv.1901.01328,
  title  = {StreamBox-HBM: Stream Analytics on High Bandwidth Hybrid Memory},
  author = {Hongyu Miao and Myeongjae Jeon and Gennady Pekhimenko and Kathryn S. McKinley and Felix Xiaozhu Lin},
  journal= {arXiv preprint arXiv:1901.01328},
  year   = {2019}
}