Kiryong Ha ∗, Padmanabhan Pillai†, Wolfgang Richter ∗ Yoshihisa Abe ∗, Mahadev Satyanarayanan ∗ *Carnegie Mellon University, †Intel Labs 6/27/2013 Just-in-Time.

Slides:



Advertisements
Similar presentations
Paging: Design Issues. Readings r Silbershatz et al: ,
Advertisements

The case for VM based Cloudlets in Mobile Computing
Source: IEEE Pervasive Computing, Vol. 8, Issue.4, Oct.2009, pp. 14 – 23 Author: Satyanarayanan, M., Bahl, P., Caceres, R., Davies, N. Adviser: Chia-Nian.
Memory Protection: Kernel and User Address Spaces  Background  Address binding  How memory protection is achieved.
Caching and Virtual Memory. Main Points Cache concept – Hardware vs. software caches When caches work and when they don’t – Spatial/temporal locality.
Chap 2 System Structures.
1 Cheriton School of Computer Science 2 Department of Computer Science RemusDB: Transparent High Availability for Database Systems Umar Farooq Minhas 1,
1/30/2015 Just-in-Time Virtual Machine Provisioning for Cloud Offload Kiryong Ha Carnegie Mellon University.
CMPT 300: Final Review Chapters 8 – Memory Management: Ch. 8, 9 Address spaces Logical (virtual): generated by the CPU Physical: seen by the memory.
INTRODUCTION OS/2 was initially designed to extend the capabilities of DOS by IBM and Microsoft Corporations. To create a single industry-standard operating.
Network Implementation for Xen and KVM Class project for E : Network System Design and Implantation 12 Apr 2010 Kangkook Jee (kj2181)
Computer Organization and Architecture
Early OS security Overview by: Greg Morrisett Cornell University, Edited (by permission) for CSUS CSc250 by Bill Mitchell.
Virtualization and the Cloud
Inside Windows Azure Virtual Machines Vijay Rajagopalan Microsoft Corporation.
Virtualization for Cloud Computing
Virtual Machine Monitors CSE451 Andrew Whitaker. Hardware Virtualization Running multiple operating systems on a single physical machine Examples:  VMWare,
CS364 CH08 Operating System Support TECH Computer Science Operating System Overview Scheduling Memory Management Pentium II and PowerPC Memory Management.
Basics of Operating Systems March 4, 2001 Adapted from Operating Systems Lecture Notes, Copyright 1997 Martin C. Rinard.
Slingshot: Deploying Stateful Services in Wireless Hotspots Ya-Yunn Su Jason Flinn University of Michigan.
Tanenbaum 8.3 See references
 Energy Results: Memory Assistant Arcade Game  Performance Results:  Response Time ▪ Memory assistant: 17.3 sec -> 1.5 sec ▪ Arcade game: 6 FPS -> 13.
Caching and Virtual Memory. Main Points Cache concept – Hardware vs. software caches When caches work and when they don’t – Spatial/temporal locality.
CS 149: Operating Systems April 21 Class Meeting
Remus: VM Replication Jeff Chase Duke University.
Operating System Support for Virtual Machines Samuel T. King, George W. Dunlap,Peter M.Chen Presented By, Rajesh 1 References [1] Virtual Machines: Supporting.
Benefits: Increased server utilization Reduced IT TCO Improved IT agility.
Most modern operating systems incorporate these five components.
Virtualization Paul Krzyzanowski Distributed Systems Except as otherwise noted, the content of this presentation is licensed.
Virtual Machine Security Systems Presented by Long Song 08/01/2013 Xin Zhao, Kevin Borders, Atul Prakash.
Introduction 1-1 Introduction to Virtual Machines From “Virtual Machines” Smith and Nair Chapter 1.
Slingshot: Deploying Stateful Services in Wireless Hotspots Ya-Yunn Su Jason Flinn University of Michigan Presenter: Youngki, Lee.
Sumit Kumar Archana Kumar Group # 4 CSE 591 : Virtualization and Cloud Computing4/19/2011.
Dynamic VM Synthesis for Cloudlet -ISTC Retreat Poster- Kiryong Ha, Padmanabhan S Pillai, Mahadev Satyanarayanan.
 Virtual machine systems: simulators for multiple copies of a machine on itself.  Virtual machine (VM): the simulated machine.  Virtual machine monitor.
