arXivDaily arXiv每日学术速递 周一至周五更新
arXiv周末暂无论文更新,休息一下吧,周末愉快~~
arXiv 1702.04866cs.DCcs.DS
收藏

Proust:高并发事务性数据结构的设计空间

Proust: A Design Space for Highly-Concurrent Transactional Data Structures

Thomas D. Dickerson, Paul Gazzillo, Maurice Herlihy, Eric Koskinen

摘要:

大多数STM系统都不具备支持并发数据结构库的能力。一个原因是它们通常通过跟踪事务的读集和写集来检测冲突,这种方法通常会导致错误的冲突。第二是现有的数据结构和库通常需要从头重写以支持事务冲突检测和回滚。本文介绍了Proust,一个设计和实现事务性数据结构的框架。Proust旨在通过提供事务性“包装器”使现有线程安全的并发数据结构具有事务性,从而最大限度地重用现有经过良好设计的数据结构。Proustian对象还与底层STM系统集成,允许它们利用精心设计的STM冲突检测机制。普鲁斯特概括和统一了先前的方法,如提升和预测。

英文摘要:

Most STM systems are poorly equipped to support libraries of concurrent data structures. One reason is that they typically detect conflicts by tracking transactions' read sets and write sets, an approach that often leads to false conflicts. A second is that existing data structures and libraries often need to be rewritten from scratch to support transactional conflict detection and rollback. This paper introduces Proust, a framework for the design and implementation of transactional data structures. Proust is designed to maximize re-use of existing well-engineered by providing transactional "wrappers" to make existing thread-safe concurrent data structures transactional. Proustian objects are also integrated with an underling STM system, allowing them to take advantage of well-engineered STM conflict detection mechanisms. Proust generalizes and unifies prior approaches such as boosting and predication.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