Thomas Fahrig Senior Developer Hypervisor Team. Hypervisor Architecture Terminology Goals Basics Details

Size: px
Start display at page:

Download "10.04.2008. Thomas Fahrig Senior Developer Hypervisor Team. Hypervisor Architecture Terminology Goals Basics Details"

Transcription

1 Thomas Fahrig Senior Developer Hypervisor Team Hypervisor Architecture Terminology Goals Basics Details Scheduling Interval External Interrupt Handling Reserves, Weights and Caps Context Switch Waiting & Signaling Best processor selection Load Balancing Idling High Level Performance Data Q&A 1

2 Hypervisor runs just above the hardware and below the VMs Microkernel architecture Kernel (in our case the Hypervisor) provided abstractions reduced to the minimum Address spaces, CPU, other hardware abstraction (exceptions, traps, interrupts, etc.), IPC (Inter Partition Communication), Other services are provided as higher level services E.g. virtualization stack in the root partition Provided by: Parent Partition Child Partitions Windows Server Bit Windows Server 2003/2008, Windows XP, Linux Windows Server 2003/2008, Windows XP, Linux Windows Server 2003/2008, Windows XP, Linux Windows hypervisor Devices Processor s Memory 2

3 Hypervisor A hypervisor is a layer of software that sits just above the hardware and beneath one or more operating systems. Its primary job is to provide isolated execution environments called partitions. The hypervisor is to Hyper-V what the kernel is to Windows. Does not contain device drivers. Launched by a system driver in V1. Virtualization Stack The virtualization stack is everything else that makes up Hyper-V. This is the user interface, management services, virtual machine processes, emulated devices, etc... Partition It is the unit of isolation within the hypervisor. A partition is a lighter weight concept than a virtual machine - and could be used outside of the context of virtual machines to provide a highly isolated execution environment. Virtual machine The combination of a partition and the services provided to that partition via the virtualization stack is called the virtual machine. Also called the guest. Root Partition Controlling partition in which the virtualization stack runs and which owns hardware devices This is the first partition on the computer. Specifically this is the partition that is responsible for initially starting the hypervisor Parent partition Manages resources for a set of child partitions In V1, only the root is the parent partition Child partition Created by the parent partition Guest operating systems, applications run in these partitions Virtual Processor (VP) Each partition has one or more virtual processors associated with it. Allows us to run more (virtual) processors than there are physically in the system! 3

4 Intercept Transition from guest mode to monitor mode, e.g. a VM generated a page fault or an interrupt arrived while executing in guest mode. Enlightenments Kernel Enlightenments inbuilt into the NT Kernel. Those make the Kernel run faster on top of the Hypervisor. Device Enlightenments ICs (Integration Components) which provide synthetic devices that improve performance. Those are installed inside the guest on top of the OS as drivers and services. Logical Processor (LP) Single execution pipeline on the physical processor\core. Examples: A physical core with Hyperthreading would have 2 LPs (assuming only 2 hardware threads) QuadCore processor would have 4 LPs Provided by: OS ISV / IHV / OEM Microsoft Hyper-V Microsoft / XenSource Parent Partition VM Worker Processes Applications WMI Provider VM Service Child Partitions Applications Applications Applications User Mode Windows Server 2008 IHV Drivers VMBus VS P Windows Server 2003, 2008 Windows Kernel VMBus VSC Non- Hypervisor Aware OS Emulation Xen-Enabled Linux Kernel Linux VSC VMBus Hypercall Adapter Kernel Mode Windows hypervisor Ring -1 Designed for Windows Server Hardware 4

5 Throughput Fairness The Hypervisor scheduler implements Weights, Reserves and Caps which all contribute to the actual share any given virtual processor (VP) in a VM will get Latency Response time to external events such as interrupts CPU Utilization There should be no CPU idle when there is actual work to do 5

6 Ready Time No thread should be unscheduled for an unbounded time if it is unblocked and ready to run. Or in other words limit the amount of time the thread is not scheduled Logical Processor Affinity The rate of thread migrations between processors should be kept low Power Saving Basic goal for V1 is to honor the power manager s policies from the root on the schedulable LPs Multiprocessor Scheduler Single processor scheduler only needs to know which thread to run next Multi-processor scheduler needs to know which thread to run next and where to run it Preemptive Scheduler Time Sharing Proportional-share Scheduling (not a priority based scheduler) 6

7 Hypervisor thread is the entity that is subject to scheduling One hypervisor thread per VP One Idle thread per LP Each thread either runs in guest mode, to execute guest instructions, or in monitor mode, to execute instructions inside the hypervisor in response to intercepts generated by the guest code execution (or doing work on behalf of a work request) 7

8 Each VP can have max. one CPU worth of processing power at any given time The general ratio of LP to VPs is relatively low, ~1:1 1:8 Timers Local APIC hardware timer No periodic clock tick!!! No periodic noise and much finer granularity (100ns) System could potentially stay idle for longer periods Process One per partition Does not have its own address space like in NT Consists of: Thread Threads Scheduler controls (weights, reserves & caps) Compartment, the memory pool Ideal Node and scheduled cpu set ID One per VP (root and non-root partitions) Idle threads Consists of: Stack Collection of flags (current, blocking, ) and properties (affinity, priority, ) Scheduling controls (weights, reserves & caps), inherited from process (all threads within a process are the same) Ideal node and cpu Rank Timeslice Workqueue (any thread can send work to any other thread) ID and stats 8

9 Rank Each thread has a rank inside a queue which determines when it is being scheduled. Set when its timeslice is being calculated (nowtime + scheduling interval). BUT, it is not a deadline. Boosts Anti-starving is done via limiting the boost (50us), avoid double boosts and by carefully selecting places where boosts can be made Thread Rank set to 0(head of the queue) Time Accounting Each thread accumulates its guest, hypervisor and total runtime On hypervisor entry\exit (due to an intercept) and thread switch Support for group runtime Pretty accurate, granularity of 100ns Per Processor Local Run List Ordered by thread s rank in increasing order Rank is time unit based, but not really a earliest deadline Lock-free, only accessed by the same cpu Per Processor Deferred Ready List Used for migrating threads from one processor to another in a lock-free fashion Per Processor Time Slice Timer Hypervisor Timers are mostly lockless for most frequent timers in the system One shot timer, there is no periodic hardware timer IdleSummary Thread and process structures 9

