Automating Non-Blocking Synchronization In Concurrent Data Abstractions

Automating Non-Blocking Synchronization In Concurrent Data Abstractions
复制标题

DOI:
10.1109/ase.2019.00074
复制
发表时间:
2019-11
期刊:
2019 34th IEEE/ACM International Conference on Automated Software Engineering (ASE)
影响因子:
--
通讯作者:
Jiange Zhang;Qing Yi;D. Dechev
Jiange Zhang;Qing Yi;D. Dechev
中科院分区:
其他
文献类型:
--
作者:
Jiange Zhang;Qing Yi;D. Dechev

文献摘要

相似文献

本文研究使用编译器技术自动将顺序 C++ 数据抽象(例如队列、堆栈、映射和树)转换为并发无锁实现。通过根据不同数据结构的底层顺序实现自动定制多种最佳实践同步方法,我们的自动同步代码可以获得与专家手动编写的并发数据结构相媲美的性能,并且比软件事务内存(STM)的重量级支持更好的性能。
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).