1/30/2015
Just-in-Time Virtual MachineProvisioning for Cloud Offload
Kiryong Ha ([email protected])
Carnegie Mellon University
2
Motivation: Cloud Offload
Compute-intensive & interactive applications in mobile context
• Apple’s Siri, AR (Augmented Reality) applications
Cloud offload• These applications are partitioned into a client/a server
– Client program: front-end app installed on a mobile device– Server program : back-end program running on a datacenter (e.g., Amazon EC2)
• The client program offloads computation to the server program at Cloud
Today’s cloud is a suboptimal place; high latency and limited bandwidth
3
Cloud Computing at the edge of the Internet
Cloudlet: Micro Datacenter at the edge of the Internet Bring the cloud closer to the user
WAN
LAN
OS Server progClient prog…
Cloud (Datacenter)
Eiffel tower
VM
Serverprog
Eiffel tower
Nokia Siemens Network& IBM
NVIDIA
How to provision a back-end server program (VM) at a nearby machine?
Augment Reality
Cloudlet (local server)
4
Goal: Rapid Just-in-time VM Provisioning
Provisioning server program Just-in-time VM provisioning• Preserve the running state of the server by snapshotting• Provision ① disk image ② memory snapshot
WAN
Cloud
Cloudlet
Goal: Rapid Just-in-time VM provisioning for cloud offload
disk.imgmem.snap
VMOS
Server
VMOS
Server
Challenge: the speed of provisioning
disk.imgmem.snap
5
Approach: VM Synthesis
VM Synthesis : dividing a custom VM into two pieces1) Base VM: Vanilla OS that contains kernel and basic libraries (e.g., Windows7)2) VM overlay: A binary patch that contains only customized parts
Pre-provision Base VM + just-in-time provision VM overlay
Base VM
Customized VM(Launch VM)
Binary delta
Overlay Memory
Overlay Disk
VM overlay
Compress
Base Disk
Base Memory
disk
..
mem
…
6
VM Synthesis
Steps for VM synthesis
VM overlay Synthesize VM- Decompress- Apply delta
Resume the VM
User
Offload operations
ready
Cloudletpre-populated
base VM
VM synthesistime
VM overlay
Base Disk
Base Memory
VMOS
ServerEiffel tower
7
OpenStack Implementation
• Implementation– Grizzly (at Ubuntu 12.04 LTS)– Icehouse (at Ubuntu 14.04 LTS)– Standalone version
• Main Features1. Create a custom VM overlay (nova-compute extension)2. Store Base VM and VM overlay (glance)3. Perform VM synthesis
8
OpenStack Implementation
9
OpenStack Implementation
10
Overview of Optimizations
1. Creating VM overlay: Minimize VM overlay size
2. VM Synthesis: Accelerate VM Synthesis
WAN
Cloud
Cloudlet
VMOS
Server
VMOS
Server 2. Deduplication
1. Reducing Se-mantic Gaps
3. Pipelining
4. Early Start
VM overlay
11
First Response Time of the Application
Time between starting VM synthesis and receiving the first offload result at client• First-response within 10 seconds except AR
[intro][background][optimization][result][conclusion]
OBJECT FACE SPEECH AR FLUID0
25
50
75
100 144
Baseline synthesis
Fully optimized synthesis
Tim
e (s
)
10
12
References
• Cloudlet project page– http://elijah.cs.cmu.edu/
• Paper1) Kiryong Ha, Padmanabhan Pillai, Wolfgang Richter, Yoshihisa Abe, Mahadev
Satyanarayanan, “Just-in-Time Provisioning for Cyber Foraging”, In MobiSys 2013http://krha.kr/data/pubs/vmsynthesis2013.pdf
2) Satyanarayanan, M., Bahl, P., Caceres, R., Davies, N. ‘‘The Case for VM-based Cloudlets in Mobile Computing’’ IEEE Pervasive Computing 2009.http://www.cs.cmu.edu/~satya/docdir/satya-ieeepvc-cloudlets-2009.pdf
• Source code1) https://github.com/cmusatyalab/elijah-provisioning2) https://github.com/cmusatyalab/elijah-openstack
Top Related