Enabling Hybrid Parallel Runtimes Through Kernel and Virtualization Support. Kyle C. Hale and Peter Dinda

Size: px
Start display at page:

Download "Enabling Hybrid Parallel Runtimes Through Kernel and Virtualization Support. Kyle C. Hale and Peter Dinda"

Transcription

1 Enabling Hybrid Parallel Runtimes Through Kernel and Virtualization Support Kyle C. Hale and Peter Dinda

2 Hybrid Runtimes the runtime IS the kernel runtime not limited to abstractions exposed by syscall interface opportunity for leveraging privileged HW features 2 HPDC 15

3 CURRENT OS/R MODEL 3 PARALLEL APP user-mode PARALLEL RUNTIME kernel-mode GENERAL PURPOSE OS HARDWARE

4 THE HYBRID RUNTIME 4 PARALLEL APP user-mode PARALLEL RUNTIME kernel-mode GENERAL PURPOSE OS PARALLEL APP HARDWARE HYBRID RUNTIME kernel mashup of OS and runtime HARDWARE

5 5

6 NESL NDPC Racket Legion 6

7 7 1.4 Xeon Phi x64 Speedup over Linux Legion Processor Count (Cores)

8 8 1.4 Xeon Phi x64 Speedup over Linux x speedup over linux Legion Processor Count (Cores)

9 9 1.4 Xeon Phi x64 Speedup over Linux x speedup over linux 1.37x speedup over linux Legion Processor Count (Cores)

10 TWO ENABLING TOOLS 10

11 kernel framework 11

12 12 HVM THE HYBRID VIRTUAL MACHINE bridge HRT with legacy OS

13 OUTLINE Background/Overview Nautilus Deployment Models Hybrid Virtual Machine Multiverse & Future Work 13

14 NAUTILUS 14 user-mode kernel-mode PARALLEL APP RUNTIME THREADS SYNC aerokernel PAGING EVENTS HW INFO BOOTSTRAP TIMERS IRQS HARDWARE Nautilus primitives & utilities (HRT can use or not use any of them) CONSOLE

15 15 Nautilus under the hood

16 16 Parallel Runtime System Nautilus

17 17 kernel primitives should be SIMPLE and FAST runtime developer can easily reason about them!

18 18 start with familiar interfaces threads condition variables mutexes/locks memory management fork/join parallelism

19 19 map runtime s logical view of machine Parallel Runtime System onto physical HW logical CPUs

20 threads 20 unified, shared address space threads can operate preemptively or cooperatively* *for runtimes that require more determinism

21 21 thread creation is FAST Cycles Nautilus Linux (pthreads) x86_64 Opteron: 64 cores, 4 sockets, 8 numa zones, 128GB RAM

22 22 thread creation is FAST Cycles Linux (pthreads) x86_64 Opteron: 64 cores, 4 sockets, 8 numa zones, 128GB RAM

23 23 thread creation is FAST ~3ms Cycles Nautilus Linux (pthreads) ~90µs x86_64 Opteron: 64 cores, 4 sockets, 8 numa zones, 128GB RAM

24 software events user-mode software events are SLOW 24 lower is better trigger latency (cycles) cond. var. futex hardware (IPI) x86_64 Opteron: 64 cores, 4 sockets, 8 numa zones, 128GB RAM

25 nautilus events triggers are FASTER trigger latency (cycles) naut. cond. var. futex cond. var. x86_64 Opteron: 64 cores, 4 sockets, 8 numa zones, 128GB RAM naut. cond. var. w/ipi hardware (IPI)

26 26 IPI Nemo TRIGGER LATENCY (CYCLES)

27 27 IPI ~100 cycles Nemo TRIGGER LATENCY (CYCLES)

28 memory 28

29 29 static identity map bootup... page size... 2MB physical memory 1GB

30 30 eliminates expensive page faults reduces TLB misses + shootdowns increases performance under virtualization

31 31 NUMA first-touch NUMA domain NUMA domain runtime has FULL control over thread placement and memory layout stack

32 philix 32

33 33 virtual console philix host utility host Intel MPSS stack Xeon Phi custom OS

34 34 Nautilus is fairly small Nautilus 25,000 lines of mostly C Legion 43,000 lines of C++ Additions for Legion 800 lines of C/C++ Additions for Xeon Phi 1350 lines of C

35 What do we lose? 35

36 familiar environment 36

37 driver ecosystem 37

38 protection/isolation 38

39 OUTLINE Background/Overview Nautilus Deployment Models Hybrid Virtual Machine Multiverse & Future Work 39

40 40 DEDICATED APPLICATION HRT full HW access HARDWARE

41 41 PARTITIONED LINUX STACK APPLICATION HRT full HW access CORE 0 CORE K-1 HARDWARE CORE K CORE N-1

42 VM 42 PARALLEL APP LINUX STACK HRT VIRTUAL MACHINE 0 VIRTUAL MACHINE 1 VMM HARDWARE

43 43 Hybrid Virtual Machine LINUX STACK PARALLEL APP HRT regular OS vcores HVM HRT vcores VMM HARDWARE

44 OUTLINE Background/Overview Nautilus Deployment Models Hybrid Virtual Machine Multiverse & Future Work 44

45 regular OS (ROS) PARALLEL APP legacy functionality from ROS via HVM performance path 45 PARALLEL RUNTIME GENERAL PURPOSE OS user-mode kernel-mode user-mode kernel-mode PARALLEL APP HRT NODE HARDWARE GENERAL VIRTUALIZATION MODEL HVM NODE HARDWARE SPECIALIZED VIRTUALIZATION MODEL NODE HARDWARE

46 ROS/HRT setup 46 ROS vcore ROS vcore IPI IPI HRT vcore IPI HRT vcore IPI Virtual Machine

47 ROS/HRT setup 47 ROS vcore HRT vcore ROS vcore ROS visible memory HRT vcore VM memory Virtual Machine

48 merged address space 48 higher half ROS kernel higher half Aerokernel merged app + runtime code & data ROS vaddr space HRT vaddr space

49 ROS/HRT communication 49 shared data page Address LINUX space HRT HRT merger function reboot invocation request HRT HYPERVISOR + HVM

50 ROS/HRT communication 50 shared data page comm. area LINUX Synchronous operation request HRT HYPERVISOR + HVM

51 ROS/HRT communication 51 Cycles Time Addr space merge ~33K 15µs Asynch function invocation Synch function invocation (remote socket) Synch function invocation (same socket) ~25K 11µs ~ ns ~ ns

52 ROS boot 52 BOOTSTRAP ROS BSP INIT-SIPI-SIPI BOOTSTRAP INIT-SIPI-SIPI ROS APs BOOTSTRAP INIT-SIPI-SIPI