10 SchWaitForEvent e.g. HLT, MWAIT, send synchronous work, intercept, explicit suspend, caps suspend, thread start \terminate, Running SchSignalEvent If idle cpu was selected or lower rank thread unblocked Preemption Thread with a lower rank becomes ready Explicit Yield Timeslice end Waiting Currently running thread waits, yields, or reaches Timeslice end SchSignalEvent Ready Init Terminated Timeslice represents the given share in this proportional-share scheduling Timeslice is calculated when a previous timeslice ends or a thread arrives from another cpu Only is calculated for the arriving thread! 10

11 The scheduling interval is the inverse of the hardware interrupt rate Re-calculated every 100ms max. 10ms and min. 500us Each LP has its individual scheduling interval Goal is to limit the interrupt latency All ready threads of a particular LP will be scheduled within such a scheduling interval, that is the scheduling plan Thread receives timeslice based on the current scheduling interval and the current total weight (and relative to their own weight) Further adjustment is done according the thread s reserve and cap Interrupts are turned off while running code inside the hypervisor (except when idling) Hardware interrupts are only acknowledged while in guest mode or idle Root VP thread will be signaled, but does not necessarily run immediately after the interrupt has been received (see scheduling interval) 11

12 Reserve a certain amount of CPU time for a VM, whether or not it is actually using it Range from 0-100% By default virtual machines have a CPU reserve of 0% Threads would still get min. timeslices if running on a cpu with 100% reserve Take precedence over weights 12

13 Easy way to assign priorities to your VMs Effective weight is calculated from the remaining unreserved scheduling interval Range from 1 (lowest) (highest) Schedule threads such that their actual share is proportional to their weights for any given thread Inaccuracy due to different thread activities, time slicing, context switch overhead For all threads in the system the perceived or actual share should be as close to the ideal share as possible The maximum capacity of CPU time that a VM may use Caps are periodically monitored and the timeslice is being adjusted accordingly If a thread exceeds its share it will be suspended (CapSuspend) => Waiting on a internal event until a cap timer expires Pretty accurate due to the monitoring, but also somewhat expensive due to the timer usage By default the maximum capacity is set to 100% for all VMs 13

14 Thread I 5 ms Thread II 2 ms Thread III 2 ms Thread IV 1 ms Scheduling interval, e.g. 10ms Thread I Reserve: 40% Weight: 100 Thread II Reserve: 10% Weight: 100 Thread III Reserve: 0% Weight: 200 Thread IV Reserve: 0% Weight:

15 Switch from one thread A to another thread B Save\Restore the thread s monitor mode context Stack pointer update VP state needs to be saved and reloaded (hardware specific, TSC drift mitigations, ) Synchronization with concurrent unblocks Also responsible for signaling a event for thread termination if requested Clear the time slice timer when going into idle 15

16 Only single waiters Frequent operation Threads are blocking for various reasons VP halts Explicit suspend Intercept handling Hypercall running on one VP waits for a remote execution on another VP Cap suspend Wait removes the thread from the run list and connects itself to the waiting event On signal, the thread is unblocked and readied on the best possible processor (temp. affinity, idle processor or based on balancing decision the scheduler does) Event flags are updated and queried under a spinlock (mostly not contended) Deferring a thread Unblock from a wait Timeslice and temporal affinity ended for a running thread Eviction due to exceeded reserves Affinity changes (never happens in V1) 2-step best processor selection 1. Idle processor if available 2. Least busy non-idle processor Single affinity cases are easy, just run it! 16

17 Single idle mask for the entire system (limits it to 64 processors) Reduction process is as follows: Last ran CPU (if already in ideal node) Last ran CPU package with shared cache Ideal CPU All other CPUs in ideal node All the rest Select from highest to lowest 2 processors are chosen 1 st processor is either the current, ideal or highest numbered cpu from the remaining set 2 nd processor is the next left most cpu from the last victim cpu (round robin) Between the two cpus, the one with the lowest total weight wins Care is taken to exclude processors that already have threads from the same partition\process running 17

18 Balancing is important for the Hypervisor Provide fair share for each VM (proportional fair share) Commonly triggered due to unblocking or thru temp. affinity expiration on time slice end Done via Best Processor Selection, aka deferring a ready thread When there is no work, the scheduler runs the idle thread Arms the timer Enables/disables interrupts on entry/exit The idle thread is woken up by External interrupts (e.g. root partition timer tick, 15.6 ms periodic timer) Timer expiration inside the Hypervisor (int 0xFF) Signaling by another processor (int 0xFE), e.g. arrival of a new thread Other external events Each processor has its own idle thread with a infinite run list rank 18

19 Which power management state does the logical processor go? Determined by the root partition Root partition owns the power management policy and determines the appropriate power state based on business of a particular cpu which it gets from the hypervisor (total utilization including guest activity, ) VM scale for Win2k3 on a 8p host Win2k3 versus Win2k8 on a 8p host 1, , x1P Win2k3 1x2P Win2k3 2x2P Win2k3 4x2P Win2k3 8x2P Win2k3 0,6 0,4 Win2k3 WF (dynamic) Win2k8 WF (dynamic) 2 1 0,2 0 WF (dynamic) 0 1x1P 1x2P 2x2P 4x2P 8x2P 19

20 Virtualization in general: default.mspx Public API s - Hypervisor Hypercalls and MSRs details.aspx?familyid=91e2e518- c62c-4ff2-8e50-3a37ea4100f5&displayl ang=en 20

Virtualization across the organization

Virtualization across the organization Virtualization across the organization Server Virtualization Desktop Virtualization Application Virtualization Presentation Virtualization Consolidate workloads for more efficient resource utilization

