Transactional memory: architectural support for lock-free data structures
ISCA '93 Proceedings of the 20th annual international symposium on computer architecture
Software transactional memory for dynamic-sized data structures
Proceedings of the twenty-second annual symposium on Principles of distributed computing
Language support for lightweight transactions
OOPSLA '03 Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications
Advanced contention management for dynamic software transactional memory
Proceedings of the twenty-fourth annual ACM symposium on Principles of distributed computing
Toward a theory of transactional contention managers
Proceedings of the twenty-fourth annual ACM symposium on Principles of distributed computing
Transactional contention management as a non-clairvoyant scheduling problem
Proceedings of the twenty-fifth annual ACM symposium on Principles of distributed computing
Proceedings of the 12th international conference on Architectural support for programming languages and operating systems
Time-based transactional memory with scalable time bases
Proceedings of the nineteenth annual ACM symposium on Parallel algorithms and architectures
MetaTM/TxLinux: transactional memory for an operating system
Proceedings of the 34th annual international symposium on Computer architecture
Understanding Tradeoffs in Software Transactional Memory
Proceedings of the International Symposium on Code Generation and Optimization
A log-star distributed maximal independent set algorithm for growth-bounded graphs
Proceedings of the twenty-seventh ACM symposium on Principles of distributed computing
Coloring unstructured wireless multi-hop networks
Proceedings of the 28th ACM symposium on Principles of distributed computing
Weak graph colorings: distributed algorithms and applications
Proceedings of the twenty-first annual symposium on Parallelism in algorithms and architectures
Good Programming in Transactional Memory
ISAAC '09 Proceedings of the 20th International Symposium on Algorithms and Computation
Good Programming in Transactional Memory
ISAAC '09 Proceedings of the 20th International Symposium on Algorithms and Computation
ICALP'10 Proceedings of the 37th international colloquium conference on Automata, languages and programming: Part II
Window-based greedy contention management for transactional memory
DISC'10 Proceedings of the 24th international conference on Distributed computing
A competitive analysis for balanced transactional memory workloads
OPODIS'10 Proceedings of the 14th international conference on Principles of distributed systems
Highly concurrent multi-word synchronization
Theoretical Computer Science
Good programming in transactional memory
Theoretical Computer Science
Bounds on contention management algorithms
Theoretical Computer Science
Hi-index | 0.00 |
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, where m denotes the number of cores.