paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Why GPUs are Slow at Executing NFAs and How to Make them Faster

为什么 GPU 执行 NFA 很慢,以及如何让其更快
ASPLOS Proceedings of the Twenty-Fifth International Conference on Architectural Support for Programming Languages and Operating Systems2020匹配度 2/10 · 论文聚焦GPU执行NFA时的体系结构与内存优化,属于运行时/体系结构方向,与用户关注的静态分析、LLM/Agent、浮点程序分析和贝叶斯程序分析等核心方向几乎无交集。虽然自动机/模式匹配可能间接触及程序分析,但本文未涉及程序分析、形式化验证或LLM交叉。引用 30 inbox
Hongyuan Liu, Sreepathi Pai, Adwait Jog
crossref: 2026-09-12

AI 速览

一句话:揭示 GPU 执行 NFA 的内存与利用率瓶颈,并通过内存私有化、查表计算化与动态调度显著加速。

本文研究为何具备高并行度与高内存带宽的 GPU 仍难以高效执行非确定性有限自动机(NFA)。作者首先指出 GPU 内存层次中的过度数据移动是主要瓶颈,提出利用片上存储实现读私有化,并将部分间接表查询转换为计算以减少内存读取。这些优化虽缓解内存瓶颈,却导致工作静态绑定到核心、空闲 NFA 状态浪费算力的问题。为此,作者提出动态方案,在降低内存使用的同时平衡计算利用率。组合优化显著优于已有最佳 GPU NFA 实现,并在多个应用上超过专用 Automata Processor,其余应用也在一数量级以内。

问题
为何 GPU 无法高效执行 NFA,尤其是内存层次中的数据移动与核心计算利用率低下的原因。
方法
通过片上存储读私有化、间接表查询计算化以及动态负载均衡方案,优化 GPU 上的 NFA 执行。
评估
与先前最先进的 GPU NFA 实现及专用 Automata Processor 在多个模式匹配与数据分析应用上进行比较。
原文摘要(Abstract)

Non-deterministic Finite Automata (NFA) are space-efficient finite state machines that have significant applications in domains such as pattern matching and data analytics. In this paper, we investigate why the Graphics Processing Unit (GPU)---a massively parallel computational device with the highest memory bandwidth available on general-purpose processors---cannot efficiently execute NFAs. First, we identify excessive data movement in the GPU memory hierarchy and describe how to privatize reads effectively using GPU's on-chip memory hierarchy to reduce this excessive data movement. We also show that in several cases, indirect table lookups in NFAs can be eliminated by converting memory reads into computation, to further reduce the number of memory reads. Although our optimization techniques significantly alleviate these memory-related bottlenecks, a side effect of these techniques is the static assignment of work to cores. This leads to poor compute utilization, where GPU cores are wasted on idle NFA states. Therefore, we propose a new dynamic scheme that effectively balances compute utilization with reduced memory usage. Our combined optimizations provide a significant improvement over the previous state-of-the-art GPU implementations of NFAs. Moreover, they enable current GPUs to outperform the domain-specific accelerator for NFAs (i.e., Automata Processor) across several applications while performing within an order of magnitude for the rest of the applications.

链接与引用

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

BibTeX
@inproceedings{paperbot5426,
  title = {Why GPUs are Slow at Executing NFAs and How to Make them Faster},
  author = {Hongyuan Liu and Sreepathi Pai and Adwait Jog},
  booktitle = {ASPLOS},
  year = {2020},
  doi = {10.1145/3373376.3378471}
}