We consider transactional memory contention management in the context of balanced workloads, where if a transaction is writing, the number of write operations it performs is a constant fraction of its total reads and writes. We explore the theoretical performance boundaries of contention management in balanced workloads from the worstcase perspective by presenting and analyzing two new polynomial time contention management algorithms. The first algorithm Clairvoyant is O(√s)-competitive, where s is the number of shared resources. This algorithm depends on explicitly knowing the conflict graph. The second algorithm Non-Clairvoyant is O(√s) ċ log n)-competitive, with high probability, which is only a O(log n) factor worse, but does not require knowledge of the conflict graph, where n is the number of transactions. Both of these algorithms are greedy. We also prove that the performance of Clairvoyant is tight, since there is no polynomial time contention management algorithm that is better than O((√s)1-e)-competitive for any constant e > 0, unless NP⊆ZPP. To our knowledge, these results are significant improvements over the best previously known O(s) competitive ratio bound.
['Gokarna Sharma', 'Costas Busch']
A competitive analysis for balanced transactional memory workloads