Concurrency control in asynchronous computations

When independently executing processes share data, some form of concurrency control is needed to enforce the atomicity and sequencing constraints imposed by the program. We believe that concurrency control is hard largely because existing architectural support is inadequate. We define a new class of interconnection networks called isotach networks and explore isotach-based concurrency control by describing techniques that use the isotach network to achieve causal message delivery, atomicity, sequential consistency, and cache coherence. We show processes can pipeline their accesses to shared data in an isotach system without sacrificing sequential consistency. We define the isochron, a multicast with strong ordering properties implemented on an isotach network, and describe techniques by which processes can use isochrons to execute atomic actions without obtaining locks or other exclusive access rights. We describe compatible techniques for enforcing data dependences and show that the isotach network is capable of combining concurrently issued operations on the same shared variable while maintaining atomicity and sequential consistency. We describe a family of new cache coherence protocols called delta-cache protocols that extend isotach-based concurrency control techniques to systems that replicate and migrate shared variables, yielding protocols that are both scalable and more highly concurrent than existing protocols. We report results of a simulation study comparing the performance of isotach and conventional systems. The study shows that isotach systems outperform conventional systems under workloads with atomicity and sequencing constraints.

[1]  William E. Weihl,et al.  Distributed Version Management for Read-Only Actions , 1985, IEEE Transactions on Software Engineering.

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

[3]  James C. Browne,et al.  Concurrency control by transactions carrying states and preordering multiversioned entities , 1989, Inf. Sci..

[4]  John B. Andrew,et al.  Notification and Multicast Networks for Synchronization and Coherence , 1992, J. Parallel Distributed Comput..

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

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

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

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

[9]  Maurice Herlihy,et al.  Impossibility and universality results for wait-free synchronization , 1988, PODC '88.

[10]  Augustus K. Uht Incremental Performance Contributions of Hardware Concurrency Extraction Techniques , 1987, ICS.

[11]  Serge A. Plotkin Sticky bits and universality of consensus , 1989, PODC '89.

[12]  Alvin M. Despain,et al.  Multiprocessor cache synchronization: issues, innovations, evolution , 1986, ISCA '86.

[13]  Andreas Nowatzyk,et al.  Coherent Shared Memory on a Distributed Memory Machine , 1989, International Conference on Parallel Processing.

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

[15]  Chita R. Das,et al.  A write update cache coherence protocol for MIN-based multiprocessors with accessibility-based split caches , 1990, Proceedings SUPERCOMPUTING '90.

[16]  Andrew W. Wilson,et al.  Hierarchical cache/bus architecture for shared memory multiprocessors , 1987, ISCA '87.

[17]  Philip A. Bernstein,et al.  The correctness of concurrency control mechanisms in a system for distributed databases (SDD-1) , 1980, TODS.

[18]  Thomas G. Robertazzi,et al.  Input Versus Output Queueing on a SpaceDivision Packet Switch , 1993 .

[19]  Maurice Herlihy,et al.  Linearizable concurrent objects , 1988, OOPSLA/ECOOP '88.

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

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

[22]  Tse-Yun Feng,et al.  On a Class of Multistage Interconnection Networks , 1980, IEEE Transactions on Computers.

[23]  L. Sha,et al.  Distributed co-operating processes and transactions , 1983, SIGCOMM.

[24]  E. B. Moss,et al.  Nested Transactions: An Approach to Reliable Distributed Computing , 1985 .

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

[26]  Kevin P. McAuliffe,et al.  The IBM Research Parallel Processor Prototype (RP3): Introduction and Architecture , 1985, ICPP.

[27]  Hendrik A. Goosen,et al.  Multi-level Shared Caching Techniques For Scalability In VMP-MC , 1989, The 16th Annual International Symposium on Computer Architecture.

[28]  James E. Smith,et al.  Dynamic instruction scheduling and the Astronautics ZS-1 , 1989, Computer.

[29]  Per Stenström,et al.  A Latency-Hiding Scheme for Multiprocessors with Buffered Multistage Networks , 1992, IPPS.

