Applications of Virtual Machines For Scalable, Reliable, And Interactive Internet Services Ph.D. Oral Examination Amr A. A...
What is The vMatrix?
Virtual Machine Monitors Virtual Machine Monitor (aka Hypervisor) Real Machine (CPU, Memory, Disks, Network) Virtual Machi...
Live Demo of  VMware player:
The vMatrix! <ul><li>A network for delivering virtual machines (VMs) between real machines (RMs) running the virtual machi...
Contribution <ul><li>An overlay network of VMMs (the vMatrix) enables backward-compatible improvement of the scalability, ...
First Application: Dynamic Content Distribution <ul><li>Motivation:  To enable distribution of dynamic content. (40% of we...
Today Is Static Mirroring
Dynamic Content Distribution
Two Tier Architecture
Main Problem <ul><li>It is very hard to copy services due to all the dependencies that code has on system libraries, third...
Challenges: Mobility (NAT) VMM RM VM Agent VM1 VM2 192.168.1.10 NAT/LB Internet 64.58.77.28 DNS maps.yahoo.com    64.58.7...
Challenges: Security (VPNs) VMM VM1 VM2 RM VM Agent VPN Intranet DNS 192.168.1.10 172.21.162.9 c009.proxy.yahoo.com maps.y...
Two Tier Challenges <ul><li>Response Time </li></ul>N 1 FRONT END BACK END FRONT END N 1 BACK END N 2 BACK END <ul><li>Per...
Two Tier Challenges <ul><li>Availability </li></ul>FRONT END BACK END
The AJAX Solution
Advantages <ul><li>Faster Response Time </li></ul><ul><li>Higher Availability </li></ul><ul><li>Network Bandwidth Savings ...
Second Application: Server Multiplexing <ul><li>Motivation:  To allow statistical sharing of servers between services. </l...
Static Servers  (ala Circuit Switching) FINANCE SPORTS Load Balancer
Server Switching  (ala Packet Switching) FINANCE & SPORTS Load Balancer vMatrix Oracle Key: Peak of Sums < Sum of Peaks
What makes Switching hard ? <ul><li>Software Dependencies </li></ul><ul><li>Hardware Dependencies </li></ul><ul><li>People...
vMatrix Framework: The Oracle:  This is the main control program Hibernation Nest :  VM files are suspended and stored her...
Lifecycle of a server VM Loading Chambers Hibernation Nest Instantiated 1. A large number of virtual servers are stored as...
Sample Implementations: Real Machine (PIII-550MHz, 640MB RAM, 9GB hard disk) VMware ESX VMM Server (consumes 184MB RAM, 3....
Advantages <ul><li>Presents developers with isolation model they expect </li></ul><ul><li>Backward Compatibility </li></ul...
Third Application: Equi-Ping Game Server Placement For  Pre-Arranged First-Person-Shooter Multiplayer Matches <ul><li>Moti...
Delay Sensitivity of Online Games: Extremely Lag sensitive (on the order of 50ms) First Person Shooters (FPS) (Halo, Battl...
Screenshot from Halo PC:
The Problem: Unfair Lag Clan A Clan B 130ms 30ms Game Server
The Solution: Equi-Ping Server Clan A Clan B 80ms Real Machine 80ms VMM Virtual Game Server in VM
Equi-ping placement problem <ul><li>Red dots are servers, green dots are players, we need to pick the Red dot that is equi...
<ul><li>S  = set of  m  servers available to host the match. </li></ul><ul><li>P  = set of  n  players participating in th...
Halo PC VM Server Stack Real Machine (PIII-550MHz, 640MB RAM, 9GB hard disk) VMware ESX VMM Server (consumes 184MB RAM, 3....
Advantages: <ul><li>Equi-ping placement of game servers to minimize round-trip-time difference between participants </li><...
Applications Summary <ul><li>Dynamic Content Distribution which improves interactivity for Internet services. </li></ul><u...
Related Work <ul><li>Common drawback:  no backward compatibility. </li></ul><ul><li>Disk Imaging / Ghosting, (no concurren...
Papers <ul><li>&quot;The vMatrix: A Network of Virtual Machine Monitors for Dynamic Content Distribution&quot;, Amr Awadal...
Other Papers <ul><li>&quot;TCP-BFA: Buffer Fill Avoidance&quot;, Amr A. Awadallah and Chetan Rai, IFIP High Performance Ne...
Conclusion <ul><li>The vMatrix is an overlay network of virtual machine monitors enabling delivery of virtual machines bet...
Thank You
Appendix: VMware Perl API <ul><li>use VMware::Control; </li></ul><ul><li>use VMware::Control::Server; </li></ul><ul><li>us...
Two Tier Challenges <ul><li>Replication </li></ul>BACK END FRONT END FRONT END FRONT END
Upcoming SlideShare
Loading in …5
×

Applications of Virtual Machine Monitors for Scalable, Reliable, and Interactive Internet Services

4,178 views
4,028 views

Published on

My PhD oral defense.

An overlay network of VMMs (the vMatrix) which enables backward-compatible improvement of the scalability, reliability, and interactivity of Internet services.

Three applications demonstrated:

1. Dynamic Content Distribution

2. Server Switching

3. Fair placement of Game Servers

Published in: Technology, Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,178
On SlideShare
0
From Embeds
0
Number of Embeds
111
Actions
Shares
0
Downloads
54
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • Selling your ideas is challenging. First, you must get your listeners to agree with you in principle. Then, you must move them to action. Use the Dale Carnegie Training® Evidence – Action – Benefit formula, and you will deliver a motivational, action-oriented presentation.
  • Applications of Virtual Machine Monitors for Scalable, Reliable, and Interactive Internet Services

    1. 1. Applications of Virtual Machines For Scalable, Reliable, And Interactive Internet Services Ph.D. Oral Examination Amr A. Awadallah June 24 th , 2006 [email_address] http://www.awadallah.com/vmatrix
    2. 2. What is The vMatrix?
    3. 3. Virtual Machine Monitors Virtual Machine Monitor (aka Hypervisor) Real Machine (CPU, Memory, Disks, Network) Virtual Machine 1: vCPU, vMem, vDisk, vNet OS1: Windows 2000 Oracle, IIS Virtual Machine 2: vCPU, vMem, vDisk, vNet OS2: Linux MySQL, Apache
    4. 4. Live Demo of VMware player:
    5. 5. The vMatrix! <ul><li>A network for delivering virtual machines (VMs) between real machines (RMs) running the virtual machine monitor (VMM) software. </li></ul>
    6. 6. Contribution <ul><li>An overlay network of VMMs (the vMatrix) enables backward-compatible improvement of the scalability, reliability, and interactivity of Internet services. </li></ul>Applications: 1. Dynamic Content Distribution 2. Server Switching 3. Fair placement of Game Servers
    7. 7. First Application: Dynamic Content Distribution <ul><li>Motivation: To enable distribution of dynamic content. (40% of web requests) </li></ul>Definition: Dynamic content is web pages which are constructed by programs that execute on the server at the time a request is made. (e.g. http://maps.yahoo.com)
    8. 8. Today Is Static Mirroring
    9. 9. Dynamic Content Distribution
    10. 10. Two Tier Architecture
    11. 11. Main Problem <ul><li>It is very hard to copy services due to all the dependencies that code has on system libraries, third-party modules, operating systems, and server hardware. </li></ul>
    12. 12. Challenges: Mobility (NAT) VMM RM VM Agent VM1 VM2 192.168.1.10 NAT/LB Internet 64.58.77.28 DNS maps.yahoo.com  64.58.77.28
    13. 13. Challenges: Security (VPNs) VMM VM1 VM2 RM VM Agent VPN Intranet DNS 192.168.1.10 172.21.162.9 c009.proxy.yahoo.com maps.yahoo.com  64.58.77.28 NAT/LB Internet 64.58.77.28
    14. 14. Two Tier Challenges <ul><li>Response Time </li></ul>N 1 FRONT END BACK END FRONT END N 1 BACK END N 2 BACK END <ul><li>Perception! </li></ul>
    15. 15. Two Tier Challenges <ul><li>Availability </li></ul>FRONT END BACK END
    16. 16. The AJAX Solution
    17. 17. Advantages <ul><li>Faster Response Time </li></ul><ul><li>Higher Availability </li></ul><ul><li>Network Bandwidth Savings </li></ul><ul><li>Backward Compatibility </li></ul>Disadvantage <ul><li>VM files are very large (order of gigabytes)! </li></ul>
    18. 18. Second Application: Server Multiplexing <ul><li>Motivation: To allow statistical sharing of servers between services. </li></ul>
    19. 19. Static Servers (ala Circuit Switching) FINANCE SPORTS Load Balancer
    20. 20. Server Switching (ala Packet Switching) FINANCE & SPORTS Load Balancer vMatrix Oracle Key: Peak of Sums < Sum of Peaks
    21. 21. What makes Switching hard ? <ul><li>Software Dependencies </li></ul><ul><li>Hardware Dependencies </li></ul><ul><li>People Dependencies </li></ul>
    22. 22. vMatrix Framework: The Oracle: This is the main control program Hibernation Nest : VM files are suspended and stored here for later retrieval. Production Cluster : Live operational VMs, typically only one VM per RM Loading Chambers : Development and Maintenance Cluster, there could be more than one VM per RM here. RM VMM VM VM VM VM VM VM VM VM VM RM VMM VM VM VM RM VMM VM VM VM RM VMM VM RM VMM VM
    23. 23. Lifecycle of a server VM Loading Chambers Hibernation Nest Instantiated 1. A large number of virtual servers are stored as dormant files on a SAN or Netapps 2. A number of virtual servers are activated in a shared RM so that developers & system admins can upgrade, debug, or patch them. 3. A virtual server is activated on a dedicated RM and exposed to live load.
    24. 24. Sample Implementations: Real Machine (PIII-550MHz, 640MB RAM, 9GB hard disk) VMware ESX VMM Server (consumes 184MB RAM, 3.5GB hard disk and 5% CPU) Virtual Machine exposes a PIII-550MHz with 512MB RAM and 5.5GB hard disk. Operating System: Red Hat Linux 9 Apache Web Server MySQL Database PHP (Hyper Text Processor) PHP-Nuke and osCommerce Internet Services Real Machine (PIII-550MHz, 640MB RAM, 9GB hard disk) VMware ESX VMM Server (consumes 184MB RAM, 3.5GB hard disk and 5% CPU) Virtual Machine exposes a PIII-550MHz with 1024MB RAM and 5.5GB hard disk. Operating System: Yahoo FreeBSD 4.8 YLIB (Yahoo C/C++ Libraries) YSS (Yahoo Structured Search) Yahoo! Autos Search Network API
    25. 25. Advantages <ul><li>Presents developers with isolation model they expect </li></ul><ul><li>Backward Compatibility </li></ul><ul><li>Efficient Resource Utilization (People and Power) </li></ul><ul><li>Peak Absorption </li></ul><ul><li>Faster Recovery </li></ul>Disadvantages <ul><li>VM files are very large (order of gigabytes)! </li></ul><ul><li>VM Software is not free  </li></ul><ul><li>Operating System Licensing Issues </li></ul>
    26. 26. Third Application: Equi-Ping Game Server Placement For Pre-Arranged First-Person-Shooter Multiplayer Matches <ul><li>Motivation: To place game server hosts optimally such that all participating players have a fairer game experience. </li></ul>
    27. 27. Delay Sensitivity of Online Games: Extremely Lag sensitive (on the order of 50ms) First Person Shooters (FPS) (Halo, Battlefield2, Doom, CounterStrike) Moderate sensitivity to lag (on the order of 500ms) MMORPG and RTS (World of Warcraft, Everquest, Generals) Not sensitive to lag (on the order of seconds) Turn Based Strategy (Civilization 4, Risk, Chess, Pool)
    28. 28. Screenshot from Halo PC:
    29. 29. The Problem: Unfair Lag Clan A Clan B 130ms 30ms Game Server
    30. 30. The Solution: Equi-Ping Server Clan A Clan B 80ms Real Machine 80ms VMM Virtual Game Server in VM
    31. 31. Equi-ping placement problem <ul><li>Red dots are servers, green dots are players, we need to pick the Red dot that is equi-distant from all players. </li></ul>
    32. 32. <ul><li>S = set of m servers available to host the match. </li></ul><ul><li>P = set of n players participating in this match. </li></ul><ul><li>RTT s,p = round-trip-time (ping) from server s to player p </li></ul><ul><li>The Algorithm has 3 main steps: </li></ul><ul><li>1. Disregard all servers that have any RTT s,p larger than 180ms </li></ul><ul><li>For each server s, we compute a closeness factor C s representing the average differential ping between the players if server s is picked: </li></ul><ul><li>Pick the server with smallest C s </li></ul><ul><li>The order of complexity of this algorithm is O(n 2 m) ≈ O(m) since m » n </li></ul>Equi-ping placement Algorithm
    33. 33. Halo PC VM Server Stack Real Machine (PIII-550MHz, 640MB RAM, 9GB hard disk) VMware ESX VMM Server (consumes 184MB RAM, 3.5GB hard disk and 5% CPU) Virtual Machine exposes a PIII-550MHz with 512MB RAM and 5.5GB hard disk. Operating System: Windows XP (1.8GB) Halo PC Game Server (278MB)
    34. 34. Advantages: <ul><li>Equi-ping placement of game servers to minimize round-trip-time difference between participants </li></ul><ul><li>Backward compatibility leading to zero cost for converting existing </li></ul><ul><li>Economies of scale: this network can be shared among many games </li></ul>
    35. 35. Applications Summary <ul><li>Dynamic Content Distribution which improves interactivity for Internet services. </li></ul><ul><li>Server Switching which improves resource utilization, availability and enables peek absorption. </li></ul><ul><li>Equi-ping server placement for game host servers which is very important for the fairness of online FPS games. </li></ul>
    36. 36. Related Work <ul><li>Common drawback: no backward compatibility. </li></ul><ul><li>Disk Imaging / Ghosting, (no concurrent VMs). </li></ul><ul><li>Application Servers: IBM WebSphere, ATG Dynamo, BEA WebLogic, JBoss, (no strict isolation, interface violations). </li></ul><ul><li>Java Virtual Machine (J#/C#/.Net), (needs recoding, low performance). </li></ul><ul><li>Packagers: Debian APT, Redhat RPM, PRC, (no isolation). </li></ul><ul><li>Light Weight OSes (Denali), (new OS API, needs recoding). </li></ul><ul><li>OS Virtualization (Ensim, Ejasent, EXETender, Chrooting), (tied to OS). </li></ul><ul><li>Active Proxy Caches (ICAP, Active cache, OPES) </li></ul>
    37. 37. Papers <ul><li>&quot;The vMatrix: A Network of Virtual Machine Monitors for Dynamic Content Distribution&quot;, Amr Awadallah and Mendel Rosenblum, 7th International Workshop on Web Content Caching and Distribution (WCW 2002), Boulder, Colorado, August 2002 </li></ul><ul><li>&quot;The vMatrix: Server Switching&quot;, Amr A. Awadallah and Mendel Rosenblum, IEEE 10th International Workshop on Future Trends in Distributed Computing Systems (IEEE FTDCS 2004), Suzhou, China, May 2004. </li></ul><ul><li>&quot;The vMatrix: Equi-Ping Game Server Placement For Pre-Arranged First-Person-Shooter Multiplayer Matches&quot;, Amr A. Awadallah and Mendel Rosenblum, The 4th ACS/IEEE International Conference on Computer Systems and Applications (AICCSA 2006), Dubai/Sharjah, UAE, March 2006 </li></ul>
    38. 38. Other Papers <ul><li>&quot;TCP-BFA: Buffer Fill Avoidance&quot;, Amr A. Awadallah and Chetan Rai, IFIP High Performance Networking Conference, Vienna, Austria, September 1998. </li></ul><ul><li>&quot;Analysis of a packet switch with memories running slower than the line-rate&quot;, Sundar Iyer, Amr A. Awadallah, and Nick McKeown, IEEE INFOCOM 2000, Tel-Aviv, Israel, March 2000. </li></ul>
    39. 39. Conclusion <ul><li>The vMatrix is an overlay network of virtual machine monitors enabling delivery of virtual machines between real machines. </li></ul><ul><li>The vMatrix is a practical backward-compatible solution for improving the scalability, reliability, and interactivity of existing Internet applications. </li></ul>
    40. 40. Thank You
    41. 41. Appendix: VMware Perl API <ul><li>use VMware::Control; </li></ul><ul><li>use VMware::Control::Server; </li></ul><ul><li>use VMware::Control::VM; </li></ul><ul><li>my $VMMserver = VMware::Control::Server ::new($hostname, $port, $user, $password); </li></ul><ul><li>$VMMserver->connect(); </li></ul><ul><li>my $VM = VMware::Control::VM ::new($server, $vmconfig); </li></ul><ul><li>$VM->connect(); </li></ul><ul><li># To get a list of all VMs on a server </li></ul><ul><li>my @vmlist = $VMMserver->enumerate(); </li></ul><ul><li># To register a new VM on a server </li></ul><ul><li>$VMMserver->register($vmconfig); </li></ul><ul><li># To start and stop a VM </li></ul><ul><li>$VM->start(); </li></ul><ul><li>$VM->stop(); </li></ul><ul><li># To suspend and resume a VM </li></ul><ul><li>$VM->suspend(); </li></ul><ul><li>$VM->resume(); </li></ul><ul><li># To get CPU, Memory, Net, IO stats </li></ul><ul><li>$VM->get(“Status.Stats.vm.cpuUsage”, 5*60); </li></ul><ul><li># Check if VM is running (heart-beat) </li></ul><ul><li>$VM->get(“Status.Power”); </li></ul>
    42. 42. Two Tier Challenges <ul><li>Replication </li></ul>BACK END FRONT END FRONT END FRONT END

    ×