Elimination trees and the construction of pools and stacks: preliminary version

Shared pools and stacks are two coordination structures with a history of applications ranging from simple producer/consumer buffers to job-schedulers and procedure stacks. This paper introduces elimination trees, a novel form of diffracting trees that offer pool and stack implementations with superior response (on average constant) under high loads, while guaranteeing logarithmic time “deterministic” termination under sparse request patterns. Dan Touitou

[1]  Udi Manber,et al.  On maintaining dynamic information in a concurrent environment , 1984, STOC '84.

[2]  Gregory F. Pfister,et al.  “Hot spot” contention and combining in multistage interconnection networks , 1985, IEEE Transactions on Computers.

[3]  Dieter Gawlick,et al.  Processing "Hot Spots" in High Performance Systems , 1985, COMPCON.

[4]  Nancy A. Lynch,et al.  Hierarchical correctness proofs for distributed algorithms , 1987, PODC '87.

[5]  Mary K. Vernon,et al.  Efficient synchronization primitives for large-scale cache-coherent multiprocessors , 1989, ASPLOS III.

[6]  Carla Schlatter Ellis,et al.  Evaluation of concurrent pools , 1989, [1989] Proceedings. The 9th International Conference on Distributed Computing Systems.

[7]  Mary K. Vernon,et al.  Efficient synchronization primitives for large-scale cache-coherent multiprocessors , 1989, ASPLOS 1989.

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

[9]  Maurice Herlihy,et al.  Linearizability: a correctness condition for concurrent objects , 1990, TOPL.

[10]  David Chaiken,et al.  CACHE COHERENCE PROTOCOLS FOR LARGE-SCALE MULTIPROCESSORS , 1990 .

[11]  Eli Upfal,et al.  A simple load balancing scheme for task allocation in parallel machines , 1991, SPAA '91.

[12]  Donald Yeung,et al.  THE MIT ALEWIFE MACHINE: A LARGE-SCALE DISTRIBUTED-MEMORY MULTIPROCESSOR , 1991 .

[13]  Michael L. Scott,et al.  Synchronization without contention , 1991, ASPLOS IV.

[14]  Maurice Herlihy,et al.  Low contention load balancing on large-scale multiprocessors , 1992, SPAA '92.

[15]  Eric A. Brewer,et al.  PROTEUS: a high-performance parallel-architecture simulator , 1992, SIGMETRICS '92/PERFORMANCE '92.

[16]  Hagit Attiya,et al.  Counting networks with arbitrary fan-out , 1992, SODA '92.

[17]  Reinhard Lüling,et al.  A dynamic distributed load balancing algorithm with provable good performance , 1993, SPAA '93.

[18]  An Efficient Implementation Scheme of Concurrent Object-Oriented Languages on Stock Multicomputers , 1993, PPOPP.

[19]  Satoshi Matsuoka,et al.  An efficient implementation scheme of concurrent object-oriented languages on stock multicomputers , 1992, PPOPP '93.

[20]  R. Ladner,et al.  Building Counting Networks from Larger Balancers Technical Report # 93-04-09 , 1993 .

[21]  Nir Shavityz,et al.  Diiracting Trees , 1994 .

[22]  Nir Shavit,et al.  Diffracting trees (preliminary version) , 1994, SPAA '94.

[23]  Robert D. Blumofe,et al.  Scheduling multithreaded computations by work stealing , 1994, Proceedings 35th Annual Symposium on Foundations of Computer Science.

[24]  Maurice Herlihy,et al.  Counting networks , 1994, JACM.

[25]  Calton Pu,et al.  A Formal Characterization of Epsilon Serializability , 1995, IEEE Trans. Knowl. Data Eng..

[26]  N. Shavit,et al.  Di racting Trees , 1996 .

[27]  Nir Shavit,et al.  Diffracting trees , 1996, TOCS.

[28]  Marios Mavronicolas,et al.  The strength of counting networks , 1996, PODC '96.

[29]  Nir Shavit,et al.  Elimination Trees and the Construction of Pools and Stacks , 1997, Theory of Computing Systems.

[30]  A Steady State Analysis of Diiracting Trees , 1997 .