Enabling Hybrid Parallel Runtimes Through Kernel and Virtualization Support. Kyle C. Hale and Peter Dinda
|
|
- Dorcas Willis
- 6 years ago
- Views:
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 Technical Report Number: NU-EECS-16-03 March, 2016 Automatic Hybridization of Runtime Systems Kyle C. Hale, Conor Hetland, and Peter Dinda Abstract
More informationHard 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 informationEnabling 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 informationIsoStack 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 informationHPMMAP: 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 informationAkaros. 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 informationXen 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 informationTCBs 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 informationFlexSC. 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 informationAUTOBEST: 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 informationMultiverse: 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 informationCOMPUTER 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 informationO 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 informationExokernel: 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 informationOpenOnload. 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 informationVMM 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 informationRevisiting 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 informationDistributed 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 informationLast 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 informationPerformance 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 informationOptimizing 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 information2 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 informationOperating 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 informationA 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 informationOperating 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 informationA 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 informationECE 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 informationARMlock: 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 informationAmazon 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 informationHPC 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 informationVirtual 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 informationSpring 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 informationCIS 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 informationCS 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 informationCS 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 informationAn 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 informationEbbRT: 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 informationOS 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 Outline Machine Virtualization Overview CPU Virtualization (Trap-and-Emulate) CPU Virtualization (Modern x86) Memory Virtualization Performance Challenges Outline Machine
More informationIntroduction. 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 informationFour 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 informationThe 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 informationProcesses 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 informationOverview 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 informationCIS 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 informationOperating 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 informationLINUX 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 informationFlexible 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 informationChapter 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 informationThe 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 informationAdvanced 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 informationDan 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 informationInterrupt 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 informationVirtual 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 informationLoad-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 informationLast 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 informationLast 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 informationMICROKERNEL 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 informationLecture 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 informationCSE 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 informationCSE 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 informationLecture 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 informationRe-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 informationKVM 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 informationCS5460: 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 informationPractical 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 informationFAQ. 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 informationScheduling. 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 informationQuestions 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 informationAgenda. 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 informationLecture 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 informationLinux 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 informationCIS 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 informationProjects 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 informationMeasuring 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 informationVirtualization 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 information2017 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 informationCS 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 informationVirtualization, 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 informationMotivation. 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 informationProtection 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 informationHermitCore 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 informationECE 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 informationProcess 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 informationVirtualization. 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 informationXen 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 informationApplication 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 informationVirtual 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 informationComputer 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 informationGeneral-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 informationRoadmap. 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 informationL4/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 informationCSE 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 informationProcess 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 informationPAGE 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 informationVirtualization. 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 informationQuartzV: 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 informationmos: 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 informationInteroperation 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 informationVirtual 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