More information

Cooperation of Operating Systems with Hyper-V. Bartek Nowierski (BartN@Microsoft.com) Software Development Engineer, Hyper-V Microsoft Corporation

Cooperation of Operating Systems with Hyper-V. Bartek Nowierski (BartN@Microsoft.com) Software Development Engineer, Hyper-V Microsoft Corporation Cooperation of Operating Systems with Hyper-V Bartek Nowierski (BartN@Microsoft.com) Software Development Engineer, Hyper-V Microsoft Corporation Presentation Agenda Hyper-V V Architecture Integration

More information

Virtualization with Windows

Virtualization with Windows Virtualization with Windows at CERN Juraj Sucik, Emmanuel Ormancey Internet Services Group Agenda Current status of IT-IS group virtualization service Server Self Service New virtualization features in

More information

The Microsoft Windows Hypervisor High Level Architecture

The Microsoft Windows Hypervisor High Level Architecture The Microsoft Windows Hypervisor High Level Architecture September 21, 2007 Abstract The Microsoft Windows hypervisor brings new virtualization capabilities to the Windows Server operating system. Its

More information

Windows Server Virtualization & The Windows Hypervisor

Windows Server Virtualization & The Windows Hypervisor Windows Server Virtualization & The Windows Hypervisor Brandon Baker Lead Security Engineer Windows Kernel Team Microsoft Corporation Agenda - Windows Server Virtualization (WSV) Why a hypervisor? Quick

More information

Full and Para Virtualization

Full and Para Virtualization Full and Para Virtualization Dr. Sanjay P. Ahuja, Ph.D. 2010-14 FIS Distinguished Professor of Computer Science School of Computing, UNF x86 Hardware Virtualization The x86 architecture offers four levels

More information

Multi-core Programming System Overview

Multi-core Programming System Overview Multi-core Programming System Overview Based on slides from Intel Software College and Multi-Core Programming increasing performance through software multi-threading by Shameem Akhter and Jason Roberts,

More information

HyperV_Mon 3.0. Hyper-V Overhead. Introduction. A Free tool from TMurgent Technologies. Version 3.0

HyperV_Mon 3.0. Hyper-V Overhead. Introduction. A Free tool from TMurgent Technologies. Version 3.0 HyperV_Mon 3.0 A Free tool from TMurgent Technologies Version 3.0 Introduction HyperV_Mon is a GUI tool for viewing CPU performance of a system running Hyper-V from Microsoft. Virtualization adds a layer

More information

Microkernels, virtualization, exokernels. Tutorial 1 CSC469

Microkernels, virtualization, exokernels. Tutorial 1 CSC469 Microkernels, virtualization, exokernels Tutorial 1 CSC469 Monolithic kernel vs Microkernel Monolithic OS kernel Application VFS System call User mode What was the main idea? What were the problems? IPC,

More information

Understanding Linux on z/vm Steal Time

Understanding Linux on z/vm Steal Time Understanding Linux on z/vm Steal Time June 2014 Rob van der Heij rvdheij@velocitysoftware.com Summary Ever since Linux distributions started to report steal time in various tools, it has been causing

More information

CPU Scheduling Outline

CPU Scheduling Outline CPU Scheduling Outline What is scheduling in the OS? What are common scheduling criteria? How to evaluate scheduling algorithms? What are common scheduling algorithms? How is thread scheduling different

More information

VIRTUALIZATION 101. Brainstorm Conference 2013 PRESENTER INTRODUCTIONS

VIRTUALIZATION 101. Brainstorm Conference 2013 PRESENTER INTRODUCTIONS VIRTUALIZATION 101 Brainstorm Conference 2013 PRESENTER INTRODUCTIONS Timothy Leerhoff Senior Consultant TIES 21+ years experience IT consulting 12+ years consulting in Education experience 1 THE QUESTION

More information

Operating Systems Concepts: Chapter 7: Scheduling Strategies

Operating Systems Concepts: Chapter 7: Scheduling Strategies Operating Systems Concepts: Chapter 7: Scheduling Strategies Olav Beckmann Huxley 449 http://www.doc.ic.ac.uk/~ob3 Acknowledgements: There are lots. See end of Chapter 1. Home Page for the course: http://www.doc.ic.ac.uk/~ob3/teaching/operatingsystemsconcepts/

More information

Session Code: VIR311. Deploying Windows Server 2008 Hyper-V and System Center Virtual Machine Manager 2008 Best Practices

Session Code: VIR311. Deploying Windows Server 2008 Hyper-V and System Center Virtual Machine Manager 2008 Best Practices Session Code: VIR311 Deploying Windows Server 2008 Hyper-V and System Center Virtual Machine Manager 2008 Best Practices Agenda Discuss Hyper V deployment strategies Discuss System Center Virtual Machine

More information

Chapter 6, The Operating System Machine Level

Chapter 6, The Operating System Machine Level Chapter 6, The Operating System Machine Level 6.1 Virtual Memory 6.2 Virtual I/O Instructions 6.3 Virtual Instructions For Parallel Processing 6.4 Example Operating Systems 6.5 Summary Virtual Memory General

More information

HyperV_Mon. Introduction. A Free Tool From TMurgent Technologies

HyperV_Mon. Introduction. A Free Tool From TMurgent Technologies HyperV_Mon A Free Tool From TMurgent Technologies Version 1.6 Introduction HyperV_Mon is a GUI tool for viewing CPU performance of a system running Hyper-V from Microsoft. Virtualization adds a layer of

More information

Operating Systems Design 23. Virtualization

Operating Systems Design 23. Virtualization Operating Systems Design 23. Virtualization Paul Krzyzanowski pxk@cs.rutgers.edu 1 Virtualization Memory virtualization Process feels like it has its own address space Created by MMU, configured by OS

More information

Monitoring Microsoft Hyper-V. eg Enterprise v6.0

