M 3 Microkernel-based System for Heterogeneous Manycores
|
|
- Dorthy Alexander
- 5 years ago
- Views:
Transcription
1 M 3 Microkernel-based System for Heterogeneous Manycores Nils Asmussen MKC, 06/29/ / 35
2 Outline 1 Introduction 2 Data Transfer Unit 3 Prototype Platforms 4 M 3 5 Summary 2 / 35
3 Outline 1 Introduction 2 Data Transfer Unit 3 Prototype Platforms 4 M 3 5 Summary 3 / 35
4 Motivation Intel Knights Landing 4 / 35
5 Motivation Intel Knights Landing Qualcom Snapdragon / 35
6 What s the Problem? DSP ARM big Audio Decoder Intel Xeon Intel Xeon FPGA DSP ARM LITTLE 5 / 35
7 What s the Problem? DSP ARM big Audio Decoder Intel Xeon Kernel Intel Xeon Kernel FPGA DSP ARM LITTLE 5 / 35
8 What s the Problem? DSP ARM big Kernel Audio Decoder Intel Xeon Kernel Intel Xeon Kernel FPGA DSP ARM LITTLE Kernel 5 / 35
9 What s the Problem? ARM big Kernel Intel Xeon Kernel Intel Xeon Kernel ARM LITTLE Kernel 5 / 35
10 The Goal Treat all compute units (CU) as first-class citizens: 1 Run untrusted code without causing harm 2 Access operating system services 3 Interact as the master with other CUs 6 / 35
11 First-class Citizenchip as Enabler Pipe communication between arbitrary CUs Use parallism on GPUs for FS operations Direct access to accelerators from the net... 7 / 35
12 My Approach DSP ARM big Audio Decoder Intel Xeon Intel Xeon FPGA DSP ARM LITTLE 8 / 35
13 My Approach DSP ARM big Audio Decoder Intel Xeon Intel Xeon FPGA DSP ARM LITTLE 8 / 35
14 My Approach DSP ARM big Audio Decoder Intel Xeon Intel Xeon FPGA DSP ARM LITTLE 8 / 35
15 My Approach PE PE PE PE DSP ARM big Audio Decoder Intel Xeon PE PE PE PE Intel Xeon FPGA DSP ARM LITTLE 8 / 35
16 My Approach PE PE PE PE DSP App ARM Kernel big Audio App Decoder Intel App Xeon PE PE PE PE Intel App Xeon FPGA App DSP App ARM App LITTLE 8 / 35
17 My Approach PE PE PE PE DSP App ARM Kernel big Audio App Decoder Intel App Xeon PE PE PE PE Intel App Xeon FPGA App DSP App ARM App LITTLE 8 / 35
18 Outline 1 Introduction 2 Data Transfer Unit 3 Prototype Platforms 4 M 3 5 Summary 9 / 35
19 Data Transfer Unit Supports memory access and message passing Provides a number of endpoints Each endpoint can be configured for: 1 Accessing a piece of memory (contiguous range, byte granular) 2 Receiving messages into a ringbuffer 3 Sending messages to a receiving endpoint Configuration only by kernel, usage by application Direct reply on received messages Credits are used to prevent DoS attacks 10 / 35
20 Data Transfer Unit Example DSP App ARM big Kernel S R 11 / 35
21 Data Transfer Unit Example DSP App ARM big Kernel S R 11 / 35
22 Data Transfer Unit Example DSP App ARM big Kernel S R 11 / 35
23 Outline 1 Introduction 2 Data Transfer Unit 3 Prototype Platforms 4 M 3 5 Summary 12 / 35
24 Introduction Data Transfer Unit Prototype Platforms M3 Summary Tomahawk 2 and 4 PE Xtensa LX4 PE R Data SPM PE R PE PE R Instr. SPM PE PE R R R R Ctrl. PE R R DRAM Cores attached to NoC with No privileged mode No MMU, no caches, but SPM T2: simple ; T4: most features 13 / 35
25 Linux M 3 runs on Linux using it as a virtual machine A process simulates a PE, having two threads (CPU + ) s communicate over UNIX domain sockets No accuracy because Programs are directly executed on host Data transfers have huge overhead compared to HW Very useful for debugging and early prototyping 14 / 35
26 gem5 Modular platform for computer-system architecture research Supports various ISAs (x86, ARM, Alpha, SPARC,... ) Cycle-accurate simulation Has an out-of-order core model We built a for gem5 Support for caches and virtual memory We also added hardware accelerators 15 / 35
27 gem5 Example Configuration x86 L1$ PE x86 PE DRAM ME L2$ IO$ L1$ IO$ Accel PE Accel PE VM SPM L1$ 16 / 35
28 Outline 1 Introduction 2 Data Transfer Unit 3 Prototype Platforms 4 M 3 5 Summary 17 / 35
29 Introduction M 3 uses ideas from L4, but implemented from scratch Provides mechanisms for PEs, memory and communication Drivers, filesystems,... are implemented as services Kernel manages permissions, using capabilities enforces permissions (communication, memory access) Kernel has no ISA-specific code 18 / 35
30 Capabilities M 3 has the following capabilities: Send: send messages to a receive EP Receive: receive messages from send EPs ory: access remote memory via Mapping: access remote memory via load/store Service: create sessions Session: exchange caps with service VPE: execute code on a PE 19 / 35
31 Capability Exchange Kernel provides syscalls to create, exchange and revoke caps There are two ways to exchange caps: 1 Directly with another VPE (typically, a child VPE) 2 Over a session with a service The kernel offers two operations: 1 Delegate: send capability to somebody else 2 Obtain: receive capability from somebody else 20 / 35
32 Communication Overview Kernel: PE0 Core VPE1: PE1 Recv Cap VPE2: PE2 Send Cap Receiver: PE1 Core Recv Gate Sender: PE2 Core Send Gate cmdreg cmdreg adds cmdreg EP EP buffer header data EP credits unread occup channel target label configuration of endpoints to establish a channel 21 / 35
33 Communication System call to create send cap for specific EP and VPE Typically created for own VPE Binds a label to the send cap for secure identification Can then be delegated to someone else To use a send cap, an EP needs to be configured The kernel provides a syscall for that purpose This indirection allows EP multiplexing and blocking 22 / 35
34 ory Syscall reqmem can be used to request remote memory Like with send caps, an EP needs to be configured to access it Afterwards, the can be instructed to read/write Behaves like RDMA (no SW involved) Syscall derivemem to create a subset of mem cap 23 / 35
35 VPEs Syscall createvpe to create a new VPE The kernel assigns the VPE to a suitable PE, if possible App gets VPE cap and memory cap for the whole PE memory Syscall to start it and wait for its completion (exit) Can exchange capabilities with the VPE before starting it: e.g., delegate inputs after it s finished: e.g., obtain results 24 / 35
36 VPEs Examples Executing ELF-Binaries VPE vpe (" test "); char * args [] = {"/ bin / hello ", " foo ", " bar "}; vpe. exec (3, args ); 25 / 35
37 VPEs Examples Executing ELF-Binaries VPE vpe (" test "); char * args [] = {"/ bin / hello ", " foo ", " bar "}; vpe. exec (3, args ); Asynchronous Lambdas VPE vpe (" test "); Gate mem = Gate :: create_ global (0 x1000, RW); vpe. delegate ( CapRngDesc ( mem. sel (), 1)); vpe. run_async ([& mem ]() { mem. read (buf, sizeof ( buf )); cout << " Done reading!\ n"; }); 25 / 35
38 Filesystem: m3fs Filesystem service is implemented outside of kernel m3fs is (currently) an in-memory filesystem PE1 PE2 PE3 m3fs App kernel FS 26 / 35
39 Filesystem: m3fs Filesystem service is implemented outside of kernel m3fs is (currently) an in-memory filesystem PE1 PE2 PE3 open m3fs App kernel FS 26 / 35
40 Filesystem: m3fs Filesystem service is implemented outside of kernel m3fs is (currently) an in-memory filesystem PE1 PE2 PE3 obtain m3fs App kernel FS 26 / 35
41 Filesystem: m3fs Filesystem service is implemented outside of kernel m3fs is (currently) an in-memory filesystem obtain PE1 PE2 PE3 obtain m3fs App kernel FS 26 / 35
42 Filesystem: m3fs Filesystem service is implemented outside of kernel m3fs is (currently) an in-memory filesystem PE1 PE2 PE3 m3fs App kernel FS read/write 26 / 35
43 Pipes: Direct Pipe writer reader 27 / 35
44 Pipes: Direct Pipe Shared ory writer reader msg passing 28 / 35
45 Pipes: Indirect Pipe writer reader writer reader reader 29 / 35
46 Pipes: Indirect Pipe Shared ory writer reader msg passing service 30 / 35
47 Files on Top of Capabilities Example libm3 provides abstractions to work with files, pipes,... Every VPE has a mountspace and file descriptors These can be inherited to child VPEs Pure convenience: security is based on capabilities VPE vpe ("my vpe "); vpe. fds () ->set ( STDIN_FD, pipe_fd ); vpe. fds () ->set ( STDOUT_FD, VPE :: self ().fds () ->get ( STDOUT_FD )); vpe. obtain_fds (); vpe. run_async ([] { File *in = VPE :: self ().fds () ->get ( STDIN_FD ); //... }); 31 / 35
48 Demo Demo 32 / 35
49 Outline 1 Introduction 2 Data Transfer Unit 3 Prototype Platforms 4 M 3 5 Summary 33 / 35
50 Ongoing Work Multiple instances of the kernel/services (by Matthias Hille) Port of the musl C library (by Sherif Shehabaldin) Integration of a NIC (by Georg Kotheimer) Integration of an IDE controller (by Lukas Landgraf) 34 / 35
51 Summary +M 3 is a new point in the design space for systems Supports untrusted code and OS services on all PEs Supports direct communication between all PEs abstracts heterogeneity and provides common interface M 3 kernel controls s remotely M 3 is available at 35 / 35
M 3 Microkernel-based System for Heterogeneous Manycores
M 3 Microkernel-based System for Heterogeneous Manycores Nils Asmussen MKC, 06/29/2017 1 / 48 Overall System Design Prototype Platforms Capabilities OS Services Context Switching Evaluation Heterogeneous
More informationIntroduction Tasks Memory VFS IPC UI. Escape. Nils Asmussen MKC, 07/09/ / 40
Escape Nils Asmussen MKC, 07/09/2015 1 / 40 Outline 1 Introduction 2 Tasks 3 Memory 4 VFS 5 IPC 6 UI 2 / 40 Outline 1 Introduction 2 Tasks 3 Memory 4 VFS 5 IPC 6 UI 3 / 40 Motivation Beginning Writing
More informationIntroduction Tasks Memory VFS IPC Security UI. Escape. Nils Asmussen MKC, 07/13/ / 43
Escape Nils Asmussen MKC, 07/13/2017 1 / 43 Outline 1 Introduction 2 Tasks 3 Memory 4 VFS 5 IPC 6 Security 7 UI 2 / 43 Outline 1 Introduction 2 Tasks 3 Memory 4 VFS 5 IPC 6 Security 7 UI 3 / 43 Motivation
More informationThe microkernel OS Escape
The microkernel OS Escape Nils Asmussen FOSDEM 14 1 / 25 Outline 1 Introduction 2 Tasks 3 Memory 4 VFS 5 Demo 2 / 25 Outline 1 Introduction 2 Tasks 3 Memory 4 VFS 5 Demo 3 / 25 Motivation Beginning Writing
More informationCSE 120 Principles of Operating Systems
CSE 120 Principles of Operating Systems Spring 2018 Lecture 10: Paging Geoffrey M. Voelker Lecture Overview Today we ll cover more paging mechanisms: Optimizations Managing page tables (space) Efficient
More informationCSE 410: Systems Programming
CSE 410: Systems Programming Pipes and Redirection Ethan Blanton Department of Computer Science and Engineering University at Buffalo Interprocess Communication UNIX pipes are a form of interprocess communication
More informationLecture 3: O/S Organization. plan: O/S organization processes isolation
6.828 2012 Lecture 3: O/S Organization plan: O/S organization processes isolation topic: overall o/s design what should the main components be? what should the interfaces look like? why have an o/s at
More informationCOS 318: Operating Systems
COS 318: Operating Systems OS Structures and System Calls Prof. Margaret Martonosi Computer Science Department Princeton University http://www.cs.princeton.edu/courses/archive/fall11/cos318/ Outline Protection
More informationLecture 19: File System Implementation. Mythili Vutukuru IIT Bombay
Lecture 19: File System Implementation Mythili Vutukuru IIT Bombay File System An organization of files and directories on disk OS has one or more file systems Two main aspects of file systems Data structures
More informationProcess. Heechul Yun. Disclaimer: some slides are adopted from the book authors slides with permission
Process Heechul Yun Disclaimer: some slides are adopted from the book authors slides with permission 1 Recap OS services Resource (CPU, memory) allocation, filesystem, communication, protection, security,
More informationInterprocess Communication Mechanisms
Interprocess Communication 1 Interprocess Communication Mechanisms shared storage shared virtual memory shared files message-based sockets pipes signals Interprocess Communication 2 Message Passing Indirect
More informationInterprocess Communication Mechanisms
Interprocess Communication 1 Interprocess Communication Mechanisms shared storage shared virtual memory shared files message-based sockets pipes signals... Interprocess Communication 2 Message Passing
More informationCSE506: Operating Systems CSE 506: Operating Systems
CSE 506: Operating Systems What Software Expects of the OS What Software Expects of the OS Shell Memory Address Space for Process System Calls System Services Launching Program Executables Shell Gives
More informationDesign Overview of the FreeBSD Kernel CIS 657
Design Overview of the FreeBSD Kernel CIS 657 Organization of the Kernel Machine-independent 86% of the kernel (80% in 4.4BSD) C code Machine-dependent 14% of kernel Only 0.6% of kernel in assembler (2%
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 informationDesign Overview of the FreeBSD Kernel. Organization of the Kernel. What Code is Machine Independent?
Design Overview of the FreeBSD Kernel CIS 657 Organization of the Kernel Machine-independent 86% of the kernel (80% in 4.4BSD) C C code Machine-dependent 14% of kernel Only 0.6% of kernel in assembler
More informationCSE 120 Principles of Operating Systems Spring 2017
CSE 120 Principles of Operating Systems Spring 2017 Lecture 12: Paging Lecture Overview Today we ll cover more paging mechanisms: Optimizations Managing page tables (space) Efficient translations (TLBs)
More informationChapter 8: Main Memory
Chapter 8: Main Memory Chapter 8: Memory Management Background Swapping Contiguous Memory Allocation Segmentation Paging Structure of the Page Table Example: The Intel 32 and 64-bit Architectures Example:
More informationCOS 318: Operating Systems
COS 318: Operating Systems OS Structures and System Calls Jaswinder Pal Singh Computer Science Department Princeton University (http://www.cs.princeton.edu/courses/cos318/) Outline Protection mechanisms
More informationGPUnet: Networking Abstractions for GPU Programs. Author: Andrzej Jackowski
Author: Andrzej Jackowski 1 Author: Andrzej Jackowski 2 GPU programming problem 3 GPU distributed application flow 1. recv req Network 4. send repl 2. exec on GPU CPU & Memory 3. get results GPU & Memory
More informationCS 318 Principles of Operating Systems
CS 318 Principles of Operating Systems Fall 2018 Lecture 10: Virtual Memory II Ryan Huang Slides adapted from Geoff Voelker s lectures Administrivia Next Tuesday project hacking day No class My office
More informationProcesses. Process Concept
Processes These slides are created by Dr. Huang of George Mason University. Students registered in Dr. Huang s courses at GMU can make a single machine readable copy and print a single copy of each slide
More informationECE 498 Linux Assembly Language Lecture 1
ECE 498 Linux Assembly Language Lecture 1 Vince Weaver http://www.eece.maine.edu/ vweaver vincent.weaver@maine.edu 13 November 2012 Assembly Language: What s it good for? Understanding at a low-level what
More informationCS 471 Operating Systems. Yue Cheng. George Mason University Fall 2017
CS 471 Operating Systems Yue Cheng George Mason University Fall 2017 Introduction o Instructor of Section 002 Dr. Yue Cheng (web: cs.gmu.edu/~yuecheng) Email: yuecheng@gmu.edu Office: 5324 Engineering
More informationChapter 8: Memory-Management Strategies
Chapter 8: Memory-Management Strategies Chapter 8: Memory Management Strategies Background Swapping Contiguous Memory Allocation Segmentation Paging Structure of the Page Table Example: The Intel 32 and
More informationInterprocess Communication Mechanisms
Interprocess Communication 1 Interprocess Communication Mechanisms shared storage These mechanisms have already been covered. examples: shared virtual memory shared files processes must agree on a name
More informationshared storage These mechanisms have already been covered. examples: shared virtual memory message based signals
Interprocess Communication 1 Interprocess Communication Mechanisms shared storage These mechanisms have already been covered. examples: shared virtual memory shared files processes must agree on a name
More informationDecoupling Dynamic Information Flow Tracking with a Dedicated Coprocessor
1 Decoupling Dynamic Information Flow Tracking with a Dedicated Coprocessor Hari Kannan, Michael Dalton, Christos Kozyrakis Presenter: Yue Zheng Yulin Shi Outline Motivation & Background Hardware DIFT
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 informationCHAPTER 8 - MEMORY MANAGEMENT STRATEGIES
CHAPTER 8 - MEMORY MANAGEMENT STRATEGIES OBJECTIVES Detailed description of various ways of organizing memory hardware Various memory-management techniques, including paging and segmentation To provide
More informationEXTENDING AN ASYNCHRONOUS MESSAGING LIBRARY USING AN RDMA-ENABLED INTERCONNECT. Konstantinos Alexopoulos ECE NTUA CSLab
EXTENDING AN ASYNCHRONOUS MESSAGING LIBRARY USING AN RDMA-ENABLED INTERCONNECT Konstantinos Alexopoulos ECE NTUA CSLab MOTIVATION HPC, Multi-node & Heterogeneous Systems Communication with low latency
More informationSecure Architecture Principles
Computer Security Course. Secure Architecture Principles Slides credit: Dan Boneh What Happens if you can t drop privilege? In what example scenarios does this happen? A service loop E.g., ssh Solution?
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 informationChapter 8: Main Memory. Operating System Concepts 9 th Edition
Chapter 8: Main Memory Silberschatz, Galvin and Gagne 2013 Chapter 8: Memory Management Background Swapping Contiguous Memory Allocation Segmentation Paging Structure of the Page Table Example: The Intel
More informationDeterministic Process Groups in
Deterministic Process Groups in Tom Bergan Nicholas Hunt, Luis Ceze, Steven D. Gribble University of Washington A Nondeterministic Program global x=0 Thread 1 Thread 2 t := x x := t + 1 t := x x := t +
More informationMemory Management. Disclaimer: some slides are adopted from book authors slides with permission 1
Memory Management Disclaimer: some slides are adopted from book authors slides with permission 1 CPU management Roadmap Process, thread, synchronization, scheduling Memory management Virtual memory Disk
More informationCSE 451: Operating Systems Winter Processes. Gary Kimura
CSE 451: Operating Systems Winter 2013 Processes Gary Kimura Process management This module begins a series of topics on processes, threads, and synchronization this is the most important part of the class,
More informationW4118: OS Overview. Junfeng Yang
W4118: OS Overview Junfeng Yang References: Modern Operating Systems (3 rd edition), Operating Systems Concepts (8 th edition), previous W4118, and OS at MIT, Stanford, and UWisc Outline OS definitions
More informationChapter 8: Main Memory
Chapter 8: Main Memory Silberschatz, Galvin and Gagne 2013 Chapter 8: Memory Management Background Swapping Contiguous Memory Allocation Segmentation Paging Structure of the Page Table Example: The Intel
More informationCSci 4061 Introduction to Operating Systems. IPC: Basics, Pipes
CSci 4061 Introduction to Operating Systems IPC: Basics, Pipes Today Directory wrap-up Communication/IPC Test in one week Communication Abstraction: conduit for data exchange between two or more processes
More informationMemory-Mapped Files. generic interface: vaddr mmap(file descriptor,fileoffset,length) munmap(vaddr,length)
File Systems 38 Memory-Mapped Files generic interface: vaddr mmap(file descriptor,fileoffset,length) munmap(vaddr,length) mmap call returns the virtual address to which the file is mapped munmap call unmaps
More informationRISCV with Sanctum Enclaves. Victor Costan, Ilia Lebedev, Srini Devadas
RISCV with Sanctum Enclaves Victor Costan, Ilia Lebedev, Srini Devadas Today, privilege implies trust (1/3) If computing remotely, what is the TCB? Priviledge CPU HW Hypervisor trusted computing base OS
More informationBackground: I/O Concurrency
Background: I/O Concurrency Brad Karp UCL Computer Science CS GZ03 / M030 5 th October 2011 Outline Worse Is Better and Distributed Systems Problem: Naïve single-process server leaves system resources
More informationCSE 560 Computer Systems Architecture
This Unit: CSE 560 Computer Systems Architecture App App App System software Mem I/O The operating system () A super-application Hardware support for an Page tables and address translation s and hierarchy
More informationI/O and virtualization
I/O and virtualization CSE-C3200 Operating systems Autumn 2015 (I), Lecture 8 Vesa Hirvisalo Today I/O management Control of I/O Data transfers, DMA (Direct Memory Access) Buffering Single buffering Double
More informationThe Classical OS Model in Unix
The Classical OS Model in Unix Nachos Exec/Exit/Join Example Exec parent Join Exec child Exit SpaceID pid = Exec( myprogram, 0); Create a new process running the program myprogram. int status = Join(pid);
More information9/19/18. COS 318: Operating Systems. Overview. Important Times. Hardware of A Typical Computer. Today CPU. I/O bus. Network
Important Times COS 318: Operating Systems Overview Jaswinder Pal Singh and a Fabulous Course Staff Computer Science Department Princeton University (http://www.cs.princeton.edu/courses/cos318/) u Precepts:
More informationFaculty of Computer Science, Operating Systems Group. The L4Re Microkernel. Adam Lackorzynski. July 2017
Faculty of Computer Science, Operating Systems Group The L4Re Microkernel Adam Lackorzynski July 2017 2 Agenda Plan What is L4Re? History The L4Re Microkernel / Hypervisor Fiasco Interfaces SMP Virtualization...
More informationProcesses. Johan Montelius KTH
Processes Johan Montelius KTH 2017 1 / 47 A process What is a process?... a computation a program i.e. a sequence of operations a set of data structures a set of registers means to interact with other
More informationECE 471 Embedded Systems Lecture 4
ECE 471 Embedded Systems Lecture 4 Vince Weaver http://www.eece.maine.edu/ vweaver vincent.weaver@maine.edu 12 September 2013 Announcements HW#1 will be posted later today For next class, at least skim
More informationMaria Hybinette, UGA. ! One easy way to communicate is to use files. ! File descriptors. 3 Maria Hybinette, UGA. ! Simple example: who sort
Two Communicating Processes Hello Gunnar CSCI 6730/ 4730 Operating Systems Process Chat Maria A Hi Nice to Hear from you Process Chat Gunnar B Dup & Concept that we want to implement 2 On the path to communication
More informationA process. the stack
A process Processes Johan Montelius What is a process?... a computation KTH 2017 a program i.e. a sequence of operations a set of data structures a set of registers means to interact with other processes
More informationThe Operating System. Chapter 6
The Operating System Machine Level Chapter 6 1 Contemporary Multilevel Machines A six-level l computer. The support method for each level is indicated below it.2 Operating System Machine a) Operating System
More informationOverview. This Lecture. Interrupts and exceptions Source: ULK ch 4, ELDD ch1, ch2 & ch4. COSC440 Lecture 3: Interrupts 1
This Lecture Overview Interrupts and exceptions Source: ULK ch 4, ELDD ch1, ch2 & ch4 COSC440 Lecture 3: Interrupts 1 Three reasons for interrupts System calls Program/hardware faults External device interrupts
More informationDecoupling Dynamic Information Flow Tracking with a Dedicated Coprocessor
Decoupling Dynamic Information Flow Tracking with a Dedicated Coprocessor Hari Kannan, Michael Dalton, Christos Kozyrakis Computer Systems Laboratory Stanford University Motivation Dynamic analysis help
More informationCS24: INTRODUCTION TO COMPUTING SYSTEMS. Spring 2018 Lecture 23
CS24: INTRODUCTION TO COMPUTING SYSTEMS Spring 208 Lecture 23 LAST TIME: VIRTUAL MEMORY Began to focus on how to virtualize memory Instead of directly addressing physical memory, introduce a level of indirection
More informationFall 2017 :: CSE 306. Process Abstraction. Nima Honarmand
Process Abstraction Nima Honarmand Administrivia Course staff email: cse306ta at cs.stonybrook.edu Both Babak and I will be monitoring the account to ensure a timely response What to use it for: any email
More informationI/O, today, is Remote (block) Load/Store, and must not be slower than Compute, any more
I/O, today, is Remote (block) Load/Store, and must not be slower than Compute, any more Manolis Katevenis FORTH, Heraklion, Crete, Greece (in collab. with Univ. of Crete) http://www.ics.forth.gr/carv/
More informationFlavors of Memory supported by Linux, their use and benefit. Christoph Lameter, Ph.D,
Flavors of Memory supported by Linux, their use and benefit Christoph Lameter, Ph.D, Twitter: @qant Flavors Of Memory The term computer memory is a simple term but there are numerous nuances
More informationCOMP SCI 3SH3: Operating System Concepts (Term 2 Winter 2006) Test 2 February 27, 2006; Time: 50 Minutes ;. Questions Instructor: Dr.
COMP SCI 3SH3: Operating System Concepts (Term 2 Winter 2006) Test 2 February 27, 2006; Time: 50 Minutes ;. Questions Instructor: Dr. Kamran Sartipi Name: Student ID: Question 1 (Disk Block Allocation):
More informationADVANCED OPERATING SYSTEMS USB in a microkernel based operating system
ADVANCED OPERATING SYSTEMS 2015 USB in a microkernel based operating system -1- Agenda Microkernels (history and architecture) USB (hardware and protocol specifics) Challenges providing USB in microkernel
More informationA Disseminated Distributed OS for Hardware Resource Disaggregation Yizhou Shan
LegoOS A Disseminated Distributed OS for Hardware Resource Disaggregation Yizhou Shan, Yutong Huang, Yilun Chen, and Yiying Zhang Y 4 1 2 Monolithic Server OS / Hypervisor 3 Problems? 4 cpu mem Resource
More informationSecure Architecture Principles
CS 155 Spring 2016 Secure Architecture Principles Isolation and Least Privilege Access Control Concepts Operating Systems Browser Isolation and Least Privilege Acknowledgments: Lecture slides are from
More informationRecap: Memory Management
, 4/13/2018 EE445M/EE360L.12 Embedded and Real-Time Systems/ Real-Time Operating Systems : Memory Protection, Virtual Memory, Paging References: T. Anderson, M. Dahlin, Operating Systems: Principles and
More informationProcess. Heechul Yun. Disclaimer: some slides are adopted from the book authors slides with permission 1
Process Heechul Yun Disclaimer: some slides are adopted from the book authors slides with permission 1 Recap OS services Resource (CPU, memory) allocation, filesystem, communication, protection, security,
More informationEleos: Exit-Less OS Services for SGX Enclaves
Eleos: Exit-Less OS Services for SGX Enclaves Meni Orenbach Marina Minkin Pavel Lifshits Mark Silberstein Accelerated Computing Systems Lab Haifa, Israel What do we do? Improve performance: I/O intensive
More informationConfinement (Running Untrusted Programs)
Confinement (Running Untrusted Programs) Chester Rebeiro Indian Institute of Technology Madras Untrusted Programs Untrusted Application Entire Application untrusted Part of application untrusted Modules
More informationCS24: INTRODUCTION TO COMPUTING SYSTEMS. Spring 2015 Lecture 23
CS24: INTRODUCTION TO COMPUTING SYSTEMS Spring 205 Lecture 23 LAST TIME: VIRTUAL MEMORY! Began to focus on how to virtualize memory! Instead of directly addressing physical memory, introduce a level of
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 informationVirtual Machines. To do. q VM over time q Implementation methods q Hardware features supporting VM q Next time: Midterm?
Virtual Machines To do q VM over time q Implementation methods q Hardware features supporting VM q Next time: Midterm? *Partially based on notes from C. Waldspurger, VMware, 2010 and Arpaci-Dusseau s Three
More informationCS5460: Operating Systems Lecture 14: Memory Management (Chapter 8)
CS5460: Operating Systems Lecture 14: Memory Management (Chapter 8) Important from last time We re trying to build efficient virtual address spaces Why?? Virtual / physical translation is done by HW and
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 informationThe UNIX Time- Sharing System
The UNIX Time- Sharing System Dennis M. Ritchie and Ken Thompson Bell Laboratories Communications of the ACM July 1974, Volume 17, Number 7 UNIX overview Unix is a general-purpose, multi-user, interactive
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 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 informationOn the Portability and Performance of Message-Passing Programs on Embedded Multicore Platforms
On the Portability and Performance of Message-Passing Programs on Embedded Multicore Platforms Shih-Hao Hung, Po-Hsun Chiu, Chia-Heng Tu, Wei-Ting Chou and Wen-Long Yang Graduate Institute of Networking
More informationRAMP-White / FAST-MP
RAMP-White / FAST-MP Hari Angepat and Derek Chiou Electrical and Computer Engineering University of Texas at Austin Supported in part by DOE, NSF, SRC,Bluespec, Intel, Xilinx, IBM, and Freescale RAMP-White
More informationPrepared by Prof. Hui Jiang Process. Prof. Hui Jiang Dept of Electrical Engineering and Computer Science, York University
EECS3221.3 Operating System Fundamentals No.2 Process Prof. Hui Jiang Dept of Electrical Engineering and Computer Science, York University How OS manages CPU usage? How CPU is used? Users use CPU to run
More informationCSC 5930/9010 Cloud S & P: Virtualization
CSC 5930/9010 Cloud S & P: Virtualization Professor Henry Carter Fall 2016 Recap Network traffic can be encrypted at different layers depending on application needs TLS: transport layer IPsec: network
More informationSCONE: Secure Linux Container Environments with Intel SGX
SCONE: Secure Linux Container Environments with Intel SGX S. Arnautov, B. Trach, F. Gregor, Thomas Knauth, and A. Martin, Technische Universität Dresden; C. Priebe, J. Lind, D. Muthukumaran, D. O'Keeffe,
More informationEuro-Par Pisa - Italy
Euro-Par 2004 - Pisa - Italy Accelerating farms through ad- distributed scalable object repository Marco Aldinucci, ISTI-CNR, Pisa, Italy Massimo Torquati, CS dept. Uni. Pisa, Italy Outline (Herd of Object
More informationNetwork File System (NFS)
Network File System (NFS) Brad Karp UCL Computer Science CS GZ03 / M030 14 th October 2015 NFS Is Relevant Original paper from 1985 Very successful, still widely used today Early result; much subsequent
More informationApplication Access to Persistent Memory The State of the Nation(s)!
Application Access to Persistent Memory The State of the Nation(s)! Stephen Bates, Paul Grun, Tom Talpey, Doug Voigt Microsemi, Cray, Microsoft, HPE The Suspects Stephen Bates Microsemi Paul Grun Cray
More informationCSC501 Operating Systems Principles. OS Structure
CSC501 Operating Systems Principles OS Structure 1 Announcements q TA s office hour has changed Q Thursday 1:30pm 3:00pm, MRC-409C Q Or email: awang@ncsu.edu q From department: No audit allowed 2 Last
More informationProcess. Prepared by Prof. Hui Jiang Dept. of EECS, York Univ. 1. Process in Memory (I) PROCESS. Process. How OS manages CPU usage? No.
EECS3221.3 Operating System Fundamentals No.2 Prof. Hui Jiang Dept of Electrical Engineering and Computer Science, York University How OS manages CPU usage? How CPU is used? Users use CPU to run programs
More informationSecure Architecture Principles
CS 155 Spring 2016 Secure Architecture Principles Isolation and Least Privilege Access Control Concepts Operating Systems Browser Isolation and Least Privilege Acknowledgments: Lecture slides are from
More informationNetwork Support on M 3
Großer Beleg Network Support on M 3 Georg Kotheimer 29. Mai 2018 Technische Universität Dresden Fakultät Informatik Institut für Systemarchitektur Professur Betriebssysteme Betreuender Hochschullehrer:
More informationNetwork File System (NFS)
Network File System (NFS) Brad Karp UCL Computer Science CS GZ03 / M030 19 th October, 2009 NFS Is Relevant Original paper from 1985 Very successful, still widely used today Early result; much subsequent
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 informationInput / Output. Kevin Webb Swarthmore College April 12, 2018
Input / Output Kevin Webb Swarthmore College April 12, 2018 xkcd #927 Fortunately, the charging one has been solved now that we've all standardized on mini-usb. Or is it micro-usb? Today s Goals Characterize
More informationProcesses COMPSCI 386
Processes COMPSCI 386 Elements of a Process A process is a program in execution. Distinct processes may be created from the same program, but they are separate execution sequences. call stack heap STACK
More informationChapter 3: Process Concept
Chapter 3: Process Concept Chapter 3: Process Concept Process Concept Process Scheduling Operations on Processes Inter-Process Communication (IPC) Communication in Client-Server Systems Objectives 3.2
More informationChapter 3: Process Concept
Chapter 3: Process Concept Chapter 3: Process Concept Process Concept Process Scheduling Operations on Processes Inter-Process Communication (IPC) Communication in Client-Server Systems Objectives 3.2
More informationMemory management. Last modified: Adaptation of Silberschatz, Galvin, Gagne slides for the textbook Applied Operating Systems Concepts
Memory management Last modified: 26.04.2016 1 Contents Background Logical and physical address spaces; address binding Overlaying, swapping Contiguous Memory Allocation Segmentation Paging Structure of
More informationCSI Module 2: Processes
CSI3131 - Module 2: es Reading: Chapter 3 (Silberchatz) Objective: To understand the nature of processes including the following concepts: states, the PCB (process control block), and process switching.
More informationCSE506: Operating Systems CSE 506: Operating Systems
CSE 506: Operating Systems What Software Expects of the OS What Software Expects of the OS Memory System Calls System Services Launching Program Executables Shell Memory Abstraction CSE506: Operating Systems
More informationProgramming and Simulating Fused Devices. Part 2 Multi2Sim
Programming and Simulating Fused Devices Part 2 Multi2Sim Rafael Ubal Perhaad Mistry Northeastern University Boston, MA Conference title 1 Outline 1. Introduction 2. The x86 CPU Emulation 3. The Evergreen
More informationWindows architecture. user. mode. Env. subsystems. Executive. Device drivers Kernel. kernel. mode HAL. Hardware. Process B. Process C.
Structure Unix architecture users Functions of the System tools (shell, editors, compilers, ) standard library System call Standard library (printf, fork, ) OS kernel: processes, memory management, file
More informationFast packet processing in the cloud. Dániel Géhberger Ericsson Research
Fast packet processing in the cloud Dániel Géhberger Ericsson Research Outline Motivation Service chains Hardware related topics, acceleration Virtualization basics Software performance and acceleration
More informationInter-Process Communication
Faculty of Computer Science Institute for System Architecture, Operating Systems Group Inter-Process Communication Nils Asmussen Dresden, So far... Microkernels as a design alternative Flexibility Security
More information