170 likes | 272 Vues
This study explores how monitoring CPU utilization can reveal interdependencies between virtual machines, aiding in better resource allocation, disaster recovery, and troubleshooting in cloud environments.
E N D
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 together
Monitoring • CPU utilization sampled per VM • Sampling Period • Too small : increases computation Too large : Might miss relevant spikes • Sample size • 300 seconds
Modeling • Auto Regressive modeling
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
Evaluation – 91.67% true positives – 99.08% true negatives
Why it works ? • RUBiS • 100% accuracy • Lot of request-response interaction between the VMs • ‘n-tier’ application model
Why it fails ? • Hadoop • false positive and false negative. • Mappers and reducers communicate intermediate 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 machine 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?
Discussion • Is CPU utilization a good metric? • No. What is a VM runs multiple applications? • No. We cannot infer who depends on whom. • What metrics can we use?