look who’s talking: discovering dependencies between virtual machines using cpu utilization...
TRANSCRIPT
Look Who’s Talking: Discovering Dependencies between Virtual
Machines Using CPU Utilization
HotCloud 10
Presented by Xin
Problem with current cloud
• Hard to monitor, manage and debug
• Complex dependency causes butterfly effect
We need to know VM Interdependencies
• Better VM placement and migration decisions– Being not restricted to the physical machine, isn’t
it what we want at the beginning?
• Better resource allocation– Reduce intra cloud traffic.
• Better disaster recovery automation– What can we do about this?
• Better troubleshooting
How to infer VM Interdependencies?
• In a multi-tier application, VMs have request-response interactions
• The server’s workload is determined by the clients workload
How to infer VM Interdependencies?
• Monitor– Sample ‘per VM’ CPU utilization
• Model– Estimate an model for CPU utilization of each VM
• Cluster– K-means clusters VMs with similar models VMs to
gether
Monitoring
• CPU utilization sampled per VM
• Sampling Period– Too small : increases computation Too large :
Might miss relevant spikes
• Sample size– 300 seconds
Modeling
• If VM1 and VM2 have the same coefficients, we say they are interdependent
• Why do we need this model?– Can we just compare the time series using a
scale factor?
Evaluation
• 31 VMs spread over 5 physical servers
• Applications– RUBiS : eBay like benchmark
• 4VMs – Apache, Tomcat, MySQL and RUBiS client
– Hadoop MapReduce Framework• 3 VMs – 1 master and 3 slave nodes
– Iperf : Network testing tool• 2 VMs – sender and receiver
Why it works ?
• RUBiS– 100% accuracy– Lot of request-response interaction between t
he VMs– ‘n-tier’ application model
Why it fails ?• Hadoop
– false positive and false negative.– Mappers and reducers communicate intermed
iate results via files
Discussion
• Security concerns– Who can monitor the CPU utilization of all VMs?
• The provider can ues “xentop” command to display real-time information about a Xen system
– Can one VM infer the CPU utilization of another VM located at the same physical machine?
• Infer from CPU cache utilization?
– What can an attacker do when it detects the interdependencies of other VMs?
• Attack the bottleneck• Estimate the workload
Discussion
• Is identifying VM interdependency important?– Yes, debugging, resource allocation– Is locating interdependent VMs on the same machi
ne a good idea? • For provider: yes. For user: no
– What can we do about disaster recovery?• What kind of disaster?• What causes it?• Can we rank the top 10 reasons? Is VM interdependence
on the list?