Monitoring Microsoft Hyper-V. eg Enterprise v6.0 Monitoring Microsoft Hyper-V eg Enterprise v6.0 Restricted Rights Legend The information contained in this document is confidential and subject to change without notice. No part of this document may be

More information

Windows Server Virtualization & The Windows Hypervisor. Background and Architecture Reference

Windows Server Virtualization & The Windows Hypervisor. Background and Architecture Reference Windows Server Virtualization & The Windows Hypervisor Background and Architecture Reference Brandon Baker Lead Security Engineer Windows Kernel Team Microsoft Corporation Agenda - Windows Server Virtualization

More information

IBM Tivoli Composite Application Manager for Microsoft Applications: Microsoft Hyper-V Server Agent Version 6.3.1 Fix Pack 2.

IBM Tivoli Composite Application Manager for Microsoft Applications: Microsoft Hyper-V Server Agent Version 6.3.1 Fix Pack 2. IBM Tivoli Composite Application Manager for Microsoft Applications: Microsoft Hyper-V Server Agent Version 6.3.1 Fix Pack 2 Reference IBM Tivoli Composite Application Manager for Microsoft Applications:

More information

Hypervisors. Introduction. Introduction. Introduction. Introduction. Introduction. Credits:

Hypervisors. Introduction. Introduction. Introduction. Introduction. Introduction. Credits: Hypervisors Credits: P. Chaganti Xen Virtualization A practical handbook D. Chisnall The definitive guide to Xen Hypervisor G. Kesden Lect. 25 CS 15-440 G. Heiser UNSW/NICTA/OKL Virtualization is a technique

More information

ò Paper reading assigned for next Thursday ò Lab 2 due next Friday ò What is cooperative multitasking? ò What is preemptive multitasking?

ò Paper reading assigned for next Thursday ò Lab 2 due next Friday ò What is cooperative multitasking? ò What is preemptive multitasking? Housekeeping Paper reading assigned for next Thursday Scheduling Lab 2 due next Friday Don Porter CSE 506 Lecture goals Undergrad review Understand low-level building blocks of a scheduler Understand competing

More information

Chapter 14 Virtual Machines

Chapter 14 Virtual Machines Operating Systems: Internals and Design Principles Chapter 14 Virtual Machines Eighth Edition By William Stallings Virtual Machines (VM) Virtualization technology enables a single PC or server to simultaneously

More information

Road Map. Scheduling. Types of Scheduling. Scheduling. CPU Scheduling. Job Scheduling. Dickinson College Computer Science 354 Spring 2010.

Road Map. Scheduling. Types of Scheduling. Scheduling. CPU Scheduling. Job Scheduling. Dickinson College Computer Science 354 Spring 2010. Road Map Scheduling Dickinson College Computer Science 354 Spring 2010 Past: What an OS is, why we have them, what they do. Base hardware and support for operating systems Process Management Threads Present:

More information

Distributed Systems. Virtualization. Paul Krzyzanowski pxk@cs.rutgers.edu

Distributed Systems. Virtualization. Paul Krzyzanowski pxk@cs.rutgers.edu Distributed Systems Virtualization Paul Krzyzanowski pxk@cs.rutgers.edu Except as otherwise noted, the content of this presentation is licensed under the Creative Commons Attribution 2.5 License. Virtualization

More information

Multiprocessor Scheduling and Scheduling in Linux Kernel 2.6

Multiprocessor Scheduling and Scheduling in Linux Kernel 2.6 Multiprocessor Scheduling and Scheduling in Linux Kernel 2.6 Winter Term 2008 / 2009 Jun.-Prof. Dr. André Brinkmann Andre.Brinkmann@uni-paderborn.de Universität Paderborn PC² Agenda Multiprocessor and

More information

Deciding which process to run. (Deciding which thread to run) Deciding how long the chosen process can run

Deciding which process to run. (Deciding which thread to run) Deciding how long the chosen process can run SFWR ENG 3BB4 Software Design 3 Concurrent System Design 2 SFWR ENG 3BB4 Software Design 3 Concurrent System Design 11.8 10 CPU Scheduling Chapter 11 CPU Scheduling Policies Deciding which process to run

More information

Compromise-as-a-Service

Compromise-as-a-Service ERNW GmbH Carl-Bosch-Str. 4 D-69115 Heidelberg 3/31/14 Compromise-as-a-Service Our PleAZURE Felix Wilhelm & Matthias Luft {fwilhelm, mluft}@ernw.de ERNW GmbH Carl-Bosch-Str. 4 D-69115 Heidelberg Agenda

More information

Real-time KVM from the ground up

Real-time KVM from the ground up Real-time KVM from the ground up KVM Forum 2015 Rik van Riel Red Hat Real-time KVM What is real time? Hardware pitfalls Realtime preempt Linux kernel patch set KVM & qemu pitfalls KVM configuration Scheduling

More information

APerformanceComparisonBetweenEnlightenmentandEmulationinMicrosoftHyper-V

APerformanceComparisonBetweenEnlightenmentandEmulationinMicrosoftHyper-V Global Journal of Computer Science and Technology Hardware & Computation Volume 13 Issue 2 Version 1.0 Year 2013 Type: Double Blind Peer Reviewed International Research Journal Publisher: Global Journals

More information

Virtualization Technologies and Blackboard: The Future of Blackboard Software on Multi-Core Technologies

Virtualization Technologies and Blackboard: The Future of Blackboard Software on Multi-Core Technologies Virtualization Technologies and Blackboard: The Future of Blackboard Software on Multi-Core Technologies Kurt Klemperer, Principal System Performance Engineer kklemperer@blackboard.com Agenda Session Length:

More information

Scheduling. Scheduling. Scheduling levels. Decision to switch the running process can take place under the following circumstances:

Scheduling. Scheduling. Scheduling levels. Decision to switch the running process can take place under the following circumstances: Scheduling Scheduling Scheduling levels Long-term scheduling. Selects which jobs shall be allowed to enter the system. Only used in batch systems. Medium-term scheduling. Performs swapin-swapout operations

More information