[30]  James K. Archibald,et al.  Cache coherence protocols: evaluation using a multiprocessor simulation model , 1986, TOCS.

[31]  Gordon McLean Comments on SDD-1 concurrency control mechanisms , 1981, TODS.

[32]  Samuel T. Chanson,et al.  A bibliography on multicast and group communications , 1989, OPSR.

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

[34]  Philip A. Bernstein,et al.  A Sophisticate's Introduction to Distributed Concurrency Control (Invited Paper) , 1982, VLDB.

[35]  Mark Horowitz,et al.  Modeling the Performance of Limited Pointers Directories for Cache Coherence , 1991, ISCA.

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

[37]  D. N. Jayasimha Parallel Access to Synchronization Variables , 1987, ICPP.

[38]  LamportLeslie Time, clocks, and the ordering of events in a distributed system , 1978 .

[39]  Richard P. LaRowe,et al.  Hiding Shared Memory Reference Latency on the Galactica Net Distributed Shared Memory Architecture , 1992, J. Parallel Distributed Comput..

[40]  P. Stenstrom A Cache Consistency Protocol For Multiprocessors With Multistage Networks , 1989, The 16th Annual International Symposium on Computer Architecture.

[41]  Harry F. Jordan Performance measurements on HEP - a pipelined MIMD computer , 1983, ISCA '83.

[42]  Milan Milenković Update synchronization in multiaccess systems , 1981 .

[43]  Kenneth P. Birman,et al.  Low cost management of replicated data in fault-tolerant distributed systems , 1986, TOCS.

[44]  Erik Hagersten,et al.  Race-Free Interconnection Networks and Multiprocessor Consistency , 1991, ISCA.

[45]  D. B. Lomet Process structuring, synchronization, and recovery using atomic actions , 1977 .

[46]  Mustaque Ahamad,et al.  Implementing and programming causal distributed shared memory , 1991, [1991] Proceedings. 11th International Conference on Distributed Computing Systems.

[47]  Louise E. Moser,et al.  Broadcast Protocols for Distributed Systems , 1990, IEEE Trans. Parallel Distributed Syst..

[48]  Pete Tinker,et al.  Parallel execution of sequential scheme with ParaTran , 1988, LISP and Functional Programming.

[49]  Dennis Shasha,et al.  Efficient and correct execution of parallel programs that share memory , 1988, TOPL.

[50]  Paul Feautrier,et al.  A New Solution to Coherence Problems in Multicache Systems , 1978, IEEE Transactions on Computers.

[51]  Robert H. Halstead,et al.  MULTILISP: a language for concurrent symbolic computation , 1985, TOPL.

[52]  Anoop Gupta,et al.  Memory consistency and event ordering in scalable shared-memory multiprocessors , 1990, [1990] Proceedings. The 17th Annual International Symposium on Computer Architecture.

[53]  L. J. Boland,et al.  The IBM system/360 model 91: storage system , 1967 .

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

[55]  P. S. Barth Using atomic data structures for parallel simulation , 1992, Proceedings Scalable High Performance Computing Conference SHPCC-92..

[56]  James E. Smith,et al.  A Simulation Study of Decoupled Architecture Computers , 1986, IEEE Transactions on Computers.

[57]  W. A. Montgomery ROBUST CONCURRENCY CONTROL FOR A DISTRIBUTED INFORMATION SYSTEM , 1979 .

[58]  Colin J. Fidge,et al.  Timestamps in Message-Passing Systems That Preserve the Partial Ordering , 1988 .

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

[60]  Samuel T. Chanson,et al.  Reliable group communication in distributed systems , 1988, [1988] Proceedings. The 8th International Conference on Distributed.

[61]  Abraham Silberschatz,et al.  Beyond two-phase locking , 1985, JACM.

[62]  R.H. Katz,et al.  A characterization of sharing in parallel programs and its application to coherency protocol evaluation , 1988, [1988] The 15th Annual International Symposium on Computer Architecture. Conference Proceedings.

