A down-to-earth look at the cloud host OS Malte SchwarzkopfSteven Hand.

Slides:



Advertisements
Similar presentations
CS533 Concepts of Operating Systems Class 5 Integrated Task and Stack Management.
Advertisements

1 Threads, SMP, and Microkernels Chapter 4. 2 Process: Some Info. Motivation for threads! Two fundamental aspects of a “process”: Resource ownership Scheduling.
Contiki A Lightweight and Flexible Operating System for Tiny Networked Sensors Presented by: Jeremy Schiff.
Computer Science 162 Discussion Section Week 2. Agenda Recap “What is an OS?” and Why? Process vs. Thread “THE” System.
1 Concurrent and Distributed Systems Introduction 8 lectures on concurrency control in centralised systems - interaction of components in main memory -
Chapter 13 Embedded Systems
Systems Programming Course Gustavo Rodriguez-Rivera.
CS533 Concepts of Operating Systems Class 3 Integrated Task and Stack Management.
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department.
Stack Management Each process/thread has two stacks  Kernel stack  User stack Stack pointer changes when exiting/entering the kernel Q: Why is this necessary?
Virtualization Technology Prof D M Dhamdhere CSE Department IIT Bombay Moving towards Virtualization… Department of Computer Science and Engineering, IIT.
Computer System Architectures Computer System Software
Microkernels, virtualization, exokernels Tutorial 1 – CSC469.
UNIX System Administration OS Kernal Copyright 2002, Dr. Ken Hoganson All rights reserved. OS Kernel Concept Kernel or MicroKernel Concept: An OS architecture-design.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 2: System Structures.
Introduction and Overview Questions answered in this lecture: What is an operating system? How have operating systems evolved? Why study operating systems?
Chapter 6 Operating System Support. This chapter describes how middleware is supported by the operating system facilities at the nodes of a distributed.
LiNK: An Operating System Architecture for Network Processors Steve Muir, Jonathan Smith Princeton University, University of Pennsylvania
Eric Keller, Evan Green Princeton University PRESTO /22/08 Virtualizing the Data Plane Through Source Code Merging.
Chapter 4 Threads, SMP, and Microkernels Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design.
DiProNN Resource Management System (DiProNN = Distributed Programmable Network Node) Tomáš Rebok Faculty of Informatics MU, Brno Czech.
Transparency in Distributed Operating Systems Vijay Akkineni.
Virtualization: Not Just For Servers Hollis Blanchard PowerPC kernel hacker.
OPERATING SYSTEMS Goals of the course Definitions of operating systems Operating system goals What is not an operating system Computer architecture O/S.
Hardware process When the computer is powered up, it begins to execute fetch-execute cycle for the program that is stored in memory at the boot strap entry.
MATRIX MULTIPLY WITH DRYAD B649 Course Project Introduction.
MIDORI The Post Windows Operating System Microsoft Research’s.
Computers Operating System Essentials. Operating Systems PROGRAM HARDWARE OPERATING SYSTEM.
Ihr Logo Operating Systems Internals & Design Principles Fifth Edition William Stallings Chapter 2 (Part II) Operating System Overview.
Headline in Arial Bold 30pt HPC User Forum, April 2008 John Hesterberg HPC OS Directions and Requirements.
Issues Autonomic operation (fault tolerance) Minimize interference to applications Hardware support for new operating systems Resource management (global.
OPERATING SYSTEM SUPPORT DISTRIBUTED SYSTEMS CHAPTER 6 Lawrence Heyman July 8, 2002.
ECE 720T5 Fall 2012 Cyber-Physical Systems Rodolfo Pellizzoni.
Overview of Operating Systems Introduction to Operating Systems: Module 0.
A. Frank - P. Weisberg Operating Systems Structure of Operating Systems.
Full and Para Virtualization
Hardware process When the computer is powered up, it begins to execute fetch-execute cycle for the program that is stored in memory at the boot strap entry.
Chapter 2 Operating System Overview Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles,
What is a Process ? A program in execution.
Slides created by: Professor Ian G. Harris Operating Systems  Allow the processor to perform several tasks at virtually the same time Ex. Web Controlled.
CSCI/CMPE 4334 Operating Systems Review: Exam 1 1.
Copyright Prentice Hall, Inc. 1 Operating System Overview.
Chapter 2 Operating System Overview Dave Bremer Otago Polytechnic, N.Z. ©2008, Prentice Hall Operating Systems: Internals and Design Principles, 6/E William.
Computer System Structures
TensorFlow– A system for large-scale machine learning
Current Generation Hypervisor Type 1 Type 2.
Operating Systems : Overview
SOFTWARE DESIGN AND ARCHITECTURE
Processes and Threads Processes and their scheduling
KERNEL ARCHITECTURE.
CMPE419 Mobile Application Development
Operating Systems and Systems Programming
Chapter 6: CPU Scheduling
Software Defined Networking (SDN)
Chapter 1: Intro (excerpt)
Virtualization Layer Virtual Hardware Virtual Networking
Chapter 15, Exploring the Digital Domain
Lecture 21: Introduction to Process Scheduling
Virtualization Techniques
Operating Systems : Overview
Outline Module 1 and 2 dealt with processes, scheduling and synchronization Next two modules will deal with memory and storage Processes require data to.
Operating Systems : Overview
Operating Systems Lecture 1.
Lecture 21: Introduction to Process Scheduling
Introduction to Virtual Machines
Introduction to Virtual Machines
Chapter-1 Computer is an advanced electronic device that takes raw data as an input from the user and processes it under the control of a set of instructions.
CMPE419 Mobile Application Development
Lecture Topics: 11/1 Hand back midterms
Presentation transcript:

A down-to-earth look at the cloud host OS Malte SchwarzkopfSteven Hand

“The abstract accurately describes this paper! It is passionate and opinionated and full of sensibilities.” “[...] In this position paper, we make a passionate and necessarily opinionated argument [...]”

CO CONTROVERSIAL OPINIONS PROVOCATIVE, SPECULATIVE, OPINIONATED CONTENT

VMVM

VMVM

Hypervisor Linux kernel Processes “OS stuff“ interrupts, scheduling, preemption User space threads Language runtime LL threads User code Library code

 Highly general Existing tools Familiar environment

 [and yet, the programming models are often restrictive!] Layering Large base images Slow to spawn Booting... Death by generality 

MapReduce FlumeJavaHivePig Job... Job ? All the other layers...

Experiment from D. Murray, A distributed execution engine supporting data-dependent control flow. PhD thesis, University of Cambridge, 2011.

What do we really need?

... “Magic box“ i.e. some algorithm... Input data objects Output data objects Batch

Serving Request handling logic

Back to the Eighties! Virtualize custom µVMs Hypervisor Legacy VM

Numbers and experiment by Sören Bleikertz: Redis example

Mantra: Make the OS do exactly (and just) what is needed.

ShellStandard libsFilesystem Multi-threading Locking Concurrency primitives Pre-emption Process mgmt I/O mgmt Isolation Resource multiplexing

Execution control Resource management Isolation Data access

Execution control Non-preemptive scheduling Dedicated cores Centralize I/O mgmt Statically link all user binaries

Resource Management & Isolation Principle of OS buffer mgmt: request/commit Request/commit interface Backpressure for fairness Embrace hardware heterogeneity

Resource Management & Isolation HyperthreadDifferent phys. core AMD Opteron 6168 Intel i7-2600K Different NUMA nodeSame NUMA node

Benchmark your HW heterogeneity Learn things about your architecture that you never knew! Ads by Google Cambridge Computer Lab

Data access “Data object“ abstraction Global, deterministic naming Transparent DO & buffer mgmt [N.B. binaries are just DOs, too!]

Output UUIDtask UUIDsequence num.versionInput UUID 0,1,...,N = Data access Capabilities Consistency levels

I hear your cries… “This is going to be a nightmare to program!“ “People should not need to know about OS-level stuff in order to program the cloud!“

Compiler support New, bespoke toolchain Simple interfaces “Everything is a task“

Take-away: How about we push the good things about MapReduce into the OS?

How about we restrict the OS to have simplicity and predictable performance? Take-away: