Title: Slingshot: Deploying Stateful Services in Wireless Hotspots
1Slingshot Deploying Stateful Services in
Wireless Hotspots
- Ya-Yunn Su
- Jason Flinn
- University of Michigan
- Presenter Youngki, Lee
2Outline
- Motivation
- Problem
- Design principles
- Implementation
- Evaluation
- Conclusion
3Motivation
Mobile Computer
- Portability take everywhere
- Easy to carry and less obtrusive
- Limited in resources
- Performance run demanding applications
- More processing power and storage capacity
- Bulkier and heavier
4Problem Remote Execution
Internet
Wireless Hotspot
VNC Server
AP
VNC client
5Design Principles (1) Location, location,
location
Internet
Wireless Hotspot
AP
VNC client
6Design Principles(2) Replicate rather than
migrate
Internet
Wireless Hotspot
AP
- Problems
- No service during migration
VNC client
- Loss state on surrogate failure
7Design Principles(2) Replicate rather than
migrate
Internet
First-class Replica
Wireless Hotspot
AP
Second-class Replica
Surrogate
VNC client
- Home replica always available
- No state loss on surrogate failure
8Design Principles(3) Ease of management
- Surrogates must be easy to manage if they are to
be widely deployed. - They must require little to no supervision.
- They should be appliances that require little
configuration - Slingshot
- Minimizes the surrogate computing base
- Uses a heavyweight virtual machine
- Places no hard state on surrogates
9Outline
- Motivation
- Problem
- Design principles
- Implementation
- Evaluation
- Conclusion
10Slingshot Overview
Service Database
Service Cache
Surrogate
Home Server
- Slingshot applications
- - Remote desktop VNC
- - Speech recognition IBM ViaVoice
Client proxy
Local Component
11The Home Server
Director
Service Database
- Service database
- Stores the state of every service(??) under its
purview in its service data. - Reduce the storage costs of virtual machine disk
images using the content-addressable storage. - Home server director
- Initiation and termination of requested service
- Ballooning technique to reduce the size of
volatile sate(??)
12State 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
13Content Addressable Database
Disk Blocks
Chunk Table for VNC
Hash Table
Chunk Database
- This runs on the home server
- Built upon Internet Suspend Resume
- Kozuch02
Chunk Table for Speech Recognition
14Surrogate
Director
Service Cache
- Surrogate director
- Accepts connections from any client that wishes
to instantiate a second-class replica - Access-control policies are required
- Get volatile state and chunk table from the home
server - Starts a new virtual machine and resumes it using
the volatile state. - Is also in charge of termination.
- Service cache
- Content addressable store of data chunks
15Service Cache
VM1
VNC
Content Addressable Database
data
Home Server
data
Content Addressable Cache
- Persistent state can be
- - Fetched on demand
- - Shared between applications
Surrogate
16The Client Proxy
- It Discovers surrogate discovery using UPnP
- It Instantiates and destroys replicas by user
request (manual) - It coordinates communication with each replica
- Maintains event log of requests sent by the local
application component - When the first reply is received, it is returned
to the local components. - Replies are compared with the first reply to
ensure the replicas are behaving
deterministically.
17Instantiation of a New 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
18Instantiation of a New Replica
4. Checkpoint
Home server
Surrogate
VNC proxy
VNC client
19Leveraging Portable Storage
Home server
Surrogate
VNC proxy
- Portable storage carries
- Volatile state
- Content addressable database
VNC client
20Outline
- Motivation
- Problem
- Design principles
- Implementation
- Evaluation
- Conclusion
21Evaluation
- How much do surrogates improve interactive
response time - What is the perceived performance impact of
instantiating a new replica? - How much does the use of mobile storage reduce
replica instantiation time?
22Network Topology
Internet
30 ms latency
NISTNET
1.5 Mbps
1.5 Mbps
1.5 Mbps
256 Kbps
AP
Surrogate
Home Server
3.06GHz Pentium 3 RedHat Enterprise Linux
Xscale-PXA250 processor 64MB DRAM, 48MB of
flash 11Mb/s Cisco 350 802.11b PCMCIA Linux
2.4.19-rmk6 kernel
- Stateful service (VNC) open Word, insert text,
save document and close Word - Stateless service (ViaVoice)
23Benefit of Slingshot
- Slingshot 2.6 times faster than remote execution
24Instantiating the First Replica
Internet
30 ms latency
1.5 Mbps
1.5 Mbps
1.5 Mbps
256 Kbps
AP
Surrogate
Home Server
Handheld
25Speech Replication with Warm Cache
3.35?
28.06?
26Speech Replication with Cold Cache
27VNC Replication with Warm Cache
28VNC Replication with Cold Cache
29Instantiating Another Replica
Internet
15 ms latency
15 ms latency
1.5 Mbps
1.5 Mbps
1.5 Mbps
1.5 Mbps
1.5 Mbps
256 Kbps
AP
AP
Nearby Surrogate
Distant Surrogate
Home Server
Handheld device
30Speech Moving to a New Hotspot
31VNC Moving to a New Hotspot
32Conclusion
- Slingshot
- Is 2.6x faster than remote execution
- Hides surrogate failure
- Minimizes surrogate maintenance cost
- Discussions
- Application determinism? How many applications
guarantee this property? - Assumption Correct? Is backhaul link only 1.5
Mbps T1 Line? How long this approach would be
applicable? - ??? ????? Remote service? ???? ??? 30? ?? ??? ?
Mobile device? ?? ???? ?? ????? - SoulPad? Remote desktop? ?? ?? ???