Bounds on contention management algorithms

https://doi.org/10.1016/j.tcs.2010.10.010Get rights and content
Under an Elsevier user license
open archive

Abstract

We present two new algorithms for contention management in transactional memory, the deterministic algorithm CommitRounds and the randomized algorithm RandomizedRounds. Our randomized algorithm is efficient: in some notorious problem instances (e.g., dining philosophers) it is exponentially faster than prior work from a worst case perspective. Both algorithms are (i) local and (ii) starvation-free. Our algorithms are local because they do not use global synchronization data structures (e.g., a shared counter), hence they do not introduce additional resource conflicts which eventually might limit scalability. Our algorithms are starvation-free because each transaction is guaranteed to complete. Prior work sometimes features either (i) or (ii), but not both. To analyze our algorithms (from a worst case perspective) we introduce a new measure of complexity that depends on the number of actual conflicts only. In addition, we show that even a non-constant approximation of the length of an optimal (shortest) schedule of a set of transactions is NP-hard — even if all transactions are known in advance and do not alter their resource requirements. Furthermore, in case the needed resources of a transaction varies over time, such that for a transaction the number of conflicting transactions increases by a factor k, the competitive ratio of any contention manager is Ω(k) for k<m, where m denotes the number of parallel threads.

Keywords

Scheduling
Transactions
Transactional memory
Concurrency control
Contention management

Cited by (0)

This paper is an extension of Schneider and Wattenhofer (2009) [13].