Comparison of the Three CPU Schedulers in Xen

Slides:



Advertisements
Similar presentations
Chapter 5 CPU Scheduling. CPU Scheduling Topics: Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real-Time Scheduling.
Advertisements

XENMON: QOS MONITORING AND PERFORMANCE PROFILING TOOL Diwaker Gupta, Rob Gardner, Ludmila Cherkasova 1.
© 2008 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice In search of a virtual yardstick:
CS 3013 & CS 502 Summer 2006 Scheduling1 The art and science of allocating the CPU and other resources to processes.
Chapter 6: CPU Scheduling. 5.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Feb 2, 2005 Chapter 6: CPU Scheduling Basic.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 6: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms.
ENFORCING PERFORMANCE ISOLATION ACROSS VIRTUAL MACHINES IN XEN Diwaker Gupta, Ludmila Cherkasova, Rob Gardner, Amin Vahdat Middleware '06 Proceedings of.
5: CPU-Scheduling1 Jerry Breecher OPERATING SYSTEMS SCHEDULING.
Wk 2 – Scheduling 1 CS502 Spring 2006 Scheduling The art and science of allocating the CPU and other resources to processes.
Virtualization for Cloud Computing
Resource Management in Virtualization-based Data Centers Bhuvan Urgaonkar Computer Systems Laboratory Pennsylvania State University Bhuvan Urgaonkar Computer.
Virtualization Technology Prof D M Dhamdhere CSE Department IIT Bombay Moving towards Virtualization… Department of Computer Science and Engineering, IIT.
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.
Department of Computer Science Engineering SRM University
Chapter 5: CPU Scheduling. 5.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Feb 2, 2005 Basic Concepts Maximum CPU utilization.
CPU Scheduling Chapter 6 Chapter 6.
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Lecture 5 Operating Systems.
OPERATING SYSTEMS CPU SCHEDULING.  Introduction to CPU scheduling Introduction to CPU scheduling  Dispatcher Dispatcher  Terms used in CPU scheduling.
1 Previous lecture review n Out of basic scheduling techniques none is a clear winner: u FCFS - simple but unfair u RR - more overhead than FCFS may not.
Improving Network I/O Virtualization for Cloud Computing.
Politecnico di Torino Dipartimento di Automatica ed Informatica TORSEC Group Performance of Xen’s Secured Virtual Networks Emanuele Cesena Paolo Carlo.
© 2006 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice Profiling and Modeling Resource Usage.
Xen (Virtual Machine Monitor) Operating systems laboratory Esmail asyabi- April 2015.
Silberschatz and Galvin  Operating System Concepts Module 5: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 5: CPU Scheduling.
 Virtual machine systems: simulators for multiple copies of a machine on itself.  Virtual machine (VM): the simulated machine.  Virtual machine monitor.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 6: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms.
OPERATING SYSTEMS CS 3530 Summer 2014 Systems with Multi-programming Chapter 4.
Chapter 5: Process Scheduling. 5.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Basic Concepts Maximum CPU utilization can be obtained.
VTurbo: Accelerating Virtual Machine I/O Processing Using Designated Turbo-Sliced Core Embedded Lab. Kim Sewoog Cong Xu, Sahan Gamage, Hui Lu, Ramana Kompella,
1 11/29/2015 Chapter 6: CPU Scheduling l Basic Concepts l Scheduling Criteria l Scheduling Algorithms l Multiple-Processor Scheduling l Real-Time Scheduling.
Chapter 5: CPU Scheduling. 5.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Feb 2, 2005 Chapter 5: CPU Scheduling Basic.
VMware vSphere Configuration and Management v6
Virtualization and Databases Ashraf Aboulnaga University of Waterloo.
Full and Para Virtualization
© 2004 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice Understanding Virtualization Overhead.
1 PERFORMANCE DIFFERENTIATION OF NETWORK I/O in XEN by Kuriakose Mathew ( )‏ under the supervision of Prof. Purushottam Kulkarni and Prof. Varsha.
Lecture 4 CPU scheduling. Basic Concepts Single Process  one process at a time Maximum CPU utilization obtained with multiprogramming CPU idle :waiting.
CPU scheduling.  Single Process  one process at a time  Maximum CPU utilization obtained with multiprogramming  CPU idle :waiting time is wasted 2.
Basic Concepts Maximum CPU utilization obtained with multiprogramming
1 Chapter 5: CPU Scheduling. 2 Basic Concepts Scheduling Criteria Scheduling Algorithms.
CPU Scheduling Scheduling processes (or kernel-level threads) onto the cpu is one of the most important OS functions. The cpu is an expensive resource.
Chapter 6: CPU Scheduling (Cont’d)
Copyright ©: Nahrstedt, Angrave, Abdelzaher
Chapter 5a: CPU Scheduling
Virtual Machines Calum Aldridge.
Chapter 6: CPU Scheduling
Chapter 6: CPU Scheduling
CPU Scheduling G.Anuradha
Module 5: CPU Scheduling
Chapter 5: CPU Scheduling
Cluster Resource Management: A Scalable Approach
3: CPU Scheduling Basic Concepts Scheduling Criteria
Chapter5: CPU Scheduling
Chapter 5: CPU Scheduling
Chapter 6: CPU Scheduling
CPU SCHEDULING.
Outline Scheduling algorithms Multi-processor scheduling
Chapter 6: CPU Scheduling
Chapter 5: CPU Scheduling
Cloud Computing VM Scheduling
Operating System , Fall 2000 EA101 W 9:00-10:00 F 9:00-11:00
Shortest-Job-First (SJR) Scheduling
Chapter 6: CPU Scheduling
Module 5: CPU Scheduling
Virtualization Dr. S. R. Ahmed.
Chapter 6: CPU Scheduling
Chapter 6: CPU Scheduling
Xing Pu21 Ling Liu1 Yiduo Mei31 Sankaran Sivathanu1 Younggyun Koh1
Module 5: CPU Scheduling
Presentation transcript:

Comparison of the Three CPU Schedulers in Xen Presentation Title Comparison of the Three CPU Schedulers in Xen Lucy Cherkasova (HPLabs) Diwaker Gupta (UCSD) Amin Vahdat (UCSD)

Motivation Effective management of virtualized IT environments relies on dynamically resizing VMs migrating VMs to different nodes in response to changed conditions The capacity management methods should work in ensemble with underlying resource allocation mechanisms Three CPU schedulers in Xen: What are required features for management tools like VSE and gWLM? Application performance sensitivity to different CPU schedulers and their parameters September 20, 2018

History of three CPU schedulers in Xen BVT: Borrowed Virtual Time Lack of non-work-conserving mode SEDF: Simple Earliest Deadline First Lack of global load balancing Credit: a fair share proportional scheduler Is this an ideal scheduler? Understanding CPU scheduler features and scheduler performance is critical for efficient resource management in the consolidated environment September 20, 2018

BVT: Borrowed Virtual Time Proportional share via setting different domain weights Example: Dom1: weight 1 (20%) Dom2: weight 3 (80%) Work conserving: if only one domain has work to do – it can get all the CPU (i.e. we can not limit the CPU usage to, say, 50% only) Low latency support for I/O intensive and real-time applications: analogy of “priority”. Fair-share scheduler based on the concept of virtual time Context-switch allowance C: real time, flexible (default: 5 ms period). Optimally-fair September 20, 2018

SEDF: Simple Earliest Deadline First Support for both work-conserving and non work-conserving modes now we can allocate, say, 50% of CPU to the domain and not more. Real-time apps support: based on the notions of slice and period (flexible) CPU allocation: 20 ms slice in each 100 ms period; CPU allocation: 2 ms slice in each 10 ms period. Preemptive Limited fairness within the period. Per CPU scheduler: no global load balancing CPU1: dom1 – 80% CPU usage CPU2: dom2 --- 80% CPU usage dom3 with 30% CPU usage can not be allocated and served, each CPU has only 20% of available CPU share. September 20, 2018

Credit scheduler Fair-share scheduler Support for both work-conserving and non work-conserving modes using weights Global load balancing Now we can allocate dom1 (80%), dom2 (80%) and dom3 (30%) on 2-way CPU machine. Scheduling period is 30 ms (hard coded). Non-preemptive September 20, 2018

Two Popular I/O models Device drivers are hosted and executed within a hypervisor (VMM), e.g., the first Xen implementation, the VMware model Unmodified device drivers are hosted and executed in the privileged management domain: Domain0, e.g., the current Xen implementation. I/O processing is done by two components: Domain0 and the guest domain. Performance of I/O intensive applications depends on CPU allocation to Domain0 and the guest domain. September 20, 2018

Challenges How does one estimate the application CPU requirements and project them into two components: Dom0 and the guest domain’s shares? How sensitive are I/O intensive applications to the amount of CPU allocated to Dom0? How significant is the impact of scheduler parameters? Does allocation of a larger CPU share to Dom0 mean a better performance for I/O intensive apps? September 20, 2018

