A Decentralized Hierarchical Cache-Consistency Scheme For Shared-Memory Multiprocessors

A decentralized, hierarchical cache-consistency scheme is presented. This scheme is targeted for shared-memory multiprocessors consisting of processor and memory modules interconnected by a hierarchy of ring-connected buses. It is shown that this scheme enforces sequential consistency without the need for complex hardware or complicated protocols. The proposed scheme relies on snooping and the inherent broadcast nature of the rings and station buses. Because responsibility for maintaining consistency lies with the cache and bus controllers, the scheme is scalable. In the development of the consistency scheme, several assumptions are made about the interconnect structure and the processing modules. By examining these assumptions in the context of the Hector multiprocessor, it is shown that the scheme can be used to enforce sequential consistency in a real multiprocessor. Finally, using address-trace-driven simulations, it is shown that the performance of Hector would not be adversely a ected by the use of this consistency scheme. Acknowledgments According to \Hitch-Hiker's Guide to the Galaxy"y, many millions of years ago a race of hyper-intelligent pan-dimensional beings got so fed up with all the constant bickering about the meaning of life that they decided to sit down and solve the problem once and for all. And to this end they built themselves a stupendous supercomputer which they named Deep Thought. The task given to Deep Thought was to nd the answer to Life, the Universe and Everything. After 71 2 million years of computing, Deep Thought revealed that the answer was 42, an unsatisfying answer but nonetheless exact. For, as Deep Thought explained, \I think the problem such as it was was too broadly based. You never actually stated what the question was. " I am indebted to my supervisor Dr. Zvonko Vranesic for having suggested that I investigate the issues associated with cache consistency. Although, at rst, the problem de nition was too broad, through conversations with Dr. Vranesic, a more exact de nition was reached. The result is that my thesis has taken one year not 71 2 million years to complete, and an \answer" which I hope will be viewed as satisfactory has been obtained. In addition, I am also grateful for the suggestion of this topic for I believe that my niche in the vast eld of computer architecture is in this area. Being not a stupendous supercomputer with amazing data banks, I have been assisted by the experience and knowledge of many. In particular I thank Ron Unrau, Dr. Michael Stumm, Dave Blythe, Mark Li, and Ron White for their invaluable suggestions and answers. Thanks also to Dr. Paul Chow for having given me the chance to run my simulations on our own version of Deep Thought. Finally, many thanks to the students (past and present), sta and professors of the Computer and Electronic Groups who have made the past two years enjoyable. I thank my parents, and my friends Brian and Warren, for support over the years. In particular I would like to thank my father for his careful reading of the nal draft of this thesis and his suggested changes, and Warren for his CD player without which writing this thesis would have been more di cult. Financial support for this thesis was provided by NSERC. I greatly appreciate this support as otherwise I would not have had the opportunity nor freedom to pursue my interests in computer and non-computer issues. ya radio play by Douglas Adams. i