paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Automating Non-Blocking Synchronization In Concurrent Data Abstractions

在并发数据抽象中自动化非阻塞同步
ASE 2019 34th IEEE/ACM International Conference on Automated Software Engineering (ASE)2019匹配度 1/10 · 该论文属于编译器与并发数据结构方向,研究如何将顺序 C++ 数据抽象自动转换为无锁并发实现,与用户画像核心关注的 PL 与 LLM/Agent 交叉、静态分析、浮点程序分析或贝叶斯程序分析均无直接关系。仅在广义 PL/编译技术上略有边缘关联,但不涉及 AI 或用户所列的具体交叉方向。引用 1 inbox
Jiange Zhang, Qing Yi, Damian Dechev
crossref: 2026-09-12

AI 速览

一句话:提出编译器技术,将顺序 C++ 数据抽象自动转换为高性能无锁并发实现,性能接近手工实现并优于 STM。

该论文研究如何利用编译器技术,将队列、栈、映射和树等顺序 C++ 数据抽象自动转换为并发无锁实现。核心挑战在于为不同顺序数据结构自动选择合适的非阻塞同步方案,避免手工编写的复杂性和软件事务内存(STM)的开销。方法上,作者将多种业界实践中的同步方法自动化地适配到底层顺序实现,根据数据结构特征生成同步代码。评估表明,自动同步代码的性能可与专家手工编写的并发数据结构竞争,并显著优于基于 STM 的重量级支持。

问题
顺序 C++ 数据抽象难以直接并发使用,而手工编写无锁/非阻塞实现复杂且易错,STM 等通用方案又开销过高。
方法
利用编译器技术,针对不同数据结构的顺序实现自动选择并定制多种实践中的同步方法,生成无锁并发实现。
评估
通过性能对比实验,将自动同步代码与专家手工并发数据结构及 STM 方案比较,显示其性能具有竞争力且明显优于 STM。
原文摘要(Abstract)

This paper investigates using compiler technology to automatically convert sequential C++ data abstractions, e.g., queues, stacks, maps, and trees, to concurrent lock-free implementations. By automatically tailoring a number of state-of-the-practice synchronization methods to the underlying sequential implementations of different data structures, our automatically synchronized code can attain performance competitive to that of manually-written concurrent data structures by experts and much better performance than heavier-weight support by software transactional memory (STM).

链接与引用

DOI 原文 ·

BibTeX
@inproceedings{paperbot5279,
  title = {Automating Non-Blocking Synchronization In Concurrent Data Abstractions},
  author = {Jiange Zhang and Qing Yi and Damian Dechev},
  booktitle = {ASE},
  year = {2019},
  doi = {10.1109/ase.2019.00074}
}