The VM Placement Game: Balancing Performance and Efficiency
Posted by Ilya Mirman on Fri, Nov 11, 2011 @ 10:52 AM
As a (hopefully fun) illustration of the challenge in managing workload placement and resource allocation in a virtualized data center, we at VMTurbo created a little game.
In this game, the player is challenged to place VMs across the smallest number of hosts, while maintaining a minimum level of application performance ("Quality of Service", or QoS). Each VM has its own requirements for CPU, Memory, and Storage IOPS.
Of course, to make it possible to play, we made several gross simplifications relative to what actually happens in a data center:
- One three resource metrics (CPU, memory and storage) are monitored for each VM, whereas in reality, it's necessary to monitor a lot more variables across the entire IT stack (apps, VMs, servers, storage, network)
- the VM resource requirements are static, whereas in reality, workloads fluctuate by the season, by the week, by the day, by the hour...even by the second.
- All the hosts are identical
- All the workloads have equal business priority - whereas in reality, some apps may be mission-critical, others less so.
- Virtualized workloads typically use shared storage, whereas in our simplified game the IOPS capacity is associated with the individual host.
- Etc.
That said, we thought it'd be both fun and valuable to explore the fundamental challenge of managing workloads: maintaining the application QoS, while maximizing infrastructure efficiency.
So, we invite you to give it a shot (there's 5 levels that get progressively harder), and challenge your friends!
