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.

Slides:



Advertisements
Similar presentations
1 VIRTUAL MACHINES By: Sai Siddharth Kumar Dantu.
Advertisements

Virtualisation From the Bottom Up From storage to application.
Virtualization and Cloud Computing. Definition Virtualization is the ability to run multiple operating systems on a single physical system and share the.
XEN AND THE ART OF VIRTUALIZATION Paul Barham, Boris Dragovic, Keir Fraser, Steven Hand, Tim Harris, Alex Ho, Rolf Neugebauer, lan Pratt, Andrew Warfield.
Bart Miller. Outline Definition and goals Paravirtualization System Architecture The Virtual Machine Interface Memory Management CPU Device I/O Network,
Scheduling. Main Points Scheduling policy: what to do next, when there are multiple threads ready to run – Or multiple packets to send, or web requests.
VSphere vs. Hyper-V Metron Performance Showdown. Objectives Architecture Available metrics Challenges in virtual environments Test environment and methods.
1 Cheriton School of Computer Science 2 Department of Computer Science RemusDB: Transparent High Availability for Database Systems Umar Farooq Minhas 1,
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:
NoHype: Virtualized Cloud Infrastructure without the Virtualization Eric Keller, Jakub Szefer, Jennifer Rexford, Ruby Lee ISCA 2010 Princeton University.
ECE 526 – Network Processing Systems Design Software-based Protocol Processing Chapter 7: D. E. Comer.
Towards High-Availability for IP Telephony using Virtual Machines Devdutt Patnaik, Ashish Bijlani and Vishal K Singh.
CS444/CS544 Operating Systems Scheduling 1/31/2007 Prof. Searleman
Page 1 Building Reliable Component-based Systems Chapter 15 - Specification of Software Components Chapter 15 Specification of Software Components.
ENFORCING PERFORMANCE ISOLATION ACROSS VIRTUAL MACHINES IN XEN Diwaker Gupta, Ludmila Cherkasova, Rob Gardner, Amin Vahdat Middleware '06 Proceedings of.
Device Management.
Virtualization for Cloud Computing
Xen and the Art of Virtualization. Introduction  Challenges to build virtual machines Performance isolation  Scheduling priority  Memory demand  Network.
1Chapter 05, Fall 2008 CPU Scheduling The CPU scheduler (sometimes called the dispatcher or short-term scheduler): Selects a process from the ready queue.
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 ?
Virtualization Technology Prof D M Dhamdhere CSE Department IIT Bombay Moving towards Virtualization… Department of Computer Science and Engineering, IIT.
Supporting soft real time tasks in the Xen hypervisor Min Lee Joint work with A. S. Krishnakumar, P. Krishnan, Navjot Singh, Shalini Yajnik.
Dynamic and Decentralized Approaches for Optimal Allocation of Multiple Resources in Virtualized Data Centers Wei Chen, Samuel Hargrove, Heh Miao, Liang.
Microkernels, virtualization, exokernels Tutorial 1 – CSC469.
Computer Architecture and Operating Systems CS 3230: Operating System Section Lecture OS-3 CPU Scheduling Department of Computer Science and Software Engineering.
Virtual Machine Scheduling for Parallel Soft Real-Time Applications
Benefits: Increased server utilization Reduced IT TCO Improved IT agility.
Improving Network I/O Virtualization for Cloud Computing.
Power and Performance Modeling in a Virtualized Server System M. Pedram and I. Hwang Department of Electrical Engineering Univ. of Southern California.
Virtualization: Not Just For Servers Hollis Blanchard PowerPC kernel hacker.
Virtual Machine Monitors: Technology and Trends Jonathan Kaldor CS614 / F07.
张俊 BTLab Embedded Virtualization Group Outline  Introduction  Performance Analysis  PerformanceTuning Methods.
Penn State CSE “Optimizing Network Virtualization in Xen” Aravind Menon, Alan L. Cox, Willy Zwaenepoel Presented by : Arjun R. Nath.
COMS E Cloud Computing and Data Center Networking Sambit Sahu
Beyond the Hypervisor Hype Michael A. Salsburg, Ph.D Unisys.
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.
Server Virtualization
Design and Implementation of a Generic Resource-Sharing Virtual-Time Dispatcher Tal Ben-Nun Scl. Eng & CS Hebrew University Yoav Etsion CS Dept Barcelona.
VTurbo: Accelerating Virtual Machine I/O Processing Using Designated Turbo-Sliced Core Embedded Lab. Kim Sewoog Cong Xu, Sahan Gamage, Hui Lu, Ramana Kompella,
Scheduling. Main Points Scheduling policy: what to do next, when there are multiple threads ready to run – Or multiple packets to send, or web requests.
A. Frank - P. Weisberg Operating Systems Structure of Operating Systems.
Virtualization and Databases Ashraf Aboulnaga University of Waterloo.
Security Vulnerabilities in A Virtual Environment
Full and Para Virtualization
1 Adaptive Parallelism for Web Search Myeongjae Jeon Rice University In collaboration with Yuxiong He (MSR), Sameh Elnikety (MSR), Alan L. Cox (Rice),
Virtualization One computer can do the job of multiple computers, by sharing the resources of a single computer across multiple environments. Turning hardware.
1 Fair Queuing Hamed Khanmirza Principles of Network University of Tehran.
CSE598c - Virtual Machines - Spring Diagnosing Performance Overheads in the Xen Virtual Machine EnvironmentPage 1 CSE 598c Virtual Machines “Diagnosing.
Exploiting Task-level Concurrency in a Programmable Network Interface June 11, 2003 Hyong-youb Kim, Vijay S. Pai, and Scott Rixner Rice Computer Architecture.
© 2004 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice Understanding Virtualization Overhead.
Improving Performance using the LINUX IO Scheduler Shaun de Witt STFC ISGC2016.
E Virtual Machines Lecture 1 What is Virtualization? Scott Devine VMware, Inc.
1 PERFORMANCE DIFFERENTIATION OF NETWORK I/O in XEN by Kuriakose Mathew ( )‏ under the supervision of Prof. Purushottam Kulkarni and Prof. Varsha.
Is Virtualization ready for End-to-End Application Performance?
Presented by Kristen Carlson Accardi
Java Win32 native Java VM Linux OS ARM VM Runtime Windows OS
TYPES OF SERVER. TYPES OF SERVER What is a server.
Software Architecture in Practice
1. 2 VIRTUAL MACHINES By: Satya Prasanna Mallick Reg.No
Comparison of the Three CPU Schedulers in Xen
LAB 01 Installation of VIRTUAL MACHINE and LINUX
Lecture Topics: 11/1 General Operating System Concepts Processes
Virtual machines benefits
Scheduling of Regular Tasks in Linux
IIS Progress Report 2016/01/18.
Xing Pu21 Ling Liu1 Yiduo Mei31 Sankaran Sivathanu1 Younggyun Koh1
Presentation transcript:

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 Rice University March 5, 2008