Application Performance Sensitivity to Scheduler Parameters and Dom0 Weights I/O intensive applications are highly sensitive to Dom0 CPU share Scheduler parameters significantly change the scheduler behavior and application performance Analysis with XenMon: Dom0 is scheduled much more often but it performs mush less “useful” work It leads to a high context switch overhead and worse application performance September 20, 2018

Application Performance Sensitivity to Different Schedulers: Web Server Application performance can be significantly different under the different schedulers (with the same CPU allocation share!) These results vote in favor of more homogeneous environment when considering VM migration Optimizing Xen scheduler performance for nwc-mode: this mode is equired by HP management tools September 20, 2018

Iperf Relatively flat iperf performance under SEDF and Credit in wc-mode iperf performance is very sensitive to Dom0 weight under SEDF and Credit in nwc-mode. September 20, 2018

Disk Similar disk throughput under all the three schedulers in wc-mode disk performance is very sensitive to Dom0 weight under SEDF and Credit in nwc-mode. September 20, 2018

CPU Allocation Error ALERT: ALlocation ERror Test Dom0 is allocated 6% (using cap mechanism) Dom1 is allocated 1%, 2%, 3%,…,10%, 20%,….,90% Dom1 executes the “slurp” program (tight CPU loop). Expectations for Dom1: If X% CPU is allocated then X% of CPU should be measured during the test Credit scheduler shows high CPU allocation errors Even longer time averages (3min) had 10% error Such high errors complicate the management Can lead to unstable controller behavior in gWLM September 20, 2018

Credit Scheduler Improvement Current Credit implementation has lower allocation errors. For CPU allocation <30% the Credit errors are still high, more improvement is needed Credit still has a much higher error compared to SEDF Longer time averages are significantly improved September 20, 2018

SMP case: Web Server Each domain (Dom0 too) is configured with 2 VCPUs Better load-balancing features of Credit can not “overwrite” its basic behavior for processing I/O intensive workloads Web server throughput increase compared to 1 CPU case: BVT: 45% SEDF: 30% Credit:24% Web server performance is less sensitive to Dom0 weight in wc-mode Web server performance is very sensitive to Dom0 weight in nwc-mode September 20, 2018

Multiple Web Servers Small scaling experiment with multiple VMs: each is running a web server Small drop in aggregate throughput with 2 VMs Credit shows an improved performance for aggregate throughput with higher number of VMs (due to global load balancing?..) September 20, 2018

BVT: SMP case Experiments with slurp (single process) All the domains (including Dom0) run Slurp (tight CPU loop). Current BVT implementation does not support global load balancing VMs (VCPUs) are randomly assigned to physical machines and CPU allocation Is computed after that for each CPU. weights: 1:2:2 Equal weights: 1:1:1 weights: 1:2:2 September 20, 2018

SEDF: SMP case SEDF has a lack of global load balancing NWC: 50%:50%:50% SEDF has a lack of global load balancing It is especially apparent under nwc-mode (capped). Similar to BVT, it assigns VCPUs randomly to physical CPUs and tries to support CPU allocation at the CPU level. Clearly, 2 processes can not get 66% each at a single CPU. NWC: 66%:66%:66% September 20, 2018

Credit: SMP case NWC: 66%:66%:66% Credit is a true winner among the three schedulers for supporting global balancing capabilities Still relatively high CPU allocation error Dom0 is “under-provisioned” (not clear why) These errors mostly introduced by the global load balancing when we ran a similar experiment on 1 CPU machine the allocation error is much smaller. NWC: 66%:66%:66% September 20, 2018

Summary CPU schedulers should be tested and augmented with ALERT results for different configuration Many enterprise management solution rely on the accurate CPU allocation by underlying virtualization layer. Challenges: how do we “tune” Dom0 CPU allocation for optimal application performance? How do we project application resource demands to a virtual world? L. Cherkasova, D. Gupta, A. Vahdat: When Virtual is Harder than Real: Resource Allocation Challenges in Virtual Machine Based IT Environments. HPL-2007-25, February, 2007. September 20, 2018

Acknowledgements: Stephan Diestelhorst and Timothy Roscoe (SEDF) Emmanuel Ackaouy (Credit) September 20, 2018

Presentation Title Questions ? September 20, 2018

Credit (cont) A few more examples of CPU allocation error under Credit NWC: 20%:40%:50%:70% A few more examples of CPU allocation error under Credit Dom0 is consistently “under-provisioned” when Credit is in nwc-mode (capped). Distribution of CPU allocation errors in wc-mode is more symmetric. WC: 20%:40%:50%:70% September 20, 2018

Credit (1CPU case) NWC: 10%:20%:25%:35% CPU allocation error with multiple domains show much better results Why for a single domain tested with ALERT the CPU allocation errors are much higher? September 20, 2018