snowbird: interactive resource-intensive applications made easy

35
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

Upload: chas

Post on 29-Jan-2016

36 views

Category:

Documents


0 download

DESCRIPTION

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 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Snowbird: Interactive Resource-Intensive Applications Made Easy

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

Page 2: Snowbird: Interactive Resource-Intensive Applications Made Easy

Bimodal Applications

• Interactive– Cognitive phase

• Resource-Intensive– Crunch phase

• Digital Animation• Scientific Computing• Engineering Design• Bio/Pharma• Video Editing• ….

Maya

(digital animation)

Page 3: Snowbird: Interactive Resource-Intensive Applications Made Easy

Different Phases, Different Needs

• Crunch (computation)– Short completion time

– Computing resources

• Cognitive (interaction)– Crisp interactive performance

– User attention

Page 4: Snowbird: Interactive Resource-Intensive Applications Made Easy

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

Page 5: Snowbird: Interactive Resource-Intensive Applications Made Easy

What To Do? A Systems Solution

With the best of both worlds Have excellent interactive performance

Allow use of remote resources (CPU, Data)

Page 6: Snowbird: Interactive Resource-Intensive Applications Made Easy

Internet

ImprovedCompute Power

Compute Cluster

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

ImprovedData Access

User’s Desktop Data Repository

ImprovedInteractivity

Agent

Page 7: Snowbird: Interactive Resource-Intensive Applications Made Easy

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

Page 8: Snowbird: Interactive Resource-Intensive Applications Made Easy

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

Page 9: Snowbird: Interactive Resource-Intensive Applications Made Easy

Implementation

Page 10: Snowbird: Interactive Resource-Intensive Applications Made Easy

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

Page 11: Snowbird: Interactive Resource-Intensive Applications Made Easy

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

CPUIntensive

cycles.org

NetIntensive

data.edu

InteractionIntensiveusr.home

Net > 4 Mbit/s

CPU > 95%

FPS < 20 &&

Input > 15

Internet

ImprovedCompute Power

Compute Cluster

ImprovedData Access

User’s Desktop Data Repository

ImprovedInteractivity

Agent

Page 12: Snowbird: Interactive Resource-Intensive Applications Made Easy

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

Page 13: Snowbird: Interactive Resource-Intensive Applications Made Easy

Frames Per Second

• Non work-conserving (VNC): FPS = 2/latency

• Local: FPS = n/latency

• Work-conserving (X): FPS = n/(latency*k)

Page 14: Snowbird: Interactive Resource-Intensive Applications Made Easy

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

Page 15: Snowbird: Interactive Resource-Intensive Applications Made Easy

Open GL for X11 Apps

Page 16: Snowbird: Interactive Resource-Intensive Applications Made Easy

VMGL for X11 Apps

Page 17: Snowbird: Interactive Resource-Intensive Applications Made Easy

Admin VM

LocalChunk Store

WANDisk Manager

Kernel Module

WANDisk: Virtual Disk

foo.toronto.edu

Admin VM

LocalChunk Store

WANDisk Manager

Kernel Module

bar.cmu.edu

ChunkTable

ChunkMisses

Agent

Block DevOS

Application

baz.europe.org

Admin VM

LocalChunk Store

WANDisk Manager

Kernel Module

Page 18: Snowbird: Interactive Resource-Intensive Applications Made Easy

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

Page 19: Snowbird: Interactive Resource-Intensive Applications Made Easy

Evaluation

Page 20: Snowbird: Interactive Resource-Intensive Applications Made Easy

Benchmarks

Maya (closed source)ADF (closed source)

QuakeViz Kmenc15

• 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

Page 21: Snowbird: Interactive Resource-Intensive Applications Made Easy

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

Page 22: Snowbird: Interactive Resource-Intensive Applications Made Easy

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

Page 23: Snowbird: Interactive Resource-Intensive Applications Made Easy

Results: Crunch Phase

45

45

67

21

96

10

7

12

5

434

7

57

74

23

48

58

76

24

49

58

78

24

45

0

20

40

60

80

100

120

140

Maya QuakeViz ADF Kmenc15

Min

ute

s

ThinThickSnowbird 33Snowbird 66Snowbird 100Partitioned

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

Ouch!

Page 24: Snowbird: Interactive Resource-Intensive Applications Made Easy

• Better interactivity than thin clients• Is Snowbird any worse than a thick client?• > 20 FPS is ok, < 8 FPS is unusable

Results: Cognitive Phase

Page 25: Snowbird: Interactive Resource-Intensive Applications Made Easy

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

Page 26: Snowbird: Interactive Resource-Intensive Applications Made Easy

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…

Page 27: Snowbird: Interactive Resource-Intensive Applications Made Easy

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

Page 28: Snowbird: Interactive Resource-Intensive Applications Made Easy

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

Page 29: Snowbird: Interactive Resource-Intensive Applications Made Easy

Questions?

Thanks More details in Middleware 2007

H. Andrés [email protected]

Niraj Tolia, Eyal de Lara, Satya & Dave O’HallaronU of Toronto, CMU

Page 30: Snowbird: Interactive Resource-Intensive Applications Made Easy

Backup

Page 31: Snowbird: Interactive Resource-Intensive Applications Made Easy

Frames Per Second

• Non work-conserving: same latency, less frames

• Local: FPS = frames/latency

• Work-conserving: same frames, more latency

Page 32: Snowbird: Interactive Resource-Intensive Applications Made Easy

Applicability of Snowbird

• Morphing time: our implementation• Speedup: application & resources• C: Crunch phase time locally

Page 33: Snowbird: Interactive Resource-Intensive Applications Made Easy

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

Page 34: Snowbird: Interactive Resource-Intensive Applications Made Easy

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

Page 35: Snowbird: Interactive Resource-Intensive Applications Made Easy

Results: Crunch Phase

0

20

40

60

80

100

120

140

Maya QuakeViz ADF Kmenc15

Application

Tim

e (

Min

ute

s)

ThinThickSnowbird 33Snowbird 66Snowbird 100

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