System Architectures with Virtualized Resources in a Large-Scale Computing Infrastructure

While system virtualization provides a new vehicle of consolidating computer systems, simply virtualizing existing servers does not realize all of the benefits, resulting in inefficient resource usage and underperforming systems. In this thesis, we design key components for three different applications on large-scale virtualized infrastructures. Unlike physical servers, the amount of resources allocated to a virtual machine (VM) can be changed dynamically after its creation. We first design a web server cluster that uses a hash-based request distribution algorithm to improve scalability and locality. To handle uneven request distribution, resource allocations are adapted according to current demand. We also develop a scheme to improve fault-tolerance by retaining existing locality in surviving VMs as much as possible and transferring the workload on the failed node with the virtual resources that were allocated to the failed node. We then design a distributed proportional-share CPU scheduler for reducing the execution time of parallel computing programs by adjusting the CPU share allocation. The scheduler first infers the dependency between computing nodes by monitoring network packets and process state at each node. Excessive CPU shares are then identified and transferred in a distributed fashion. While some resources can be simply space-shared between VMs, contention for time-shared resources may result in additional delay that affects the dead reckoning accuracy in Internet game servers. Finally, we improve the virtual network interface design by allowing timestamps to be taken in the host OS and passed to a guest OS. Our evaluation result shows that reduced response time, better throughput, and more accurate timestamps can be achieved in a virtualized infrastructure that incorporates the design proposed in this thesis.

[1]  David P. Anderson,et al.  SETI@home: an experiment in public-resource computing , 2002, CACM.

[2]  Pablo Rodriguez,et al.  I tube, you tube, everybody tubes: analyzing the world's largest user generated content video system , 2007, IMC '07.

[3]  Daniel M. Dias,et al.  A scalable and highly available web server , 1996, COMPCON '96. Technologies for the Information Superhighway Digest of Papers.

[4]  Wolfgang Gentzsch,et al.  Sun Grid Engine: towards creating a compute power grid , 2001, Proceedings First IEEE/ACM International Symposium on Cluster Computing and the Grid.

[5]  Dror G. Feitelson,et al.  Packing Schemes for Gang Scheduling , 1996, JSSPP.

[6]  Willy Zwaenepoel,et al.  Efficient Support for P-HTTP in Cluster-Based Web Servers , 1999, USENIX Annual Technical Conference, General Track.

[7]  Yutaka Ishikawa,et al.  Highly Efficient Gang Scheduling Implementation , 1998, Proceedings of the IEEE/ACM SC98 Conference.

[8]  John K. Ousterhout Scheduling Techniques for Concurrebt Systems. , 1982, ICDCS 1982.

[9]  Mark Handley,et al.  A scalable content-addressable network , 2001, SIGCOMM '01.

[10]  David R. Karger,et al.  Chord: A scalable peer-to-peer lookup service for internet applications , 2001, SIGCOMM '01.

[11]  Philip Branch,et al.  ARMA(1,1) modeling of Quake4 Server to client game traffic , 2007, NetGames '07.

[12]  William E. Weihl,et al.  Lottery scheduling: flexible proportional-share resource management , 1994, OSDI '94.

[13]  Lohith A Rangappa Efficient TCP Connection Failover in Web Server Clusters , 2007 .

[14]  Margo I. Seltzer,et al.  Isolation with Flexibility: A Resource Management Framework for Central Servers , 2000, USENIX Annual Technical Conference, General Track.

[15]  Willy Zwaenepoel,et al.  Scalable Content-aware Request Distribution in Cluster-based Network Servers , 2000, USENIX ATC, General Track.

[16]  Anees Shaikh,et al.  A service platform for on-line games , 2003, NetGames '03.

[17]  George Varghese,et al.  Proceedings of the 2001 conference on Applications, technologies, architectures, and protocols for computer communications , 2001, SIGCOMM 2001.

[18]  Yutaka Ishibashi,et al.  Influences of network latency on interactivity in networked rock-paper-scissors , 2006, NetGames '06.

[19]  Jiangchuan Liu,et al.  Understanding the Characteristics of Internet Short Video Sharing: YouTube as a Case Study , 2007, ArXiv.

[20]  Willy Zwaenepoel,et al.  Diagnosing performance overheads in the xen virtual machine environment , 2005, VEE '05.

[21]  Yanghee Choi,et al.  Traffic characteristics of a massively multi-player online role playing game , 2005, NetGames '05.

[22]  Dirk Beyer,et al.  Quartermaster - a resource utility system , 2005, 2005 9th IFIP/IEEE International Symposium on Integrated Network Management, 2005. IM 2005..