2 Scheduling I/O in Virtual Machine Monitors© 2008 Diego Ongaro Server Consolidation Virtual machine monitors enable server consolidation Consolidated domains have wildly different workloads Do current solutions actually achieve fairness? Streaming Media Server Voice-over-IP Server Application Server Web Server Database Server... Virtualized Host Guest Domain 1 Guest Domain 2 Guest Domain 3 Guest Domain 4... consolidation

3 Scheduling I/O in Virtual Machine Monitors© 2008 Diego Ongaro Xen Performance Ping latency to G8: 259.2msPing latency to G8: 6.6ms Ping additional idle guest (G8):

4 Scheduling I/O in Virtual Machine Monitors© 2008 Diego Ongaro Hypervisor – thin virtualization layer Driver Domain – hardware control Guest domains given restricted access Xen Architecture Hardware Driver Domain Xen Control Software Guest Domain User Software Guest Domain User Software Guest Domain User Software Xen Hypervisor

5 Scheduling I/O in Virtual Machine Monitors© 2008 Diego Ongaro Receiving a Network Packet time Hardware Driver Domain Xen Control Software Guest Domain User Software Guest Domain User Software Guest Domain User Software Xen Hypervisor Hardware Interrupt Virtual Interrupt Driver Domain Target Domain Scheduler Virtual Interrupt Packet Arrives

6 Scheduling I/O in Virtual Machine Monitors© 2008 Diego Ongaro Scheduling Delays Scheduler has a large effect on latency  As packets arrive, two opportunities to run any number of domains, delaying I/O  Delay proportional to the number of runnable domains time Hardware Interrupt Virtual Interrupt Driver Domain Target Domain Scheduler Virtual Interrupt Packet Arrives Other Domains

7 Scheduling I/O in Virtual Machine Monitors© 2008 Diego Ongaro Scheduler Fairness Virtual machine monitors must fairly support both computation and I/O domains  Xen supports computation domains well, but has mixed results with I/O domains The scheduler plays a significant role in I/O performance  Improvements for I/O are not obvious  Some of Xen’s current scheduler optimizations for I/O are beneficial, others are not

8 Scheduling I/O in Virtual Machine Monitors© 2008 Diego Ongaro Xen's Credit scheduler Scheduler “optimizations” for I/O Conclusions Outline

9 Scheduling I/O in Virtual Machine Monitors© 2008 Diego Ongaro Credits are assigned to each domain  Approximate the fraction of processor resources each domain will receive  Do not indicate when each domain will receive its fraction Scheduler increments/decrements credits  Periodically deducts credits from running domain  Adds credits when majority of credits in the system have been consumed Xen’s Credit Scheduler

