Home-based shared virtual memory

In this dissertation, I investigate how to improve the performance of shared virtual memory (SVM) by examining consistency models, protocols, hardware support and applications. The main conclusion of this research is that the performance of shared virtual memory can be signi cantly improved when performance-enhancing techniques from all these areas are combined. This dissertation proposes home-based lazy release consistency as a simple, e ective, and scalable way to build shared virtual memory systems. In home-based protocols each shared page has a home to which all writes are propagated and from which all copies are derived. Two home-based protocols are described, implemented and evaluated on two hardware and software platforms: Automatic Update Release Consistency (AURC), which requires hardware support for ne-grained remote writes (automatic updates), and Homebased Lazy Release Consistency (HLRC), which is implemented exclusively in software. The dissertation investigates the impact of memory-mapped network technology, in particular that of automatic update support, on home-based protocol design and performance. The performance evaluation of HLRC and AURC prototypes implemented on SHRIMP, the PC-based multicomputer built at Princeton, indicates that memory-mapped communication can signi cantly improve the e ciency of home-based protocols, and that the automatic update support is an e ective SVM accelerator. The dissertation proposes a new memory consistency model called Scope Consistency (ScC). ScC o ers most of the potential performance advantages of entry consistency without requiring explicit association between data and synchronization. A simulation-based comparative evaluation of ScC and AURC protocols shows that ScC reduces false sharing for irregular applications with lock-based synchronization. Finally, this dissertation proposes a classi cation of parallel applications which can serve as a framework for understanding the performance of shared virtual memory protocols. This iv classi cation derives from an analysis of the sharing patterns induced by the interaction between the sharing patterns inherent in the algorithm, and the coherence granularity imposed by the protocol implementation. The dissertation also includes an extensive simulation-based performance evaluation of the traditional LRC and AURC protocols on the Splash-2 application suite which uses the proposed classi cation framework for performance understanding. v Acknowledgements This dissertation ful lls the dream of a child who, thirty years ago, began his journey through education in a little medieval village in Romania, called Cristian. This learning adventure from Cristian to Princeton would not have been possible without the in nite love and patience of my parents. The silent sacri ce of their life made mine shine. I thank God for giving me the chance to show that their struggle was not in vain. I would like to thank my wife, Cristina, for her devotion and tolerance all these many years when I was never home. Thanks to all my very good friends, near and far, who believed in me and colored my life in nitely more than any computer could ever have done. I thank Gabriela Hristescu for her generous friendship and support which I deeply treasure. I would like to thank my advisors Kai Li and Jaswinder Pal Singh and the other members of my committee, Douglas W. Clark, Edward W. Felten and Andrew W. Appel, for helping me in so many ways to successfully accomplish my dissertation research at Princeton. I was very fortunate to have Kai Li as my advisor. Who else would have tolerated a graduate student so di erent from his own model, with so little sense of time and deadlines? I cannot express how deep my gratitude is for his thoughtful guidance and friendship. I wish to thank JP who came to Princeton at exactly the right time to broaden my research. He taught me the Stanford research style, which I hated sometimes, but from which I have learned and bene ted greatly. I thank Doug, my third reader, who I met too late to become my third advisor. His wisdom gave me the serenity to look beyond the present. I am grateful to Ed Felten for the helpful discussions we had when I began to work on my rst SVM protocol and to Margaret Martonosi for her many thoughtful suggestions. Thanks to all my distinguished Professors at Princeton whose close presence gave me a sense of modesty with which I will live for the rest of my life. I would also like to thank my Romanian Professors from Gheorghe Lazar High-School in Sibiu, and from the Polytechnic Institute of Bucharest for showing me the sky. vi I have been privileged to meet so many wonderful colleagues at Princeton with whom I shared so many days and, especially, so many nights, trying to build a new version of what Mother Nature did so perfect the rst time: the SHRIMP. Yuanyuan Zhou implemented the rst all-software home-based protocol on the Intel Paragon and contributed with many ideas to the design of various other protocols afterwards. Matthias A. Blumrich built and, more importantly, made SHRIMP nally work. Our disputes on whether it is a hardware or a software bug only increased my respect for what he has accomplished with SHRIMP. Cezary Dubnicki contributed with many ideas to the rst design of the AURC protocol, implemented the basic communication library for SHRIMP, and endured the blame for almost every software bug, including those which were in my protocol. I would like to thank Stefanos N. Damianakis, Yuqun Chen, Dongming Jiang, David L. Oppenheimer, Richard. D. Alpert, Angelos Bilas, Masato Edahiro, Mariusz Jakubowski, Sanjeev Kumar, Cheng Liao and Rudrajit Samanta for their endless help and friendship{ something I took advantage of too often. I also had the invaluable chance to have my Ph.D. road intersect with those of Marios Dikaiakos, Pei Cao, Karin Petersen, James Plank who became my graduate student models. Thanks to Melissa M. Lawson, the graduate program coordinator, who put my academic life back in order whenever I messed it up. Thanks to Patricia Zabielski and Virginia Hogan for helping me start the mornings with a smile and to Sandra Barbu with whom I exercised all Romanian greetings. My Ph.D. achievements at Princeton would not have been possible without the encouragement and support I felt all these years from a handful of special people who I deeply respect and to whom I am particularly grateful: Willy Zwaenepoel, Marc Shapiro, James Philbin, Anne Rogers, Esther Dyson, Laura Tong-Sardina and last, but not least, to Bill Joy.Beyond a prestigious University with vertical towers and people, Princeton means to me a quiet place on Earth with charming streets and an extremely cultivated taste for living. I thank Ruth and Hans Fiuczynski, and Cornelia and Lou Sheedy for revealing me the avor of their town on those rare occasions when I could escape from my o ce. Once upon a time, I was a graduate student in Princeton. Thank you all for sharing with me those wonderful years. This work has been sponsored in part by DARPA under grant N00014-95-1-1144, by NSF under grant MIP-9420653, and by the Intel Corporation. vii