paperbot · PL 论文追踪

全部论文 待读 收藏

P2 StreamBox-HBM

StreamBox-HBM:面向混合内存的可扩展流分析引擎
ASPLOS Proceedings of the Twenty-Fourth International Conference on Architectural Support for Programming Languages and Operating Systems2019匹配度 0/10 · 该论文属于流分析引擎与混合内存体系结构优化,核心是排序、KPA、HBM/DDR4 内存管理和吞吐性能,与用户关注的静态分析、LLM/Agent、浮点程序分析及贝叶斯程序分析均无交集。引用 22 inbox
Hongyu Miao, Myeongjae Jeon, Gennady Pekhimenko, Kathryn S. McKinley, Felix Xiaozhu Lin
crossref: 2026-09-12

AI 速览

一句话:提出首个面向混合内存的流分析引擎,用HBM中的顺序排序和KPA替代随机哈希分组,实现高吞吐。

流分析对内存容量和性能有巨大需求。新兴混合内存结合DDR4 DRAM与3D堆叠HBM,但HBM容量有限且更适合顺序访问与高并行,而流分析的高容量需求和随机访问分组操作似乎与之不匹配。本文设计并实现StreamBox-HBM,在HBM中用顺序访问排序算法完成数据分组,仅将包含键和完整记录指针的KPA存入HBM;它动态创建和管理数据与流水线并行,按需分配KPA,并针对HBM高带宽低容量与DRAM低带宽高容量进行动态优化。在Intel Knights Landing 64核混合内存服务器上,StreamBox-HBM达到每秒1.1亿条记录和238 GB/s内存带宽,吞吐比使用顺序访问但无KPA的流引擎快7倍,比随机访问流引擎高一个数量级。

问题
流分析需要极高内存容量和带宽,而HBM容量受限且对随机访问不友好,传统基于DRAM随机哈希分组的流引擎难以发挥混合内存优势。
方法
StreamBox-HBM将分组操作改为HBM中的顺序排序,仅把记录键和指针组成的KPA放入HBM,并动态管理数据与流水线并行、按需分配KPA以适配混合内存。
评估
在Intel Knights Landing 64核混合内存商用服务器上评估,达到1.1亿记录/秒和238 GB/s带宽,吞吐超顺序无KPA流引擎7倍、随机访问流引擎约10倍。
原文摘要(Abstract)

Stream analytics has an insatiable demand for memory and performance. Emerging hybrid memories combine commodity DDR4 DRAM with 3D-stacked High Bandwidth Memory (HBM) DRAM to meet such demands. However, achieving this promise is challenging because (1) HBM is capacity-limited and (2) HBM boosts performance best for sequential access and high parallelism workloads. At first glance, stream analytics appears a particularly poor match for HBM because they have high capacity demands and data grouping operations, their most demanding computations, use random access. This paper presents the design and implementation of StreamBox-HBM, a stream analytics engine that exploits hybrid memories to achieve scalable high performance. StreamBox-HBM performs data grouping with sequential access sorting algorithms in HBM, in contrast to random access hashing algorithms commonly used in DRAM. StreamBox-HBM solely uses HBM to store Key Pointer Array (KPA) data structures that contain only partial records (keys and pointers to full records) for grouping operations. It dynamically creates and manages prodigious data and pipeline parallelism, choosing when to allocate KPAs in HBM. It dynamically optimizes for both the high bandwidth and limited capacity of HBM, and the limited bandwidth and high capacity of standard DRAM. StreamBox-HBM achieves 110 million records per second and 238 GB/s memory bandwidth while effectively utilizing all 64 cores of Intel's Knights Landing, a commercial server with hybrid memory. It outperforms stream engines with sequential access algorithms without KPAs by 7x and stream engines with random access algorithms by an order of magnitude in throughput. To the best of our knowledge, StreamBox-HBM is the first stream engine optimized for hybrid memories.

链接与引用

DOI 原文 · PDF(开放获取) ·

BibTeX
@inproceedings{paperbot4855,
  title = {StreamBox-HBM},
  author = {Hongyu Miao and Myeongjae Jeon and Gennady Pekhimenko and Kathryn S. McKinley and Felix Xiaozhu Lin},
  booktitle = {ASPLOS},
  year = {2019},
  doi = {10.1145/3297858.3304031}
}