|
ABSTRACT
This paper shows that cache coherence protocols can implement indivisible synchronization primitives reliably and can also enforce sequential consistency. Sequential consistency provides a commonly accepted model of behavior of multiprocessors. We derive a simple set of conditions needed to enforce sequential consistency in multiprocessors. These conditions are easily applied to prove the correctness of existing cache coherence protocols that rely on one or multiple broadcast buses to enforce atomicity of updates; in these protocols, all processing elements must be connected to the broadcast buses. The conditions are also used in this paper to establish new protocols which do not rely on the atomicity of updates and therefore do not require single access buses to propagate invalidations or to perform distributed WRITEs. It is also shown how such protocols can implement atomic READ&MODIFY operations for synchronization purposes.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
L.M. Censier and P. Feautrier,"A New Solution to Coherence Problems in Multicache Systems," IEEE Transactions on Computers, Vol. C-27, No.12, December 1978, pp. 1112- 1118.
|
 |
2
|
|
 |
3
|
|
 |
4
|
|
 |
5
|
|
 |
6
|
|
 |
7
|
|
 |
8
|
P. Bitar , A. M. Despain, Multiprocessor cache synchronization: issues, innovations, evolution, Proceedings of the 13th annual international symposium on Computer architecture, p.424-433, June 02-05, 1986, Tokyo, Japan
|
| |
9
|
|
| |
10
|
S.J. Frank, "Synapse Tightly Coupled Multiprocessors - A New Approach that Solves Old Problems," Proceedings of NCC, Los Vegas, 1984.
|
| |
11
|
Mark Hill , Susan Eggers , Jim Larus , George Taylor , Glenn Adams , B. K. Bose , Garth Gibson , Paul Hansen , Jon Keller , Shing Kong , Corinna Lee , Daebum Lee , Joan Pendleton , Scott Ritchie , David Wood , Ben Zorn , Paul Hilfinger , Dave Hodges , Randy Katz , John Ousterhout , Dave Patterson, Design decisions in SPUR, Computer, v.19 n.11, p.8-22, Nov. 1986
[doi> 10.1109/MC.1986.1663096]
|
 |
12
|
|
| |
13
|
H.T. Kung, "Synchronized and Asynchronous Parallel Algorithms for multiprocessors," in Algorithms and Complexity: New Directions and Recent Results, J.F. Traub Ed., New York: Academic Press, 1976.
|
| |
14
|
|
 |
15
|
|
| |
16
|
L. Lamport, "How to Make a Multiprocessor Computer That Correctly Executes Multiprocess Programs," IEEE Transactions on Computers, Vol. C-28, No. 9, September 1979, pp. 690-691.
|
| |
17
|
W. W. Collier, "Reasoning about Parallel Architectures", submitted to JACM, 1985.
|
| |
18
|
P. M. Vitanzi and B. Auerbach, "Atomic Shared Register Access by Asynchronous Hardware," Conference on the Foundations of Computer Sciences, 1986.
|
| |
19
|
M. Dubois and C. Scheurich, "Dependency and Hazard Resolution in Multiprocessors," submitted to IEEE Transactions on Software Engineering. Also, Univ. of Southern Cal. Technical Report CRI 86-20.
|
| |
20
|
M. Dubois and F.A. Briggs, "Effects of Cache Coherency in Multiprocessors," IEEE Transactions on Computers, Vol. C-31, No.11, November 1982.
|
CITED BY 37
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Daniel Lenoski , James Laudon , Kourosh Gharachorloo , Wolf-Dietrich Weber , Anoop Gupta , John Hennessy , Mark Horowitz , Monica S. Lam, The Stanford Dash Multiprocessor, Computer, v.25 n.3, p.63-79, March 1992
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
D. E. Marquardt , H. S. Alkhatib, C2MP: a cache-coherent, distributed memory multiprocessor-system, Proceedings of the 1989 ACM/IEEE conference on Supercomputing, p.466-475, November 12-17, 1989, Reno, Nevada, United States
|
|
|
Kourosh Gharachorloo , Daniel Lenoski , James Laudon , Phillip Gibbons , Anoop Gupta , John Hennessy, Memory consistency and event ordering in scalable shared-memory multiprocessors, 25 years of the international symposia on Computer architecture (selected papers), p.376-387, June 27-July 02, 1998, Barcelona, Spain
|
|
|
|
|
|
Kourosh Gharachorloo , Daniel Lenoski , James Laudon , Phillip Gibbons , Anoop Gupta , John Hennessy, Memory consistency and event ordering in scalable shared-memory multiprocessors, ACM SIGARCH Computer Architecture News, v.18 n.3a, p.15-26, June 1990
|
|
|
|
|
|
Feipei Lai , Chyuan-Yow Wu , Tai-Ming Parng, A memory management unit and cache controller for the MARS system, Proceedings of the 23rd annual workshop and symposium on Microprogramming and microarchitecture, p.200-208, November 27-29, 1990, Orlando, Florida, United States
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Michel, Dubois , Christoph Scheurich , Fayé A. Briggs, Synchronization, Coherence, and Event Ordering in Multiprocessors, Computer, v.21 n.2, p.9-21, February 1988
|
|
|
|
|
|
|
|
|
Jarek Nieplocha , Bruce Palmer , Vinod Tipparaju , Manojkumar Krishnan , Harold Trease , Edoardo Aprà, Advances, Applications and Performance of the Global Arrays Shared Memory Programming Toolkit, International Journal of High Performance Computing Applications, v.20 n.2, p.203-231, May 2006
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Y. Afek , G. Brown , M. Merritt, A lazy cache algorithm, Proceedings of the first annual ACM symposium on Parallel algorithms and architectures, p.209-222, June 18-21, 1989, Santa Fe, New Mexico, United States
|
|