SODA: a Service-On-Demand Architecture An Utility Computing Perspective Xuxian Jiang Purdue University 04/10/2003 Introduction Essential Idea Provide computation as utility, just as water and power etc. Utility Computing has been widely recognized and adopted by industry and academia IBM Oceano HP Utility Data Center PlanetLab Opus 2 Today’s Talk Application Service Hosting from Utility Computing Perspective 3 Challenges ? On-demand creation of services Virtualization of services Isolation between services Physical Link Physical node Virtual Link Virtual node Shared Utility Infrastructure Utility demand Solution ? Outline System Overview Related/Previous Work On-Demand Service Creation Service Isolation/Virtualization Conclusion 7 System Overview Node Deployment (CODA) Dynamic Node Membership Node Priming Service Deployment Service On-Demand Instantiation Service Activation Service Teardown Related Work Node Deployment (CODA) Oceano OS-Agnostic CODA Emulab Utility OS for hosted Web services with dynamic load. Dynamic clusters Flexible configuration Configures static sub-clusters for emulation experiments. Similar to COD Beowulf Config tools for Linux computing clusters Douglas E. Comer and Xuxian Jiang “Running Linux On Back-end Computers In the Xinu Lab ” Technical Report, Department of Computer Sciences, Purdue University, West Lafayette, IN, 2003 Related Work (cont’d) Service Deployment (SODA) Denali Scalable isolation kernel Service-Agnostic SODA Opus Infrastructure Deployment Clusters of Slices PlanetLab Internet-scale testbed Overlay Peering Utility Services Xuxian Jiang and Dongyan Xu “SODA: a Service-On-Demand Architecture for Application Service Hosting Utility Platforms” to appear in Proceedings of The 12th IEEE International Symposium on High Performance Distributed Computing (HPDC-12), Seattle, WA, June, 2003 Outline SODA Overview Related/Previous Work On-Demand Service Creation Service Isolation/Virtualization Conclusion On Demand - How? Node deployment (CODA) Hardware configuration Node priming Service deployment (SODA) Service Service Service Service download activation resizing teardown 12 Node Deployment (CODA) … … … … A.K.A. Xinu Back-end Testbed Application Service Deployment (SODA) Service Download Similar with kernel image download Key Entities: Service Service Service Service Agent Master Daemon Switch 14 Service Request From Clients Service Request From Clients Service Switch for S Virtual Server Service S Guest OS Service Switch for S’ Service S Service S’ SODA Daemon Host OS SODA Master SODA Daemon Guest OS Guest OS Service S’ Guest OS Host OS SODA Daemon Host OS SODA Agent Service Creation Request From ASP Outline SODA Overview Related/Previous Work On-Demand Service Creation Service Isolation/Virtualization Conclusion Service Isolation - How ? One Physical node Resource Virtualization CPU Cycles Network Bandwidth Memory Size Disk Storage … Virtual Machine GuestOS (UML) Isolation Kernel GuestOS GuestOS Proportional Scheduler Virtual Server CPU, Network Bandwidth, Memory Virtual Server Internetworking Host OS VM-based Isolation Features Administrative Isolation Fault/Intrusion Isolation Resource Isolation 18 VM-based Sample Services Scenario: 1. One web service 2. One honeynet hosting 19 Isolation Kernel CPU Isolation Network Out-bound Bandwidth Isolation Memory Usage Limit 20 CPU Isolation Scenario: 1) CPU-intensive: green Original Linux CPU Scheduler 2) IO-intensive: blue 3) Web: red Linux CPU Fair Scheduler Service Virtualization & Load Balancing - How ? Virtual Server Virtual Cluster Service Switch Client Request Service Virtualization + Load Balancing Httpd-a foo bar Httpd-b Guest OS Guest OS Guest OS Guest OS Host OS Host OS Distribution of requests by Service Switch Scenario: 1. Resa:Resb = 1:2 2. Reqa:Reqb = 1:2 Response time from virtual service node 23 Service Bootstrapping Time Linux Configuration Image size Time(seattle) Time(tacoma) Rootfs_tomrtbt_1.7.20 5 15 MB 2.0 sec. 3.0 sec. Rootfs_base_1.0 29.3 MB 3.0 sec. 4.0 sec. Root_fs_lfs_4.0 400 MB 4.0 sec. 16.0 sec. 22.0 sec. 42.0 sec. Root_fs.rh-7.2253 MB server.pristine.2002101 2 seattle: Dell PowerEdge server with 2.66GHz Intel Xeon processor and 2GB RAM tacoma: Dell desktop PC with 1.8GHz Intel Pentium 4 processor and 768MB RAM 24 Slow Down factor Scenario: System call VM (cycles) Linux getpid 27,276 1,208 geteuid 26,648 1,064 dup2 26,904 1,084 mmap 27,864 1,208 munmap 27,044 1,200 gettimeofday 37,004 1,368 1. Virtual service node with service switch 2. Service running in host OS with service switch 3. Service running in host OS without service switch Outline SODA Overview Related/Previous Work On-Demand Service Creation Service Isolation/Virtualization Conclusion Conclusion Design and Implementation of SODA architecture Highly Efficient On-demand Service Priming Satisfactory Service Isolation VM-based approach to address Application Service Hosting paradigm 27 Future Work Other VMs Resource Allocation Model & Algorithm Service Placement Service Migration Freeze / Migrate/ Restart Security 28 Publication Xuxian Jiang, Dongyan Xu, "Protection of Application Service Hosting Platforms: an Operating System Perspective", submitted for publication, April 2003 Xuxian Jiang and Dongyan Xu “SODA: a Service-On-Demand Architecture for Application Service Hosting Utility Platforms” to appear in Proceedings of The 12th IEEE International Symposium on High Performance Distributed Computing (HPDC12), Seattle, WA, June, 2003 Douglas E. Comer and Xuxian Jiang “Running Linux On Back-end Computers In the Xinu Lab ” Technical report, Department of Computer Sciences, Purdue University, work in progress 2003 Xuxian Jiang, Yu Dong, Dongyan Xu, Bharat Bhargava “GnuStream: A P2P Media Streaming System Prototype ” to appear in IEEE International Conference on Multimedia & Expo (ICME), July 2003 29 References Services Migration [1.1, 09/01] Steven Osman, Dinesh Subhraveti, Gong Su, and Jason Nieh, "The Design and Implementation of Zap: A System for Migrating Computing Environments", Proceedings of the Fifth Symposium on Operating Systems Design and Implementation (OSDI 2002), Boston, MA, December 9-11, 2002, pp. 361376. [1.2, 14/01] S. Ranjan, J. Rolia, H. Fu, and E. Knightly, "QoS-Driven Server Migration for Internet Data Centers", in Proceedings of IWQoS 2002, Miami, FL, May 2002. [1.3, 05/02] Amin Vahdat, Thomas Anderson, Michael Dahlin, David Culler, Eshwar Belani, Paul Eastham, and Chad Yoshikawa, "WebOS: Operating System Services For Wide Area Applications", in The Seventh IEEE Symposium on High Performance Distributed Computing, July 1998. Utility Computing [2.1, 09/01] K. Appleby, S. Fakhouri, L. Fong, G. Goldszmidt, and M. Kalantar, "Oceano: SLA Based Management of a Computing Utility", in IFIP/IEEE Intl. Symp. on Integrated Network Management May 2001 [2.2, 06/02] Andrew A. Chien, "Architecture of the Entropia Distributed Computing System, ", International Parallel and Distributed Processing Symposium April 2002 [2.3, 12/02] R. Figueiredo, P. Dinda, J. Fortes, "A Case For Grid Computing on Virtual Machines ", ICDCS 2003, to appear 2003 Cluster [3.1, 11/01] Justin Moore, Jeff Chase "Cluster On Demand", CS Technical Report Duke University, May 2002 30 References (2) Virtual Machine [4.1, 09/01] Andrew Whitaker, Marianne Shaw, and Steven D. Gribble, "Scale and Performance in the Denali Isolation Kernel" Proceedings of the Fifth Symposium on Operating System Design and Implementation (OSDI 2002), Boston, MA, December 2002 [4.2, 15/01] George W. Dunlap, Samuel T. King, Sukru Cinar, Murtaza Basrai, Peter M. Chen, "ReVirt: Enabling Intrusion Analysis through Virtual-Machine Logging and Replay" Proceedings of the 2002 Symposium on Operating Systems Design and Implementation (OSDI) ,, Boston, MA, December 2002 [4.3, 15/01] C. P. Sapuntzakis, R. Chandra, B. Pfaff, J. Chow, M. S. Lam and M. Rosenblum, "Optimizing the Migration of Virtual Computers", in Proceedings of the Conference on Operating Systems Design and Implementation, December 2002. [4.4, 15/01] Emin Gun Sirer, Robert Grimm, Arthur J. Gregory and Brian N. Bershad, "Design and Implementation of a Distributed Virtual Machine for Networked Computers", in Proceedings of the Seventeenth Symposium on Operating Systems Principles, pages 202-216, Kiawah Island, South Carolina, December 1999. [4.5, 18/01] Peter M. Chen, Brian D. Noble, "When virtual is better than real", Proceedings of the 2001 Workshop on Hot Topics in Operating Systems (HotOS), May 2001. review [4.6, 01/02] Karim Yaghmour, "Adaptive Domain Environment for Operating Systems", Opersys Inc., June 2002. 31 References (3) Resource Management [5.1, 10/01] John Reumann, Ashish Mehra, Kang G. Shin, and Dilip Kandlur, "Virtual Services: A New Abstraction for Server Consolidation,'', in Proc. of USENIX 2000 Annual Technical Conference, June 18-23, 2000, San Diego, CA, U.S.A. [5.2, 12/01] Bhuvan Urgaonkar, Prashant Shenoy and Timothy Roscoe, "Resource Overbooking and Application Profiling in Shared Hosting Platforms'', Proceedings of the Fifth Symposium on Operating Systems Design and Implementation (OSDI),, Boston, MA, December 2002 [5.3, 13/01] Kai Shen, Hong Tang, Tao Yang, and Lingkun Chu, "Integrated Resource Management for Cluster-based Internet Services''. in Proc. of the 5th USENIX Symposium on Operating Systems Design and Implementation (OSDI'02), Boston MA, December 2002 [5.4, 15/01] Gaurav Banga, Jeffrey C. Mogul and Peter Druschel "Resource containers: A new facility for resource management in server systems'' . in Proceedings of the Third Symposium on Operating Systems Design and Implementation (OSDI), , New Orleans, LA, February 1999 [5.5, 15/01] Mohit Aron, Peter Druschel and Willy Zwaenepoel, "Cluster Reserves: A Mechanism for Resource Management in Cluster-based Network Servers". in Proceedings of the ACM SIGMETRICS Conference on Measurement and Modeling of Computer Systems , Santa Clara, CA, June 2000 [5.6, 17/01] Jose Renato Santos, Koustuv Dasgupta, G. (John) Janakiraman and Yoshio Turner, "Understanding service demand for adaptive allocation of distributed resources". in Proceedings of IEEE Global Internet Symposium (GLOBECOM '02), Taipei, Taiwan, November 17-21, 2002 32 References (4) Network Servers [6.1, 15/01] Mohit Aron, Darren Sanders, Peter Druschel and Willy Zwaenepoel, "Scalable Content-aware Request Distribution in Cluster-based Network Servers". in Proceedings of the USENIX 2000 Annual Technical Conference , San Diego, CA, Jun 2000 [6.2, 16/01] Matt Welsh, David Culler, and Eric Brewer. "SEDA: An Architecture for Well-Conditioned, Scalable Internet Services". in Proceedings of the Eighteenth Symposium on Operating Systems Principles (SOSP-18), Banff, Canada, October, 2001 [6.3, 16/01] Matt Welsh, David Culler. "Virtualization Considered Harmful: OS Design Directions for WellConditioned Services". in Proceedings of the 8th Workshop on Hot Topics in Operating Systems (HotOS VIII), , Schloss Elmau, Germany, May, 2001 [6.4, 04/02] Jeremy Kerr "Achieving Linear Scalability of Network Services through Load Balancing". "Research Proposal: Selection Algorithms & Dynamic Feedback in Network Load Balancer" "A review of currently available literature on load balancing " Course Project Linux-Based extension [7.1, 16/01] David Coulson, "UML-based pseudo-dedicated hosting service". OpenConsultancy 2002 [7.2, 17/01] Ashvin Goel, Luca Abeni, Charles Krasic, Jim Snow, and Jonathan Walpole, "Supporting timesensitive applications on general-purpose operating systems.". In Proceedings of the Fifth USENIX Symposium on Operating Systems Design and Implementation Dec 2002 [7.3, 05/02] Vijay Sundaram, Abhishek Chandra, Pawan Goyal and Prashant Shenoy, "Application Performance in the QLinux Multimedia Operating System ". Proceedings of the Eighth ACM Conference on Multimedia, Los Angeles, CA, pages 127-136, November 2000. 33 References (5) Emulation & Network testbed [8.1, 18/01] Amin Vahdat, Ken Yocum, Kevin Walsh, Priya Mahadevan, Dejan Kostic, Jeff Chase, and David Becker, "Scalability and Accuracy in a Large-Scale Network Emulator". Proceedings of 5th Symposium on Operating Systems Design and Implementation (OSDI), Dec. 2002 [8.2, 27/01] Christopher A. Telfer, "Implementation and Evaluation of Reconfigurable Network Testbed" Ph.D. Thesis March 2003 [chapters: 2 3 4 5 ] [8.3, 05/02] White, Lepreau, Stoller, Ricci, Guruprasad, Newbold, Hibler, Barb, and Joglekar, "An Integrated Experimental Environment for Distributed Systems and Networks" 0SDI 2002 Dec 2002 [8.4, 05/02] Larry Peterson, Tom Anderson David Culler, and Timothy Roscoe, "A Blueprint for Introducing Disruptive Technology into the Internet" Proceedings of the 1st ACM Work on Hot Topics in Networks (HotNets-I), Princeton, NJ October 28-29, 2002 [8.5, 06/02] Xin Liu, Huaxia Xia, and Andrew Chien, "Network Emulation Tools for Modeling Grid Behaviors." The 3rd IEEE/ACM International Symposium on Cluster Computing and the Grid CCGrid 2003 34