paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Vortex: Extreme-Performance Memory Abstractions for Data-Intensive Streaming Applications

Vortex:面向数据密集型流式应用的极致性能内存抽象
ASPLOS Proceedings of the Twenty-Fifth International Conference on Architectural Support for Programming Languages and Operating Systems2020匹配度 1/10 · 论文关注流式应用的内存抽象、页错误处理与高性能 I/O,属于系统/运行时方向,与用户画像中的静态分析、LLM/Agent、浮点程序分析和贝叶斯程序分析均无直接关联。引用 5 inbox
Carson Hanel, Arif Arman, Di Xiao, John Keech, Dmitri Loguinov
crossref: 2026-09-12

AI 速览

一句话:提出基于缺页异常的流式内存抽象,用普通指针模拟无限缓冲区,并实现高速 I/O、线程间传输与原地基数排序。

数据分析和集群计算常需处理远大于 RAM 的数据,但现有流式 I/O 抽象要么易用性差,要么性能受限。Vortex 提出一组算法,主动让应用在顺序处理流时触发访问违例(缺页),并在底层透明处理这些缺页,从而在普通 C/C++ 指针上营造出无限缓冲区。基于该抽象,作者实现了文件 I/O 包装、有界生产者-消费者流水线、消失数组、键分区引擎以及新的原地基数排序。评估表明,该系统是多种流式 I/O、线程间数据传递和键混洗中最简单且最快的平台,其中原地基数排序比此前最佳方法快 3–4 倍。

问题
如何为顺序处理的流式应用提供既简单又高性能的内存抽象,使其能处理超过 RAM 的输入并充分利用硬件。
方法
Vortex 通过算法强制应用在流处理中产生缺页异常,并透明处理这些异常,用普通 C/C++ 指针实现无限缓冲区抽象;基于此构建文件 I/O、生产者-消费者流水线、键分区与原地基数排序等应用。
评估
在多种流式 I/O、线程间数据传输和键混洗场景中评估易用性与性能,并在原地基数排序上与此前最佳方法比较,报告 3–4 倍加速。
原文摘要(Abstract)

Many applications in data analytics, information retrieval, and cluster computing process huge amounts of information. The complexity of involved algorithms and massive scale of data require a programming model that can not only offer a simple abstraction for inputs larger than RAM, but also squeeze maximum performance out of the available hardware. While these are usually conflicting goals, we show that this does not have to be the case for sequentially-processed data, i.e., in streaming applications. We develop a set of algorithms called Vortex that force the application to generate access violations (i.e., page faults) during processing of the stream, which are transparently handled in such a way that creates an illusion of an infinite buffer that fits into a regular C/C++ pointer. This design makes Vortex by far the simplest-to-use and fastest platform for various types of streaming I/O, inter-thread data transfer, and key shuffling. We introduce several such applications -- file I/O wrapper, bounded producer-consumer pipeline, vanishing array, key-partitioning engine, and novel in-place radix sort that is 3-4 times faster than the best prior approaches.

链接与引用

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

BibTeX
@inproceedings{paperbot5468,
  title = {Vortex: Extreme-Performance Memory Abstractions for Data-Intensive Streaming Applications},
  author = {Carson Hanel and Arif Arman and Di Xiao and John Keech and Dmitri Loguinov},
  booktitle = {ASPLOS},
  year = {2020},
  doi = {10.1145/3373376.3378527}
}