Xen VMM Monarch Scheduler run queue Domain UDomain 0 Directly modifies the kernel memory … System Architecture process Accurate and Efficient Process Scheduling.

Slides:



Advertisements
Similar presentations
Remus: High Availability via Asynchronous Virtual Machine Replication
Advertisements

CSC 360- Instructor: K. Wu Overview of Operating Systems.
A Fast Rejuvenation Technique for Server Consolidation with Virtual Machines Kenichi Kourai Shigeru Chiba Tokyo Institute of Technology.
Bart Miller. Outline Definition and goals Paravirtualization System Architecture The Virtual Machine Interface Memory Management CPU Device I/O Network,
A Secure System-wide Process Scheduling across Virtual Machines Hidekazu Tadokoro (Tokyo Institute of Technology) Kenichi Kourai (Kyushu Institute of Technology)
1 Operating Systems and Protection CS Goals of Today’s Lecture How multiple programs can run at once  Processes  Context switching  Process.
Operating Systems High Level View Chapter 1,2. Who is the User? End Users Application Programmers System Programmers Administrators.
Chapter 8 Operating System Support
1HW1 Explain the transition “interrupted” and “event wait.” Describe how they are different. NewReadyRunningTerminated Waiting (Blocked) admitted Dispatched.
1 An Architectural View of an OS Inter-process communication Process Scheduling Process Control Subsystem File Subsystem Device Drivers Hardware Control.
CS444/CS544 Operating Systems Threads Introduction to CPU Scheduling 2/02/2006 Prof. Searleman
Process Concept An operating system executes a variety of programs
Using Two Queues. Using Multiple Queues Suspended Processes Processor is faster than I/O so all processes could be waiting for I/O Processor is faster.
Virtualization for Cloud Computing
Virtual Machine Monitors CSE451 Andrew Whitaker. Hardware Virtualization Running multiple operating systems on a single physical machine Examples:  VMWare,
Xen and the Art of Virtualization Paul Barham, Boris Dragovic, Keir Fraser, Steven Hand, Tim Harris, Alex Ho, Rolf Neugebauer, Ian Pratt, Andrew Warfield.
Tanenbaum 8.3 See references
SymCall: Symbiotic Virtualization Through VMM-to-Guest Upcalls John R. Lange and Peter Dinda University of Pittsburgh (CS) Northwestern University (EECS)
Zen and the Art of Virtualization Paul Barham, et al. University of Cambridge, Microsoft Research Cambridge Published by ACM SOSP’03 Presented by Tina.
Microkernels, virtualization, exokernels Tutorial 1 – CSC469.
CSC 501 Lecture 2: Processes. Process Process is a running program a program in execution an “instantiation” of a program Program is a bunch of instructions.
Benefits: Increased server utilization Reduced IT TCO Improved IT agility.
Secure & flexible monitoring of virtual machine University of Mazandran Science & Tecnology By : Esmaill Khanlarpour January.
Operating Systems ECE344 Ashvin Goel ECE University of Toronto OS-Related Hardware.
Processes and Threads CS550 Operating Systems. Processes and Threads These exist only at execution time They have fast state changes -> in memory and.
1 RTOS Design Some of the content of this set of slides is taken from the documentation existing on the FreeRTOS website
Lecture 3 Process Concepts. What is a Process? A process is the dynamic execution context of an executing program. Several processes may run concurrently,
Operating Systems ECE344 Ashvin Goel ECE University of Toronto Thread Scheduling.
CS533 Concepts of Operating Systems Jonathan Walpole.
System Virtualization 1 Learning Objective: –To understand the implementation choices and details of System Virtualization COMP
Scheduling Example 3 (1) Assume: FIFO Job Scheduling 100 K Main Memory Processor Sharing Process Scheduling (Cont…)
Computers Operating System Essentials. Operating Systems PROGRAM HARDWARE OPERATING SYSTEM.
OS, , Part II Processes Department of Computer Engineering, PSUWannarat Suntiamorntut.
Threads G.Anuradha (Reference : William Stallings)
Processes and Process Control 1. Processes and Process Control 2. Definitions of a Process 3. Systems state vs. Process State 4. A 2 State Process Model.
Chapter 2 Processes and Threads Introduction 2.2 Processes A Process is the execution of a Program More specifically… – A process is a program.
1 Computer Systems II Introduction to Processes. 2 First Two Major Computer System Evolution Steps Led to the idea of multiprogramming (multiple concurrent.
4300 Lines Added 1800 Lines Removed 1500 Lines Modified PER DAY DURING SUSE Lab.
Chapter 4 Process Abstraction Chien-Chung Shen CIS, UD
Processes, Threads, and Process States. Programs and Processes  Program: an executable file (before/after compilation)  Process: an instance of a program.
Full and Para Virtualization
Lecture 26 Virtual Machine Monitors. Virtual Machines Goal: run an guest OS over an host OS Who has done this? Why might it be useful? Examples: Vmware,
CSE 153 Design of Operating Systems Winter 2015 Midterm Review.
Chapter 2 Process Management. 2 Objectives After finish this chapter, you will understand: the concept of a process. the process life cycle. process states.
Protection of Processes Security and privacy of data is challenging currently. Protecting information – Not limited to hardware. – Depends on innovation.
Managing Processors Jeff Chase Duke University. The story so far: protected CPU mode user mode kernel mode kernel “top half” kernel “bottom half” (interrupt.
Advanced Operating Systems CS6025 Spring 2016 Processes and Threads (Chapter 2)
CS 695 Topics in Virtualization and Cloud Computing, Autumn 2012 CS 695 Topics in Virtualization and Cloud Computing More Introduction + Processor Virtualization.
1.1 Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9 th Edition Chapter 1: Introduction What Operating Systems Do √ Computer-System Organization.
Introduction to threads
Virtual Machine Monitors
Operating Systems CMPSC 473
Process Management Process Concept Why only the global variables?
CS 6560: Operating Systems Design
OPERATING SYSTEMS CS3502 Fall 2017
Lecture 24 Virtual Machine Monitors
Chapter 4 Threads.
Java Win32 native Java VM Linux OS ARM VM Runtime Windows OS
O/S State Diagrams © 2004, D. J. Foreman.
Threads and Locks.
OS Virtualization.
Perfctr-Xen: A framework for Performance Counter Virtualization
Threads Chapter 5 2/17/2019 B.Ramamurthy.
Threads Chapter 5 2/23/2019 B.Ramamurthy.
Still Chapter 2 (Based on Silberchatz’s text and Nachos Roadmap.)
CS149D Elements of Computer Science
Processes David Ferry CSCI 3500 – Operating Systems
Process State Model -Compiled by Sheetal for CSIT
Xen and the Art of Virtualization
A Virtual Machine Monitor for Utilizing Non-dedicated Clusters
Presentation transcript:

Xen VMM Monarch Scheduler run queue Domain UDomain 0 Directly modifies the kernel memory … System Architecture process Accurate and Efficient Process Scheduling among Virtual Machines Hidekazu Tadokoro*Kenichi Kourai**Shigeru Chiba* * Tokyo Institute of Technology ** Kyushu Institute of Technology, JST CREST A process scheduler among VMs Achieves a custom scheduling policy in the whole system Monitors the execution of processes Using virtual machine Introspection (VMI) Changes the scheduling behavior of each guest Oses Using direct kernel object manipulation (DKOM) Supported guest OSes are Linux and Windows Vista (x64) Monarch Scheduler To suspend a process The Monarch scheduler removes it from a run queue if it is ready The Monarch scheduler changes the process state if it is waiting for an event or currently running The process stops spontaneously To resume a suspended process The Monarch scheduler changes the process state and inserts it into a run queue How to change scheduling policies in guest OSes Process CPU times accounted in guest OSes are inaccurate CPU times account depends on timer interrupts Timer interrupts are not always triggered regularly in VMs Because of virtualization Accessing the memory from Domain 0 is inefficient The Monarch scheduler needs to map many memory pages in Domain U With modifying a page table and flushing a TLB Challenging issues: Accuracy and Efficiency The VMM accounts process times for accuracy Using VMI with a technique called Antfarm. Antfarm enables recognizing the context switches of processes based on the CR3 register VMI enables associating the value of CR3 register to a specific process The Monarch scheduler is implemented in the VMM for efficiency The VMM does not need to map memory pages of Domain U It can directly access the memory pages Provides API of strongly typed languages To prevent the whole system being crashed Re-design for accuracy and efficiency void init() { d_all = get_domain_by_name(“.*”); p_all = get_task_by_name(d_all, “.*”); p_si = get_task_by_name(d_all, “SearchIndexer”); set_period(P); } void scheduler() { t_all = get_time(p_all, P); t_si = get_time(p_si, P); if (t_all – t_si > 0) suspend(p_si); else resume(p_si); } void init() { d_all = get_domain_by_name(“.*”); p_all = get_task_by_name(d_all, “.*”); p_si = get_task_by_name(d_all, “SearchIndexer”); set_period(P); } void scheduler() { t_all = get_time(p_all, P); t_si = get_time(p_si, P); if (t_all – t_si > 0) suspend(p_si); else resume(p_si); } Policy example: Idle-time scheduling Runs the indexing service only if the whole system is idle running ready blocked Process state transition Processes waiting for CPU Running on CPU run queue A process scheduler should consider all processes in all VMs Each process competes with the other processes E.g. Low-importance processes should not run if high-importance processes are running in other VMs However, a guest OS is not aware of the other OSes The VMM is not aware of processes Why system-wide process scheduling? Xen VMM Monarch Scheduler Domain U Track CPU times based on CR3 Associate the CR3 to a process Track CPU times based on CR3 Associate the CR3 to a process CR3 process1 process2 process1: 100 msec process2: 560 msec …