Memory Forensics with Hyper-V Virtual Machines. By: @wyattroersma

Memory Forensics with Hyper-V Virtual Machines. By: @wyattroersma Memory Forensics with Hyper-V Virtual Machines By: @wyattroersma Who Am I? Wyatt Roersma NVINT Senior Security Engineer Mad Security DFIR challenge creator The Hacker Academy Content Dev I research for

More information

Road Map. Scheduling. Types of Scheduling. Scheduling. CPU Scheduling. Scheduling & Resource Utilization

Road Map. Scheduling. Types of Scheduling. Scheduling. CPU Scheduling. Scheduling & Resource Utilization Road Map Scheduling Dickinson College Computer Science 354 Spring 2012 Past: What an OS is, why we have them, what they do. Base hardware and support for operating systems Process Management Threads Present:

More information

Large-scale performance monitoring framework for cloud monitoring. Live Trace Reading and Processing

Large-scale performance monitoring framework for cloud monitoring. Live Trace Reading and Processing Large-scale performance monitoring framework for cloud monitoring Live Trace Reading and Processing Julien Desfossez Michel Dagenais May 2014 École Polytechnique de Montreal Live Trace Reading Read the

More information

Operating Systems. Lecture 03. February 11, 2013

Operating Systems. Lecture 03. February 11, 2013 Operating Systems Lecture 03 February 11, 2013 Goals for Today Interrupts, traps and signals Hardware Protection System Calls Interrupts, Traps, and Signals The occurrence of an event is usually signaled

More information

CPU Scheduling. Core Definitions

CPU Scheduling. Core Definitions CPU Scheduling General rule keep the CPU busy; an idle CPU is a wasted CPU Major source of CPU idleness: I/O (or waiting for it) Many programs have a characteristic CPU I/O burst cycle alternating phases

More information

HP Data Protector software. Assuring Business Continuity in Virtualised Environments

HP Data Protector software. Assuring Business Continuity in Virtualised Environments HP Data Protector software Assuring Business Continuity in Virtualised Environments Would not it be great if your virtual server environment actually translated to a better reality? One where you could

More information

Virtualization. Pradipta De pradipta.de@sunykorea.ac.kr

Virtualization. Pradipta De pradipta.de@sunykorea.ac.kr Virtualization Pradipta De pradipta.de@sunykorea.ac.kr Today s Topic Virtualization Basics System Virtualization Techniques CSE506: Ext Filesystem 2 Virtualization? A virtual machine (VM) is an emulation

More information

Chapter 5 Linux Load Balancing Mechanisms

Chapter 5 Linux Load Balancing Mechanisms Chapter 5 Linux Load Balancing Mechanisms Load balancing mechanisms in multiprocessor systems have two compatible objectives. One is to prevent processors from being idle while others processors still

More information

Chapter 5: CPU Scheduling

Chapter 5: CPU Scheduling COP 4610: Introduction to Operating Systems (Spring 2016) Chapter 5: CPU Scheduling Zhi Wang Florida State University Contents Basic concepts Scheduling criteria Scheduling algorithms Thread scheduling

More information

KVM as a Microsoft-compatible hypervisor.

KVM as a Microsoft-compatible hypervisor. KVM as a Microsoft-compatible hypervisor. Vadim Rozenfeld KVM Forum, 2012 1 Agenda Microsoft Enlightenment KVM as a conformant hypervisor Performance Improvments 2 Microsoft Enlightenment

More information

Virtualization in the ARMv7 Architecture Lecture for the Embedded Systems Course CSD, University of Crete (May 20, 2014)

Virtualization in the ARMv7 Architecture Lecture for the Embedded Systems Course CSD, University of Crete (May 20, 2014) Virtualization in the ARMv7 Architecture Lecture for the Embedded Systems Course CSD, University of Crete (May 20, 2014) ManolisMarazakis (maraz@ics.forth.gr) Institute of Computer Science (ICS) Foundation

More information

An Implementation Of Multiprocessor Linux

An Implementation Of Multiprocessor Linux An Implementation Of Multiprocessor Linux This document describes the implementation of a simple SMP Linux kernel extension and how to use this to develop SMP Linux kernels for architectures other than

More information

Windows8 Internals, Sixth Edition, Part 1

Windows8 Internals, Sixth Edition, Part 1 Microsoft Windows8 Internals, Sixth Edition, Part 1 Mark Russinovich David A. Solomon Alex lonescu Windows Internals, Sixth Edition, Part i Introduction xvii Chapter 1 Concepts and Tools 1 Windows Operating

More information

Kernel Optimizations for KVM. Rik van Riel Senior Software Engineer, Red Hat June 25 2010

Kernel Optimizations for KVM. Rik van Riel Senior Software Engineer, Red Hat June 25 2010 Kernel Optimizations for KVM Rik van Riel Senior Software Engineer, Red Hat June 25 2010 Kernel Optimizations for KVM What is virtualization performance? Benefits of developing both guest and host KVM

More information

matasano Hardware Virtualization Rootkits Dino A. Dai Zovi

matasano Hardware Virtualization Rootkits Dino A. Dai Zovi Hardware Virtualization Rootkits Dino A. Dai Zovi Agenda Introductions Virtualization (Software and Hardware) Intel VT-x (aka Vanderpool ) VM Rootkits Implementing a VT-x based Rootkit Detecting Hardware-VM

More information

Linux scheduler history. We will be talking about the O(1) scheduler

Linux scheduler history. We will be talking about the O(1) scheduler CPU Scheduling Linux scheduler history We will be talking about the O(1) scheduler SMP Support in 2.4 and 2.6 versions 2.4 Kernel 2.6 Kernel CPU1 CPU2 CPU3 CPU1 CPU2 CPU3 Linux Scheduling 3 scheduling

More information

Why Computers Are Getting Slower (and what we can do about it) Rik van Riel Sr. Software Engineer, Red Hat

