The Design and Implementation of Declarative Networks by Boon Thau Loo B.S. (University of California, Berkeley) 1999 M.S. (Stanford University) 2000 A dissertation submitted in partial satisfaction of the requirements for the degree of Doctor of Philosophy in Computer Science in the GRADUATE DIVISION of the UNIVERSITY OF CALIFORNIA, BERKELEY Committee in charge: Professor Joseph M. Hellerstein, Chair Professor Ion Stoica Professor John Chuang Fall 2006 The dissertation of Boon Thau Loo is approved: Professor Joseph M. Hellerstein, Chair Date Professor Ion Stoica Date Professor John Chuang Date University of California, Berkeley Fall 2006 The Design and Implementation of Declarative Networks Copyright c 2006 by Boon Thau Loo Abstract The Design and Implementation of Declarative Networks by Boon Thau Loo Doctor of Philosophy in Computer Science University of California, Berkeley Professor Joseph M. Hellerstein, Chair In this dissertation, we present the design and implementation of declarative networks. Declarative networking proposes the use of a declarative query language for specifying and implementing network protocols, and employs a dataflow framework at runtime for com- munication and maintenance of network state. The primary goal of declarative networking is to greatly simplify the process of specifying, implementing, deploying and evolving a network design. In addition, declarative networking serves as an important step towards an extensible, evolvable network architecture that can support flexible, secure and efficient deployment of new network protocols. Our main contributions are as follows. First, we formally define the Network Data- log (NDlog) language based on extensions to the Datalog recursive query language, and propose NDlog as a Domain Specific Language for programming network protocols. We demonstrate that NDlog can be used to express a large variety of network protocols in a handful of lines of program code, resulting in orders of magnitude reduction in code size. For example, the Chord overlay network can be specified in 48 NDlog rules. In addition, the core of the language (Datalog) has polynomial complexity, and our NDlog extensions can be statically analyzed for termination using standard analysis techniques. Second, to validate the design of NDlog, we present our implementation of P2, which 1 is a full-fledged declarative networking system that compiles NDlog and executes it via a dataflow engine inspired by the Click modular router. We experimentally evaluate the P2 system on hundreds of distributed machines. The P2 system is publicly available for download and has been used in research projects at a number of institutions. Third, based on our experiences implementing declarative networks, we explore a wide variety of database research issues that are important for the practical realization of declar- ative networks. These include pipelined execution of distributed recursive queries, reason- ing about query semantics based on the well-known distributed systems notion of “eventual consistency”, incorporating the notion of soft-state into the logical framework of NDlog, and the use of query optimizations to improve the performance of network protocols. Professor Joseph M. Hellerstein, Chair Date 2 Acknowledgements I would like to thank my outstanding co-advisors Joe Hellerstein and Ion Stoica. Joe and Ion have been the perfect combination of advisors, and I feel very lucky to have the opportunity to work closely with both of them. Joe Hellerstein has been a role model and an incredible advisor throughout my years at Berkeley. I met Joe eight years ago through Honesty Young while I was an undergraduate summer intern at IBM Almaden Research Center. After the summer, Joe generously took me under his wings and gave me the opportunity to work on research projects at Berkeley. Joe is truly a visionary of databases and their applications to networking. Since I came back to Berkeley as a doctoral student, he has infected me and several others with his enthusiasm on new research directions at the boundaries of databases and networking. Joe has been amazingly generous with his time and attention. Apart from his advice on technical issues, he has helped me in many other areas, including writing, giving presentations, working with people, balancing family and work, strategies for job search, and the list goes on. I can never thank him enough for the positive impact that he has on my life. In the last five years, I have also been very fortunate to work with Ion Stoica. Ion combines depth of his technical knowledge with big picture vision. He has taught me how to be a better researcher, through his focus, discipline, strive for perfection, and combining attention to details with understanding of the big picture. My dissertation and graduate career would not have been the same without Ion. He introduced me to the exciting world of networking research, connected me with members of the networking community and helped position my work to be of value to them. During the course of this dissertation, I am grateful to Raghu Ramakrishnan from the University of Wisconsin-Madison who spent substantial time helping me with my research even though I am not his official student. His deep knowledge of deductive databases was i instrumental in helping me focus on relevant literature, and more importantly, identify new database research challenges that are essential for the practical realization of declarative networks. I leave graduate school with fond memories of the time we spent at UW-Madison and UC Berkeley brainstorming on recursive query processing. While working on the PIER project, Scott Shenker offered me many insights into the relevance of database technologies to networked systems. Mike Franklin has given me great advice on doing research, giving presentations, speaking up in class, and strategies for job search. Together with John Chuang, Mike attended my qualifying examination and gave me valuable feedback on this work. I also like to thank John Chuang for participating on my dissertation committee. My research in graduate school centered around the PIER and P2 projects. In the context of these two projects, I have had the privilege of collaborating extensively with two outstanding graduate students from the database group: Ryan Huebsch on the PIER project, and Tyson Condie on the P2 project. Both of them made significant contributions to the codebases that made my research possible. In addition, I would also like to thank the rest of the P2 team which includes Minos Garofalakis, David Gay, Tristan Koo, Petros Maniatis, and Timothy Roscoe from Intel Research Berkeley (IRB), Atul Singh from Rice University, and Alex Rasmussen from UC Berkeley. The P2 system would not have been realized without the collective efforts of everyone. I am proud to be a part of this wonderful team. The NMS and PDOS groups at MIT graciously hosted Joe and myself during the second year of my Ph.D. Apart from writing one of my first papers with Jinyang Li et al., several ideas presented in this dissertation trace their roots back to that period. I am also grateful to the researchers at Microsoft Research Silicon Valley for hosting me during the final stages of this dissertation. In addition to generating some of the new ideas in the future work section, significant improvements were made to this dissertation during my stay there. ii My appreciation also goes to the other graduate students from the database group for their feedback on my work, stimulating discussions and great companionship. They include Sirish Chandrasekaran, David Chu, Owen Cooper, Matt Denny, Amol Deshpande, Yanlei Diao, Shawn Jeffery, Sailesh Krishnamurthy, David Liu, Sam Madden, Alexandra Meliou, Fred Reiss, Shariq Rizvi, and Mehul Shah. Several graduate students from the networking and systems groups provided valuable feedback on my papers and talks, especially during the early stages of this work. They include Cheng Tien Ee, Byung-Gon Chun, Ling Huang, Karthik Lakshminarayanan, Sylvia Ratnasamy, Sean Rhea, Lakshmi Subramanian, Fang Yu, and Shelley Zhuang. Nina Taft from IRB gave thoughtful and detailed feedback for my first SIGCOMM submission on declarative routing. Outside of research, Rahul Ag- grawal, Ling Huang, Matthew Kam, Lynn Nyane, Godfrey Tan, Weehong Tan, and several members of the UC Berkeley Singapore Malaysia Students’ Association have made my ten years in America so much easier. The Monetary Authority of Singapore and the Kent Ridge Digital Labs in Singapore sponsored my undergraduate and masters degrees. Their generosity allowed me to fulfill my dream of studying computer science in the U.S. and to see the world. My life would have been very different without the scholarships. Limsoon Wong and Juzar Motiwalla have been influential in my decision to embark on a career in research. My family in Singapore has been very supportive of me all these years. Even though they live halfway around the world, my parents, sister, and brother have been constant sources of encouragement. They cheer for me in good times, and comfort me in bad times. In particular, my mum has been my biggest source of support. Despite her own difficulties with kidney dialysis three times a week, she has never failed to stay positive and strong. In times of difficulty in America, I always draw inspiration from her positive outlook in life. I am also grateful to the National Kidney Foundation of Singapore for their support of my family in the past ten years. iii I am deeply indebted to my wife Shiyan for her love and understanding. In the past twelve years since we met, almost half the time was spent in graduate school. While the route to a Ph.D. has not been an easy one for me, it is even harder for my immediate loved ones. Shiyan has made tremendous sacrifices so that I could focus on my work. The biggest joy of our lives, Kwanchi was born while I was finishing this dissertation.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages207 Page
-
File Size-