By Teacher Asma Aleisa Year 1433 H.   Goals of memory management  To provide a convenient abstraction for programming.  To allocate scarce memory.
Eduardo Cuervo – Duke University Aruna Balasubramanian - University of Massachusetts Amherst Dae-ki Cho - UCLA Alec Wolman, Stefan Saroiu, Ranveer Chandra,
Full and Para Virtualization
Virtual Memory Various memory management techniques have been discussed. All these strategies have the same goal: to keep many processes in memory simultaneously.
Introduction Why are virtual machines interesting?
Enabling Technologies for Distributed Computing Dr. Sanjay P. Ahuja, Ph.D. Fidelity National Financial Distinguished Professor of CIS School of Computing,
Protection of Processes Security and privacy of data is challenging currently. Protecting information – Not limited to hardware. – Depends on innovation.
CSE 451: Operating Systems Winter 2015 Module 25 Virtual Machine Monitors Mark Zbikowski Allen Center 476 © 2013 Gribble, Lazowska,
Cloud Computing – UNIT - II. VIRTUALIZATION Virtualization Hiding the reality The mantra of smart computing is to intelligently hide the reality Binary->
COMP091 – Operating Systems 1 Memory Management. Memory Management Terms Physical address –Actual address as seen by memory unit Logical address –Address.
 2004 Deitel & Associates, Inc. All rights reserved. Chapter 9 – Real Memory Organization and Management Outline 9.1 Introduction 9.2Memory Organization.
Data-Centric Systems Lab. A Virtual Cloud Computing Provider for Mobile Devices Gonzalo Huerta-Canepa presenter 김영진.
WHAT'S THE DIFFERENCE BETWEEN A WEB APPLICATION STREAMING NETWORK AND A CDN? INSTART LOGIC.
Virtual Server Server Self Service Center (S3C) JI July.
Microsoft Virtual Academy Module 9 Configuring and Managing the VMM Library.
Near-Real-Time Inference of File-Level Mutations from Virtual Disk Writes Wolfgang Richter, Mahadev Satyanarayanan, Jan Harkes, Benjamin Gilbert.
Virtualization for Cloud Computing
Virtualization.
Virtual Machine Monitors
Chapter 9: Virtual Memory
Chapter 9 – Real Memory Organization and Management
Slingshot: Deploying Stateful Services in Wireless Hotspots
Group 8 Virtualization of the Cloud
Introduction to Operating Systems
Chapter 9: Virtual-Memory Management
Intro. To Operating Systems
Prof. Leonardo Mostarda University of Camerino
CSE 451: Operating Systems Autumn Module 24 Virtual Machine Monitors
Introduction to Virtual Machines
Introduction to Virtual Machines
Azure Container Service
CSE 451: Operating Systems Autumn Module 24 Virtual Machine Monitors
COMP755 Advanced Operating Systems
Presentation transcript:

Kiryong Ha ∗, Padmanabhan Pillai†, Wolfgang Richter ∗ Yoshihisa Abe ∗, Mahadev Satyanarayanan ∗ *Carnegie Mellon University, †Intel Labs 6/27/2013 Just-in-Time Provisioning for Cyber Foraging

Cloud Offloading Rich, interactive applications are emerging in mobile context Apple’s Siri, AR apps.. Wearable devices push this trend even more! Cloud offloading These applications are too expensive to run on clients alone! Offload computation to a back-end server at cloud MAUI (Mobisys ‘10), Odessa (MobiSys ‘11), COMET (OSDI ‘12) Today’s cloud is a suboptimal place; high latency and limited bandwidth 6/27/2013 [intro] [background][optimization][result][conclusion]

