Slingshot: Deploying Stateful Services in Wireless Hotspots

Post on 31-Dec-2015

24 views 0 download

Tags:

description

Slingshot: Deploying Stateful Services in Wireless Hotspots. Ya-Yunn Su Jason Flinn University of Michigan. Performance. Portability. Motivation. Mobile Computer. Portable: take everywhere Easy to carry and less obtrusive Limited in resources Performance: run demanding applications - PowerPoint PPT Presentation

Transcript of Slingshot: Deploying Stateful Services in Wireless Hotspots

Slingshot: Deploying Stateful Services in Wireless Hotspots

Ya-Yunn Su

Jason Flinn

University of Michigan

Motivation

• Portable: take everywhere– Easy to carry and less obtrusive – Limited in resources

• Performance: run demanding applications– More processing power and storage capacity– Bulkier and heavier

Performance PortabilityMobile Computer

AP

Wireless

Hotspot

Internet

Remote Execution

VNCServer

VNC client

Limited bandwidth

High latency

AP

Wireless

Hotspot

Internet

Cyber Foraging

Surrogate

Home Server

VNC client

VM

VNC

AP

Wireless

Hotspot

Internet

Migrating Remote Services

Surrogate

Home Server

Problems:

1. No service during migration

2. Loss state on surrogate failure

VNC client

VM

VNC

AP

Wireless

Hotspot

Internet

Slingshot: Replicate Services

Surrogate

Home Server

VNC client

• Home replica always available

• No state loss on surrogate failure

VM

VNC

VM

VNC

Ease of Management

• Surrogates should be appliances

• Slingshot– Minimizes the surrogate computing base– Uses a heavyweight virtual machine– Places no hard state on surrogates

Outline

• Motivation• Implementation• Evaluation• Related Work• Conclusion

Slingshot Overview

Request

VM

VNC client

VNC proxy

Home Server

Surrogate

Request

Surrogate

• Slingshot applications

- Remote desktop: VNC

- Speech recognition: IBM ViaVoice

VM

Request

VNC VNC

VM

VNC

State of a Remote Service

• The virtual machine state contains:

Volatile state: memory image and registers– Unique to each service– Compressed and stored as individual files

Persistent state: virtual disk image– Large: ex. 4 GB for our VNC service– Stored in content addressable database

Content Addressable DatabaseDisk Blocks

SHA-1 Ref count offset

ABC 2 18

Chunk Database

Chunk Table for VNC

Hash Table

Block # SHA-1

0 ABC

Chunk Table for Speech Recognition

Block # SHA-1

5 ABC

• This runs on the home server

• Built upon Internet Suspend Resume

[ Kozuch02]

data

Content Addressable

Cache

Content Addressable

Database

Surrogate

VM1VNC

VM2Speech

Home Server

• Persistent state can be

- Fetched on demand

- Shared between applications

Surrogate

data

Creating a Replica

• Big idea: recreate current state from– Checkpoint on the home server– Event log on the client

• Application level determinism• Example:

+ + Event Log =Checkpoint Current State

Keystroke

Keystroke

Keystroke

Mouse

movement

Instantiate a Replica

VNC client

VNC proxy

Home serverSurrogate

1. Checkpoint

2. Transfer volatile state and chunk table

3. Replay event log

SLOW!

2. Log requests

VM

VNC

VM

VNC

VM

VNC

Leveraging Portable Storage

VNC client

VNC proxy

Home serverSurrogate

2. Replay

event log

1. Log requests

1. Transfer volatile state, chunk table and hash table

Portable storage carries:

• Volatile state

• Content addressable database

VM

VNC

VM

VNCVM

VNC

Outline

• Motivation• Design Principles• Implementation• Evaluation• Related Work• Conclusion

Network Topology

Surrogate Home Server

30 ms

latency

Internet

1.5 Mbps1.5 Mbps

AP

1.5 Mbps 256 Kbps

• Workload: open Word, insert text, save document and close Word

VM

VNC

VM

VNC

Benefit of Slingshot

• Slingshot: 2.6 times faster than remote execution

0

2

4

6

8

10

12

14

16

18

20

Remote execution Slingshot

Res

po

nse

Tim

e (s

eco

nd

s) CommunicationClient processingServer processing

Network Topology

Surrogate Home Server

30 ms

latency

Handheld

Internet

1.5 Mbps1.5 Mbps

AP

1.5 Mbps 256 Kbps

VM

VNC

0

5

10

15

20

25

30

35

0 5 10 15 20 25 30 35 40 45

Elapsed Time (minutes)

Re

sp

on

se

Tim

e (

se

co

nd

s)

0

5

10

15

20

25

30

35

0 5 10 15 20 25 30 35 40 45

Elapsed Time (minutes)

Re

sp

on

se

Tim

e (

se

co

nd

s)

Instantiating the First Replica

• Slingshot executes 2.6 times faster than remote execution

: Remote execution

: Slingshot

: Slingshot w/ microdrive

: Remote execution

: Slingshot

Network Topology

Nearby Surrogate Distant Surrogate Home Server

15 ms

latency

Handhelddevice

AP

15 ms

latency

Internet

1.5 Mbps 1.5 Mbps1.5 Mbps

AP

1.5 Mbps1.5 Mbps 256 Kbps

VM

VNC

VM

VNC

0

5

10

15

20

25

30

35

0 5 10 15 20 25 30 35 40 45

Elapsed Time (minutes)

Re

sp

on

se

Tim

e (

se

co

nd

s)

0

5

10

15

20

25

30

35

0 5 10 15 20 25 30 35 40 45

Elapsed Time (minutes)

Re

sp

on

se

Tim

e (

se

co

nd

s)

: Remote execution

: Without microdrive

: With microdrive

Instantiating Another Replica

: Remote execution

: Without microdrive

Related Work

• Cyber foraging [Balan03, Goyal04]

– Support user mobility and stateful services

• Virtual machine/process migration [Sapuntzakis02, Kozuch02, Tolia03]

– Apply the same optimization techniques – Replicate VM to service mobile computers

• Replay at different level [Dunlap02, Bressoud95, Rodrigues01, Brown02]

– Enforce determinism at the application level

Conclusion

• Slingshot– Is 2.6x faster than remote execution– Hides surrogate failure– Minimizes surrogate maintenance cost

• Questions?