Friendly Virtual Machines Zhang,Bestavros etc., Boston Univ. ACM/USENIX VEE 2005 CSE 598c April 17, 2006 Bhuvan Urgaonkar CSE 598c April 17, 2006 Bhuvan.

Slides:



Advertisements
Similar presentations
End-to-End and Innovation Geoff Huston Chief Scientist, APNIC.
Advertisements

Remus: High Availability via Asynchronous Virtual Machine Replication
Diagnosing Performance Overheads in the Xen Virtual Machine Environment Aravind Menon Willy Zwaenepoel EPFL, Lausanne Jose Renato Santos Yoshio Turner.
Virtual Memory (II) CSCI 444/544 Operating Systems Fall 2008.
Paging: Design Issues. Readings r Silbershatz et al: ,
CS 443 Advanced OS Fabián E. Bustamante, Spring 2005 Resource Containers: A new Facility for Resource Management in Server Systems G. Banga, P. Druschel,
Virtualization and Cloud Computing. Definition Virtualization is the ability to run multiple operating systems on a single physical system and share the.
Difference Engine: Harnessing Memory Redundancy in Virtual Machines by Diwaker Gupta et al. presented by Jonathan Berkhahn.
Page 15/4/2015 CSE 30341: Operating Systems Principles Allocation of Frames  How should the OS distribute the frames among the various processes?  Each.
Ragib Hasan Johns Hopkins University en Spring 2011 Lecture 11 04/25/2011 Security and Privacy in Cloud Computing.
Performance Evaluation of Open Virtual Routers M.Siraj Rathore
Xen , Linux Vserver , Planet Lab
Reciprocal Resource Fairness: Towards Cooperative Multiple-Resource Fair Sharing in IaaS Clouds School of Computer Engineering Nanyang Technological University,
Efficient Autoscaling in the Cloud using Predictive Models for Workload Forecasting Roy, N., A. Dubey, and A. Gokhale 4th IEEE International Conference.
Resilient Peer-to-Peer Streaming Paper by: Venkata N. Padmanabhan Helen J. Wang Philip A. Chou Discussion Leader: Manfred Georg Presented by: Christoph.
Receiver-driven Layered Multicast S. McCanne, V. Jacobsen and M. Vetterli SIGCOMM 1996.
Towards High-Availability for IP Telephony using Virtual Machines Devdutt Patnaik, Ashish Bijlani and Vishal K Singh.
1 Virtual Private Caches ISCA’07 Kyle J. Nesbit, James Laudon, James E. Smith Presenter: Yan Li.
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science Virtualization in Data Centers Prashant Shenoy
Inferring the Topology and Traffic Load of Parallel Programs in a VM environment Ashish Gupta Peter Dinda Department of Computer Science Northwestern University.
Operating System Support for Virtual Machines Samuel King, George Dunlap, Peter Chen Univ of Michigan Ashish Gupta.
Building a Strong Foundation for a Future Internet Jennifer Rexford ’91 Computer Science Department (and Electrical Engineering and the Center for IT Policy)
Virtual Machines. Virtualization Virtualization deals with “extending or replacing an existing interface so as to mimic the behavior of another system”
Resource Management in Virtualization-based Data Centers Bhuvan Urgaonkar Computer Systems Laboratory Pennsylvania State University Bhuvan Urgaonkar Computer.
Computer Science Cataclysm: Policing Extreme Overloads in Internet Applications Bhuvan Urgaonkar and Prashant Shenoy University of Massachusetts.
CSE598C Virtual Machines and Their Applications Operating System Support for Virtual Machines Coauthored by Samuel T. King, George W. Dunlap and Peter.
Introduction to Virtual Machines. Administration Presentation and class participation: 40% –Each student will present two and a half times this semester.
Design and Implementation of a Single System Image Operating System for High Performance Computing on Clusters Christine MORIN PARIS project-team, IRISA/INRIA.
Measuring zSeries System Performance Dr. Chu J. Jong School of Information Technology Illinois State University 06/11/2012 Sponsored in part by Deer &
Virtualization Technology Prof D M Dhamdhere CSE Department IIT Bombay Moving towards Virtualization… Department of Computer Science and Engineering, IIT.
Computer Science 1 Resource Overbooking and Application Profiling in Shared Hosting Platforms Bhuvan Urgaonkar Prashant Shenoy Timothy Roscoe † UMASS Amherst.
1 Scheduling I/O in Virtual Machine Monitors© 2008 Diego Ongaro Scheduling I/O in Virtual Machine Monitors Diego Ongaro, Alan L. Cox, and Scott Rixner.
Evaluation of Delta Compression Techniques for Efficient Live Migration of Large Virtual Machines Petter Svärd, Benoit Hudzia, Johan Tordsson and Erik.
Dual Stack Virtualization: Consolidating HPC and commodity workloads in the cloud Brian Kocoloski, Jiannan Ouyang, Jack Lange University of Pittsburgh.
Sharing the Data Center Network Alan Shieh, Srikanth Kandula, Albert Greenberg, Changhoon Kim, Bikas Saha Microsoft Research, Cornell University, Windows.
Adaptive Control of Virtualized Resources in Utility Computing Environments HP Labs: Xiaoyun Zhu, Mustafa Uysal, Zhikui Wang, Sharad Singhal University.
Department of Computer Science Engineering SRM University
Page 19/17/2015 CSE 30341: Operating Systems Principles Optimal Algorithm  Replace page that will not be used for longest period of time  Used for measuring.
Introduction and Overview Questions answered in this lecture: What is an operating system? How have operating systems evolved? Why study operating systems?
Adaptive Overload Control for Busy Internet Servers Matt Welsh and David Culler USENIX Symposium on Internet Technologies and Systems (USITS) 2003 Alex.
Improving Network I/O Virtualization for Cloud Computing.
Virtual Machine Monitors: Technology and Trends Jonathan Kaldor CS614 / F07.
Virtual Machine and its Role in Distributed Systems.
Challenges towards Elastic Power Management in Internet Data Center.
Our work on virtualization Chen Haogang, Wang Xiaolin {hchen, Institute of Network and Information Systems School of Electrical Engineering.
Dynamic Resource Monitoring and Allocation in a virtualized environment.
Congestion Control in CSMA-Based Networks with Inconsistent Channel State V. Gambiroza and E. Knightly Rice Networks Group
Computer Science 1 Resource Overbooking and Application Profiling in Shared Hosting Platforms Bhuvan Urgaonkar Prashant Shenoy Timothy Roscoe † UMASS Amherst.
Design and Implementation of a Generic Resource-Sharing Virtual-Time Dispatcher Tal Ben-Nun Scl. Eng & CS Hebrew University Yoav Etsion CS Dept Barcelona.
Improving Xen Security through Disaggregation Derek MurrayGrzegorz MilosSteven Hand.
Efficient Live Checkpointing Mechanisms for computation and memory-intensive VMs in a data center Kasidit Chanchio Vasabilab Dept of Computer Science,
Jennifer Rexford Fall 2014 (TTh 3:00-4:20 in CS 105) COS 561: Advanced Computer Networks TCP.
DynamicMR: A Dynamic Slot Allocation Optimization Framework for MapReduce Clusters Nanyang Technological University Shanjiang Tang, Bu-Sung Lee, Bingsheng.
Full and Para Virtualization
1 Agility in Virtualized Utility Computing Hangwei Qian, Elliot Miller, Wei Zhang Michael Rabinovich, Craig E. Wills {EECS Department, Case Western Reserve.
CSE598c - Virtual Machines - Spring Diagnosing Performance Overheads in the Xen Virtual Machine EnvironmentPage 1 CSE 598c Virtual Machines “Diagnosing.
Memory Resource Management in VMware ESX Server By Carl A. Waldspurger Presented by Clyde Byrd III (some slides adapted from C. Waldspurger) EECS 582 –
© 2004 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice Understanding Virtualization Overhead.
Lecture 4 Page 1 CS 111 Summer 2013 Scheduling CS 111 Operating Systems Peter Reiher.
Is Virtualization ready for End-to-End Application Performance?
Memory Thrashing Protection in Multi-Programming Environment
Improving Datacenter Performance and Robustness with Multipath TCP
1. 2 VIRTUAL MACHINES By: Satya Prasanna Mallick Reg.No
A Framework for Automatic Resource and Accuracy Management in A Cloud Environment Smita Vijayakumar.
Congestion Control, Internet transport protocols: udp
Shielding applications from an untrusted cloud with Haven
Cataclysm: Handling Extreme Overloads in Internet Services
Virtual Memory: Working Sets
Virtualization Dr. S. R. Ahmed.
System Virtualization
Presentation transcript:

Friendly Virtual Machines Zhang,Bestavros etc., Boston Univ. ACM/USENIX VEE 2005 CSE 598c April 17, 2006 Bhuvan Urgaonkar CSE 598c April 17, 2006 Bhuvan Urgaonkar

Problem Setting Growing trend of hosting applications at third- party platforms Two challenges Isolation, security to co-located applications Efficient and fair resource allocation Virtualization seen as a promising approach for isolation What about resource allocation? Growing trend of hosting applications at third- party platforms Two challenges Isolation, security to co-located applications Efficient and fair resource allocation Virtualization seen as a promising approach for isolation What about resource allocation?

Challenge - Resource Allocation in Hosting Environments Traditional solutions Over-provisioning => wasteful Fair schedulers in the OS, dynamic provisioning, admission control Complex Deprive the application of meaningfully adapting its behavior to match available resources Against the famous end-to-end argument developed in the networking community Traditional solutions Over-provisioning => wasteful Fair schedulers in the OS, dynamic provisioning, admission control Complex Deprive the application of meaningfully adapting its behavior to match available resources Against the famous end-to-end argument developed in the networking community

End-to-end Argument Clark et. al A functionality should be pushed to the higher layer whenever possible IP network implements packet forwarding, leaving congestion control to end systems When applied to hosting platforms Let the applications decide how many resources they need Clark et. al A functionality should be pushed to the higher layer whenever possible IP network implements packet forwarding, leaving congestion control to end systems When applied to hosting platforms Let the applications decide how many resources they need

How do VMs make end-end idea realizable? In a traditional hosting system, applications would have to be modified Always undesirable, often impossible In a virtualized hosting system VMM is like OS, guest OS is like application Guest OS modification not so unacceptable E.g., Xen, Denali Main idea: It is possible to achieve good efficiency and fairness using “friendly” virtual machines In a traditional hosting system, applications would have to be modified Always undesirable, often impossible In a virtualized hosting system VMM is like OS, guest OS is like application Guest OS modification not so unacceptable E.g., Xen, Denali Main idea: It is possible to achieve good efficiency and fairness using “friendly” virtual machines

Outline Motivation Approach Implementation Evaluation Conclusions Motivation Approach Implementation Evaluation Conclusions

Friendly Virtual Machine Not malicious Dynamically adapts its resource needs to system conditions Inspiration: AIMD congestion control in TCP Gradually increase resource requirements, back-off when resource contention increases How a TCP researcher would approach the resource management problem in data centers Not malicious Dynamically adapts its resource needs to system conditions Inspiration: AIMD congestion control in TCP Gradually increase resource requirements, back-off when resource contention increases How a TCP researcher would approach the resource management problem in data centers

System Goals Efficiency Resources should not be overloaded E.g., Heavy paging during overload => low throughput Resources should not be unnecessarily underutilized Fairness Each VM is allocated a proportional share of the bottleneck resource for that VM Efficiency Resources should not be overloaded E.g., Heavy paging during overload => low throughput Resources should not be unnecessarily underutilized Fairness Each VM is allocated a proportional share of the bottleneck resource for that VM

Overload Detection Unlike TCP, there are multiple resources to consider CPU, virtual memory, network bandwidth Resource utilization metrics not reliable E.g., CPU util may be high but the bottleneck may be the memory sub-system Use application-centric metrics like response time or throughput Unlike TCP, there are multiple resources to consider CPU, virtual memory, network bandwidth Resource utilization metrics not reliable E.g., CPU util may be high but the bottleneck may be the memory sub-system Use application-centric metrics like response time or throughput

Overload Detection Virtual Clock Time (VCT) Real time interval between consecutive virtual clock cycles Bottleneck resource The resource that is the first to trigger a significant increase in VCT Bottleneck-equivalence classes Detection: Measure the ratio of current VCT to minimum VCT observed Compare with a threshold (2) Virtual Clock Time (VCT) Real time interval between consecutive virtual clock cycles Bottleneck resource The resource that is the first to trigger a significant increase in VCT Bottleneck-equivalence classes Detection: Measure the ratio of current VCT to minimum VCT observed Compare with a threshold (2)

Adaptation Mechanisms Control number of processes/threads In practice, suspending running processes may not be a good idea Alternatives Suspend less important (e.g., younger) processes Don’t allow new processes instead of suspending existing ones Rate control by forcing VM to sleep Follow an AIMD style adaptation that converges to fair/efficient allocation Paper presents a control-theoretic model to prove convergence/stability properties Control number of processes/threads In practice, suspending running processes may not be a good idea Alternatives Suspend less important (e.g., younger) processes Don’t allow new processes instead of suspending existing ones Rate control by forcing VM to sleep Follow an AIMD style adaptation that converges to fair/efficient allocation Paper presents a control-theoretic model to prove convergence/stability properties

Salient Features Underlying system requirements Schedulers should be unbiased like round-robin, unlike multi-level feedback VMM should implement resource policing to enforce AIMD behavior Various adaptation strategies can co-exist Think TCP-reno, TCP-tahoe, … Suggestion: VMM could provide incentives for friendly behavior Underlying system requirements Schedulers should be unbiased like round-robin, unlike multi-level feedback VMM should implement resource policing to enforce AIMD behavior Various adaptation strategies can co-exist Think TCP-reno, TCP-tahoe, … Suggestion: VMM could provide incentives for friendly behavior

Discussion Is this system practical? Rate of adaptation Would it be fast enough for hosted applications? Applications need resources soon after overload starts How would the system behave with biased schedulers? Can the adaptation mechanism be extended to handle different levels of importance? This system might punish an application precisely when it is crucial for it to service its workload E.g., An e-commerce app during Thanksgiving Global knowledge can be crucial for efficiency E.g., LRU page replacement Security, isolation To me it seems this would be as secure as a system with a more heavy-weight VMM Is this system practical? Rate of adaptation Would it be fast enough for hosted applications? Applications need resources soon after overload starts How would the system behave with biased schedulers? Can the adaptation mechanism be extended to handle different levels of importance? This system might punish an application precisely when it is crucial for it to service its workload E.g., An e-commerce app during Thanksgiving Global knowledge can be crucial for efficiency E.g., LRU page replacement Security, isolation To me it seems this would be as secure as a system with a more heavy-weight VMM

Implementation User-mode Linux Implement adaptation of number of processes and rate control 500 lines of code User-mode Linux Implement adaptation of number of processes and rate control 500 lines of code

Outline Motivation Approach Implementation Evaluation Conclusions Motivation Approach Implementation Evaluation Conclusions

Memory intensive benchmark - Performance metrics vs # VMs Linux suspends processes arbitrarily when excessive thrashing occurs, their system spreads the punishment evenly

Benchmark - Performance metrics vs # threads/VM (2 VMs) Graceful degradation

How not to do Evaluation No confidence intervals! Observations for light loads are meaningless Pick someone your own size Of course, their system is better than vanilla UML, so what? Should have compared with a system that implements fair schedulers No confidence intervals! Observations for light loads are meaningless Pick someone your own size Of course, their system is better than vanilla UML, so what? Should have compared with a system that implements fair schedulers

Apache - 4 VMs Graceful degradation

Evolution of VCT w/ UML Unfairness at high load

Evolution of VCT w FVM Fair CPU allocation

Tput per VM w UML Unfairness at high load Unfair CPU allocations due to different paging treatment and process suspension Unfairness at high load Unfair CPU allocations due to different paging treatment and process suspension

Per VM Tput w FVM Fair behavior

Conclusions Distributed, application-driven resource allocation (+) Cool idea (-) Needs more research to be convincing Experimental evaluation not satisfactory Distributed, application-driven resource allocation (+) Cool idea (-) Needs more research to be convincing Experimental evaluation not satisfactory

More Discussion