Parallel program design: a foundation
Parallel program design: a foundation
Distributed FIFO allocation of identical resources using small shared space
ACM Transactions on Programming Languages and Systems (TOPLAS)
Toward a non-atomic era: l-exclusion as a test case
STOC '88 Proceedings of the twentieth annual ACM symposium on Theory of computing
Proceedings of the eighth annual ACM Symposium on Principles of distributed computing
Renaming in an asynchronous environment
Journal of the ACM (JACM)
Algorithms for scalable synchronization on shared-memory multiprocessors
ACM Transactions on Computer Systems (TOCS)
A methodology for implementing highly concurrent data objects
ACM Transactions on Programming Languages and Systems (TOPLAS)
Fast, scalable synchronization with minimal hardware support
PODC '93 Proceedings of the twelfth annual ACM symposium on Principles of distributed computing
A bounded first-in, first-enabled solution to the l-exclusion problem
ACM Transactions on Programming Languages and Systems (TOPLAS)
Using k-exclusion to implement resilient, scalable shared objects (extended abstract)
PODC '94 Proceedings of the thirteenth annual ACM symposium on Principles of distributed computing
Wait-free algorithms for fast, long-lived renaming
Science of Computer Programming
Time/contention trade-offs for multiprocessor synchronization
Information and Computation
ACM Transactions on Programming Languages and Systems (TOPLAS)
Solution of a problem in concurrent programming control
Communications of the ACM
Distributed Algorithms
The Performance of Spin Lock Alternatives for Shared-Memory Multiprocessors
IEEE Transactions on Parallel and Distributed Systems
Fast, Long-Lived Renaming (Extended Abstract)
WDAG '94 Proceedings of the 8th International Workshop on Distributed Algorithms
Universal Constructions for Large Objects
WDAG '95 Proceedings of the 9th International Workshop on Distributed Algorithms
Scalable Spin Locks for Multiprogrammed Systems
Scalable Spin Locks for Multiprogrammed Systems
Distributed Computing
Adaptive solutions to the mutual exclusion problem
Distributed Computing
Long-lived renaming made adaptive
Proceedings of the eighteenth annual ACM symposium on Principles of distributed computing
A Simple Local-Spin Group Mutual Exclusion Algorithm
IEEE Transactions on Parallel and Distributed Systems
Shared-memory mutual exclusion: major research trends since 1986
Distributed Computing - Papers in celebration of the 20th anniversary of PODC
An adaptive collect algorithm with applications
Distributed Computing
A tight bound on remote reference time complexity of mutual exclusion in the read-modify-write model
Journal of Parallel and Distributed Computing
Brief Announcement: Local-Spin Algorithms for Abortable Mutual Exclusion and Related Problems
DISC '08 Proceedings of the 22nd international symposium on Distributed Computing
The k-bakery: local-spin k-exclusion using non-atomic reads and writes
Proceedings of the 29th ACM SIGACT-SIGOPS symposium on Principles of distributed computing
Fast randomized test-and-set and renaming
DISC'10 Proceedings of the 24th international conference on Distributed computing
Optimal-time adaptive strong renaming, with applications to counting
Proceedings of the 30th annual ACM SIGACT-SIGOPS symposium on Principles of distributed computing
Tight space bounds for l-exclusion
DISC'11 Proceedings of the 25th international conference on Distributed computing
Hi-index | 0.00 |
We present the first shared-memory algorithms for k-exclusion in which all process blocking is achieved through the use of "local-spin" busy waiting. Such algorithms are designed to reduce interconnect traffic, which is important for good performance. Our k-exclusion algorithms are starvation-free, and are designed to be fast in the absence of contention, and to exhibit scalable performance as contention rises. In contrast, all previous starvation-free k-exclusion algorithms require unrealistic operations or generate excessive interconnect traffic under contention. We also show that efficient, starvation-free k-exclusion algorithms can be used to reduce the time and space overhead associated with existing wait-free shared object implementations, while still providing some resilience to delays and failures. The resulting "hybrid" object implementations combine the advantages of local-spin spin locks, which perform well in the absence of process delays (caused, for example, by preemptions), and wait-free algorithms, which effectively tolerate such delays. We present performance results that confirm that this k-exclusion-based technique can improve the performance of existing wait-free shared object implementations. These results also show that lock-based implementations can be susceptible to severe performance degradation under multiprogramming, while our hybrid implementations are not.