Using k-exclusion to implement resilient, scalable shared objects (extended abstract)

We present a methodology for the implementation of resilient shared objects that allows the desired level of resiliency to be selected based on performance concerns. This methodology is based on the k-exclusion and renaming problems. To make this methodology practical, we present a number of fast k-exclusion algorithms that employ “local spin” techniques to minimize the impact of the processor-to-memory bottleneck. We also present a new “long-lived” renaming algorithm. Our lcexclusion algorithms are based on commonly-available synchronization primitives, are fast in the absence of contention, and have scalable performance when contention exceeds expected thresholds. By contrast, all prior k-exclusion algorithms either require unrealistic atomic operations or perform badly. Our k-exclusion algorithms are also the first algorithms based on localspin techniques that tolerate process failures.

[1]  Edsger W. Dijkstra,et al.  Solution of a problem in concurrent programming control , 1965, CACM.

[2]  Eli Gafni,et al.  Immediate atomic snapshots and fast renaming , 1993, PODC '93.

[3]  Shreekant S. Thakkar,et al.  Synchronization algorithms for shared-memory multiprocessors , 1990, Computer.

[4]  Hagit Attiya,et al.  Achievable cases in an asynchronous environment , 1987, 28th Annual Symposium on Foundations of Computer Science (sfcs 1987).

[5]  Allan Borodin,et al.  Resource allocation with immunity to limited process failure , 1979, 20th Annual Symposium on Foundations of Computer Science (sfcs 1979).

[6]  Thomas E. Anderson,et al.  The Performance of Spin Lock Alternatives for Shared-Memory Multiprocessors , 1990, IEEE Trans. Parallel Distributed Syst..

[7]  Danny Dolev,et al.  Shared-memory vs. message-passing in an asynchronous distributed environment , 1989, PODC '89.

[8]  Michael L. Scott,et al.  Algorithms for scalable synchronization on shared-memory multiprocessors , 1991, TOCS.

[9]  Nir Shavit,et al.  Toward a non-atomic era: l-exclusion as a test case , 1988, STOC '88.

[10]  K. Mani Chandy,et al.  Parallel program design - a foundation , 1988 .

[11]  Gerard Tel,et al.  Proceedings of the 8th International Workshop on Distributed Algorithms , 1994 .

[12]  Allan Borodin,et al.  Distributed FIFO allocation of identical resources using small shared space , 1985, TOPL.

[13]  James H. Anderson,et al.  Fast, scalable synchronization with minimal hardware support , 1993, PODC '93.

[14]  Mark Moir,et al.  Fast, Long-Lived Renaming (Extended Abstract) , 1994, WDAG.