10 Scheduling I/O in Virtual Machine Monitors© 2008 Diego Ongaro Scheduler Operation Domain states  Under – domain has credits remaining  Over – domain is over its credit allowance Domains are run in FIFO order by state  Over domains only run if no under domains  A domain may run for up to 30ms if it has enough credits After running, return to the run queue by state  Behind all other domains in the same state  Regardless of runtime or remaining credits This approach is biased against I/O O2O1 Run Queue U4U2U3 Next domain to run U1

11 Scheduling I/O in Virtual Machine Monitors© 2008 Diego Ongaro Scheduler “Optimizations” for I/O I/O Domain Requirements  Low latency  High bandwidth  Independent of other domains’ workloads “Optimizations”  Boosting idle domains Included in Xen  Ordering the run queue by credits Proposed for Xen  Tickling the scheduler Included in Xen

12 Scheduling I/O in Virtual Machine Monitors© 2008 Diego Ongaro Boosting Idle Domains Initially, scheduler had no special features for I/O domains Additional scheduling state: boost  Higher priority than under  Used when an idle domain is sent a virtual interrupt With boost O2O1U1U4U2U3 I1 U5 O2O1U1U4U2U3 I1 B1 Next domain to run Next domain to run

13 Scheduling I/O in Virtual Machine Monitors© 2008 Diego Ongaro Impact of Boost Boost improves latency for I/O domains

14 Scheduling I/O in Virtual Machine Monitors© 2008 Diego Ongaro Caveats with Boost Ineffective for I/O domains under heavy loads  Must be idle to receive boost  Must block quickly to sustain boost Effect is negated with many I/O domains O2O1B1B4B2B3 Next domain to run O2O1U1U4U2U3 vs.

15 Scheduling I/O in Virtual Machine Monitors© 2008 Diego Ongaro Ordering the Run Queue I/O domains tend to quickly block Within each state, sorts domains by credits remaining Short-running I/O domains are re-inserted near the head of the run queue

16 Scheduling I/O in Virtual Machine Monitors© 2008 Diego Ongaro Impact of Ordering the Run Queue Ordering the run queue can reduce latency for I/O domains under larger loads Surprisingly, often complements boost ConfigurationLatencyCPU Time Boost, Not Ordered 258.2ms1.2% No Boost, Ordered 39.0ms3.1% Boost, Ordered 3.5ms13.3%

17 Scheduling I/O in Virtual Machine Monitors© 2008 Diego Ongaro Tickling the Scheduler Xen tickles the scheduler after each virtual interrupt Tickling can reduce latency  Often runs virtual interrupt recipient immediately time Hardware Interrupt Virtual Interrupt Driver Domain Target Domain Scheduler Virtual Interrupt Packet Arrives Other Domains

18 Scheduling I/O in Virtual Machine Monitors© 2008 Diego Ongaro Tickling Too Soon? Tickling as virtual interrupts are sent may be too soon  Scheduler is uninformed about upcoming virtual interrupts  Gives arbitrary priority to first domain(s) to be sent a virtual interrupt Don’t tickle while sending virtual interrupts  All recipient domains are then runnable  Scheduler runs the domain with the highest priority

19 Scheduling I/O in Virtual Machine Monitors© 2008 Diego Ongaro Impact of Tickling

20 Scheduling I/O in Virtual Machine Monitors© 2008 Diego Ongaro Transcending Xen Scheduling mixed domains Native vs. VMM scheduling

21 Scheduling I/O in Virtual Machine Monitors© 2008 Diego Ongaro Mixed I/O- and compute- domains don’t underutilize resources VMM scheduler can not schedule only the I/O process Low latency for a mixed domain can not be guaranteed Mixed Domains Hypervisor Guest Domain CPU process Guest Domain CPU process I/O process Guest Domain CPU process Driver Domain Scheduler

22 Scheduling I/O in Virtual Machine Monitors© 2008 Diego Ongaro Native vs. VMM Scheduling Hypervisor Guest CPU Guest CPU I/O Guest CPU Scheduler Driver Domain ? Native Scheduler CPU process I/O processCPU process NativeVMM

23 Scheduling I/O in Virtual Machine Monitors© 2008 Diego Ongaro Summary of Results Boost reduces latency with few I/O domains  Does little harm in other cases Ordering the run queue favors short-running I/O domains  Often complementary to boost Tickling reduces latency in some cases  Often causes unfairness in bandwidth and latency I/O-intensive applications need their own domains

24 Scheduling I/O in Virtual Machine Monitors© 2008 Diego Ongaro Conclusions Scheduling has a large impact on I/O fairness  Can cause exorbitant latency  Can cause bandwidth inequity Xen’s Credit scheduler is not fair for I/O  Does well with compute domains  No notion of timeliness, which is needed for I/O Further work needs to be done to solve the mixed domains problem