Cloudlet as a Nearby Offload Site Cloudlet: an nearby offloading site dispersed at the edges of the Internet  Let’s bring the cloud closer! 6/27/2013 WAN Cloud Cloudlet Nokia Siemens Networks & IBM Nvidia How to launch a custom back-end server at an arbitrary edge? [intro] [background][optimization][result][conclusion]

Challenges in provisioning 1.Support widest range of user customization including OS, language, and library 2.Strong isolation between untrusted computations 3.Access control, metering, dynamic resource management, …  VM (virtual machine) cleanly encapsulates this complexity, but delays provisioning Just-in-Time Provisioning 6/27/2013 Cloudlet GOAL : Just-in-time provisioning of a custom VM for offloading A traveler wants to use natural language translation with speaker-trained voice recognition [intro] [background][optimization][result][conclusion]

VM Synthesis VM Synthesis: dividing a custom VM into two pieces 1)Base VM: Vanilla OS that contains kernel and basic libraries 2)VM overlay: A binary patch that contains customized parts 6/27/2013 Base Disk Base Memory Modified Disk Modified Memory Base VM Customized VM (Launch VM) Diff Memory Diff Disk – = Binary delta Overlay Memory Overlay Disk VM overlay Compress [intro] [background] [optimization][result][conclusion]

VM Synthesis Steps for VM synthesis 6/27/2013 with pre-populated base VM VM overlay Synthesize VM - Decompress - Apply delta Resume launch VM User Offload operations ready Cloudlet Backend Server in VM [intro] [background] [optimization][result][conclusion]

VM Synthesis – Baseline Performance Performance measurement with rich, interactive applications Base VM: Windows 7 and Ubuntu – 8GB base disk and 1GB base memory Application Install size (MB) Overlay Size Synthesis time (s) Disk (MB)Memory (MB) OBJECT FACE SPEECH AR FLUID Reduce VM synthesis time as little as 10 seconds! n WiFi (average 38 Mbps) 6/27/2013 [intro] [background] [optimization][result][conclusion]

Overview of Optimizations 1.Minimize VM overlay size Deduplication Reducing Semantic Gaps Launch VM Creating VM overlay (offline) new site VM synthesis (runtime) Pipelining Launch VM VMoverlay VMoverlay Early Start 6/27/2013 file save transfer 2.Accelerate VM synthesis [intro][background] [optimization] [result][conclusion]

1.1 Deduplication Approach Remove redundancy in the VM overlay Sources of redundancy 1)Between base VM and VM overlay Shared library copied from base disk Loaded executable binary from base disk 2)Between VM overlay’s memory and disk Page cache, disk I/O buffer 6/27/2013 [intro][background] [optimization] [result][conclusion]

typeoffsetreference Data or pointer mem4096 uniquedata mem16384 self mem20480 Base disk mem28672 Base memory mem36864 uniquedata … disk0 uniquedata disk16384 overlay mem 1.1 Deduplication 1.Get the list of modified (disk, memory) chunks at the customized VM 2.Perform deduplication to reduce this list to a minimum Compare to 1) base disk, 2) base memory, 3) other chunks within itself Compare between modified memory and modified disk 6/27/2013 typeoffsetData mem4096 data mem16384 data mem20480 data mem28672 data mem36864 data … disk0 data disk16384 data Base VM [intro][background] [optimization] [result][conclusion]

1.2 Reducing Semantic Gaps VM is a strong black box It ensures isolation between the host, the guest, and other guests But, VMM cannot interpret high-level information of memory and disk Example: Download 100 MB file over network and delete it Ideally, it should result in no increase in VM overlay size However, VMM will see 200 MB of modifications: – 100 MB of changed disk state – 100 MB of changed memory state (in-memory I/O buffer cache)  Let’s include only the state that actually matters to the guest OS 6/27/2013 [intro][background] [optimization] [result][conclusion]

