A correctness condition for high-performance multiprocessors (extended abstract)

Hybrid consistency, a new 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 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. An efficient implementation of hybrid consistency on distributed memory machines is presented. In this implementation, weak opearations are executed instantaneously, while the response time for strong operations is linear in the network delay. (It is proven that this is within a constant factor of the optimal time bounds.) To motivate hybrid consistency it is shown that weakly consistent memories do not support non-cooperative (in particular, non-centralized) algorithms for mutual exclusion.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[22]  Hagit Attiya,et al.  Sequential consistency versus linearizability (extended abstract) , 1991, SPAA '91.

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

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

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

[26]  Paul G. Spirakis,et al.  Proceedings of the 5th International Workshop on Distributed Algorithms , 1991 .

[27]  Maurice Herlihy,et al.  Randomized wait-free concurrent objects (extended abstract) , 1991, PODC '91.