The vMatrix: Server Switching

  • Authors:
  • Affiliations:
  • Venue:
  • FTDCS '04 Proceedings of the 10th IEEE International Workshop on Future Trends of Distributed Computing Systems
  • Year:
  • 2004

Quantified Score

Hi-index 0.00

Visualization

Abstract

Today most Internet services are pre-assigned to serversstatically, hence preventing us from doing real-time sharingof a pool of servers across as group of services with dynamicload. Fluidly copying services in and out of servers remainsa challenge due to the many dependencies that such serviceshave on software, hardware, and most importantly, people.In this paper we present a novel solution, which builds ontop of the classic operating systems concept of a virtualmachine monitor (VMM). A VMM allows us to encapsulatethe state of the machine in a virtual machine file, whichcould then be activated on any real machine running theVMM software. This eliminates the software dependenciesproblem by allowing us to move the whole machine aroundincluding the operating system, libraries, and third partymodules that the service depends on. It eliminates thehardware dependencies problem by allowing us to mimic thehardware that the service expects regardless of the realhardware of the hosting machine. It also solves the peopledependency problem by presenting the developers andsystem administrators with the same isolation model thatthey are used too with statically allocated servers. Wedescribe our vMatrix framework in detail and address howto load balance the virtual machine services across the real-machinesto maximize utilization efficiency (in terms ofmachines and people costs) such that total cost of the systemis reduced without degrading the service performance andwithout requiring cost prohibitive code and architecturalchanges to existing legacy services. Our solution also offersadditional side benefits like on-demand replication forabsorbing flash crowds (in case of a newsworthy event like amajor catastrophe) and faster failure recovery times.