ENFORCING PERFORMANCE ISOLATION ACROSS VIRTUAL MACHINES IN XEN Diwaker Gupta, Ludmila Cherkasova, Rob Gardner, Amin Vahdat Middleware '06 Proceedings of.

Slides:



Advertisements
Similar presentations
Diagnosing Performance Overheads in the Xen Virtual Machine Environment Aravind Menon Willy Zwaenepoel EPFL, Lausanne Jose Renato Santos Yoshio Turner.
Advertisements

1 Sizing the Streaming Media Cluster Solution for a Given Workload Lucy Cherkasova and Wenting Tang HPLabs.
Difference Engine: Harnessing Memory Redundancy in Virtual Machines by Diwaker Gupta et al. presented by Jonathan Berkhahn.
Performance Evaluation of Open Virtual Routers M.Siraj Rathore
VSphere vs. Hyper-V Metron Performance Showdown. Objectives Architecture Available metrics Challenges in virtual environments Test environment and methods.
Xen , Linux Vserver , Planet Lab
XENMON: QOS MONITORING AND PERFORMANCE PROFILING TOOL Diwaker Gupta, Rob Gardner, Ludmila Cherkasova 1.
By- Jaideep Moses, Ravi Iyer , Ramesh Illikkal and
Xen and the Art of Virtualization. Introduction  Challenges to build virtual machines Performance isolation  Scheduling priority  Memory demand  Network.
Resource Management in Virtualization-based Data Centers Bhuvan Urgaonkar Computer Systems Laboratory Pennsylvania State University Bhuvan Urgaonkar Computer.
Presented by : Ran Koretzki. Basic Introduction What are VM’s ? What is migration ? What is Live migration ?
Introduction to Virtual Machines. Administration Presentation and class participation: 40% –Each student will present two and a half times this semester.
Measuring zSeries System Performance Dr. Chu J. Jong School of Information Technology Illinois State University 06/11/2012 Sponsored in part by Deer &
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.
Self-Organizing Agents for Grid Load Balancing Junwei Cao Fifth IEEE/ACM International Workshop on Grid Computing (GRID'04)
Virtual Machine Hosting for Networked Clusters: Building the Foundations for “Autonomic” Orchestration Based on paper by Laura Grit, David Irwin, Aydan.
HyperSpector: Virtual Distributed Monitoring Environments for Secure Intrusion Detection Kenichi Kourai Shigeru Chiba Tokyo Institute of Technology.
CPU Scheduling Chapter 6 Chapter 6.
1 An SLA-Oriented Capacity Planning Tool for Streaming Media Services Lucy Cherkasova, Wenting Tang, and Sharad Singhal HPLabs,USA.
Parallel Programming Models Jihad El-Sana These slides are based on the book: Introduction to Parallel Computing, Blaise Barney, Lawrence Livermore National.
Network Aware Resource Allocation in Distributed Clouds.
Cloud Computing Energy efficient cloud computing Keke Chen.
Xen I/O Overview. Xen is a popular open-source x86 virtual machine monitor – full-virtualization – para-virtualization para-virtualization as a more efficient.
Storage Management in Virtualized Cloud Environments Sankaran Sivathanu, Ling Liu, Mei Yiduo and Xing Pu Student Workshop on Frontiers of Cloud Computing,
Xen I/O Overview.
Improving Network I/O Virtualization for Cloud Computing.
Profiling and Modeling Resource Usage of Virtualized Applications Timothy Wood 1, Ludmila Cherkasova 2, Kivanc Ozonat 2, and Prashant Shenoy 1 1 University.
Penn State CSE “Optimizing Network Virtualization in Xen” Aravind Menon, Alan L. Cox, Willy Zwaenepoel Presented by : Arjun R. Nath.
Politecnico di Torino Dipartimento di Automatica ed Informatica TORSEC Group Performance of Xen’s Secured Virtual Networks Emanuele Cesena Paolo Carlo.
COMS E Cloud Computing and Data Center Networking Sambit Sahu
© 2006 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice Profiling and Modeling Resource Usage.
1 Xen and Co.: Communication-aware CPU Scheduling for Consolidated Xen-based Hosting Platforms Sriram Govindan, Arjun R Nath, Amitayu Das, Bhuvan Urgaonkar,
Xen (Virtual Machine Monitor) Operating systems laboratory Esmail asyabi- April 2015.
DESIGNING VM SCHEDULERS FOR EMBEDDED REAL-TIME APPLICATIONS Alejandro Masrur, Thomas Pfeuffer, Martin Geier, Sebastian Drössler and Samarjit Chakraborty.
MClock: Handling Throughput Variability for Hypervisor IO Scheduling in USENIX conference on Operating Systems Design and Implementation (OSDI ) 2010.
1 Distributed Energy-Efficient Scheduling for Data-Intensive Applications with Deadline Constraints on Data Grids Cong Liu and Xiao Qin Auburn University.
Swapping to Remote Memory over InfiniBand: An Approach using a High Performance Network Block Device Shuang LiangRanjit NoronhaDhabaleswar K. Panda IEEE.
Quantifying and Improving I/O Predictability in Virtualized Systems Cheng Li, Inigo Goiri, Abhishek Bhattacharjee, Ricardo Bianchini, Thu D. Nguyen 1.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
Performance evaluation of component-based software systems Seminar of Component Engineering course Rofideh hadighi 7 Jan 2010.
Presented by: Reem Alshahrani. Outlines What is Virtualization Virtual environment components Advantages Security Challenges in virtualized environments.
 Virtual machine systems: simulators for multiple copies of a machine on itself.  Virtual machine (VM): the simulated machine.  Virtual machine monitor.
Xiao Ling 1, Shadi Ibrahim 2, Hai Jin 1, Song Wu 1, Songqiao Tao 1 1 Cluster and Grid Computing Lab Services Computing Technology and System Lab School.
Time Management.  Time management is concerned with OS facilities and services which measure real time, and is essential to the operation of timesharing.
Design and Implementation of a Generic Resource-Sharing Virtual-Time Dispatcher Tal Ben-Nun Scl. Eng & CS Hebrew University Yoav Etsion CS Dept Barcelona.
Embedded System Lab. 정범종 A_DRM: Architecture-aware Distributed Resource Management of Virtualized Clusters H. Wang et al. VEE, 2015.
Improving Xen Security through Disaggregation Derek MurrayGrzegorz MilosSteven Hand.
Modeling Virtualized Environments in Simalytic ® Models by Computing Missing Service Demand Parameters CMG2009 Paper 9103, December 11, 2009 Dr. Tim R.
Full and Para Virtualization
Computer Organization Instruction Set Architecture (ISA) Instruction Set Architecture (ISA), or simply Architecture, of a computer is the.
Time Management.  Time management is concerned with OS facilities and services which measure real time.  These services include:  Keeping track of.
CSE598c - Virtual Machines - Spring Diagnosing Performance Overheads in the Xen Virtual Machine EnvironmentPage 1 CSE 598c Virtual Machines “Diagnosing.
© 2004 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice Understanding Virtualization Overhead.
1 DIFFERENTIATED NETWORK QoS in XEN Dual Degree Final Stage Presentation by Saransh Mittal (04d05016) under the supervision of Prof. Varsha Apte and co-supervision.
1 PERFORMANCE DIFFERENTIATION OF NETWORK I/O in XEN by Kuriakose Mathew ( )‏ under the supervision of Prof. Purushottam Kulkarni and Prof. Varsha.
7/2/20161 Re-architecting VMMs for Multicore Systems: The Sidecore Approach Presented by: Sanjay Kumar PhD Candidate, Georgia Institute of Technology Co-Authors:
Is Virtualization ready for End-to-End Application Performance?
Xen and the Art of Virtualization
Container-based Operating System Virtualization: A scalable, High-performance Alternative to Hypervisors Stephen Soltesz, Herbert Potzl, Marc E. Fiuczynski,
Operating System Structure
TYPES OF SERVER. TYPES OF SERVER What is a server.
XenFS Sharing data in a virtualised environment
Comparison of the Three CPU Schedulers in Xen
Chapter 6: CPU Scheduling
A Simulator to Study Virtual Memory Manager Behavior
Specialized Cloud Architectures
Cloud Computing VM Scheduling
Xen and the Art of Virtualization
Xing Pu21 Ling Liu1 Yiduo Mei31 Sankaran Sivathanu1 Younggyun Koh1
Scheduling of Regular Tasks in Linux
Presentation transcript:

ENFORCING PERFORMANCE ISOLATION ACROSS VIRTUAL MACHINES IN XEN Diwaker Gupta, Ludmila Cherkasova, Rob Gardner, Amin Vahdat Middleware '06 Proceedings of the ACM/IFIP/USENIX

Outline  Introduction  XenMon  Network I/O Accounting  SEDF-DC  ShareGuard  Conclusion 2

Introduction(1/4)  Individual VMs are often configured with performance guarantees and expectations, e.g., based on service level agreements.  The resource consumption of one virtual machine should not impact the promised guarantees to other VMs on the same hardware.  In this paper, focus on performance isolation mechanisms in Xen, a popular open source VMM. 3

Introduction(2/4) 4

Introduction(3/4)  For I/O intensive applications, CPU usage has two components:  CPU consumed by the guest domain, where the application resides  CPU consumed by the IDD that incorporates  Consider a guest domain limited to 30% CPU consumption.  If the work done on its behalf within an IDD to perform packet processing consumes 20% of the CPU, then that domain may consume 50% of overall CPU resources. 5

Introduction(4/4)  The key contribution of this paper is the design of a set of cooperating mechanisms to effectively control total CPU consumption across virtual machines in Xen  Authors have completed a full implementation and detailed performance evaluation of the necessary system components to enable effective VM performance isolation:  XenMon  SEDF-DC  ShareGuard 6

XenMon(1/2)  XenMon  a performance monitoring and profiling tool that reports CPU usage of different VMs at programmable time scales.  XenMon includes mechanisms to measure CPU for network processing in net-IDDs (IDDs responsible for network devices) on behalf of guest domains. 7

XenMon(2/2) 8

Network I/O Accounting(1/6)  The challenges posed by the new I/O model in Xen is to classify IDD CPU consumption across guest domains.  The IDD has a “back-end” driver that multiplexes I/O for multiple “front-end” drivers in guest VMs over the real device driver 9

Network I/O Accounting(2/6) 10

Network I/O Accounting(3/6)  The authors propose using the number of packets sent/received per guest domain for distributing the net-IDD CPU consumption among guests  knowing the number of packets sent and received on a per-domain basis does not by itself enable accurate CPU isolation.  We need a mechanism to map these values to per- domain CPU consumption in the IDD. 11

Network I/O Accounting(4/6) 12

Network I/O Accounting(5/6)  The impact of packet size on CPU overhead in net-IDD  The results show that CPU consumption in net-IDD does not depend on packet size  CPU overhead in net-IDD for Send vs. Receive I/O paths  the ratio of CPU consumption in net-IDD between send and receive paths is consistently the same for different packet rates.  denote this measured ratio as weight. 13

Network I/O Accounting(6/6)  Send/Recv(Dom i )  packets sent/received by net-IDD to/from Dom i  Send/Recv(netIDD)  the total packets sent/received by net-IDD  wCount(Dom i )  weighted packet count per domain :  weight×Send(Dom i )+Recv(Dom i )  wCount(netIDD)  the weighted packet count for net-IDD  We can use the fraction wCount(Dom i )/wCount(netIDD) to charge CPU usage to Dom i. 14

SEDF-DC(1/7)  Simple Earliest Deadline First – Debt Collector(SEDF-DC)  a new VM scheduler with feedback that effectively allocates CPU among competing domains while accounting for consumption both within the domain and in net-IDDs.  Periodically receives feedback from XenMon about the CPU consumed by IDDs for I/O processing on behalf of guest domains  Using this information, SEDF-DC constrains the CPU allocation to guest domains to meet the specified combined CPU usage limit. 15

SEDF-DC(2/7) -- Notation  (s i, p i ) : Dom i will receive at least s i units of time in each period of length p i  Q r : the queue of runnable domains  Q w : the queue of domains that have exhausted their slice and are awaiting the next period  Q b : the queue of blocked domains  Both Q r and Q w are sorted by deadlines  t : the feedback interval (500ms in implementation)  used IDD i : CPU consumption of net-IDD for network I/O processing on behalf of Dom i during the latest t-ms interval 16

SEDF-DC(3/7) -- Notation  d i : domain’s current deadline for CPU allocation, the time when the current period ends for domain Dom i.  Each domain D i ’s deadline is initialized to NOW + p i, where NOW denotes the current, real time.  r i : domain’s current remaining time for CPU allocation, the CPU time remaining to domain Dom i within its current period.  debt IDD i : CPU time consumed by Dom i via the net-IDD’s networking processing performed on behalf of Dom i. We call this the CPU debt for Dom i.  At each feedback interval, this value is incremented by used IDD i for the latest t-ms. 17

SEDF-DC(4/7)  The modified procedure for updating the queues (Q r, Q w, and Q b )  1. The time gotten i for which the current Dom i has been running is deducted from r i : r i = r i − gotten i.  If debt IDD i > 0 then we attempt to charge Dom i for its CPU debt by decreasing the remaining time of its CPU slice: if debt IDD i <= r i then r i = r i − debt IDD i and debt IDD i = 0; if debt IDD i > r i then debt IDD i = debt IDD i − r i and r i = 0.  2. If r i = 0, then Dom i is moved from Q r to Q w, since Dom i has received its required CPU time in the current period. 18

SEDF-DC(5/7)  3. For each domain Dom k in Q w, if NOW >= d k then we perform the following updates:  r k is reset to s k ˆ − debt IDD k  debt IDD k is decreased by min(s k, debt k );  the new deadline is set to d k + p k ;  If r k > 0 then Dom k is moved from Q w to Q r.  4. The next timer interrupt is scheduled for min(d h w + p h w, d h r ), where (d h w, p h w ) and(d h r, p h r ) denote the deadline and period of the domains that are respective heads of the Q r and Q w queues. 19

SEDF-DC(6/7)  5. On an interrupt, the scheduler runs the head of Q r. If Q r is empty, it selects the head of Q w.  6. When domain Dom k in Q b is unblocked, we make the following updates:  if NOW < d k then if debt IDD k <= r k then r k = r k − debt IDD k, and debt IDD k = 0, and Dom k is moved from Q b to Q r ; if debt IDD k > r k then debt IDD k = debt IDD k − r k and r k = 0.  if NOW >= d k then we compute for how many periods Dom k was blocked 20

SEDF-DC(7/7) 21  r k is reset to s k ˆ − debt IDD k. If r k > 0, then Domk is moved from Q b to Q r and can be scheduled to receive the remaining r k ;  debt IDD k is adjusted by s k : debt IDD k = debt IDD k ˆ − s k ;  the new deadline is set to d k + p k

SEDF-DC Evaluation 22  Two VMs (Domain-1 and Domain-2), each hosting a web-server. We configure both VMs and Domain-0 to receive a maximum of 22% of the CPU.  Domain-1’s web-server is served with requests for files of size 10 KB at 400 requests/second,  Domain-2’s web-server is served with requests for files of size 100 KB at 200 requests/second

SEDF-DC Evaluation 23

ShareGuard(1/3)  A control mechanism that enforces a specified limit on CPU time consumed by a net-IDD on behalf of a particular guest domain.  (s IDD, p IDD ) : net-IDD will receive a CPU allocation of at least s IDD -ms in each period of length p IDD –ms  CPUshare IDD = s IDD / p IDD  limit IDD i : a fraction of CPU time in net-IDD available for network processing on behalf of Dom i such that limit IDD i < CPUshare IDD  t : the time period ShareGuard uses to evaluates current CPU usage in net-IDD and performs decision making 24

ShareGuard(2/3)  used IDD i : ShareGuard computes the fraction of overall CPU time used by net-IDD for networking processing on behalf of Dom i (1<=i<=n) during the latest t interval  If used IDD i > limit IDD i, Dom i has exhausted its CPU share for network traffic processing in net-IDD.  ShareGuard applies appropriate defensive actions for the next time interval t def 25

ShareGuard(3/3)  In time interval t def, ShareGuard will  Stop accepting incoming traffic to a domain iptables  Stop processing outgoing traffic from a domain ShareGuard sends a notification to netback identifying the target domain and the required action (drop or forward)  After time interval t def, ShareGuard restores normal functionality in net-IDD with respect to network traffic to/from domain Dom i. 26

Conclusion  In this work, authors have proposed two mechanisms – SEDF-DC and ShareGuard – that improve CPU and network resource isolation in Xen  They believe that performance isolation requires appropriate resource allocation policies.  Thus, another area for future investigation is policies for efficient capacity planning and workload management. 27