A Correctness Condition for High-Performance Multiprocessors

Hybrid consistency, a consistency condition for shared memory multiprocessors, attempts to capture the guarantees provided by contemporary high-performance architectures. It combines the expressiveness of strong consistency conditions (e.g., sequential consistency, linearizability) and the efficiency of weak consistency conditions (e.g., pipelined RAM, causal memory). Memory access operations are classified as either strong or weak. A global ordering of strong operations at different processes is guaranteed, but there is very little guarantee on the ordering of weak operations at different processes, except for what is implied by their interleaving with the strong operations. A formal and precise definition of this condition is given and an algorithm for providing hybrid consistency on distributed memory machines is presented. The response time of the algorithm is proved to be within a constant multiplicative factor of the (theoretical) optimal time bounds.

[1]  Yehuda Afek,et al.  A lazy cache algorithm , 1989, SPAA '89.

[2]  Danny Dolev,et al.  Total Ordering of Messages in Broadcast Domains , 1992 .

[3]  Robbert van Renesse,et al.  Horus: a flexible group communication system , 1996, CACM.

[4]  Liuba Shrira,et al.  Lazy replication: exploiting the semantics of distributed services (extended abstract) , 1990, OPSR.

[5]  Mustaque Ahamad,et al.  Slow memory: weakening consistency to enhance concurrency in distributed shared memories , 1990, Proceedings.,10th International Conference on Distributed Computing Systems.

[6]  Kevin P. McAuliffe,et al.  RP3 Processor-Memory Element , 1985, ICPP.

[7]  Newtop: a fault-tolerant group communication protocol , 1995, Proceedings of 15th International Conference on Distributed Computing Systems.

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

[9]  Kenneth P. Birman,et al.  Exploiting virtual synchrony in distributed systems , 1987, SOSP '87.

[10]  Roy Friedman,et al.  Programming DEC-Alpha based multiprocessors the easy way (extended abstract) , 1994, SPAA '94.

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

[12]  Ambuj K. Singh,et al.  Complete implementations for shared memory consistency conditions , 1995, PODC '95.

[13]  Louise E. Moser,et al.  Fast message ordering and membership using a logical token-passing ring , 1993, [1993] Proceedings. The 13th International Conference on Distributed Computing Systems.

[14]  Roy Friedman,et al.  A correctness condition for high-performance multiprocessors (extended abstract) , 1992, STOC '92.

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

[16]  Roy Friedman,et al.  Limitations of Fast Consistency Conditions for Distributed Shared Memories , 1996, Inf. Process. Lett..

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

[18]  Gary L. Peterson,et al.  Myths About the Mutual Exclusion Problem , 1981, Inf. Process. Lett..

[19]  Willy Zwaenepoel,et al.  Munin: distributed shared memory based on type-specific memory coherence , 1990, PPOPP '90.

[20]  Jean-Loup Baer,et al.  A performance study of memory consistency models , 1992, ISCA '92.

[21]  Umakishore Ramachandran,et al.  Coherence of Distributed Shared Memory: Unifying Synchronization and Data Transfer , 1989, International Conference on Parallel Processing.

[22]  Mark D. Hill,et al.  A Unified Formalization of Four Shared-Memory Models , 1993, IEEE Trans. Parallel Distributed Syst..

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

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

[25]  Phillip B. Gibbons,et al.  Testing Shared Memories , 1997, SIAM J. Comput..

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

[27]  Gil Neiger,et al.  Causal Memory , 1991, WDAG.

[28]  Roy Friedman Implementing hybrid consistency with high-level synchronization operations , 1993, PODC '93.

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

[30]  Ramesh Subramonian,et al.  LogP: towards a realistic model of parallel computation , 1993, PPOPP '93.

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

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

[33]  Mark D. Hill,et al.  Sufficient Conditions for Implementing theData-Race-Free-1 Memory Model, * , 1992 .

[34]  Anoop Gupta,et al.  Performance evaluation of memory consistency models for shared-memory multiprocessors , 1991, ASPLOS IV.

[35]  Kenneth P. Birman,et al.  Deceit: a flexible distributed file system , 1990, [1990] Proceedings. Workshop on the Management of Replicated Data.

[36]  M. Hill,et al.  Weak ordering-a new definition , 1990, [1990] Proceedings. The 17th Annual International Symposium on Computer Architecture.

[37]  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.

[38]  Hagit Attiya,et al.  Sequential consistency versus linearizability , 1994, TOCS.

[39]  Roy Friedman,et al.  Shared Memory Consistency Conditions for Nonsequential Execution: Definitions and Programming Strategies , 1998, SIAM J. Comput..

[40]  Kourosh Gharachorloo,et al.  Proving sequential consistency of high-performance shared memories (extended abstract) , 1991, SPAA '91.

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

[42]  Anoop Gupta,et al.  Comparative evaluation of latency reducing and tolerating techniques , 1991, ISCA '91.

[43]  Kenneth P. Birman,et al.  Tools for distributed application management , 1991, Computer.

[44]  Roy Friedman,et al.  A framework for protocol composition in Horus , 1995, PODC '95.

[45]  Amotz Bar-Noy,et al.  Designing broadcasting algorithms in the postal model for message-passing systems , 1992, SPAA '92.

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

[47]  Michael Merritt,et al.  Specifying non-blocking shared memories (extended abstract) , 1992, SPAA '92.

[48]  Michel Dubois,et al.  Synchronization, coherence, and event ordering in multiprocessors , 1988, Computer.

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

[50]  Flaviu Cristian,et al.  A performance comparison of asynchronous atomic broadcast protocols , 1994, Distributed Syst. Eng..

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

[52]  Flaviu Cristian,et al.  The pinwheel asynchronous atomic broadcast protocols , 1995, Proceedings ISADS 95. Second International Symposium on Autonomous Decentralized Systems.

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

[54]  Anoop Gupta,et al.  Memory consistency and event ordering in scalable shared-memory multiprocessors , 1990, ISCA '90.

[55]  Christos H. Papadimitriou,et al.  Theory of concurrency control , 1983, Theoretical Computer Science.

[56]  Michel Raynal,et al.  Algorithms for mutual exclusion , 1986 .

[57]  Kenneth P. Birman,et al.  The process group approach to reliable distributed computing , 1992, CACM.

[58]  Paul Hudak,et al.  Memory coherence in shared virtual memory systems , 1989, TOCS.

[59]  Michel Dubois,et al.  Memory access buffering in multiprocessors , 1998, ISCA '98.

[60]  Roy Friedman,et al.  Shared memory consistency conditions for non-sequential execution: definitions and programming strategies , 1993, SPAA '93.

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

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