Snowbird:
Interactive Resource-Intensive
Applications Made Easy
H. Andrés Lagar-Cavilla*
Niraj Tolia† ‡, Eyal de Lara*,
M. Satyanarayanan‡ & Dave O’Hallaron‡
*University of Toronto, †HP Labs,
‡Carnegie Mellon University
Middleware, November 2007
Bimodal Applications
• Interactive
– Cognitive phase
• Resource-Intensive
– Crunch phase
•
•
•
•
•
•
Digital Animation
Scientific Computing
Engineering Design
Bio/Pharma
Video Editing
….
Maya
(digital animation)
Dichotomy
• Crunch (computation)
– Short completion time
– Remote computing resources
• Cognitive (interaction)
– Crisp interactive performance
– User attention
Execution Alternatives
– Thick Clients (Desktop PCs)
 Cognitive: excellent interactive performance
× Crunch: resource constrained
– Thin Clients (VNC, Remote Desktop)
 Crunch: use of remote resources (CPU, Data)
× Cognitive: latency and jitter impact interactions
– Custom Applications
 Pipeline: placement over different nodes
× Requires significant developer resources
Execution Alternatives
 Cognitive: excellent interactive performance
 Crunch: use of remote resources (CPU, Data)
Snowbird: Agent Abstraction
Compute Cluster
Improved
Compute Power
Improved
Interactivity
Internet
Improved
Data Access
Agent
User’s Desktop
Data Repository
Applications encapsulated within an agent
– Agent: processes, libraries, IPC, OS, config data…
– Migration: performance goals achieved by morphing
• a thin client for resource intensive crunch phases
• a thick client for highly interactive cognitive phases
Bimodal Applications Made Easy
• Develop apps as monolithic blocks
– Don’t worry about what executes where
– Agent is migrated to satisfy each phase
• Seamless and transparent behavior
• Legacy support
– Different OS’s (and versions/features)
– Different languages (Fortran!)
– No need for recompilation, relinking, etc…
– Closed source apps just work
Implementation
Design Criteria
• VM-based migration
– x86 interface most widely deployed
– Transparently support OS, lang, etc…
• Internet scale
– WAN migration
– Long fat pipes: 50 Mbp/s…, 50-200 ms RTT
• Use of graphics HW acceleration a must
– For the cognitive mode of bimodal apps
• Server-less design (P2P)
– All hosts symmetric
– Can execute anywhere
Components
• VMM: suspend, resume, live migration
– Xen 3.0.1
• Interaction-aware migration manager
– Transparent
• Support for 3D acceleration in VMs
– Vital for crisp interaction
• Virtual disk that maximizes locality
– WAN area migration
Agent Profiles: Migration Manager
What’s
this?
FPS < 20
&&
Input > 15
Improved
Interactivity
Interaction
Intensive
CPU
Intensive
Compute Cluster
cycles.org
Improved
Compute Power
Internet
usr.home
CPU > 95%
Net
Intensive
Improved
Data Access
data.edu
Agent
Net > 4 Mbit/s
User’s Desktop
Data Repository
• FSM that models an agent’s behavior
• Provided by expert users, admins, or developers
– Default system-wide profile available
• Only deployment additional effort
Interaction-aware
• Novelty in our approach
• Measure the quality of the interactive
response
• We use frames per seconds
– More in sync with operations in bimodal apps
– Stretch object, rotate, zoom, etc…
– Pure latency not enough
• Ample space for future work
Frames Per Second
• Local: FPS = n/latency
• Non work-conserving (VNC): FPS = 2/latency
• Work-conserving (X): FPS = n/(latency*k)
The Rest
• VMGL: support for 3D acceleration in VMs
– Coming live to this conference in 5 mins
– Follow up: VEE 2007, >4K downloads
• WANDisk: virtual disk maximizes locality
– Minimizes WAN communication
– Simplifies state synchronization
• More details in paper
Evaluation
Benchmarks
• Broad set of domains
– Scientific Computing, Bio, Video Editing, Animation
QuakeViz
Kmenc15
• Closed and open source
• Straightforward installation
• Able to use generic profile on all four
• Partitioned mode for comparison
– ADF & Maya
ADF (closed source)
Maya (closed source)
Methodology
• Crunch + cognitive benchmarks
• Performing “crunch” experiments is easy
• Replaying long interactive traces is not
– Can’t expect a user to do it
– Must be able to compare results
• VNC-Redux: record and replay interactive
user sessions
– Record input and screen state
– This is matched during replay for accuracy
Experimental Setup
LAN
Storage
Server
Compute
Server
Emulated
WAN
User Desktop
••• Partitioned
Thin:
Thick:No
Novirtualization,
virtualization,ononCompute
User Desktop
Server
Snowbird
––
Compute
User Desktop:
developer-brewed:
UP4-way
with graphics
SMPon Maya
acceleration
& ADF
––App-specific
Agents
areServer:
initially
launched
User
Desktop
–
Mbit/s WAN,
RTT: 33, 66, and 100 ms
– 100
Xen+Migration
Manager+VMGL+WANDisk
Results: Crunch Phase
107
120
Thin
Thick
Snowbird 66
Partitioned
96
76
43
45
48
45
58
67
80
45
Minutes
100
60
370…Ouch!
125
140
20
24
21
40
0
Maya
QuakeViz
ADF
Kmenc15
Snowbird’s crunch performance
– Much better than thick
– Comparable to thin/partitioned
Results: Cognitive Phase
• Better interactivity than thin clients
• Is Snowbird any worse than a thick client?
• > 20 FPS is ok, < 8 FPS is unusable
Take Home Messages
• Bimodal applications
– What they are and why they matter
• Thin clients are not almighty
– There is no replacement for local interaction
• Best of both worlds: thick and thin clients
– Necessary in an Internet world with remote computing
resources
• VM-based app migration is feasible
– And with many advantages
• Future trends align well…
Futurism
• More bandwidth: cheaper VM migration
• What about latency?
– The earth is not shrinking
– Speed of light is not increasing
– More routers, overlays, firewalls
– Toronto-London UK: ~109ms
– Toronto-LA: ~84ms
• Insurmountable obstacle for thin clients
Questions?
Thanks 
H. Andrés Lagar-Cavilla
[email protected]
Niraj Tolia, Eyal de Lara, Satya & Dave O’Hallaron
U of Toronto, HP Labs, Carnegie Mellon
Backup
VMGL: 3D Acceleration in VMs
• OpenGL virtualization
• Hardware specs closed, unavailable
• Focus instead on software standards
– OpenGL -> cross-platform
– Direct3D -> MS-only
• Intercept GL calls and forward them to the
host. Proprietary driver renders there.
• More details: VEE 2007
Open GL for X11 Apps
VMGL for X11 Apps
WANDisk: Virtual Disk
Agent
Admin VM
WANDisk
Manager
Application
OS
Block Dev
Chunk
Local
Table
Chunk Store
Kernel Module
foo.toronto.edu
Admin VM
Chunk
Misses
WANDisk
Manager
Local
Chunk Store
Kernel Module
bar.cmu.edu
Admin VM
WANDisk
Manager
Local
Chunk Store
Kernel Module
baz.europe.org
Why Another Storage System?
• Exploits Snowbird characteristics
• P2P model
– No server interposition
– Single-writer: simple metadata, no locks
• Minimizes WAN talk
– Locality: persistent replicas
– Differential transfers: rsync
– On-demand fetching
Experimental Setup
• Thick: No virtualization, on User Desktop
– User Desktop: UP with graphics acceleration
• Thin: No virtualization, on Compute Server
– Compute Server: 4-way SMP
– 100 Mbit/s WAN, RTT: 33, 66, and 100 ms
• Partitioned
– App-specific developer-brewed: Maya & ADF
• Snowbird
– Agents are initially launched on User Desktop
ADF Migration Time (secs)
Latency (ms)
Detection
Migration Pause
33
12.5
62
4.9
66
11.5
62
6.2
100
13.1
64.9
6.7
Applicability of Snowbird
• Morphing time: our implementation
• Speedup: application & resources
• C: Crunch phase time locally
Snowbird Limitations
• Parallelism up to SMP level
– What about cluster-scale?
• SSE, 3DNow!
– i.e. x86 is not that uniform
• Overlapping phases
– Hysteresis, priority in migration manager
• Very short phases
– Cost/benefit analysis
Our Current Interests
• VM support for large parallel tasks
– Relevant to commodity computing
– Migration, the cloud, etc…
• How to measure interactive performance
– Thin clients, desktop consolidation, VMs
– Unknown effects for modern (3D-heavy) GUIs
Really Backup Backup
Keywords Of This Presentation
• Thin clients
– Remote execution
• Interactive Performance
– Thick clients
• Virtual machine migration
– Application migration
• Bimodal applications
– What they are and why they matter
Frames Per Second
• Local: FPS = frames/latency
• Non work-conserving: same latency, less frames
• Work-conserving: same frames, more latency
What We Need
• System support for bimodal applications
• Combine best of both worlds
– Thick client, local execution
• Interaction
– Thin client, remote execution
• Computation
• Make development easy
Results: Crunch Phase
126
140
107
67
59
61
63
43
46
60
50
51
52
80
75
77
80
97
100
45
24
24
24
40
22
Time (Minutes)
120
Thin
Thick
Snowbird 33
Snowbird 66
Snowbird 100
20
0
Maya
QuakeViz
ADF
Application
Snowbird’s crunch performance
– Much better than thick
– Comparable to thin/partitioned
Kmenc15
Talk Pointers
• Be more explicit demo: thin, frames
• Proxy FPS & input in migr manager
Descargar

Flexible Computing with Virtual Machines