[23]  Wu-chi Feng,et al.  A traffic characterization of popular on-line games , 2005, IEEE/ACM Transactions on Networking.

[24]  Carl A. Waldspurger,et al.  Memory resource management in VMware ESX server , 2002, OSDI '02.

[25]  Zongpeng Li,et al.  Youtube traffic characterization: a view from the edge , 2007, IMC '07.

[26]  Hartmut Ritter,et al.  The effect of latency and network limitations on MMORPGs: a field study of everquest2 , 2005, NetGames '05.

[27]  Erich M. Nahum,et al.  Locality-aware request distribution in cluster-based network servers , 1998, ASPLOS VIII.

[28]  Monica S. Lam,et al.  Optimizing the migration of virtual computers , 2002, OPSR.

[29]  Antony I. T. Rowstron,et al.  PAST: a large-scale, persistent peer-to-peer storage utility , 2001, Proceedings Eighth Workshop on Hot Topics in Operating Systems.

[30]  Ludmila Cherkasova,et al.  XenMon: QoS Monitoring and Performance Profiling Tool , 2005 .

[31]  Dimitrios S. Nikolopoulos,et al.  Scheduling algorithms with bus bandwidth considerations for SMPs , 2003, 2003 International Conference on Parallel Processing, 2003. Proceedings..

[32]  Thu D. Nguyen,et al.  Cooperative caching middleware for cluster-based servers , 2001, Proceedings 10th IEEE International Symposium on High Performance Distributed Computing.

[33]  Amin Vahdat,et al.  Managing energy and server resources in hosting centers , 2001, SOSP.

[34]  Andrea C. Arpaci-Dusseau,et al.  Extending Proportional-Share Scheduling to a Network of Workstation , 1997, PDPTA.

[35]  Carsten Griwodz,et al.  Latency evaluation of networking mechanisms for game traffic , 2007, NetGames '07.

[36]  Willy Zwaenepoel,et al.  Cluster reserves: a mechanism for resource management in cluster-based network servers , 2000, SIGMETRICS '00.

[37]  Martin Arlitt,et al.  Workload Characterization of the 1998 World Cup Web Site , 1999 .

[38]  Debanjan Saha,et al.  A long-term study of a popular MMORPG , 2007, NetGames '07.

[39]  Mark Claypool,et al.  The effects of loss and latency on user performance in unreal tournament 2003® , 2004, NetGames '04.

[40]  Ben Y. Zhao,et al.  Tapestry: a resilient global-scale overlay for service deployment , 2004, IEEE Journal on Selected Areas in Communications.

[41]  Andrea C. Arpaci-Dusseau,et al.  Implicit coscheduling: coordinated scheduling with implicit information in distributed systems , 2001, TOCS.

[42]  Karthick Rajamani,et al.  On evaluating request-distribution schemes for saving energy in server clusters , 2003, 2003 IEEE International Symposium on Performance Analysis of Systems and Software. ISPASS 2003..

[43]  Antony I. T. Rowstron,et al.  Pastry: Scalable, Decentralized Object Location, and Routing for Large-Scale Peer-to-Peer Systems , 2001, Middleware.

[44]  Larry L. Peterson,et al.  Container-based operating system virtualization: a scalable, high-performance alternative to hypervisors , 2007, EuroSys '07.

[45]  Martin Arlitt,et al.  A workload characterization study of the 1998 World Cup Web site , 2000, IEEE Netw..

[46]  Werner Vogels,et al.  Dynamo: amazon's highly available key-value store , 2007, SOSP.

[47]  Carl A. Waldspurger,et al.  Stride Scheduling: Deterministic Proportional- Share Resource Management , 1995 .

[48]  Yutaka Ishibashi,et al.  Influences of network latency and packet loss on consistency in networked racing games , 2005, NetGames '05.

[49]  Robin Fairbairns,et al.  The Design and Implementation of an Operating System to Support Distributed Multimedia Applications , 1996, IEEE J. Sel. Areas Commun..

[50]  Chita R. Das,et al.  Alternatives to Coscheduling a Network of Workstations , 1999, J. Parallel Distributed Comput..

[51]  Eric Van Hensbergen,et al.  KNITS: switch-based connection hand-off , 2002, Proceedings.Twenty-First Annual Joint Conference of the IEEE Computer and Communications Societies.

[52]  Chita R. Das,et al.  Co-ordinated coscheduling in time-sharing clusters through a generic framework , 2003, 2003 Proceedings IEEE International Conference on Cluster Computing.

[53]  Miguel Castro,et al.  Scribe: a large-scale and decentralized application-level multicast infrastructure , 2002, IEEE J. Sel. Areas Commun..