[63]  K. Ekanadham,et al.  The price of asynchronous parallelism: an analysis of dataflow architectures , 1989 .

[64]  Erhard Rahm,et al.  A new distributed optimistic concurrency control method and a comparison of its performance with two-phase locking , 1990, Proceedings.,10th International Conference on Distributed Computing Systems.

[65]  Anoop Gupta,et al.  The directory-based cache coherence protocol for the DASH multiprocessor , 1990, ISCA '90.

[66]  Anant Agarwal,et al.  Directory-based cache coherence in large-scale multiprocessors , 1990, Computer.

[67]  Pen-Chung Yew,et al.  A Synchronization Scheme and Its Applications for Large Multiprocessor Systems , 1984, ICDCS.

[68]  Gerard Florin,et al.  A new way to design causally and totally ordered multicast protocols , 1992, OPSR.

[69]  Willy Zwaenepoel,et al.  Adaptive software cache management for distributed shared memory architectures , 1990, [1990] Proceedings. The 17th Annual International Symposium on Computer Architecture.

[70]  Mihalis Yannakakis,et al.  A Theory of Safe Locking Policies in Database Systems , 1982, JACM.

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

[72]  Jo-Mei Chang Simplifying distributed database systems design by using a broadcast network , 1984, SIGMOD '84.

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

[74]  James K. Archibald,et al.  An economical solution to the cache coherence problem , 1984, ISCA '84.

[75]  James R. Goodman,et al.  Cache Consistency and Sequential Consistency , 1991 .

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

[77]  Anant Agarwal,et al.  LimitLESS directories: A scalable cache coherence scheme , 1991, ASPLOS IV.

[78]  Philip A. Bernstein,et al.  Timestamp-Based Algorithms for Concurrency Control in Distributed Database Systems , 1980, VLDB.

[79]  William E. Weihl,et al.  Implementation of resilient, atomic data types , 1985, TOPL.

[80]  David P. Reed,et al.  Naming and synchronization in a decentralized computer system , 1978 .

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

[82]  Keshav Pingali,et al.  I-structures: Data structures for parallel computing , 1986, Graph Reduction.

[83]  Michel Dubois,et al.  Memory Access Dependencies in Shared-Memory Multiprocessors , 1990, IEEE Trans. Software Eng..

[84]  P. R. Reynolds,et al.  A Local Synchrony Implementation: Banyan Networks , 1991 .

[85]  M. Tamer Özsu,et al.  Using semantic knowledge of transactions to increase concurrency , 1989, TODS.

[86]  J. T. Robinson,et al.  On optimistic methods for concurrency control , 1979, TODS.

[87]  Joonwon Lee,et al.  Synchronization with multiprocessor caches , 1990, ISCA '90.

[88]  Richard M. Fujimoto,et al.  The virtual time machine , 1989, SPAA '89.

[89]  Sang Lyul Min,et al.  A Timestamp-based Cache Coherence Scheme , 1989, ICPP.

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

[91]  Philip A. Bernstein,et al.  Concurrency Control in Distributed Database Systems , 1986, CSUR.

[92]  Hector Garcia-Molina,et al.  Using semantic knowledge for transaction processing in a distributed database , 1983, TODS.

[93]  Barbara Liskov,et al.  Guardians and Actions: Linguistic Support for Robust, Distributed Programs , 1983, TOPL.

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

[95]  A. Despain,et al.  Multiple-bus shared-memory system: Aquarius project , 1990, Computer.

[96]  H. T. Kung,et al.  An optimality theory of concurrency control for databases , 1979, SIGMOD '79.

[97]  David J. Lilja,et al.  Combining hardware and software cache coherence strategies , 1991, ICS '91.

[98]  Anoop Gupta,et al.  Reducing Memory and Traffic Requirements for Scalable Directory-Based Cache Coherence Schemes , 1990, ICPP.

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

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

[101]  Abraham Silberschatz A multi-version concurrency scheme with no rollbacks , 1982, PODC '82.