Slingshot: Deploying Stateful Services in Wireless Hotspots

24
Slingshot: Deploying Stateful Services in Wireless Hotspots Ya-Yunn Su Jason Flinn University of Michigan

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

Page 1: Slingshot: Deploying Stateful Services in Wireless Hotspots

Slingshot: Deploying Stateful Services in Wireless Hotspots

Ya-Yunn SuJason Flinn

University of Michigan

Page 2: Slingshot: Deploying Stateful Services in Wireless Hotspots

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

Page 3: Slingshot: Deploying Stateful Services in Wireless Hotspots

AP

Wireless Hotspot

Internet

Remote Execution

VNCServer

VNC client

Limited bandwidth

High latency

Page 4: Slingshot: Deploying Stateful Services in Wireless Hotspots

AP

Wireless Hotspot

Internet

Cyber Foraging

SurrogateHome Server

VNC client

VMVNC

Page 5: Slingshot: Deploying Stateful Services in Wireless Hotspots

AP

Wireless Hotspot

Internet

Migrating Remote Services

SurrogateHome Server

Problems:

1. No service during migration2. Loss state on surrogate failure

VNC client

VMVNC

Page 6: Slingshot: Deploying Stateful Services in Wireless Hotspots

AP

Wireless Hotspot

Internet

Slingshot: Replicate Services

SurrogateHome Server

VNC client

• Home replica always available

• No state loss on surrogate failure

VMVNCVM

VNC

Page 7: Slingshot: Deploying Stateful Services in Wireless Hotspots

Ease of Management

• Surrogates should be appliances

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

Page 8: Slingshot: Deploying Stateful Services in Wireless Hotspots

Outline

• Motivation• Implementation• Evaluation• Related Work• Conclusion

Page 9: Slingshot: Deploying Stateful Services in Wireless Hotspots

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 VNCVM

VNC

Page 10: Slingshot: Deploying Stateful Services in Wireless Hotspots

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

Page 11: Slingshot: Deploying Stateful Services in Wireless Hotspots

Content Addressable DatabaseDisk Blocks

SHA-1 Ref count offsetABC 2 18

Chunk Database

Chunk Table for VNC

Hash Table

Block # SHA-10 ABC

Chunk Table for Speech Recognition

Block # SHA-1

5 ABC• This runs on the home server

• Built upon Internet Suspend Resume[ Kozuch02]

Page 12: Slingshot: Deploying Stateful Services in Wireless Hotspots

data

Content Addressable

Cache

Content Addressable

Database

Surrogate

VM1VNC

VM2Speech

Home Server

• Persistent state can be

- Fetched on demand

- Shared between applications

Surrogate

data

Page 13: Slingshot: Deploying Stateful Services in Wireless Hotspots

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

KeystrokeKeystrokeKeystrokeMousemovement

Page 14: Slingshot: Deploying Stateful Services in Wireless Hotspots

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

VMVNC

VMVNCVM

VNC

Page 15: Slingshot: Deploying Stateful Services in Wireless Hotspots

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

VMVNCVM

VNCVM

VNC

Page 16: Slingshot: Deploying Stateful Services in Wireless Hotspots

Outline

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

Page 17: Slingshot: Deploying Stateful Services in Wireless Hotspots

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

VMVNC

VMVNC

Page 18: Slingshot: Deploying Stateful Services in Wireless Hotspots

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

pons

e Ti

me

(sec

onds

)

CommunicationClient processingServer processing

Page 19: Slingshot: Deploying Stateful Services in Wireless Hotspots

Network Topology

Surrogate Home Server

30 ms

latency

Handheld

Internet

1.5 Mbps1.5 Mbps

AP

1.5 Mbps 256 Kbps

VMVNC

Page 20: Slingshot: Deploying Stateful Services in Wireless Hotspots

0

5

10

15

20

25

30

35

0 5 10 15 20 25 30 35 40 45

Elapsed Time (minutes)

Res

pons

e Ti

me

(sec

onds

)

0

5

10

15

20

25

30

35

0 5 10 15 20 25 30 35 40 45

Elapsed Time (minutes)

Res

pons

e Ti

me

(sec

onds

)Instantiating the First Replica

• Slingshot executes 2.6 times faster than remote execution

: Remote execution

: Slingshot

: Slingshot w/ microdrive

: Remote execution

: Slingshot

Page 21: Slingshot: Deploying Stateful Services in Wireless Hotspots

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

VMVNC

VMVNC

Page 22: Slingshot: Deploying Stateful Services in Wireless Hotspots

0

5

10

15

20

25

30

35

0 5 10 15 20 25 30 35 40 45

Elapsed Time (minutes)

Res

pons

e Ti

me

(sec

onds

)

0

5

10

15

20

25

30

35

0 5 10 15 20 25 30 35 40 45

Elapsed Time (minutes)

Res

pons

e Ti

me

(sec

onds

)

: Remote execution

: Without microdrive

: With microdrive

Instantiating Another Replica

: Remote execution

: Without microdrive

Page 23: Slingshot: Deploying Stateful Services in Wireless Hotspots

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

Page 24: Slingshot: Deploying Stateful Services in Wireless Hotspots

Conclusion

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

• Questions?