1.2 Reducing Semantic Gaps – Disk Disk semantic gap between VMM and Guest OS File deletion operations only mark blocks as deleted, without discarding the contents VMM can’t distinguish between deleted and valid contents Implementation: TRIM support ATA standard originally designed to improve SSD’s overwrite performance Allows an OS to inform a SSD which blocks of data are no longer in use TRIM support at QEMU Modify QEMU’s IDE emulation to enable TRIM Guest OS agnostic: Linux (kernel ), Mac OS X (June 2011), Window 7 6/27/2013 time: , sector_number: , sector_size:16 time: , sector_number: , sector_size: [intro][background] [optimization] [result][conclusion]

1.2 Reducing Semantic Gaps – Memory Memory semantic gap between VMM and Guest OS Released memory is moved to the OS’s free page list, but is still filled with garbage VMM can’t distinguish between valid memory and garbage data Approach No way to communicate free page information between the guest and VMM  scan memory snapshot Implementation Insert a small agent at guest OS – Get memory address of the kernel data structure that has the free memory list – Need guest help : currently, works only in Linux Extract free memory pages by traversing the data structure 6/27/2013 [intro][background] [optimization] [result][conclusion]

VM Overlay Size Deduplication optimization reduces the VM overlay size to 44% Using semantic knowledge reduces the VM overlay size to 55% Both applied together, overlay size is reduced to 28% of baseline 6/27/2013 [intro][background] [optimization] [result][conclusion]

Overview of Optimizations 1.Minimize VM overlay size 2.Accelerate VM synthesis Deduplication Reducing Semantic Gaps Launch VM Creating VM overlay (offline) new site VM synthesis (runtime) Pipelining Launch VM VMoverlay VMoverlay Early Start 6/27/2013 file save transfer [intro][background] [optimization] [result][conclusion]

2.1 Pipelining Steps for VM synthesis ① Transfer VM overlay ② Decompress ③ Apply delta Memory Transfer Memory Decomp Memory Delta VM Resume Disk Transfer Disk Decomp Disk Delta Memory Delta Disk Transfer Disk Delta Memory Decomp Disk Decomp Memory Transfer 6/27/2013 VM Resume [intro][background] [optimization] [result][conclusion] Complexities in removing inter-dependencies among blobs

2.2 Early Start Approach From user’s perspective, first response time of offloading is most important Starting VM even before finishing VM synthesis?  Do not wait until VM synthesis finishes, but start offloading immediately and process the request while synthesis is ongoing 6/27/2013 [intro][background] [optimization] [result][conclusion]

2.2 Early Start Implementation 1)Reorder the chunks in estimated access-order 2)Break the ordered overlay into smaller segments for demand fetching  Start the VM and begin streaming the segments in order, but also allow out-of-order demand fetches to preempt the original ordering 6/27/2013 [intro][background] [optimization] [result][conclusion]

FUSE Filling overlay Transfer VM overlay Diagram of Early Start VM (back-end server) VMM (KVM) Disk Base Disk Memory Base Memory Synthesis Server Mobile Offload Request 6/27/2013 Application Synthesis client Overlay Disk Overlay Memory [intro][background] [optimization] [result][conclusion]

Review of Optimizations Deduplication Reducing Semantic Gaps Launch VM Creating VM overlay (offline) new site VM synthesis (runtime) Pipelining Launch VM VMoverlay VMoverlay Early Start 6/27/2013 file save transfer [intro][background][optimization] [result] [conclusion]

First-response time compared to baseline Time between starting VM synthesis and receiving the first offload result It is faster than remote installation maintaining strong guarantees Except AR, we can get first-response within 10 seconds (up to 8x improvement) * Chunks are ordered with segment size of 1 MB 6/27/ [intro][background][optimization] [result] [conclusion]

Future work & Conclusion Future work Open source : Integrate with OpenStack (open-source cloud computing platform) Conclusion Cloudlets support resource-intensive and interactive mobile apps Physical dispersion of cloudlets makes their provisioning a challenge We have shown how cloudlets can be rapidly provisioned 6/27/2013 [intro][background][optimization][result] [conclusion]