Why Computers Are Getting Slower (and what we can do about it) Rik van Riel Sr. Software Engineer, Red Hat Why Computers Are Getting Slower (and what we can do about it) Rik van Riel Sr. Software Engineer, Red Hat Why Computers Are Getting Slower The traditional approach better performance Why computers are

More information

III. Process Scheduling

III. Process Scheduling Intended Schedule III. Process Scheduling Date Lecture Hand out Submission 0 20.04. Introduction to Operating Systems Course registration 1 27.04. Systems Programming using C (File Subsystem) 1. Assignment

More information

III. Process Scheduling

III. Process Scheduling III. Process Scheduling 1 Intended Schedule Date Lecture Hand out Submission 0 20.04. Introduction to Operating Systems Course registration 1 27.04. Systems Programming using C (File Subsystem) 1. Assignment

More information

Chapter 2 Operating System Overview

Chapter 2 Operating System Overview Operating Systems: Internals and Design Principles, 6/E William Stallings Chapter 2 Operating System Overview Dave Bremer Otago Polytechnic, N.Z. 2008, Prentice Hall Roadmap Operating System Objectives/Functions

More information

Performance tuning Xen

Performance tuning Xen Performance tuning Xen Roger Pau Monné roger.pau@citrix.com Madrid 8th of November, 2013 Xen Architecture Control Domain NetBSD or Linux device model (qemu) Hardware Drivers toolstack netback blkback Paravirtualized

More information

Threads (Ch.4) ! Many software packages are multi-threaded. ! A thread is sometimes called a lightweight process

Threads (Ch.4) ! Many software packages are multi-threaded. ! A thread is sometimes called a lightweight process Threads (Ch.4)! Many software packages are multi-threaded l Web browser: one thread display images, another thread retrieves data from the network l Word processor: threads for displaying graphics, reading

More information

CS161: Operating Systems

CS161: Operating Systems CS161: Operating Systems Matt Welsh mdw@eecs.harvard.edu Lecture 2: OS Structure and System Calls February 6, 2007 1 Lecture Overview Protection Boundaries and Privilege Levels What makes the kernel different

More information

Real- Time Mul,- Core Virtual Machine Scheduling in Xen

Real- Time Mul,- Core Virtual Machine Scheduling in Xen Real- Time Mul,- Core Virtual Machine Scheduling in Xen Sisu Xi 1, Meng Xu 2, Chenyang Lu 1, Linh Phan 2, Chris Gill 1, Oleg Sokolsky 2, Insup Lee 2 1 Washington University in St. Louis 2 University of

More information

Scheduling. Yücel Saygın. These slides are based on your text book and on the slides prepared by Andrew S. Tanenbaum

Scheduling. Yücel Saygın. These slides are based on your text book and on the slides prepared by Andrew S. Tanenbaum Scheduling Yücel Saygın These slides are based on your text book and on the slides prepared by Andrew S. Tanenbaum 1 Scheduling Introduction to Scheduling (1) Bursts of CPU usage alternate with periods

More information

Page 1 of 5. IS 335: Information Technology in Business Lecture Outline Operating Systems

Page 1 of 5. IS 335: Information Technology in Business Lecture Outline Operating Systems Lecture Outline Operating Systems Objectives Describe the functions and layers of an operating system List the resources allocated by the operating system and describe the allocation process Explain how

More information

Cloud Operating Systems for Servers

Cloud Operating Systems for Servers Cloud Operating Systems for Servers Mike Day Distinguished Engineer, Virtualization and Linux August 20, 2014 mdday@us.ibm.com 1 What Makes a Good Cloud Operating System?! Consumes Few Resources! Fast

More information

Comp 204: Computer Systems and Their Implementation. Lecture 12: Scheduling Algorithms cont d

Comp 204: Computer Systems and Their Implementation. Lecture 12: Scheduling Algorithms cont d Comp 204: Computer Systems and Their Implementation Lecture 12: Scheduling Algorithms cont d 1 Today Scheduling continued Multilevel queues Examples Thread scheduling 2 Question A starvation-free job-scheduling

More information

Why Relative Share Does Not Work

Why Relative Share Does Not Work Why Relative Share Does Not Work Introduction Velocity Software, Inc March 2010 Rob van der Heij rvdheij @ velocitysoftware.com Installations that run their production and development Linux servers on

More information

Virtualization. Jukka K. Nurminen 23.9.2015

Virtualization. Jukka K. Nurminen 23.9.2015 Virtualization Jukka K. Nurminen 23.9.2015 Virtualization Virtualization refers to the act of creating a virtual (rather than actual) version of something, including virtual computer hardware platforms,

More information

Completely Fair Scheduler and its tuning 1

Completely Fair Scheduler and its tuning 1 Completely Fair Scheduler and its tuning 1 Jacek Kobus and Rafał Szklarski 1 Introduction The introduction of a new, the so called completely fair scheduler (CFS) to the Linux kernel 2.6.23 (October 2007)

More information

Real-Time Systems Prof. Dr. Rajib Mall Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

Real-Time Systems Prof. Dr. Rajib Mall Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Real-Time Systems Prof. Dr. Rajib Mall Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture No. # 26 Real - Time POSIX. (Contd.) Ok Good morning, so let us get

More information

Capacity Estimation for Linux Workloads

Capacity Estimation for Linux Workloads Capacity Estimation for Linux Workloads Session L985 David Boyes Sine Nomine Associates 1 Agenda General Capacity Planning Issues Virtual Machine History and Value Unique Capacity Issues in Virtual Machines

More information

SYSTEM ecos Embedded Configurable Operating System

SYSTEM ecos Embedded Configurable Operating System BELONGS TO THE CYGNUS SOLUTIONS founded about 1989 initiative connected with an idea of free software ( commercial support for the free software ). Recently merged with RedHat. CYGNUS was also the original

More information

Review from last time. CS 537 Lecture 3 OS Structure. OS structure. What you should learn from this lecture

Review from last time. CS 537 Lecture 3 OS Structure. OS structure. What you should learn from this lecture Review from last time CS 537 Lecture 3 OS Structure What HW structures are used by the OS? What is a system call? Michael Swift Remzi Arpaci-Dussea, Michael Swift 1 Remzi Arpaci-Dussea, Michael Swift 2

