Flexible Computing with Virtual Machines

Document Sample
Flexible Computing with Virtual Machines Powered By Docstoc
					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

Applications encapsulated within an agent

User’s Desktop

Data Repository

– 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

CPU Intensive
Compute Cluster cycles.org
Improved Compute Power

CPU > 95%

Interaction Intensive
usr.home

Internet

Improved Data Access

Net Intensive
data.edu

Agent

Net > 4 Mbit/s

• FSM that models an agent’s behavior • Provided by expert users, admins, or developers
– Default system-wide profile available

User’s Desktop

Data Repository

• 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

• Closed and open source

– Scientific Computing, Bio, Video Editing, Animation QuakeViz Kmenc15

• 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 virtualization, on User Desktop Thin: No virtualization, on Compute Server Thick: No Snowbird
––App-specificinitially launched on MayaDesktop – Compute Server: 4-waygraphicsUser & ADF User Desktop: UP with SMP – Agents are developer-brewed: acceleration – 100 Mbit/s WAN, RTT: 33, 66, and 100 ms – Xen+Migration Manager+VMGL+WANDisk

Results: Crunch Phase
107

120 100
96

125

140

370…Ouch!
Thin Thick Snowbird 66 Partitioned

Minutes

48 45

45

45

60 40 20 0

58

67

80

76

43

Maya

QuakeViz

ADF

Kmenc15

Snowbird’s crunch performance
– Much better than thick – Comparable to thin/partitioned

21

24

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
andreslc@cs.toronto.edu 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 Application
Admin VM WANDisk Manager

Chunk Table Local Chunk Store

OS

Block Dev

Kernel Module

foo.toronto.edu

Admin VM WANDisk Manager
Local Chunk Store

Chunk Misses

Kernel Module

Admin VM WANDisk Manager
Local Chunk Store

bar.cmu.edu

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
66 100

12.5
11.5 13.1

62
62 64.9

4.9
6.2 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

120

Time (Minutes)

100 80
45

Thin Thick Snowbird 33 Snowbird 66 Snowbird 100

97

46

60 40 20 0

50 51 52

59 61 63

67

75 77 80

43

Maya

QuakeViz

ADF

Snowbird’s crunch performance
– Much better than thick – Comparable to thin/partitioned

Application

22

Kmenc15

24 24 24

Talk Pointers
• Be more explicit demo: thin, frames • Proxy FPS & input in migr manager


				
DOCUMENT INFO