Towards Elastic Operating Systems Amit Gupta Ehab Ababneh Richard Han Eric Keller University of Colorado, Boulder.

Slides:



Advertisements
Similar presentations
Section 6.2. Record data by magnetizing the binary code on the surface of a disk. Data area is reusable Allows for both sequential and direct access file.
Advertisements

Lecture 34: Chapter 5 Today’s topic –Virtual Memories 1.
Serverless Network File Systems. Network File Systems Allow sharing among independent file systems in a transparent manner Mounting a remote directory.
Spark: Cluster Computing with Working Sets
Using DSVM to Implement a Distributed File System Ramon Lawrence Dept. of Computer Science
Background Computer System Architectures Computer System Software.
CMPT 300: Final Review Chapters 8 – Memory Management: Ch. 8, 9 Address spaces Logical (virtual): generated by the CPU Physical: seen by the memory.
Contiki A Lightweight and Flexible Operating System for Tiny Networked Sensors Presented by: Jeremy Schiff.
OS Fall ’ 02 Introduction Operating Systems Fall 2002.
CSE 451: Operating Systems Winter 2009 Module 4 Processes Mark Zbikowski Gary Kimura.
Memory Management 2010.
OS Spring’03 Introduction Operating Systems Spring 2003.
Distributed Resource Management: Distributed Shared Memory
RGF M.S. Thesis Presentaton 12/011 Reduced Development Costs in the Operating System.
ThreadsThreads operating systems. ThreadsThreads A Thread, or thread of execution, is the sequence of instructions being executed. A process may have.
Dr. Kalpakis CMSC 621, Advanced Operating Systems. Fall 2003 URL: Distributed Shared Memory.
Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random access memory.
Resource Fabrics: The Next Level of Grids and Clouds Lei Shi.
Basics of Operating Systems March 4, 2001 Adapted from Operating Systems Lecture Notes, Copyright 1997 Martin C. Rinard.
Design and Implementation of a Single System Image Operating System for High Performance Computing on Clusters Christine MORIN PARIS project-team, IRISA/INRIA.
Chapter 3.1:Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random access.
1 The Google File System Reporter: You-Wei Zhang.
Computer System Architectures Computer System Software
Dual Stack Virtualization: Consolidating HPC and commodity workloads in the cloud Brian Kocoloski, Jiannan Ouyang, Jack Lange University of Pittsburgh.
Yavor Todorov. Introduction How it works OS level checkpointing Application level checkpointing CPR for parallel programing CPR functionality References.
Parallel Programming Models Jihad El-Sana These slides are based on the book: Introduction to Parallel Computing, Blaise Barney, Lawrence Livermore National.
Multiple Processor Systems. Multiprocessor Systems Continuous need for faster and powerful computers –shared memory model ( access nsec) –message passing.
Chapter 6 Operating System Support. This chapter describes how middleware is supported by the operating system facilities at the nodes of a distributed.
Eric Keller, Evan Green Princeton University PRESTO /22/08 Virtualizing the Data Plane Through Source Code Merging.
CSE 451: Operating Systems Section 10 Project 3 wrap-up, final exam review.
A Virtual Machine Monitor for Utilizing Non-dedicated Clusters Kenji Kaneda Yoshihiro Oyama Akinori Yonezawa (University of Tokyo)
CIS250 OPERATING SYSTEMS Memory Management Since we share memory, we need to manage it Memory manager only sees the address A program counter value indicates.
Comparison of Distributed Operating Systems. Systems Discussed ◦Plan 9 ◦AgentOS ◦Clouds ◦E1 ◦MOSIX.
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
© Janice Regan, CMPT 300, May CMPT 300 Introduction to Operating Systems Memory: Relocation.
Ch 10 Shared memory via message passing Problems –Explicit user action needed –Address spaces are distinct –Small Granularity of Transfer Distributed Shared.
Distributed Shared Memory Based on Reference paper: Distributed Shared Memory, Concepts and Systems.
Breakout Session 3 Stack of adaptive systems (with a view on self-adaptation)
Virtual Memory Lecture for CPSC 5155 Edward Bosworth, Ph.D. Computer Science Department Columbus State University.
Virtual Memory The memory space of a process is normally divided into blocks that are either pages or segments. Virtual memory management takes.
A Design of User-Level Distributed Shared Memory Zhi Zhai Feng Shen Computer Science and Engineering University of Notre Dame Oct. 27, 2009 Progress Report.
The Mach System Silberschatz et al Presented By Anjana Venkat.
Copyright © 2006, GemStone Systems Inc. All Rights Reserved. Increasing computation throughput with Grid Data Caching Jags Ramnarayan Chief Architect GemStone.
Thread basics. A computer process Every time a program is executed a process is created It is managed via a data structure that keeps all things memory.
6.894: Distributed Operating System Engineering Lecturers: Frans Kaashoek Robert Morris
A N I N - MEMORY F RAMEWORK FOR E XTENDED M AP R EDUCE 2011 Third IEEE International Conference on Coud Computing Technology and Science.
3/12/2013Computer Engg, IIT(BHU)1 PARALLEL COMPUTERS- 2.
Distributed shared memory u motivation and the main idea u consistency models F strict and sequential F causal F PRAM and processor F weak and release.
Page Replacement Implementation Issues Text: –Tanenbaum ch. 4.7.
Background Computer System Architectures Computer System Software.
CSCI/CMPE 4334 Operating Systems Review: Exam 1 1.
1 Student Date Time Wei Li Nov 30, 2015 Monday 9:00-9:25am Shubbhi Taneja Nov 30, 2015 Monday9:25-9:50am Rodrigo Sanandan Dec 2, 2015 Wednesday9:00-9:25am.
An Introduction to GPFS
Processes Chapter 3. Processes in Distributed Systems Processes and threads –Introduction to threads –Distinction between threads and processes Threads.
Performance Driven Database Design for Scalable Web Applications Jozsef Patvarczki, Murali Mani, and Neil Heffernan Scaling up web applications requires.
SLC/VER1.0/OS CONCEPTS/OCT'99
OpenMosix, Open SSI, and LinuxPMI
Curator: Self-Managing Storage for Enterprise Clusters
Andy Wang COP 5611 Advanced Operating Systems
Auburn University COMP7330/7336 Advanced Parallel and Distributed Computing MapReduce - Introduction Dr. Xiao Qin Auburn.
CMSC 611: Advanced Computer Architecture
湖南大学-信息科学与工程学院-计算机与科学系
Page Replacement.
Outline Midterm results summary Distributed file systems – continued
Ch 4. The Evolution of Analytic Scalability
CSE 542: Operating Systems
Distributed Resource Management: Distributed Shared Memory
CSE 542: Operating Systems
MapReduce: Simplified Data Processing on Large Clusters
Presentation transcript:

Towards Elastic Operating Systems Amit Gupta Ehab Ababneh Richard Han Eric Keller University of Colorado, Boulder

2 OS/Process Resources Limited Thrashing CPUs limited I/O bottlenecks Network Storage Present Workarounds Additional Scripting/Code changes Extra Modules/Frameworks Coordination Synch/Aggregating State OS + Cloud Today ELB/ Cloud Mgr

3 Advantages Expands available Memory Extends the scope of Multithreaded Parallelism (More CPUs available) Mitigates I/O bottlenecks Network Storage Stretch Process OS/Process

ElasticOS : Our Vision 4

ElasticOS: Our Goals  “Elasticity” as an OS Service  Elasticize all resources – Memory, CPU, Network, …  Single machine abstraction  Apps unaware whether they’re running on 1 machine or 1000 machines  Simpler Parallelism  Compatible with an existing OS (e.g Linux, …) 5

“Stretched” Process Unified Address Space 6 OS/Process VR Elastic Page Table Location

Movable Execution Context 7 OS/Process OS handles elasticity – Apps don’t change Partition locality across multiple nodes Useful for single (and multiple) threads For multiple threads, seamlessly exploit network I/O and CPU parallelism

Replicate Code, Partition Data 8 CODE Data 1 Data 2 CODE Unique copy of data (unlike DSM) Execution context follows data (unlike Process Migration, SSI )