More information

Nested Virtualization

Nested Virtualization Nested Virtualization Dongxiao Xu, Xiantao Zhang, Yang Zhang May 9, 2013 Agenda Nested Virtualization Overview Dive into Nested Virtualization Details Nested CPU Virtualization Nested MMU Virtualization

More information

Linux Scheduler. Linux Scheduler

Linux Scheduler. Linux Scheduler or or Affinity Basic Interactive es 1 / 40 Reality... or or Affinity Basic Interactive es The Linux scheduler tries to be very efficient To do that, it uses some complex data structures Some of what it

More information

Chapter 5: Process Scheduling

Chapter 5: Process Scheduling Chapter 5: Process Scheduling Chapter 5: Process Scheduling 5.1 Basic Concepts 5.2 Scheduling Criteria 5.3 Scheduling Algorithms 5.3.1 First-Come, First-Served Scheduling 5.3.2 Shortest-Job-First Scheduling

More information

MODULE 3 VIRTUALIZED DATA CENTER COMPUTE

MODULE 3 VIRTUALIZED DATA CENTER COMPUTE MODULE 3 VIRTUALIZED DATA CENTER COMPUTE Module 3: Virtualized Data Center Compute Upon completion of this module, you should be able to: Describe compute virtualization Discuss the compute virtualization

More information

CPU Scheduling. Basic Concepts. Basic Concepts (2) Basic Concepts Scheduling Criteria Scheduling Algorithms Batch systems Interactive systems

CPU Scheduling. Basic Concepts. Basic Concepts (2) Basic Concepts Scheduling Criteria Scheduling Algorithms Batch systems Interactive systems Basic Concepts Scheduling Criteria Scheduling Algorithms Batch systems Interactive systems Based on original slides by Silberschatz, Galvin and Gagne 1 Basic Concepts CPU I/O Burst Cycle Process execution

More information

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture Last Class: OS and Computer Architecture System bus Network card CPU, memory, I/O devices, network card, system bus Lecture 3, page 1 Last Class: OS and Computer Architecture OS Service Protection Interrupts

More information

ELEC 377. Operating Systems. Week 1 Class 3

ELEC 377. Operating Systems. Week 1 Class 3 Operating Systems Week 1 Class 3 Last Class! Computer System Structure, Controllers! Interrupts & Traps! I/O structure and device queues.! Storage Structure & Caching! Hardware Protection! Dual Mode Operation

More information

Process Description and Control. 2004-2008 william stallings, maurizio pizzonia - sistemi operativi

Process Description and Control. 2004-2008 william stallings, maurizio pizzonia - sistemi operativi Process Description and Control 1 Process A program in execution (running) on a computer The entity that can be assigned to and executed on a processor A unit of activity characterized by a at least one

More information

Long-term monitoring of apparent latency in PREEMPT RT Linux real-time systems

Long-term monitoring of apparent latency in PREEMPT RT Linux real-time systems Long-term monitoring of apparent latency in PREEMPT RT Linux real-time systems Carsten Emde Open Source Automation Development Lab (OSADL) eg Aichhalder Str. 39, 78713 Schramberg, Germany C.Emde@osadl.org

More information

Hyper-V R2: What's New?

Hyper-V R2: What's New? ASPE IT Training Hyper-V R2: What's New? A WHITE PAPER PREPARED FOR ASPE BY TOM CARPENTER www.aspe-it.com toll-free: 877-800-5221 Hyper-V R2: What s New? Executive Summary This white paper provides an

More information

Virtual Machines. www.viplavkambli.com

Virtual Machines. www.viplavkambli.com 1 Virtual Machines A virtual machine (VM) is a "completely isolated guest operating system installation within a normal host operating system". Modern virtual machines are implemented with either software

More information

A hypervisor approach with real-time support to the MIPS M5150 processor

A hypervisor approach with real-time support to the MIPS M5150 processor ISQED Wednesday March 4, 2015 Session 5B A hypervisor approach with real-time support to the MIPS M5150 processor Authors: Samir Zampiva (samir.zampiva@acad.pucrs.br) Carlos Moratelli (carlos.moratelli@pucrs.br)

More information

Operating Systems. 05. Threads. Paul Krzyzanowski. Rutgers University. Spring 2015

Operating Systems. 05. Threads. Paul Krzyzanowski. Rutgers University. Spring 2015 Operating Systems 05. Threads Paul Krzyzanowski Rutgers University Spring 2015 February 9, 2015 2014-2015 Paul Krzyzanowski 1 Thread of execution Single sequence of instructions Pointed to by the program

More information

Virtualization. Explain how today s virtualization movement is actually a reinvention

Virtualization. Explain how today s virtualization movement is actually a reinvention Virtualization Learning Objectives Explain how today s virtualization movement is actually a reinvention of the past. Explain how virtualization works. Discuss the technical challenges to virtualization.

More information

Operating Systems. III. Scheduling. http://soc.eurecom.fr/os/

Operating Systems. III. Scheduling. http://soc.eurecom.fr/os/ Operating Systems Institut Mines-Telecom III. Scheduling Ludovic Apvrille ludovic.apvrille@telecom-paristech.fr Eurecom, office 470 http://soc.eurecom.fr/os/ Outline Basics of Scheduling Definitions Switching

More information

Comparison of the Three CPU Schedulers in Xen

Comparison of the Three CPU Schedulers in Xen Comparison of the Three CPU Schedulers in Xen Lucy Cherkasova (HPLabs) Diwaker Gupta (UCSD) Amin Vahdat (UCSD) 2004 Hewlett-Packard Development Company, L.P. The information contained herein is subject

More information

Intel Ethernet and Configuring Single Root I/O Virtualization (SR-IOV) on Microsoft* Windows* Server 2012 Hyper-V. Technical Brief v1.