53 HRT boot 53 GDT IDT HVM sets boots up registers, cores up in TSS system long simultaneously mode* tables REGISTERS *no need for INIT-SIPI-SIPI sequence INIT PAGE TABLES

54 LINUX FORK + EXEC ~ 714µs HVM + HRT CORE BOOT ~ 61µs 54

55 55 how do we take a legacy runtime to the HRT + X model? PORT

56 porting a runtime/app 56 to an a new OS environment is DIFFICULT TIME-CONSUMING ERROR-PRONE

57 development cycle: 57 do { ADD FUNCTION REBUILD BOOT HRT } while (HRT falls over)

58 58 much of the functionality is NOT ON THE CRITICAL PATH

59 59 we want to make this easier

60 OUTLINE Background/Overview Nautilus Deployment Models Hybrid Virtual Machine Multiverse & Future Work 60

61 61 give us your legacy runtime

62 we automatically 62 transform it to run as an HRT in kernel mode bridged with a legacy OS (AUTOMATIC HYBRIDIZATION)

63 63 LEGACY APP/RUNTIME rebuild with our toolchain

64 64 AEROKERNEL BINARY runs like kernel-mode normal LEGACY APP/RUNTIME LINUX application MULTIVERSE RUNTIME LAYER LEGACY APP/RUNTIME MULTIVERSE RUNTIME LAYER BOOTED AEROKERNEL HYPERVISOR + HVM

65 65

66 66 4 parallel runtimes (Legion, Racket, NDPC, NESL) Hybrid Virtual Machine bridge HRT with legacy OS Multiverse automatic transformation: legacy app+runtime HRT

67 thank you 67

68 68 my webpage: halek.co lab: presciencelab.org download nautilus: nautilus.halek.co v3vee project: v3vee.org

69 backups 69

70 thread fork 70

71 interrupt driven execution 71

72 memory and paging 72

73 73 static identity map bootup... page size... 2MB physical memory 1GB

74 74 eliminates expensive page faults reduces TLB misses + shootdowns increases performance under virtualization

75 75 log scale Unified TLB Misses

76 76 Linux Nautilus Unified TLB Misses

77 77 thread creation is PREDICTABLE log scale lower is better 1e8 1e7 cycles 1e Linux (pthreads) kernel threads Nautilus x86_64 Opteron: 64 cores, 4 sockets, 8 numa zones, 128GB RAM

78 78 binding to physical processor is GUARANTEED

79 79 RUNTIME control over physical virtual CPU

80 80 interrupts & events

81 81 asynchronous notifications

82 82 trigger latency EVENT COMPLETES trigger DEPENDENT TASK EXECUTES

83 user-mode software events are SLOW 83 lower is better trigger latency (cycles) cond. var. futex hardware (IPI) x86_64 Opteron: 64 cores, 4 sockets, 8 numa zones, 128GB RAM

84 nautilus events triggers are FASTER trigger latency (cycles) naut. cond. var. futex cond. var. x86_64 Opteron: 64 cores, 4 sockets, 8 numa zones, 128GB RAM naut. cond. var. w/ipi hardware (IPI)

85 85 handle_event() handle_event()

86 86 asynchronous, IPI-based execution

87 87 NOT POSSIBLE IN LINUX USERSPACE

88 lower is better 88 IPI Nemo TRIGGER LATENCY (CYCLES)

89 89 IPI Nemo TRIGGER LATENCY (CYCLES)

90 90 IPI ~100 cycles Nemo TRIGGER LATENCY (CYCLES)

91 91 this gives us an incremental path for creating HRTs

92 92 start out with a working HRT system

93 93 then pull functionality into the HRT for hot spots

94 94 RACKET most widely used Scheme implementation downloaded ~300 times/day complex runtime with JIT

95 ROS/HRT communication 95 AEROKERNEL BINARY LEGACY APP/RUNTIME MULTIVERSE RUNTIME LAYER LINUX system call system call LEGACY APP/RUNTIME MULTIVERSE RUNTIME LAYER BOOTED AEROKERNEL HYPERVISOR + HVM

96 96

97 Broadcast wakeups on x min = max = e+06 µ = σ = Cycles to Wakeup min = max = e+06 µ = σ = min = 3258 max = µ = σ = min = 7842 max = µ = σ = Nautilus events pthread condvar futex wakeup Aerokernel condvar Aerokernel condvar + IPI min = 1252 max = µ = σ = broadcast IPI

98 Wakeup deviation on x CDF pthread condvar futex broadcast Aerokernel condvar Aerokernel condvar + IPI broadcast IPI σ

99 Wakeup deviation on x user-mode events CDF HW lower bound Nemo events Nautilus (kernel-mode) events 2x 0.2 pthread condvar futex broadcast Aerokernel condvar Aerokernel condvar + IPI broadcast IPI σ

100 Broadcast wakeups on x min = max = e+06 µ = σ = Cycles to Wakeup min = max = e+06 µ = σ = pthread condvar futex wakeup min = 1252 max = µ = σ = broadcast IPI

101 Unicast IPIs on phi th percentile = 746 cycles CDF Cycles mesaured from BSP (core 224)

102 Roundtrip IPIs on phi th percentile = 2105 cycles CDF Cycles mesaured from BSP (core 224)

103 Multicast IPIs on phi th percentile σ = 31 cycles CDF σ

104 Wakeup deviation on x CDF pthread condvar futex broadcast broadcast IPI σ

105 Wakeup deviation on x HW lower bound user-mode events 0.6 CDF 0.4 ~70x 0.2 pthread condvar futex broadcast broadcast IPI σ

106 thread context switch on x Cycles min = 1352 max = 2438 µ = σ = min = 1176 max = 1391 µ = σ = Linux (pthreads) Aerokernel threads

107 thread create + launch on phi Cycles Linux (pthreads) Linux (kernel threads) Nautilus kernel threads

108 thread create + launch 108 (many threads) on x Linux pthreads Linux kernel threads Nautilus threads Cycles Threads

109 thread create + launch 109 (many threads) on phi Linux pthreads Linux kernel threads Nautilus threads Cycles Threads

110 Unicast IPIs on x th percentile = 1728 cycles CDF Cycles mesaured from BSP (core 0)

111 Roundtrip IPIs on x th percentile = 4640 cycles CDF Cycles mesaured from BSP (core 0)

112 Multicast IPIs on x th percentile σ = 2812 cycles CDF σ

113 Unicast IPI vs memory polling unicast IPI synchronous event (mem polling) CDF Cycles mesaured from BSP (core 0)

