paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Ripple: Asynchronous Programming for Spatial Dataflow Architectures

Ripple:面向空间数据流架构的异步编程
PLDI 9(PLDI)2025匹配度 2/10 · 该论文属于编程语言与体系结构方向,聚焦空间数据流架构上的异步编程抽象与硬件队列,并未涉及静态分析、LLM/Agent、浮点程序分析或贝叶斯程序分析等用户核心研究问题。引用 4 inbox
Souradip Ghosh, Yufei Shi, Brandon Lucia, Nathan Beckmann
crossref: 2026-09-10

AI 速览

一句话:提出语言与架构 Ripple,用异步迭代器、共享内存原子操作与任务并行接口消除抽象倒置,支持非规则计算。

空间数据流架构(SDA)是可编程、接近 ASIC 能效的加速器平台,但在实现非规则计算时存在抽象倒置:应用中的粗粒度数据流语义(异步通信、流水线、队列)本可被数据流执行模型与现有 SDA 硬件自然支持,却难以被高效表达。Ripple 是一种在整栈中保留数据流语义的语言与架构,提供异步迭代器、共享内存原子操作以及熟悉的任务并行接口,以简洁地表达 SDA 所支持的异步流水线并行;其 ISA 暴露硬件 token 队列,从而高效实现无死锁的异步任务通信。在九个重要工作负载上,与近期有序数据流 SDA 相比,Ripple 使程序规模缩小 1.9 倍,性能提升 3 倍,IPC 提高 58%,动态指令数减少 44%。

问题
空间数据流架构难以高效执行非规则计算,因为现有抽象未能捕获应用中的异步通信、流水线与队列等粗粒度数据流语义,造成抽象倒置。
方法
Ripple 在语言与架构整栈中保留数据流语义,提供异步迭代器、共享内存原子操作和任务并行接口,并在 ISA 中暴露硬件 token 队列以实现无死锁的异步任务通信。
评估
在九个重要工作负载上与近期有序数据流 SDA 对比,程序规模缩小 1.9 倍,性能提升 3 倍,IPC 提高 58%,动态指令减少 44%。
原文摘要(Abstract)

Spatial dataflow architectures (SDAs) are a promising and versatile accelerator platform. They are software-programmable and achieve near-ASIC performance and energy efficiency, beating CPUs by orders of magnitude. Unfortunately, many SDAs struggle to efficiently implement irregular computations because they suffer from an abstraction inversion: they fail to capture coarse-grain dataflow semantics in the application — namely asynchronous communication, pipelining, and queueing — that are naturally supported by the dataflow execution model and existing SDA hardware. Ripple is a language and architecture that corrects the abstraction inversion by preserving dataflow semantics down the stack. Ripple provides asynchronous iterators , shared-memory atomics , and a familiar task-parallel interface to concisely express the asynchronous pipeline parallelism enabled by an SDA. Ripple efficiently implements deadlock-free, asynchronous task communication by exposing hardware token queues in its ISA. Across nine important workloads, compared to a recent ordered-dataflow SDA, Ripple shrinks programs by 1.9×, improves performance by 3×, increases IPC by 58%, and reduces dynamic instructions by 44%.

链接与引用

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

BibTeX
@article{paperbot3133,
  title = {Ripple: Asynchronous Programming for Spatial Dataflow Architectures},
  author = {Souradip Ghosh and Yufei Shi and Brandon Lucia and Nathan Beckmann},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {9},
  number = {PLDI},
  year = {2025},
  doi = {10.1145/3729256}
}