SUPPORTING UBIQUITOUS COMPUTING WITH STATELESS CONSOLES AND COMPUTATION CACHES A DISSERTATION SUBMITTED TO THE COMPUTER SCIENCE DEPARTMENT AND THE COMMITTEE ON GRADUATE STUDIES OF STANFORD UNIVERSITY IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF DOCTOR OF PHILOSOPHY Brian Keith Schmidt August 2000 Copyright by Brian Schmidt 2000 All Rights Reserved ii Abstract Rapid advances in processing power, memory and disk capacity, and network bandwidth are leading us to an era in which we will have access to virtually unlimited resources at our fingertips. We are moving away from a hardware-centric view of computing to a more service-oriented perspective, i.e. users simply want to accomplish their tasks on their data, and they do not care about the machine specifics and management details. The future computing infrastructure will provide ubiquitous access to active computations floating on a sea of globally distributed resources. When executing in this context, our computing environments must become hassle-free and much easier to manage. This thesis describes two core concepts to help enable this transition. First, we propose decoupling displays from their servers, i.e. using network-attached frame buffers to access active computations from any location. These simple consoles are cheap, fixed-function appliances like telephone handsets. They are stateless, low-level access devices that require no administration, allow users to transparently migrate between terminals, and can isolate users from desktop failures. We developed a methodology for evaluating the interactive performance of computer systems, and we use it to demonstrate that an architecture based on this concept is feasible with modern technology and can provide an interactive experience that is indistinguishable from the traditional desktop, even for highly interactive video games. This establishes the viability of providing ubiquitous access to active computations that reside within the network. The next step is to manage the computing resources at the back end, and we place several requirements on this remote computational service. Users must have privacy, security, and isolation from each other, and they should be free to roam throughout the system and to customize their environments. Active sessions will reside in the system, even when users iv are detached, and so the system must scale to support an unlimited number of users while requiring resources in proportion to the number of active users. The system must support user mobility and dynamic load balancing for efficiency, which means sessions must be machine-independent and portable. Reliability, availability, maintainability, and extensibility are major concerns, e.g. for automatic fail-overs, on-line maintenance and upgrades, application-independent checkpoint/restore, etc. To meet these goals, we restructured the operating system using the concept of compute capsules. Capsules provide a private, portable, persistent, customizable computing environment with active processes, i.e. they are self-contained, running computations. The CPU/OS merely serves as a cache to hold active computations. Capsules can be dynamically bound to any machine to support user mobility or load balancing, stored off-line to free resources or survive failures, assigned resources to provide performance isolation, managed to enforce security policies, etc. We demonstrate that it is feasible to extend COTS operating systems to support this new abstraction, and we show how capsules can help meet the demands of the future computing infrastructure by supporting persistent computations on a globally distributed collection of anonymous computing resources. v To my family, for their love and support. vi Acknowledgments I would like to thank my advisor, Monica Lam, for her enthusiastic support of this research. I feel fortunate to have had the opportunity to work with someone of her intellectual caliber, and I have benefited greatly from her guidance and direction. I am grateful to John Hennessy and Mendel Rosenblum for sitting on my Reading Committee and offering helpful comments on previous drafts of this dissertation. Dawson Engler graciously gave his time to serve on my Orals Committee, and John Gill kindly offered to act as chairman for my Oral Defense. I am extremely indebted to my colleagues at Sun Microsystems: Duane Northcutt, Jim Hanko, Jerry Wall, and Alan Ruberg. Duane has been a constant supporter of my research, and his personal and intellectual involvement have been invaluable over the years. Jim, Jerry, and Alan have offered much of their knowledge, wisdom, and time; and it has been a true honor to work with them. Several other folks at Sun have made my time there an extremely rewarding experience, including Lawrence Butcher, George Salem, Marc Schneider, Yuanbi Su, and Chuck Yoo. I was fortunate enough to have wonderful office mates during my time at Stanford. Jason Nieh and I shared not only an office but a good friendship, and we worked closely on many projects, most importantly the development and testing of 3D graphics benchmarks. I also shared an office with Shih-Wei Liao, Amy Lim, and Jeff Oplinger, who were always ready with good conversation, good humor, and good company. I would also like to acknowledge the other members of the SUIF group, particularly Dave Heine for all his help when I was pretending to be a compiler person and Costa Sapuntzakis for many insightful discussions on this work. vii Most importantly, I would like to thank my family for their steadfast love and unwavering support throughout my time at Stanford. It has been a long, arduous, and sometimes painful journey, but my wife, Melisa, has always been there to lift me up and carry me. She gave me the freedom to pursue my goals, even though it meant so much lost time for ourselves. She brightened my days with cheerful visits and listened when I droned on incessantly regarding the minutiae of my work. I love her beyond all things, and I am truly grateful for all that she has given me. My daughters, Madison and Kasi, are my most precious treasures. They have filled my life with happiness and pride — more than they could ever understand. They will always have my unconditional and unbounded love. Finally, this work was supported in part by financial assistance from a National Science Foundation Graduate Research Fellowship, a National Science Foundation Young Investigator Award, and Sun Microsystems, Inc. viii Table of Contents Abstract............................................................................................................................ iv Acknowledgments .......................................................................................................... vii Table of Contents ............................................................................................................ ix List of Tables ................................................................................................................. xiii List of Figures................................................................................................................ xiv CHAPTER 1 Introduction......................................................................................... 1 1.1 The Future Computing Infrastructure.......................................................................... 2 1.2 A New System Architecture ........................................................................................ 3 1.2.1 Example Usage Scenario............................................................................... 5 1.2.2 System Requirements.................................................................................... 7 1.2.3 Limitations of Current Systems..................................................................... 8 1.3 Focus of this Research................................................................................................. 9 1.3.1 Decoupling the Human Interface .................................................................. 9 1.3.1.1 Background................................................................................. 10 1.3.1.2 Design Requirements.................................................................. 11 1.3.1.3 Thin-Client Computing Models ................................................. 12 1.3.1.4 Thin-Client Deficiencies ............................................................ 13 1.3.1.5 SLIM: Taking Thin-Clients to the Limit.................................... 14 1.3.1.6 Interactive Performance Evaluation ........................................... 16 1.3.2 Supporting Remote Computational Service................................................ 17 1.3.2.1 Background................................................................................. 18 1.3.2.2 Compute Capsule Overview....................................................... 18 1.3.2.3 Capsule Benefits......................................................................... 21 1.3.2.4 Applications of Compute Capsules ............................................ 22 1.3.2.5 Feasibility of Compute Capsules................................................ 24 1.4 Dissertation Overview ............................................................................................... 25 ix CHAPTER 2 Remote Computational Service Architecture ................................ 26 2.1 The SLIM Design ...................................................................................................... 27 2.1.1 Interconnection Fabric................................................................................
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages140 Page
-
File Size-