Exploiting Elastic Locality 9 We need an adaptive page clustering algorithm LRU, NSWAP i.e “always pull” Execution follows data i.e “always jump” Hybrid (Initial): Pull pages, then Jump

Status and Future Work  Complete our initial prototype  Improve our page placement algorithm  Improve context jump efficiency  Investigate Fault Tolerance issues 10

11 Thank You Questions ? Contact:

Algorithm Performance(1) 12

Algorithm Performance(2) 13

Page Placement Multinode Adaptive LRU CPUs Mem SwapCPUsSwap Mem Pulls Threshold Reached ! 14 Pull First Jump Execution Context

Locality in a Single Thread CPUs Mem SwapCPUsSwap Mem Temporal Locality 15

Locality across Multiple Threads CPUs Mem SwapCPUsSwap Mem 16 CPUsSwap

Unlike DSM… 17

Exploiting Elastic Locality 18 Assumptions Replicate Code Pages, Place Data Pages (vs DSM) We need an adaptive page clustering algorithm LRU, NSWAP Us (Initial): Pull pages, then Jump

Replicate Code, Distribute Data 19 CODE Data 1 Data 2 CODE Unique copy of data (vs DSM) Execution context follows data (vs Process Migration) Accessing Data 1 Accessing Data 2 Accessing Data 1

Benefits  OS handles elasticity – Apps don’t change  Partition locality across multiple nodes  Useful for single (and multiple) threads  For multiple threads, seamlessly exploit network I/O and CPU parallelism 20

Benefits (delete)  OS handles elasticity  Application ideally runs unmodified  Application is naturally partitioned …  By Page Access locality  By seamlessly exploiting multithreaded parallelism  By intelligent page placement 21

How should we place pages ? 22

Execution Context Jumping A single thread example 23 Address Space Node 1 Address Space Node 2 Process TIME

24 Address Space Node 1 Address Space Node 2 Process V R Page Table IP Addr “Stretch” a Process Unified Address Space

Operating Systems Today  Resource Limit = 1 Node OS 25 CPUs Mem Disks Process

Cloud Applications at Scale 26 Cloud Manager Load Balancer Process More Resources ? Process Framework (eg. Map Reduce) Partitioned Data More Queries ?

Our findings  Important Tradeoff  Data Page Pulls Vs Execution Context Jumps  Latency cost is realistic  Our Algorithm: Worst case scenario  “always pull” == NSWAP  marginal improvements 27

Advantages  Natural Groupings: Threads & Pages  Align resources with inherent parallelism  Leverage existing mechanisms for synchronization 28

“Stretch” a Process : Unified Address Space V R CPUs Mem Swap CPUs Mem Swap Page Table A “Stretched” Process = Collection of Pages + Other Resources { Across Several Machines } 29 IP Addr

delete Exec. context follows Data  Replicate Code Pages  Read-Only => No Consistency burden  Smartly distribute Data Pages  Execution context can jump  Moves towards data  *Converse also allowed* 30

Elasticity in Cloud Apps Today D1 ~~~~ Input Data …. ~~~~ CPUs Mem Disk Output Data D2Dx 31

D1 Load Balancer …. ~~~~ CPUs Mem Disk Output Data D2Dx Input Queries Dy 32

(delete)Goals : Elasticity dimensions  Extend Elasticity to  Memory  CPU  I/O  Network  Storage 33

Thank You 34

Bang Head Here ! 35

Stretching a Thread 36

Overlapping Elastic Processes 37

*Code Follows Data* 38

Application Locality 39

Possible Animation? 40

Multinode Adaptive LRU 41

Possible Animation? 42

Open Topics  Fault tolerance  Stack handling  Dynamic Linked Libraries  Locking 43

Elastic Page Table Virtual AddrPhy. AddrValidNode (IP addr) AB1Localhost CD0 EF GH0 Local Mem Swap space Remote Mem Remote Swap 44

“Stretch” a Process  Move beyond resource boundaries of ONE machine  CPU  Memory  Network, I/O 45

D1D2 ~~~~ Input Data …. ~~~~ CPUs Mem Disk Output Data CPUs Mem Disk 46

D1 CPUs Mem Disk D2 CPUs Mem Disk ~~~~ Data 47

Reinventing Elasticity Wheel 48