350 likes | 464 Views
Snowbird: Interactive Resource-Intensive Applications Made Easy. H. Andr és Lagar-Cavilla * Niraj Tolia ‡ , Eyal de Lara * , M. Satyanarayanan ‡ & Dave O’Hallaron ‡ * U of Toronto, ‡ CMU, September 2007. Bimodal Applications. Interactive Cognitive phase Resource-Intensive Crunch phase
E N D
Snowbird:Interactive Resource-IntensiveApplications Made Easy H. Andrés Lagar-Cavilla* Niraj Tolia‡, Eyal de Lara*, M. Satyanarayanan‡ & Dave O’Hallaron‡ *U of Toronto, ‡CMU, September 2007
Bimodal Applications • Interactive • Cognitive phase • Resource-Intensive • Crunch phase • Digital Animation • Scientific Computing • Engineering Design • Bio/Pharma • Video Editing • …. Maya (digital animation)
Different Phases, Different Needs • Crunch (computation) • Short completion time • Computing resources • Cognitive (interaction) • Crisp interactive performance • User attention
What To Do? Execution alternatives • Thick Clients (Desktop PCs) • Have excellent interactive performance • Can be resource constrained • Thin Clients (VNC, Remote Desktop) • Allow use of remote resources (CPU, Data) • Latency and jitter impact interactive performance • Custom Applications • Pipeline: placement over different nodes • Requires significant developer resources
What To Do? A Systems Solution With the best of both worlds • Have excellent interactive performance • Allow use of remote resources (CPU, Data)
Snowbird: Agent Abstraction 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
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 • Server-less design (P2P) • All hosts symmetric • Can execute anywhere
Implementation • 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
CPUIntensive cycles.org FPS < 20 && Input > 15 CPU > 95% InteractionIntensive usr.home NetIntensive data.edu Net > 4 Mbit/s Agent Profiles: Migration Manager • 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 • Non work-conserving (VNC): FPS = 2/latency • Local: FPS = n/latency • Work-conserving (X): FPS = n/(latency*k)
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
bar.cmu.edu baz.europe.org WANDisk: Virtual Disk Chunk Table foo.toronto.edu ChunkMisses
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
Benchmarks • Broad set of domains • Animation, Scientific Computing, Video Editing, Bio • Closed and open source • Straightforward installation • Able to use generic profile on all four • Partitioned mode for comparison • Adf & Maya QuakeViz Kmenc15 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 • 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
Results: Crunch Phase Ouch! 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
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
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 • Europe: ~100ms (60ms speed-of-light) • Asia: ~200ms (90ms speed-of-light) • Insurmountable obstacle for thin clients
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
Questions? Thanks More details in Middleware 2007 H. Andrés Lagar-Cavilla andreslc@cs.toronto.edu Niraj Tolia, Eyal de Lara, Satya & Dave O’Hallaron U of Toronto, CMU
Frames Per Second • Non work-conserving: same latency, less frames • Local: FPS = frames/latency • Work-conserving: same frames, more latency
Applicability of Snowbird • Morphing time: our implementation • Speedup: application & resources • C: Crunch phase time locally
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
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 Snowbird’s crunch performance • Much better than thick • Comparable to thin/partitioned