Transactional predication: high-performance concurrent sets and maps for STM
Transactional predication: high-performance concurrent sets and maps for STM
复制标题
事务预测:STM 的高性能并发集和映射
DOI:
--
复制
发表时间:
2010
期刊:
影响因子:
--
通讯作者:
K. Olukotun
中科院分区:
文献类型:
--
作者:
N. Bronson;J. Casper;Hassan Chafi;K. Olukotun
Concurrent collection classes are widely used in multi-threaded programming, but they provide atomicity only for a fixed set of operations. Software transactional memory (STM) provides a convenient and powerful programming model for composing atomic operations, but concurrent collection algorithms that allow their operations to be composed using STM are significantly slower than their non-composable alternatives. We introduce transactional predication, a method for building transactional maps and sets on top of an underlying non-composable concurrent map. We factor the work of most collection operations into two parts: a portion that does not need atomicity or isolation, and a single transactional memory access. The result approximates semantic conflict detection using the STM's structural conflict detection mechanism. The separation also allows extra optimizations when the collection is used outside a transaction. We perform an experimental evaluation that shows that predication has better performance than existing transactional collection algorithms across a range of workloads.