paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Compiling Loop-Based Nested Parallelism for Irregular Workloads

为不规则工作负载编译基于循环的嵌套并行
ASPLOS Proceedings of the 29th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 22024匹配度 2/10 · 论文属于编译器与并行运行时优化,关注 OpenMP 嵌套并行的自动粒度控制和不规则负载,与用户画像中的 PL→AI、AI→PL、浮点程序分析或贝叶斯程序分析等核心方向均无直接交叉。引用 3 inbox
Yian Su, Mike Rainey, Nick Wanninger, Nadharm Dhiantravan, Jasper Liang, Umut A. Acar, Peter Dinda, Simone Campanoni
crossref: 2026-09-12dblp: 2026-09-12

AI 速览

一句话:提出 HBC 编译器,将 OpenMP 等 fork-join 并行程序编译为可自动控制并行粒度、适应不规则负载的二进制。

现代语言通过并行循环支持嵌套 fork-join 逻辑并行,但在多核系统上,任务创建与管理开销可能抵消并行收益;不规则、输入敏感的负载更使程序员难以手动调优。本文提出 HBC,首个将带高层 fork-join 构造(如 OpenMP)的 C/C++ 程序编译为二进制的编译器,能自动控制并行成本并处理不规则负载。其基础是 Heartbeat Scheduling,一种带性能形式化保证的自动粒度控制方法。评估表明,即使在完全手工方案也难以平衡并行收益与开销的工作负载上,HBC 生成的二进制仍优于 OpenMP 二进制。

问题
在支持嵌套并行循环的 fork-join 编程模型中,任务创建和管理开销以及不规则、输入敏感负载使并行收益难以保证,程序员需手动调优。
方法
HBC 将 C/C++ 中的 OpenMP 等高层 fork-join 构造编译为二进制,基于 Heartbeat Scheduling 自动进行粒度控制与负载管理。
评估
在具有不规则负载的基准上将 HBC 二进制与 OpenMP 二进制比较;结果显示,在手动方案也难以平衡并行收益与成本时,HBC 仍能取得更优性能。
原文摘要(Abstract)

Modern programming languages offer special syntax and semantics for logical fork-join parallelism in the form of parallel loops, allowing them to be nested, e.g., a parallel loop within another parallel loop. This expressiveness comes at a price, however: on modern multicore systems, realizing logical parallelism results in overheads due to the creation and management of parallel tasks, which can wipe out the benefits of parallelism. Today, we expect application programmers to cope with it by manually tuning and optimizing their code. Such tuning requires programmers to reason about architectural factors hidden behind layers of software abstractions, such as task scheduling and load balancing. Managing these factors is particularly challenging when workloads are irregular because their performance is input-sensitive. This paper presents HBC, the first compiler that translates C/C++ programs with high-level, fork-join constructs (e.g., OpenMP) to binaries capable of automatically controlling the cost of parallelism and dealing with irregular, input-sensitive workloads. The basis of our approach is Heartbeat Scheduling, a recent proposal for automatic granularity control, which is backed by formal guarantees on performance. HBC binaries outperform OpenMP binaries for workloads for which even entirely manual solutions struggle to find the right balance between parallelism and its costs.

链接与引用

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

BibTeX
@inproceedings{SuRWDLADC24,
  title = {Compiling Loop-Based Nested Parallelism for Irregular Workloads},
  author = {Yian Su and Mike Rainey and Nick Wanninger and Nadharm Dhiantravan and Jasper Liang and Umut A. Acar and Peter Dinda and Simone Campanoni},
  booktitle = {ASPLOS},
  year = {2024},
  doi = {10.1145/3620665.3640405}
}