[54]  David R. Karger,et al.  Wide-area cooperative storage with CFS , 2001, SOSP.

[55]  Jeffrey O. Kephart,et al.  The Vision of Autonomic Computing , 2003, Computer.

[56]  Carey Williamson,et al.  Achieving Load Balance and Efiective Caching in Clustered Web Servers , 1999 .

[57]  Andrea C. Arpaci-Dusseau,et al.  Geiger: monitoring the buffer cache in a virtual machine environment , 2006, ASPLOS XII.

[58]  Philip S. Yu,et al.  Load balancing and hot spot relief for hash routing among a collection of proxy caches , 1999, Proceedings. 19th IEEE International Conference on Distributed Computing Systems (Cat. No.99CB37003).

[59]  Andrew Warfield,et al.  Live migration of virtual machines , 2005, NSDI.

[60]  David R. Karger,et al.  Consistent hashing and random trees: distributed caching protocols for relieving hot spots on the World Wide Web , 1997, STOC '97.

[61]  Philip S. Yu,et al.  The state of the art in locally distributed Web-server systems , 2002, CSUR.

[62]  Anees Shaikh,et al.  Implementation of a service platform for online games , 2004, NetGames '04.

[63]  Yuan Yu,et al.  Dryad: distributed data-parallel programs from sequential building blocks , 2007, EuroSys '07.

[64]  Eric A. Brewer,et al.  Cluster-based scalable network services , 1997, SOSP.

[65]  Sanjay Ghemawat,et al.  MapReduce: Simplified Data Processing on Large Clusters , 2004, OSDI.

[66]  David R. Cheriton,et al.  Borrowed-virtual-time (BVT) scheduling: supporting latency-sensitive threads in a general-purpose scheduler , 1999, OPSR.

[67]  Grenville Armitage Proceedings of the 6th ACM SIGCOMM workshop on Network and system support for games , 2007 .

[68]  Kang G. Shin,et al.  Online Web Cluster Capacity Estimation and Its Application to Energy Conservation , 2007, IEEE Transactions on Parallel and Distributed Systems.

[69]  Antony I. T. Rowstron,et al.  Storage management and caching in PAST, a large-scale, persistent peer-to-peer storage utility , 2001, SOSP.

[70]  A. Snavely,et al.  Symbiotic jobscheduling for a simultaneous mutlithreading processor , 2000, SIGP.

[71]  Peter A. Dinda,et al.  Inferring the Topology and Traffic Load of Parallel Programs Running in a Virtual Machine Environment , 2004, JSSPP.

[72]  Wim Lamotte,et al.  Objective and subjective evaluation of the influence of small amounts of delay and jitter on a recent first person shooter game , 2004, NetGames '04.

[73]  Peter A. Dinda,et al.  VSched: Mixing Batch And Interactive Virtual Machines Using Periodic Real-time Scheduling , 2005, ACM/IEEE SC 2005 Conference (SC'05).

[74]  Amin Vahdat,et al.  When Virtual is Harder than Real : Resource Allocation Challenges in Virtual Machine Based IT Environments , 2007 .

[75]  Margo Seltzer,et al.  HACC: an architecture for cluster-based web servers , 1999 .

[76]  Vijay S. Pande,et al.  Screen Savers of the World Unite! , 2000, Science.

[77]  Peter J. Varman,et al.  Efficient and adaptive proportional share I/O scheduling , 2009, PERV.

[78]  Sanjay Ghemawat,et al.  MapReduce: simplified data processing on large clusters , 2008, CACM.

[79]  Andrea C. Arpaci-Dusseau,et al.  Effective distributed scheduling of parallel workloads , 1996, SIGMETRICS '96.

[80]  Larry Rudolph,et al.  Gang Scheduling Performance Benefits for Fine-Grain Synchronization , 1992, J. Parallel Distributed Comput..

[81]  Chita R. Das,et al.  Coscheduling in Clusters: Is It a Viable Alternative? , 2004, Proceedings of the ACM/IEEE SC2004 Conference.

[82]  E. N. Elnozahy,et al.  Energy Conservation Policies for Web Servers , 2003, USENIX Symposium on Internet Technologies and Systems.

[83]  Wu-chun Feng,et al.  Gang scheduling with lightweight user-level communication , 2001, Proceedings International Conference on Parallel Processing Workshops.

[84]  John K. Ousterhout,et al.  Scheduling Techniques for Concurrent Systems , 1982, ICDCS.

[85]  Scott Pakin,et al.  Dynamic Coscheduling on Workstation Clusters , 1998, JSSPP.