Cloud computing optimization of inter-host bandwidth usage
Publication Date: 2014-Nov-05
The IP.com Prior Art Database
Allocation of running virtual machines on different hypervisor hosts is usually optimized to achieve the best performance. A new optimization strategy is disclosed, which is not based on the usual CPU balancing approach. Virtual machines exchange traffic among them, possibly causing actual data traffic on the physical links connecting the hosts. A decentralized optimization algorithm can force VM migration from one host to another with the purpose of reducing (or eliminating) network traffic between hosts, especially the most congested ones.
Page 01 of 4
Cloud computing optimization of inter -host bandwidth usage
Cloud computing is achieved by having virtual machine (VM) instances running on physical hosts. Each VM can have data exchange with other VMs, as they are all interconnected by virtual data connections (such as virtual ethernet). If two VMs are running on the same physical host, data transmission can happen by means of a "short-circuit" in the host hypervisor component, that is, data packets are logically routed between virtual instances without ever running on a physical data cable. If, instead, the VMs are running on different physical hosts, the two hosts will exchange actual ethernet traffic on a physical connection, on behalf of the virtual machine they are hosting.
Both intuition and experience teach that whenever a high number of VMs are running on a high number of host machines, different allocations of the VMs on the hosts, can achieve widely different performance results, as an optimal allocation will minimize interhost traffic, reduce physical network contention and give better overall performance.
Optimal placement of VMs on hosts is not an easy task; a competent cloud administrator will try to cluster together VMs with known interdependence, but many factors impede a really good allocation: for example: 1) previous knowledge of independence could be unknown, 2) relayouting of the physical hosts (such as, adding a new host) will automatically redistribute the VMs, 3) the interdependence could change in time according to the jobs running inside the VMs.
A way to achieve near optimal allocation in an automatic way would give better performance (or, at same performance, reduce hardware costs).
Current cloud computing datacenters may have thousands of VMs, running on hundreds of hosts. Hosts can be added and removed without significant impact to the overall system, as seamless migration of VMs among hosts is technologically available.
State for the art automatic migration of VMs among hosts is often done with two objectives:
1) equal distribution VMs on hosts (load balancing)
2) possibility to have some completely unloaded hosts, so they can be physically turned off (power saving)
This solution proposes a modification of the migration strategy to involve inter-VM network traffic as an important migration criterion to dynamically cluster different VMs on the same host.
Page 02 of 4
As an example, consider this situation, with three hosts running a few VMs: H1: VM1, VM2
H2: VM3, VM4, VM5, VM6, VM7
H3: VM8, VM9
assuming that from a CPU consumption point of view the distribution is well balanced.
assuming that VM1 starts a very intensive data traffic with VM6 (batch job on VM1 accessing a big database on VM6); the huge network traffic between H1 and H2 slows down the operations.
This condition triggers the migration of VM1 from H1 to H2, where VM6 is placed.
H2: VM1, VM3, VM4, VM5, VM6, VM7
H3: VM8, VM9
The migration, even if possibly unbalancing the CPU consump...