paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Designing GPU Data Structures for Efficient Memory Oversubscription

为高效内存超额订阅设计 GPU 数据结构
OOPSLA 10(OOPSLA1)2026匹配度 1/10 · 论文聚焦 GPU 统一虚拟内存超额订阅下的哈希表与跳表数据结构设计,属于体系结构与运行时内存管理,与用户关注的静态分析、LLM/Agent、浮点程序分析、贝叶斯程序分析等方向没有直接关联。虽然涉及性能优化与工程实现,但问题域和研究方法均不在该研究画像的核心范围内。引用 0 inbox
Vipin Patel, Srinjoy Sarkar, Swarnendu Biswas, Mainak Chaudhuri
crossref: 2026-09-10

AI 速览

一句话:提出双层层次化哈希表与跳表设计,在 GPU 统一虚拟内存超额订阅下提升访问局部性与性能。

GPU 工作负载的内存占用不断增长,内核所使用的数据结构可能超出全局内存容量。统一虚拟内存(UVM)模型允许内核在不显式管理内存的情况下超额订阅 GPU 内存,但本文表明,在 UVM 下执行的数据结构会因数据迁移开销大以及不规则访问模式引发的抖动而性能退化。为此,作者为哈希表和跳表提出两级层次化设计,以最大化访问局部性并支持数据结构超额订阅 GPU 内存的场景:外层容器用于高效跳转到数据结构的目标区域,内层容器用于执行实际操作,且内层容器的大小经过设定,以便在 CPU 与 GPU 之间高效传输数据。在多种输入操作序列上的实验表明,该设计在支持高度 GPU 内存超额订阅的同时显著优于经过优化的 UVM 基线;将其用于宏基因组分类与 k-mer 计数应用中的键值存储时,哈希表取得 2.06×、跳表取得 2.37× 的几何平均加速。

问题
GPU 上并发数据结构的规模可能超过全局内存容量,而基于 UVM 的超额订阅会因数据迁移开销与不规则访问抖动导致性能下降。
方法
为哈希表与跳表设计两级层次化容器:外层容器支持高效定位目标区域,内层容器承载操作并被设定为便于 CPU–GPU 高效传输的尺寸,以最大化访问局部性。
评估
在多种输入操作序列上对比优化后的 UVM 基线,并在宏基因组分类与 k-mer 计数应用中评估;哈希表和跳表分别取得 2.06× 和 2.37× 的几何平均加速。
原文摘要(Abstract)

Efficient concurrent data structures are important building blocks for accelerating applications on GPUs. With the ever-increasing memory footprint of GPU workloads, data structures used by kernels can exceed global memory capacity. Using the unified virtual memory (UVM) model is a popular approach for kernels to oversubscribe GPU memory without the need for explicit memory management by a programmer. However, we show that data structures executing with UVM can suffer from performance degradation due to the high overheads associated with data migration and thrashing for irregular access patterns. In this paper, we propose two-level hierarchical designs for hash table and skip list data structures that aim to maximize access locality and handle use cases where the data structure oversubscribes GPU memory. The outer-level container enables efficient jumps to desired regions of the data structure, while the inner container allows operating on the data. The inner container is sized to facilitate efficient data transfers between the CPU and the GPU. Experimental results on a diverse set of input operation sequences show that our data structure designs substantially improve performance over optimized UVM baselines while supporting high degrees of GPU memory oversubscription. Importantly, our proposed design, when used to implement key-value stores in metagenomics classification and k-mer counting applications, achieves a geomean speedup of 2.06× for hash table and 2.37× for skip list over baseline UVM implementations.

链接与引用

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

BibTeX
@article{paperbot3782,
  title = {Designing GPU Data Structures for Efficient Memory Oversubscription},
  author = {Vipin Patel and Srinjoy Sarkar and Swarnendu Biswas and Mainak Chaudhuri},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {10},
  number = {OOPSLA1},
  year = {2026},
  doi = {10.1145/3798244}
}