Isotach Networks

We introduce a class of networks called Isotach networks designed to reduce the cost of synchronization in parallel computations. Isotach networks maintain an invariant that allows each process to control the logical times at which its messages are received and consequently executed. This control allows processes to pipeline operations without sacrificing sequential consistency and to send isochrons, groups of operations that appear to be received and executed as an indivisible unit. Isochrons allow processes to execute atomic actions without locks. Other uses of Isotach networks include ensuring causal message delivery and consistency among replicated data. Isotach networks are characterized by this invariant, not by their topology. They can be implemented in a wide variety of configurations, including NUMA (nonuniform memory access) multiprocessors. Empirical and analytic studies of Isotach synchronization techniques show that they outperform conventional techniques, in some cases by an order of magnitude or more. Results presented here assume fault-free systems; we are exploring extension to selected failure models.

[1]  Mukesh Singhal,et al.  Logical Time: Capturing Causality in Distributed Systems , 1996, Computer.

[2]  Robbert van Renesse,et al.  Causal controversy at Le Mont St.-Michel , 1993, OPSR.

[3]  Louise E. Moser,et al.  The Totem single-ring ordering and membership protocol , 1995, TOCS.

[4]  Jo-Mei Chang,et al.  Reliable broadcast protocols , 1984, TOCS.

[5]  Jorge L. C. Sanz,et al.  A Simple Mechanism for Efficient Barrier Synchronization in MIMD Machines , 1990, ICPP.

[6]  David R. Cheriton,et al.  Understanding the limitations of causally and totally ordered communication , 1994, SOSP '93.

[7]  Mahmoud Dasser TOMP a total ordering multicast protocol , 1992, OPSR.

[8]  David P. Reed,et al.  Implementing atomic actions on decentralized data , 1983, TOCS.

[9]  Robert G. Reynolds,et al.  Using cultural algorithms to support re-engineering of rule-based expert systems in dynamic performance environments: a case study in fraud detection , 1997, IEEE Trans. Evol. Comput..

[10]  Erik Hagersten,et al.  Race-free interconnection networks and multiprocessor consistency , 1991, [1991] Proceedings. The 18th Annual International Symposium on Computer Architecture.

[11]  Hector Garcia-Molina,et al.  Ordered and reliable multicast communication , 1991, TOCS.

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

[13]  HennessyJohn,et al.  Performance evaluation of memory consistency models for shared-memory multiprocessors , 1991 .

[14]  Richard D. Schlichting,et al.  Preserving and using context information in interprocess communication , 1989, TOCS.

[15]  Alexander Thomasian,et al.  Database Concurrency Control , 1996, The Springer International Series on Advances in Database Systems.

[16]  André Schiper,et al.  Lightweight causal and atomic group multicast , 1991, TOCS.

[17]  Robbert van Renesse Why bother with CATOCS? , 1994, OPSR.

[18]  Carolyn Craig Williams,et al.  Concurrency control in asynchronous computations , 1993 .

[19]  Yih-Chyun Jenq,et al.  Performance Analysis of a Packet Switch Based on Single-Buffered Banyan Network , 1983, IEEE J. Sel. Areas Commun..

[20]  Leslie Lamport,et al.  Time, clocks, and the ordering of events in a distributed system , 1978, CACM.

[21]  Phillip B. Gibbons The asynchronous PRAM - a semi-synchronous model for shared memory MIMD machines , 1989, TR ICSI - International Computer Science Institute / Berkeley.

[22]  Jerome H. Saltzer,et al.  End-to-end arguments in system design , 1984, TOCS.

[23]  Jr. Raymond Ronald Wagner,et al.  On the implementation of local synchrony , 1993 .

[24]  Charles L. Seitz,et al.  Myrinet: A Gigabit-per-Second Local Area Network , 1995, IEEE Micro.

[25]  Leslie Lamport,et al.  Proving Liveness Properties of Concurrent Programs , 1982, TOPL.

[26]  Abhiram G. Ranade,et al.  How to emulate shared memory , 1991, 28th Annual Symposium on Foundations of Computer Science (sfcs 1987).

[27]  Henri E. Bal,et al.  Distributed programming with shared data , 1988, Proceedings. 1988 International Conference on Computer Languages.

[28]  Samuel P. Morgan,et al.  Input Versus Output Queueing on a Space-Division Packet Switch , 1987, IEEE Trans. Commun..

[29]  Paul F. Reynolds,et al.  Highly Concurrent Cache Coherence Protocols , 1990 .

[30]  Larry Rudolph,et al.  Efficient synchronization of multiprocessors with shared memory , 1988, TOPL.

[31]  K. Mani Chandy,et al.  Distributed Simulation: A Case Study in Design and Verification of Distributed Programs , 1979, IEEE Transactions on Software Engineering.

[32]  Kenneth P. Birman,et al.  Reliable communication in the presence of failures , 1987, TOCS.

[33]  Paul F. Reynolds,et al.  Empirical Analysis of Isotach Networks , 1992 .

[34]  Henri E. Bal,et al.  An efficient reliable broadcast protocol , 1989, OPSR.

[35]  Richard M. Fujimoto,et al.  Multicomputer Networks: Message-Based Parallel Processing , 1987 .

[36]  Kees Verstoep,et al.  Efficient reliable multicast on Myrinet , 1996, Proceedings of the 1996 ICPP Workshop on Challenges for Parallel Processing.

[37]  David B. Lomet,et al.  Process structuring, synchronization, and recovery using atomic actions , 1977, Language Design for Reliable Software.

[38]  Bronis R. de Supinski,et al.  Performance Evaluation of the Late Delta Cache Coherence Protocol , 1996 .

[39]  Leslie Lamport,et al.  How to Make a Multiprocessor Computer That Correctly Executes Multiprocess Programs , 2016, IEEE Transactions on Computers.

[40]  Baruch Awerbuch,et al.  Complexity of network synchronization , 1985, JACM.

[41]  Paul F. Reynolds,et al.  Combining Atomic Actions , 1995, J. Parallel Distributed Comput..

[42]  Christos H. Papadimitriou,et al.  The Theory of Database Concurrency Control , 1986 .

[43]  Manoj Kumar,et al.  Performance enhancement in buffered delta networks using crossbar switches and multiple links , 1984, J. Parallel Distributed Comput..

[44]  Sandeep N. Bhatt,et al.  The fluent abstract machine , 1988 .

[45]  Larry Rudolph,et al.  Efficient synchronization of multiprocessors with shared memory , 1986, PODC '86.

[46]  Irving L. Traiger,et al.  The notions of consistency and predicate locks in a database system , 1976, CACM.

[47]  Michel Dubois,et al.  Correct memory operation of cache-based multiprocessors , 1987, ISCA '87.

[48]  Kenneth P. Birman,et al.  A response to Cheriton and Skeen's criticism of causal and totally ordered communication , 1994, OPSR.

[49]  André Schiper,et al.  A New Algorithm to Implement Causal Ordering , 1989, WDAG.

[50]  Maged M. Michael,et al.  Scalability of Atomic Primitives on Distributed Shared Memory Multiprocessors , 1994 .

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