114 Unicast IPI vs memory polling unicast IPI synchronous event (mem polling) coherence network CDF interrupt network ipi sync cdf (this one Cycles mesaured from BSP (core 0)

115 Unicast IPI vs memory polling unicast IPI synchronous event (mem polling) projected remote syscall CDF Cycles mesaured from BSP (core 0)

116 Unicast IPI vs memory polling unicast IPI synchronous event (mem polling) projected remote syscall CDF cost of dest. handling Cycles mesaured from BSP (core 0)

117 Single wakeup on phi 117 min = max = µ = σ = min = max = µ = σ = min = 732 max = 761 µ = σ = pthread condvar futex wakeup unicast IPI

118 Wakeup deviation on phi CDF pthread condvar futex broadcast broadcast IPI σ wakeup phi many

119 Wakeup deviation on phi HW lower bound user-mode events 0.6 CDF 0.4 ~79000x 0.2 pthread condvar futex broadcast broadcast IPI σ

120 Single wakeup on x64 (CDF) CDF Cycles to Wakeup U. mode condvar Futex wakeup Oneway IPI

121 Single wakeup on phi (CDF) CDF Cycles to Wakeup U. mode condvar Futex wakeup Oneway IPI

122 Single wakeup on phi Cycles to Wakeup min = max = µ = σ = min = 5528 max = µ = σ = min = max = µ = σ = min = 5953 max = 7305 µ = σ = pthread condvar futex wakeup Aerokernel condvar Aerokernel condvar + IPI min = 732 max = 761 µ = σ = unicast IPI

123 Many wakeups on phi 123 Cycles to Wakeup pthread condvar min = max = e+07 µ = e+06 σ = e+06 futex wakeup min = max = e+06 µ = e+06 σ = e+06 Aerokernel condvar min = 7199 max = e+06 µ = e+06 σ = e+06 min = 8267 max = e+06 µ = σ = min = 1016 max = 1225 µ = σ = Aerokernel condvar + IPI broadcast IPI

124 Wakeup deviation on phi CDF 0.4 pthread condvar 0.2 futex broadcast Aerokernel condvar Aerokernel condvar + IPI broadcast IPI σ wakeup phi many wk

125 Wakeup deviation on phi CDF 0.6 HW lower bound user-mode events 4x 0.4 Nemo events (kernel-mode) pthread condvar 0.2 futex broadcast Aerokernel condvar Aerokernel condvar + IPI broadcast IPI σ

126 Broadcast wakeups on phi 126 min = max = e+07 µ = e+06 σ = e+06 min = max = e+06 µ = e+06 σ = e+06 min = 1016 max = 1225 µ = σ = pthread condvar futex wakeup broadcast IPI

127 Single wakeup on x64 (CDF) CDF Cycles to Wakeup U. mode condvar Futex wakeup K.mode condvar K.mode condvar + IPI Oneway IPI

128 Single wakeup on phi (CDF) CDF Cycles to Wakeup U. mode condvar Futex wakeup K.mode condvar K.mode condvar + IPI Oneway IPI

129 racket multiverse overheads Native Virtual Multiverse Runtime (s) fannkuch-redux binary-tree-2 fasta fasta-3 nbody spectral-norm mandelbrot-2

130 system call overheads 130 1x10 8 1x10 7 Virtual Multiverse Runtime (cycles) 1x ~40µs 100 getpid gettimeofday fwrite stat read getcwd open close mmap

Electrical Engineering and Computer Science Department

Electrical Engineering and Computer Science Department Electrical Engineering and Computer Science Department Technical Report Number: NU-EECS-16-03 March, 2016 Automatic Hybridization of Runtime Systems Kyle C. Hale, Conor Hetland, and Peter Dinda Abstract

More information

Hard Real-time Scheduling for Parallel Run-time Systems

Hard Real-time Scheduling for Parallel Run-time Systems Hard Real-time Scheduling for Parallel Run-time Systems Peter Dinda Xiaoyang Wang Jinghang Wang Chris Beauchene Conor Hetland Prescience Lab Department of EECS Northwestern University pdinda.org presciencelab.org

More information

Enabling Hybrid Parallel Runtimes Through Kernel and Virtualization Support

Enabling Hybrid Parallel Runtimes Through Kernel and Virtualization Support Enabling Hybrid Parallel Runtimes Through Kernel and Virtualization Support Kyle C. Hale Peter A. Dinda Department of Electrical Engineering and Computer Science Northwestern University {k-hale, pdinda}@northwestern.edu

More information

IsoStack Highly Efficient Network Processing on Dedicated Cores

IsoStack Highly Efficient Network Processing on Dedicated Cores IsoStack Highly Efficient Network Processing on Dedicated Cores Leah Shalev Eran Borovik, Julian Satran, Muli Ben-Yehuda Outline Motivation IsoStack architecture Prototype TCP/IP over 10GE on a single

More information

HPMMAP: Lightweight Memory Management for Commodity Operating Systems. University of Pittsburgh

HPMMAP: Lightweight Memory Management for Commodity Operating Systems. University of Pittsburgh HPMMAP: Lightweight Memory Management for Commodity Operating Systems Brian Kocoloski Jack Lange University of Pittsburgh Lightweight Experience in a Consolidated Environment HPC applications need lightweight

More information

Akaros. Barret Rhoden, Kevin Klues, Andrew Waterman, Ron Minnich, David Zhu, Eric Brewer UC Berkeley and Google

Akaros. Barret Rhoden, Kevin Klues, Andrew Waterman, Ron Minnich, David Zhu, Eric Brewer UC Berkeley and Google Akaros Barret Rhoden, Kevin Klues, Andrew Waterman, Ron Minnich, David Zhu, Eric Brewer UC Berkeley and Google High Level View Research OS, made for single nodes Large-scale SMP / many-core architectures

More information

Xen and the Art of Virtualization. CSE-291 (Cloud Computing) Fall 2016

Xen and the Art of Virtualization. CSE-291 (Cloud Computing) Fall 2016 Xen and the Art of Virtualization CSE-291 (Cloud Computing) Fall 2016 Why Virtualization? Share resources among many uses Allow heterogeneity in environments Allow differences in host and guest Provide

More information

TCBs and Address-Space Layouts Universität Karlsruhe, System Architecture Group

TCBs and Address-Space Layouts Universität Karlsruhe, System Architecture Group µ-kernel Construction (3) TCBs and Address-Space Layouts 1 Thread Control Blocks (TCBs) 2 Fundamental Abstractions Thread Address space What is a thread? How to implement it? 3 Construction Conclusion

More information

FlexSC. Flexible System Call Scheduling with Exception-Less System Calls. Livio Soares and Michael Stumm. University of Toronto

FlexSC. Flexible System Call Scheduling with Exception-Less System Calls. Livio Soares and Michael Stumm. University of Toronto FlexSC Flexible System Call Scheduling with Exception-Less System Calls Livio Soares and Michael Stumm University of Toronto Motivation The synchronous system call interface is a legacy from the single

More information

AUTOBEST: A United AUTOSAR-OS And ARINC 653 Kernel. Alexander Züpke, Marc Bommert, Daniel Lohmann

AUTOBEST: A United AUTOSAR-OS And ARINC 653 Kernel. Alexander Züpke, Marc Bommert, Daniel Lohmann AUTOBEST: A United AUTOSAR-OS And ARINC 653 Kernel Alexander Züpke, Marc Bommert, Daniel Lohmann alexander.zuepke@hs-rm.de, marc.bommert@hs-rm.de, lohmann@cs.fau.de Motivation Automotive and Avionic industry

More information

Multiverse: Easy Conversion of Runtime Systems into OS Kernels via Automatic Hybridization

Multiverse: Easy Conversion of Runtime Systems into OS Kernels via Automatic Hybridization Multiverse: Easy Conversion of Runtime Systems into OS Kernels via Automatic Hybridization Kyle C. Hale Department of Computer Science Illinois Institute of Technology khale@cs.iit.edu Conor Hetland, Peter

More information

COMPUTER ARCHITECTURE. Virtualization and Memory Hierarchy

COMPUTER ARCHITECTURE. Virtualization and Memory Hierarchy COMPUTER ARCHITECTURE Virtualization and Memory Hierarchy 2 Contents Virtual memory. Policies and strategies. Page tables. Virtual machines. Requirements of virtual machines and ISA support. Virtual machines:

More information

O p t i m i z e d U E F I I m p l e m e n t a t i o n o n I n t e l X e o n B a s e d O C P P l a t f o r m

O p t i m i z e d U E F I I m p l e m e n t a t i o n o n I n t e l X e o n B a s e d O C P P l a t f o r m O p t i m i z e d U E F I I m p l e m e n t a t i o n o n I n t e l X e o n B a s e d O C P P l a t f o r m Sarathy Jayakumar, Principal Engineer, Intel Corp Mohan J. Kumar, Fellow, Intel Corp B a s e

More information

Exokernel: An Operating System Architecture for Application Level Resource Management

Exokernel: An Operating System Architecture for Application Level Resource Management Exokernel: An Operating System Architecture for Application Level Resource Management Dawson R. Engler, M. Frans Kaashoek, and James O'Tool Jr. M.I.T Laboratory for Computer Science Cambridge, MA 02139,

More information

OpenOnload. Dave Parry VP of Engineering Steve Pope CTO Dave Riddoch Chief Software Architect

OpenOnload. Dave Parry VP of Engineering Steve Pope CTO Dave Riddoch Chief Software Architect OpenOnload Dave Parry VP of Engineering Steve Pope CTO Dave Riddoch Chief Software Architect Copyright 2012 Solarflare Communications, Inc. All Rights Reserved. OpenOnload Acceleration Software Accelerated

More information

VMM Emulation of Intel Hardware Transactional Memory

VMM Emulation of Intel Hardware Transactional Memory VMM Emulation of Intel Hardware Transactional Memory Maciej Swiech, Kyle Hale, Peter Dinda Northwestern University V3VEE Project www.v3vee.org Hobbes Project 1 What will we talk about? We added the capability

More information

Revisiting Virtual Memory for High Performance Computing on Manycore Architectures: A Hybrid Segmentation Kernel Approach

Revisiting Virtual Memory for High Performance Computing on Manycore Architectures: A Hybrid Segmentation Kernel Approach Revisiting Virtual Memory for High Performance Computing on Manycore Architectures: A Hybrid Segmentation Kernel Approach Yuki Soma, Balazs Gerofi, Yutaka Ishikawa 1 Agenda Background on virtual memory

More information

Distributed Systems Operation System Support

Distributed Systems Operation System Support Hajussüsteemid MTAT.08.009 Distributed Systems Operation System Support slides are adopted from: lecture: Operating System(OS) support (years 2016, 2017) book: Distributed Systems: Concepts and Design,

More information

Last 2 Classes: Introduction to Operating Systems & C++ tutorial. Today: OS and Computer Architecture

Last 2 Classes: Introduction to Operating Systems & C++ tutorial. Today: OS and Computer Architecture Last 2 Classes: Introduction to Operating Systems & C++ tutorial User apps OS Virtual machine interface hardware physical machine interface An operating system is the interface between the user and the

More information

Performance Profiling

Performance Profiling Performance Profiling Minsoo Ryu Real-Time Computing and Communications Lab. Hanyang University msryu@hanyang.ac.kr Outline History Understanding Profiling Understanding Performance Understanding Performance

More information

Optimizing and Enhancing VM for the Cloud Computing Era. 20 November 2009 Jun Nakajima, Sheng Yang, and Eddie Dong

Optimizing and Enhancing VM for the Cloud Computing Era. 20 November 2009 Jun Nakajima, Sheng Yang, and Eddie Dong Optimizing and Enhancing VM for the Cloud Computing Era 20 November 2009 Jun Nakajima, Sheng Yang, and Eddie Dong Implications of Cloud Computing to Virtualization More computation and data processing

More information

2 nd Half. Memory management Disk management Network and Security Virtual machine

2 nd Half. Memory management Disk management Network and Security Virtual machine Final Review 1 2 nd Half Memory management Disk management Network and Security Virtual machine 2 Abstraction Virtual Memory (VM) 4GB (32bit) linear address space for each process Reality 1GB of actual

More information

Operating Systems CMPSCI 377 Spring Mark Corner University of Massachusetts Amherst

Operating Systems CMPSCI 377 Spring Mark Corner University of Massachusetts Amherst Operating Systems CMPSCI 377 Spring 2017 Mark Corner University of Massachusetts Amherst Last Class: Intro to OS An operating system is the interface between the user and the architecture. User-level Applications

More information

A Userspace Packet Switch for Virtual Machines

A Userspace Packet Switch for Virtual Machines SHRINKING THE HYPERVISOR ONE SUBSYSTEM AT A TIME A Userspace Packet Switch for Virtual Machines Julian Stecklina OS Group, TU Dresden jsteckli@os.inf.tu-dresden.de VEE 2014, Salt Lake City 1 Motivation

More information

Operating System Review

Operating System Review COP 4225 Advanced Unix Programming Operating System Review Chi Zhang czhang@cs.fiu.edu 1 About the Course Prerequisite: COP 4610 Concepts and Principles Programming System Calls Advanced Topics Internals,

More information

A Design of Hybrid Operating System for a Parallel Computer with Multi-Core and Many-Core Processors

A Design of Hybrid Operating System for a Parallel Computer with Multi-Core and Many-Core Processors A Design of Hybrid Operating System for a Parallel Computer with Multi-Core and Many-Core Processors Mikiko Sato 1,5 Go Fukazawa 1 Kiyohiko Nagamine 1 Ryuichi Sakamoto 1 Mitaro Namiki 1,5 Kazumi Yoshinaga

More information

ECE 550D Fundamentals of Computer Systems and Engineering. Fall 2017

ECE 550D Fundamentals of Computer Systems and Engineering. Fall 2017 ECE 550D Fundamentals of Computer Systems and Engineering Fall 2017 The Operating System (OS) Prof. John Board Duke University Slides are derived from work by Profs. Tyler Bletsch and Andrew Hilton (Duke)

More information

ARMlock: Hardware-based Fault Isolation for ARM

ARMlock: Hardware-based Fault Isolation for ARM ARMlock: Hardware-based Fault Isolation for ARM Yajin Zhou, Xiaoguang Wang, Yue Chen, and Zhi Wang North Carolina State University Xi an Jiaotong University Florida State University Software is Complicated

More information

Amazon EC2 Deep Dive. Michael #awssummit

Amazon EC2 Deep Dive. Michael #awssummit Berlin Amazon EC2 Deep Dive Michael Hanisch @hanimic #awssummit Let s get started Amazon EC2 instances AMIs & Virtualization Types EBS-backed AMIs AMI instance Physical host server New root volume snapshot

More information

HPC Architectures. Types of resource currently in use

HPC Architectures. Types of resource currently in use HPC Architectures Types of resource currently in use Reusing this material This work is licensed under a Creative Commons Attribution- NonCommercial-ShareAlike 4.0 International License. http://creativecommons.org/licenses/by-nc-sa/4.0/deed.en_us

More information

Virtual Machines Disco and Xen (Lecture 10, cs262a) Ion Stoica & Ali Ghodsi UC Berkeley February 26, 2018

Virtual Machines Disco and Xen (Lecture 10, cs262a) Ion Stoica & Ali Ghodsi UC Berkeley February 26, 2018 Virtual Machines Disco and Xen (Lecture 10, cs262a) Ion Stoica & Ali Ghodsi UC Berkeley February 26, 2018 Today s Papers Disco: Running Commodity Operating Systems on Scalable Multiprocessors, Edouard

More information

Spring 2017 :: CSE 506. Introduction to. Virtual Machines. Nima Honarmand

Spring 2017 :: CSE 506. Introduction to. Virtual Machines. Nima Honarmand Introduction to Virtual Machines Nima Honarmand Virtual Machines & Hypervisors Virtual Machine: an abstraction of a complete compute environment through the combined virtualization of the processor, memory,

More information

CIS Operating Systems Memory Management Cache. Professor Qiang Zeng Fall 2017

CIS Operating Systems Memory Management Cache. Professor Qiang Zeng Fall 2017 CIS 5512 - Operating Systems Memory Management Cache Professor Qiang Zeng Fall 2017 Previous class What is logical address? Who use it? Describes a location in the logical memory address space Compiler

More information

CS 350 Winter 2011 Current Topics: Virtual Machines + Solid State Drives

CS 350 Winter 2011 Current Topics: Virtual Machines + Solid State Drives CS 350 Winter 2011 Current Topics: Virtual Machines + Solid State Drives Virtual Machines Resource Virtualization Separating the abstract view of computing resources from the implementation of these resources

More information

CS 5460/6460 Operating Systems

CS 5460/6460 Operating Systems CS 5460/6460 Operating Systems Fall 2009 Instructor: Matthew Flatt Lecturer: Kevin Tew TAs: Bigyan Mukherjee, Amrish Kapoor 1 Join the Mailing List! Reminders Make sure you can log into the CADE machines

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

EbbRT: A Framework for Building Per-Application Library Operating Systems

EbbRT: A Framework for Building Per-Application Library Operating Systems EbbRT: A Framework for Building Per-Application Library Operating Systems Overview Motivation Objectives System design Implementation Evaluation Conclusion Motivation Emphasis on CPU performance and software

More information

OS Agnostic Sandboxing Using Virtual CPUs

OS Agnostic Sandboxing Using Virtual CPUs Berlin Institute of Technology FG Security in Telecommunications OS Agnostic Sandboxing Using Virtual CPUs Spring 6 - SIDAR Graduierten-Workshop über Reaktive Sicherheit Weiss Matthias Lange, March 21st,

More information

[537] Virtual Machines. Tyler Harter

[537] Virtual Machines. Tyler Harter [537] Virtual Machines Tyler Harter Outline Machine Virtualization Overview CPU Virtualization (Trap-and-Emulate) CPU Virtualization (Modern x86) Memory Virtualization Performance Challenges Outline Machine

More information

Introduction. Yolanda Becerra Fontal Juan José Costa Prats

Introduction. Yolanda Becerra Fontal Juan José Costa Prats Introduction Yolanda Becerra Fontal Juan José Costa Prats Facultat d'informàtica de Barcelona (FIB) Universitat Politècnica de Catalunya (UPC) BarcelonaTech 2015-2016 QT Content Previous concepts Architecture

More information

Four Components of a Computer System

Four Components of a Computer System Four Components of a Computer System Operating System Concepts Essentials 2nd Edition 1.1 Silberschatz, Galvin and Gagne 2013 Operating System Definition OS is a resource allocator Manages all resources

More information

The benefits and costs of writing a POSIX kernel in a high-level language

The benefits and costs of writing a POSIX kernel in a high-level language 1 / 38 The benefits and costs of writing a POSIX kernel in a high-level language Cody Cutler, M. Frans Kaashoek, Robert T. Morris MIT CSAIL Should we use high-level languages to build OS kernels? 2 / 38

More information

Processes and Threads

Processes and Threads COS 318: Operating Systems Processes and Threads Kai Li and Andy Bavier Computer Science Department Princeton University http://www.cs.princeton.edu/courses/archive/fall13/cos318 Today s Topics u Concurrency

More information

Overview of System Virtualization: The most powerful platform for program analysis and system security. Zhiqiang Lin

Overview of System Virtualization: The most powerful platform for program analysis and system security. Zhiqiang Lin CS 6V81-05: System Security and Malicious Code Analysis Overview of System Virtualization: The most powerful platform for program analysis and system security Zhiqiang Lin Department of Computer Science

More information

CIS Operating Systems Memory Management Cache and Demand Paging. Professor Qiang Zeng Spring 2018

CIS Operating Systems Memory Management Cache and Demand Paging. Professor Qiang Zeng Spring 2018 CIS 3207 - Operating Systems Memory Management Cache and Demand Paging Professor Qiang Zeng Spring 2018 Process switch Upon process switch what is updated in order to assist address translation? Contiguous

More information

Operating System: Chap13 I/O Systems. National Tsing-Hua University 2016, Fall Semester

Operating System: Chap13 I/O Systems. National Tsing-Hua University 2016, Fall Semester Operating System: Chap13 I/O Systems National Tsing-Hua University 2016, Fall Semester Outline Overview I/O Hardware I/O Methods Kernel I/O Subsystem Performance Application Interface Operating System

More information

LINUX CONTAINERS. Where Enterprise Meets Embedded Operating Environments WHEN IT MATTERS, IT RUNS ON WIND RIVER

LINUX CONTAINERS. Where Enterprise Meets Embedded Operating Environments WHEN IT MATTERS, IT RUNS ON WIND RIVER Where Enterprise Meets Embedded Operating Environments WHEN IT MATTERS, IT RUNS ON WIND RIVER EXECUTIVE SUMMARY Flexible and connected platforms are core components in leading computing fields, including

More information

Flexible Architecture Research Machine (FARM)

Flexible Architecture Research Machine (FARM) Flexible Architecture Research Machine (FARM) RAMP Retreat June 25, 2009 Jared Casper, Tayo Oguntebi, Sungpack Hong, Nathan Bronson Christos Kozyrakis, Kunle Olukotun Motivation Why CPUs + FPGAs make sense

More information

Chapter 2 Computer-System Structure

Chapter 2 Computer-System Structure 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

The Architecture of Virtual Machines Lecture for the Embedded Systems Course CSD, University of Crete (April 29, 2014)

The Architecture of Virtual Machines Lecture for the Embedded Systems Course CSD, University of Crete (April 29, 2014) The Architecture of Virtual Machines Lecture for the Embedded Systems Course CSD, University of Crete (April 29, 2014) ManolisMarazakis (maraz@ics.forth.gr) Institute of Computer Science (ICS) Foundation

More information

Advanced Operating Systems (CS 202) Virtualization

Advanced Operating Systems (CS 202) Virtualization Advanced Operating Systems (CS 202) Virtualization Virtualization One of the natural consequences of the extensibility research we discussed What is virtualization and what are the benefits? 2 Virtualization

More information

Dan Noé University of New Hampshire / VeloBit

Dan Noé University of New Hampshire / VeloBit Dan Noé University of New Hampshire / VeloBit A review of how the CPU works The operating system kernel and when it runs User and kernel mode Device drivers Virtualization of memory Virtual memory Paging

More information

Interrupt response times on Arduino and Raspberry Pi. Tomaž Šolc

Interrupt response times on Arduino and Raspberry Pi. Tomaž Šolc Interrupt response times on Arduino and Raspberry Pi Tomaž Šolc tomaz.solc@ijs.si Introduction Full-featured Linux-based systems are replacing microcontrollers in some embedded applications for low volumes,

More information

Virtual Memory. Lecture for CPSC 5155 Edward Bosworth, Ph.D. Computer Science Department Columbus State University

Virtual Memory. Lecture for CPSC 5155 Edward Bosworth, Ph.D. Computer Science Department Columbus State University Virtual Memory Lecture for CPSC 5155 Edward Bosworth, Ph.D. Computer Science Department Columbus State University Precise Definition of Virtual Memory Virtual memory is a mechanism for translating logical

More information

Load-Sto-Meter: Generating Workloads for Persistent Memory Damini Chopra, Doug Voigt Hewlett Packard (Enterprise)

Load-Sto-Meter: Generating Workloads for Persistent Memory Damini Chopra, Doug Voigt Hewlett Packard (Enterprise) Load-Sto-Meter: Generating Workloads for Persistent Memory Damini Chopra, Doug Voigt Hewlett Packard (Enterprise) Application vs. Pure Workloads Benchmarks that reproduce application workloads Assist in

More information

Last class: OS and Architecture. OS and Computer Architecture

Last class: OS and Architecture. OS and Computer Architecture Last class: OS and Architecture OS and Computer Architecture OS Service Protection Interrupts System Calls IO Scheduling Synchronization Virtual Memory Hardware Support Kernel/User Mode Protected Instructions

More information

Last class: OS and Architecture. Chapter 3: Operating-System Structures. OS and Computer Architecture. Common System Components

Last class: OS and Architecture. Chapter 3: Operating-System Structures. OS and Computer Architecture. Common System Components Last class: OS and Architecture Chapter 3: Operating-System Structures System Components Operating System Services System Calls System Programs System Structure Virtual Machines System Design and Implementation

More information

MICROKERNEL CONSTRUCTION 2014

MICROKERNEL CONSTRUCTION 2014 MICROKERNEL CONSTRUCTION 2014 THE FIASCO.OC MICROKERNEL Alexander Warg MICROKERNEL CONSTRUCTION 1 FIASCO.OC IN ONE SLIDE CAPABILITY-BASED MICROKERNEL API single system call invoke capability MULTI-PROCESSOR

More information

Lecture 7. Xen and the Art of Virtualization. Paul Braham, Boris Dragovic, Keir Fraser et al. 16 November, Advanced Operating Systems

Lecture 7. Xen and the Art of Virtualization. Paul Braham, Boris Dragovic, Keir Fraser et al. 16 November, Advanced Operating Systems Lecture 7 Xen and the Art of Virtualization Paul Braham, Boris Dragovic, Keir Fraser et al. Advanced Operating Systems 16 November, 2011 SOA/OS Lecture 7, Xen 1/38 Contents Virtualization Xen Memory CPU

More information

CSE 237B Fall 2009 Virtualization, Security and RTOS. Rajesh Gupta Computer Science and Engineering University of California, San Diego.

CSE 237B Fall 2009 Virtualization, Security and RTOS. Rajesh Gupta Computer Science and Engineering University of California, San Diego. CSE 237B Fall 2009 Virtualization, Security and RTOS Rajesh Gupta Computer Science and Engineering University of California, San Diego. Overview What is virtualization? Types of virtualization and VMs

More information

CSE 120 Principles of Operating Systems

CSE 120 Principles of Operating Systems CSE 120 Principles of Operating Systems Spring 2018 Lecture 16: Virtual Machine Monitors Geoffrey M. Voelker Virtual Machine Monitors 2 Virtual Machine Monitors Virtual Machine Monitors (VMMs) are a hot

More information

Lecture 5: Process Description and Control Multithreading Basics in Interprocess communication Introduction to multiprocessors

Lecture 5: Process Description and Control Multithreading Basics in Interprocess communication Introduction to multiprocessors Lecture 5: Process Description and Control Multithreading Basics in Interprocess communication Introduction to multiprocessors 1 Process:the concept Process = a program in execution Example processes:

More information

Re-architecting Virtualization in Heterogeneous Multicore Systems

Re-architecting Virtualization in Heterogeneous Multicore Systems Re-architecting Virtualization in Heterogeneous Multicore Systems Himanshu Raj, Sanjay Kumar, Vishakha Gupta, Gregory Diamos, Nawaf Alamoosa, Ada Gavrilovska, Karsten Schwan, Sudhakar Yalamanchili College

More information

KVM CPU MODEL IN SYSCALL EMULATION MODE ALEXANDRU DUTU, JOHN SLICE JUNE 14, 2015

KVM CPU MODEL IN SYSCALL EMULATION MODE ALEXANDRU DUTU, JOHN SLICE JUNE 14, 2015 KVM CPU MODEL IN SYSCALL EMULATION MODE ALEXANDRU DUTU, JOHN SLICE JUNE 14, 2015 AGENDA Background & Motivation Challenges Native Page Tables Emulating the OS Kernel 2 KVM CPU MODEL IN SYSCALL EMULATION

More information

CS5460: Operating Systems

CS5460: Operating Systems CS5460: Operating Systems Lecture 2: OS Hardware Interface (Chapter 2) Course web page: http://www.eng.utah.edu/~cs5460/ CADE lab: WEB L224 and L226 http://www.cade.utah.edu/ Projects will be on Linux

More information

Practical Near-Data Processing for In-Memory Analytics Frameworks

Practical Near-Data Processing for In-Memory Analytics Frameworks Practical Near-Data Processing for In-Memory Analytics Frameworks Mingyu Gao, Grant Ayers, Christos Kozyrakis Stanford University http://mast.stanford.edu PACT Oct 19, 2015 Motivating Trends End of Dennard

More information

FAQ. Release rc2

FAQ. Release rc2 FAQ Release 19.02.0-rc2 January 15, 2019 CONTENTS 1 What does EAL: map_all_hugepages(): open failed: Permission denied Cannot init memory mean? 2 2 If I want to change the number of hugepages allocated,

More information

Scheduling. CS 161: Lecture 4 2/9/17

Scheduling. CS 161: Lecture 4 2/9/17 Scheduling CS 161: Lecture 4 2/9/17 Where does the first process come from? The Linux Boot Process Machine turned on; BIOS runs BIOS: Basic Input/Output System Stored in flash memory on motherboard Determines

More information

Questions answered in this lecture: CS 537 Lecture 19 Threads and Cooperation. What s in a process? Organizing a Process

Questions answered in this lecture: CS 537 Lecture 19 Threads and Cooperation. What s in a process? Organizing a Process Questions answered in this lecture: CS 537 Lecture 19 Threads and Cooperation Why are threads useful? How does one use POSIX pthreads? Michael Swift 1 2 What s in a process? Organizing a Process A process

More information

Agenda. Threads. Single and Multi-threaded Processes. What is Thread. CSCI 444/544 Operating Systems Fall 2008

Agenda. Threads. Single and Multi-threaded Processes. What is Thread. CSCI 444/544 Operating Systems Fall 2008 Agenda Threads CSCI 444/544 Operating Systems Fall 2008 Thread concept Thread vs process Thread implementation - user-level - kernel-level - hybrid Inter-process (inter-thread) communication What is Thread

More information

Lecture 4: Threads; weaving control flow

Lecture 4: Threads; weaving control flow Lecture 4: Threads; weaving control flow CSE 120: Principles of Operating Systems Alex C. Snoeren HW 1 Due NOW Announcements Homework #1 due now Project 0 due tonight Project groups Please send project

More information

Linux and Xen. Andrea Sarro. andrea.sarro(at)quadrics.it. Linux Kernel Hacking Free Course IV Edition

Linux and Xen. Andrea Sarro. andrea.sarro(at)quadrics.it. Linux Kernel Hacking Free Course IV Edition Linux and Xen Andrea Sarro andrea.sarro(at)quadrics.it Linux Kernel Hacking Free Course IV Edition Andrea Sarro (andrea.sarro(at)quadrics.it) Linux and Xen 07/05/2008 1 / 37 Introduction Xen and Virtualization

More information

CIS Operating Systems Memory Management Address Translation for Paging. Professor Qiang Zeng Spring 2018

CIS Operating Systems Memory Management Address Translation for Paging. Professor Qiang Zeng Spring 2018 CIS 3207 - Operating Systems Memory Management Address Translation for Paging Professor Qiang Zeng Spring 2018 Previous class What is logical address? Who use it? Describes a location in the logical memory

More information

Projects on the Intel Single-chip Cloud Computer (SCC)

Projects on the Intel Single-chip Cloud Computer (SCC) Projects on the Intel Single-chip Cloud Computer (SCC) Jan-Arne Sobania Dr. Peter Tröger Prof. Dr. Andreas Polze Operating Systems and Middleware Group Hasso Plattner Institute for Software Systems Engineering

More information

Measuring the impacts of the Preempt-RT patch

Measuring the impacts of the Preempt-RT patch Measuring the impacts of the Preempt-RT patch maxime.chevallier@smile.fr October 25, 2017 RT Linux projects Simulation platform : bi-xeon, lots ot RAM 200µs wakeup latency, networking Test bench : Intel

More information

Virtualization and memory hierarchy

Virtualization and memory hierarchy Virtualization and memory hierarchy Computer Architecture J. Daniel García Sánchez (coordinator) David Expósito Singh Francisco Javier García Blas ARCOS Group Computer Science and Engineering Department

More information

2017 Pearson Educa2on, Inc., Hoboken, NJ. All rights reserved.

2017 Pearson Educa2on, Inc., Hoboken, NJ. All rights reserved. Operating Systems: Internals and Design Principles Chapter 4 Threads Ninth Edition By William Stallings Processes and Threads Resource Ownership Process includes a virtual address space to hold the process

More information

CS 152 Computer Architecture and Engineering

CS 152 Computer Architecture and Engineering CS 152 Computer Architecture and Engineering Lecture 12 -- Virtual Memory 2014-2-27 John Lazzaro (not a prof - John is always OK) TA: Eric Love www-inst.eecs.berkeley.edu/~cs152/ Play: CS 152 L12: Virtual

More information

Virtualization, Xen and Denali

Virtualization, Xen and Denali Virtualization, Xen and Denali Susmit Shannigrahi November 9, 2011 Susmit Shannigrahi () Virtualization, Xen and Denali November 9, 2011 1 / 70 Introduction Virtualization is the technology to allow two

More information

Motivation. Threads. Multithreaded Server Architecture. Thread of execution. Chapter 4

Motivation. Threads. Multithreaded Server Architecture. Thread of execution. Chapter 4 Motivation Threads Chapter 4 Most modern applications are multithreaded Threads run within application Multiple tasks with the application can be implemented by separate Update display Fetch data Spell

More information

Protection and System Calls. Otto J. Anshus

Protection and System Calls. Otto J. Anshus Protection and System Calls Otto J. Anshus Protection Issues CPU protection Prevent a user from using the CPU for too long Throughput of jobs, and response time to events (incl. user interactive response

More information

HermitCore A Low Noise Unikernel for Extrem-Scale Systems

HermitCore A Low Noise Unikernel for Extrem-Scale Systems HermitCore A Low Noise Unikernel for Extrem-Scale Systems Stefan Lankes 1, Simon Pickartz 1, Jens Breitbart 2 1 WTH Aachen University, Aachen, Germany 2 Bosch Chassis Systems Control, Stuttgart, Germany

More information

ECE 7650 Scalable and Secure Internet Services and Architecture ---- A Systems Perspective. Part I: Operating system overview: Memory Management

ECE 7650 Scalable and Secure Internet Services and Architecture ---- A Systems Perspective. Part I: Operating system overview: Memory Management ECE 7650 Scalable and Secure Internet Services and Architecture ---- A Systems Perspective Part I: Operating system overview: Memory Management 1 Hardware background The role of primary memory Program

More information

Process and Its Image An operating system executes a variety of programs: A program that browses the Web A program that serves Web requests

Process and Its Image An operating system executes a variety of programs: A program that browses the Web A program that serves Web requests Recap of the Last Class System protection and kernel mode System calls and the interrupt interface Processes Process concept A process s image in a computer Operations on processes Context switches and

More information

Virtualization. Dr. Yingwu Zhu

Virtualization. Dr. Yingwu Zhu Virtualization Dr. Yingwu Zhu Virtualization Definition Framework or methodology of dividing the resources of a computer into multiple execution environments. Types Platform Virtualization: Simulate a

More information

Xen and the Art of Virtualization. Nikola Gvozdiev Georgian Mihaila

Xen and the Art of Virtualization. Nikola Gvozdiev Georgian Mihaila Xen and the Art of Virtualization Nikola Gvozdiev Georgian Mihaila Outline Xen and the Art of Virtualization Ian Pratt et al. I. The Art of Virtualization II. Xen, goals and design III. Xen evaluation

More information

Application Fault Tolerance Using Continuous Checkpoint/Restart

Application Fault Tolerance Using Continuous Checkpoint/Restart Application Fault Tolerance Using Continuous Checkpoint/Restart Tomoki Sekiyama Linux Technology Center Yokohama Research Laboratory Hitachi Ltd. Outline 1. Overview of Application Fault Tolerance and

More information

Virtual Leverage: Server Consolidation in Open Source Environments. Margaret Lewis Commercial Software Strategist AMD

Virtual Leverage: Server Consolidation in Open Source Environments. Margaret Lewis Commercial Software Strategist AMD Virtual Leverage: Server Consolidation in Open Source Environments Margaret Lewis Commercial Software Strategist AMD What Is Virtualization? Abstraction of Hardware Components Virtual Memory Virtual Volume

More information

Computer Architecture Computer Science & Engineering. Chapter 5. Memory Hierachy BK TP.HCM

Computer Architecture Computer Science & Engineering. Chapter 5. Memory Hierachy BK TP.HCM Computer Architecture Computer Science & Engineering Chapter 5 Memory Hierachy Memory Technology Static RAM (SRAM) 0.5ns 2.5ns, $2000 $5000 per GB Dynamic RAM (DRAM) 50ns 70ns, $20 $75 per GB Magnetic

More information

General-purpose computing with VirtualBox on Genode/NOVA. Norman Feske

General-purpose computing with VirtualBox on Genode/NOVA. Norman Feske General-purpose computing with VirtualBox on Genode/NOVA Norman Feske Outline 1. VirtualBox 2. NOVA microhypervisor and Genode 3. Transplantation of VirtualBox to NOVA 4.

More information

Roadmap. Tevfik Ko!ar. CSC Operating Systems Fall Lecture - III Processes. Louisiana State University. Processes. September 1 st, 2009

Roadmap. Tevfik Ko!ar. CSC Operating Systems Fall Lecture - III Processes. Louisiana State University. Processes. September 1 st, 2009 CSC 4103 - Operating Systems Fall 2009 Lecture - III Processes Tevfik Ko!ar Louisiana State University September 1 st, 2009 1 Roadmap Processes Basic Concepts Process Creation Process Termination Context

More information

L4/Darwin: Evolving UNIX. Charles Gray Research Engineer, National ICT Australia

L4/Darwin: Evolving UNIX. Charles Gray Research Engineer, National ICT Australia L4/Darwin: Evolving UNIX Charles Gray Research Engineer, National ICT Australia charles.gray@nicta.com.au Outline 1. Project Overview 2. BSD on the Mach microkernel 3. Porting Darwin to the L4 microkernel

More information

CSE 153 Design of Operating Systems Fall 18

CSE 153 Design of Operating Systems Fall 18 CSE 153 Design of Operating Systems Fall 18 Lecture 2: OS model and Architectural Support Last time/today l Historic evolution of Operating Systems (and computing!) l Today: We start our journey in exploring

More information

Process Description and Control

Process Description and Control Process Description and Control 1 Process:the concept Process = a program in execution Example processes: OS kernel OS shell Program executing after compilation www-browser Process management by OS : Allocate

More information

PAGE REPLACEMENT. Operating Systems 2015 Spring by Euiseong Seo

PAGE REPLACEMENT. Operating Systems 2015 Spring by Euiseong Seo PAGE REPLACEMENT Operating Systems 2015 Spring by Euiseong Seo Today s Topics What if the physical memory becomes full? Page replacement algorithms How to manage memory among competing processes? Advanced

More information

Virtualization. Starting Point: A Physical Machine. What is a Virtual Machine? Virtualization Properties. Types of Virtualization

Virtualization. Starting Point: A Physical Machine. What is a Virtual Machine? Virtualization Properties. Types of Virtualization Starting Point: A Physical Machine Virtualization Based on materials from: Introduction to Virtual Machines by Carl Waldspurger Understanding Intel Virtualization Technology (VT) by N. B. Sahgal and D.

More information

QuartzV: Bringing Quality of Time to Virtual Machines

QuartzV: Bringing Quality of Time to Virtual Machines QuartzV: Bringing Quality of Time to Virtual Machines Sandeep D souza and Raj Rajkumar Carnegie Mellon University IEEE RTAS @ CPS Week 2018 1 A Shared Notion of Time Coordinated Actions Ordering of Events

More information

mos: An Architecture for Extreme Scale Operating Systems

mos: An Architecture for Extreme Scale Operating Systems mos: An Architecture for Extreme Scale Operating Systems Robert W. Wisniewski, Todd Inglett, Pardo Keppel, Ravi Murty, Rolf Riesen Presented by: Robert W. Wisniewski Chief Software Architect Extreme Scale

More information

Interoperation of tasks

Interoperation of tasks Operating systems (vimia219) Interoperation of tasks Tamás Kovácsházy, PhD 4 th topic, Implementation of tasks, processes and threads Budapest University of Technology and Economics Department of Measurement

More information

Virtual Machine Monitors (VMMs) are a hot topic in

Virtual Machine Monitors (VMMs) are a hot topic in CSE 120 Principles of Operating Systems Winter 2007 Lecture 16: Virtual Machine Monitors Keith Marzullo and Geoffrey M. Voelker Virtual Machine Monitors Virtual Machine Monitors (VMMs) are a hot topic

More information