The vMatrix: server switching

Today most Internet services are pre-assigned to servers statically, hence preventing us from doing real-time sharing of a pool of servers across as group of services with dynamic load. Fluidly copying services in and out of servers remains a challenge due to the many dependencies that such services have on software, hardware, and most importantly, people. In this paper we present a novel solution, which builds on top of the classic operating systems concept of a virtual machine monitor (VMM). A VMM allows us to encapsulate the state of the machine in a virtual machine file, which could then be activated on any real machine running the VHM software. This eliminates the software dependencies problem by allowing us to move the whole machine around including the operating system, libraries, and third party modules that the service depends on. It eliminates the hardware dependencies problem by allowing us to mimic the hardware that the service expects regardless of the real hardware of the hosting machine. It also solves the people dependency problem by presenting the developers and system administrators with the same isolation model that they are used too with statically allocated servers. We describe our vMatrix framework in detail and address how to load balance the virtual machine services across the real-machines to maximize utilization efficiency (in terms of machines and people costs) such that total cost of the system is reduced without degrading the service performance and without requiring cost prohibitive code and architectural changes to existing legacy services. Our solution also offers additional side benefits like on-demand replication for absorbing flash crowds (in case of a newsworthy event like a major catastrophe) and faster failure recovery times.

[1]  Frank Yellin,et al.  The Java Virtual Machine Specification , 1996 .

[2]  Pyda Srisuresh,et al.  Security Model with Tunnel-mode IPsec for NAT Domains , 1999, RFC.

[3]  William LeFebvre,et al.  CNN.com: Facing a World Crisis , 2001, LiSA.

[4]  Amit Aggarwal,et al.  Computing on the Edge: A Platform for Replicating Internet Applications , 2003, WCW.

[5]  Armando Fox When Does Fast Recovery Trump High Reliability , 2002 .

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

[7]  Jason Nieh,et al.  Proceedings of the 5th Symposium on Operating Systems Design and Implementation , 2022 .

[8]  Marianne Shaw,et al.  Scale and performance in the Denali isolation kernel , 2002, OSDI '02.

[9]  Andrew G. Malis,et al.  A Framework for IP Based Virtual Private Networks , 2000, RFC.

[10]  Micah Beck,et al.  Enabling full service surrogates using the portable channel representation , 2001, WWW '01.

[11]  Steven Hand,et al.  Controlling the XenoServer Open Platform , 2003, 2003 IEEE Conference onOpen Architectures and Network Programming..

[12]  Robert P. Goldberg,et al.  Survey of virtual machine research , 1974, Computer.

[13]  Mendel Rosenblum,et al.  The vMatrix: A Network of Virtual Machine Monitors for Dynamic Content Distribution , 2002 .

[14]  R. P. Goldberg,et al.  Virtual Machine Technology: A Bridge From Large Mainframes To Networks Of Small Computers , 1979 .

[15]  Rajmohan Rajaraman,et al.  A dynamic object replication and migration protocol for an Internet hosting service , 1999, Proceedings. 19th IEEE International Conference on Distributed Computing Systems (Cat. No.99CB37003).