Upload
philip-joyce
View
27
Download
0
Tags:
Embed Size (px)
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
Citation preview
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?