Intel Ethernet and Configuring Single Root I/O Virtualization (SR-IOV) on Microsoft* Windows* Server 2012 Hyper-V. Technical Brief v1. Intel Ethernet and Configuring Single Root I/O Virtualization (SR-IOV) on Microsoft* Windows* Server 2012 Hyper-V Technical Brief v1.0 September 2012 2 Intel Ethernet and Configuring SR-IOV on Windows*

More information

STEPPING TOWARDS A NOISELESS LINUX ENVIRONMENT

STEPPING TOWARDS A NOISELESS LINUX ENVIRONMENT ROSS 2012 June 29 2012 Venice, Italy STEPPING TOWARDS A NOISELESS LINUX ENVIRONMENT Hakan Akkan*, Michael Lang, Lorie Liebrock* Presented by: Abhishek Kulkarni * New Mexico Tech Ultrascale Systems Research

More information

x86 ISA Modifications to support Virtual Machines

x86 ISA Modifications to support Virtual Machines x86 ISA Modifications to support Virtual Machines Douglas Beal Ashish Kumar Gupta CSE 548 Project Outline of the talk Review of Virtual Machines What complicates Virtualization Technique for Virtualization

More information

Lecture Outline Overview of real-time scheduling algorithms Outline relative strengths, weaknesses

Lecture Outline Overview of real-time scheduling algorithms Outline relative strengths, weaknesses Overview of Real-Time Scheduling Embedded Real-Time Software Lecture 3 Lecture Outline Overview of real-time scheduling algorithms Clock-driven Weighted round-robin Priority-driven Dynamic vs. static Deadline

More information

Lecture 6: Interrupts. CSC 469H1F Fall 2006 Angela Demke Brown

Lecture 6: Interrupts. CSC 469H1F Fall 2006 Angela Demke Brown Lecture 6: Interrupts CSC 469H1F Fall 2006 Angela Demke Brown Topics What is an interrupt? How do operating systems handle interrupts? FreeBSD example Linux in tutorial Interrupts Defn: an event external

More information

Chapter 5: CPU Scheduling. Operating System Concepts 7 th Edition, Jan 14, 2005

Chapter 5: CPU Scheduling. Operating System Concepts 7 th Edition, Jan 14, 2005 Chapter 5: CPU Scheduling Operating System Concepts 7 th Edition, Jan 14, 2005 Silberschatz, Galvin and Gagne 2005 Outline Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling

More information

Intel DPDK Boosts Server Appliance Performance White Paper

Intel DPDK Boosts Server Appliance Performance White Paper Intel DPDK Boosts Server Appliance Performance Intel DPDK Boosts Server Appliance Performance Introduction As network speeds increase to 40G and above, both in the enterprise and data center, the bottlenecks

More information

Chapter 16: Virtual Machines. Operating System Concepts 9 th Edition

Chapter 16: Virtual Machines. Operating System Concepts 9 th Edition Chapter 16: Virtual Machines Silberschatz, Galvin and Gagne 2013 Chapter 16: Virtual Machines Overview History Benefits and Features Building Blocks Types of Virtual Machines and Their Implementations

More information

Virtual machine CPU monitoring with Kernel Tracing

Virtual machine CPU monitoring with Kernel Tracing Virtual machine CPU monitoring with Kernel Tracing Mohamad Gebai Michel Dagenais 15 May, 2014 École Polytechnique de Montreal 1 Content General objectives Current approaches Kernel tracing Trace synchronization

More information

Basics in Energy Information (& Communication) Systems Virtualization / Virtual Machines

Basics in Energy Information (& Communication) Systems Virtualization / Virtual Machines Basics in Energy Information (& Communication) Systems Virtualization / Virtual Machines Dr. Johann Pohany, Virtualization Virtualization deals with extending or replacing an existing interface so as to

More information

Operating System Components and Services

Operating System Components and Services Operating System Components and Services Tom Kelliher, CS 311 Feb. 6, 2012 Announcements: From last time: 1. System architecture issues. 2. I/O programming. 3. Memory hierarchy. 4. Hardware protection.

More information

Chapter 3 Operating-System Structures

Chapter 3 Operating-System Structures Contents 1. Introduction 2. Computer-System Structures 3. Operating-System Structures 4. Processes 5. Threads 6. CPU Scheduling 7. Process Synchronization 8. Deadlocks 9. Memory Management 10. Virtual

More information

Container-based operating system virtualization: a scalable, high-performance alternative to hypervisors

Container-based operating system virtualization: a scalable, high-performance alternative to hypervisors Container-based operating system virtualization: a scalable, high-performance alternative to hypervisors Soltesz, et al (Princeton/Linux-VServer), Eurosys07 Context: Operating System Structure/Organization

More information

Operating Systems 4 th Class

Operating Systems 4 th Class Operating Systems 4 th Class Lecture 1 Operating Systems Operating systems are essential part of any computer system. Therefore, a course in operating systems is an essential part of any computer science

More information

CS 695 Topics in Virtualization and Cloud Computing. More Introduction + Processor Virtualization

CS 695 Topics in Virtualization and Cloud Computing. More Introduction + Processor Virtualization CS 695 Topics in Virtualization and Cloud Computing More Introduction + Processor Virtualization (source for all images: Virtual Machines: Versatile Platforms for Systems and Processes Morgan Kaufmann;

More information

spends most its time performing I/O How is thread scheduling different from process scheduling? What are the issues in multiple-processor scheduling?

spends most its time performing I/O How is thread scheduling different from process scheduling? What are the issues in multiple-processor scheduling? CPU Scheduling Outline What is scheduling in the OS? What are common scheduling criteria? How to evaluate scheduling algorithms? What are common scheduling algorithms? How is thread scheduling different

More information

theguard! ApplicationManager System Windows Data Collector

theguard! ApplicationManager System Windows Data Collector theguard! ApplicationManager System Windows Data Collector Status: 10/9/2008 Introduction... 3 The Performance Features of the ApplicationManager Data Collector for Microsoft Windows Server... 3 Overview

More information