Multiprocessor cache synchronization: issues, innovations, evolution

Many options are possible in a cache synchronization (or consistency) scheme for a broadcast system. We clarify basic concepts, analyze the handling of shared data, and then describe a protocol that we are currently exploring. Finally, we analyze the evolution of options that have been proposed under write-in (or write-back) policy. We show how our protocol extends this evolution with new methods for efficient busy-wait locking, waiting, and unlocking. The lock scheme allows locking and unlocking to occur in zero time, eliminating the need for test-and-set. The scheme also integrates processor atomic read-modify-write instructions and programmer/compiler busy-wait-synchronized operations under the same mechanism. The wait scheme eliminates all unsuccessful retries from the bus, and allows a process to work while waiting.

[1]  Calvin K. Tang Cache system design in the tightly coupled multiprocessor system , 1976, AFIPS '76.

[2]  Abraham Silberschatz,et al.  Operating System Concepts , 1983 .

[3]  Mary K. Vernon,et al.  Performance analysis of multiprocessor cache consistency protocols using generalized timed Petri nets , 1986, SIGMETRICS '86/PERFORMANCE '86.

[4]  Michel Dubois,et al.  Effects of Cache Coherency in Multiprocessors , 1982, IEEE Trans. Computers.

[5]  James Archibald,et al.  An economical solution to the cache coherence problem , 1984, ISCA 1984.

[6]  David A. Patterson,et al.  Reduced instruction set computers , 1985, CACM.

[7]  Randy H. Katz,et al.  Implementing a cache consistency protocol , 1985, ISCA 1985.

[8]  Edward M. McCreight The Dragon Computer System , 1985 .

[9]  Larry Rudolph,et al.  Dynamic decentralized cache schemes for mimd parallel processors , 1984, ISCA 1984.

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

[11]  Alan Jay Smith,et al.  Experimental evaluation of on-chip microprocessor cache memories , 1984, ISCA 1984.

[12]  Randy H. Katz,et al.  Design and Implementation of An Integrated Snooping Data Cache , 1984 .

[13]  Jacob A. Abraham,et al.  Using write back cache to improve performance of multi-user multiprocessors , 1982, ICPP.

[14]  S. J. Frank,et al.  Tightly coupled multiprocessor system speeds memory-access times , 1984 .

[15]  King-Sun Fu,et al.  Data Coherence Problem in a Multicache System , 1985, IEEE Transactions on Computers.

[16]  Yale N. Patt,et al.  Performance studies of a Prolog machine architecture , 1985, ISCA '85.

[17]  Alan Jay Smith,et al.  Cache Memories , 1982, CSUR.

[18]  Alan Jay Smith,et al.  Cache evaluation and the impact of workload choice , 1985, ISCA '85.