+ All Categories
Home > Documents > Making Time-stepped Applications Tick in the Cloud Tao Zou, Guozhang Wang, Marcos Vaz Salles*, David...

Making Time-stepped Applications Tick in the Cloud Tao Zou, Guozhang Wang, Marcos Vaz Salles*, David...

Date post: 31-Mar-2015
Category:
Upload: rylee-powe
View: 212 times
Download: 0 times
Share this document with a friend
Popular Tags:
32
Making Time-stepped Applications Tick in the Cloud Tao Zou , Guozhang Wang, Marcos Vaz Salles*, David Bindel, Alan Demers, Johannes Gehrke, Walker White 1 Cornell University *University of Copenhagen (DIKU)
Transcript
Page 1: Making Time-stepped Applications Tick in the Cloud Tao Zou, Guozhang Wang, Marcos Vaz Salles*, David Bindel, Alan Demers, Johannes Gehrke, Walker White.

1

Making Time-stepped Applications

Tick in the CloudTao Zou, Guozhang Wang, Marcos Vaz Salles*,

David Bindel, Alan Demers, Johannes Gehrke, Walker White

Cornell University*University of Copenhagen (DIKU)

Page 2: Making Time-stepped Applications Tick in the Cloud Tao Zou, Guozhang Wang, Marcos Vaz Salles*, David Bindel, Alan Demers, Johannes Gehrke, Walker White.

2

Time-Stepped Applications

• Executed with parallelism organized into logical ticks.

• Implemented using Bulk Synchronous Parallel (BSP) Model

Processors

LocalComputation

P1P2P3 Pn− 1Pn……

……

Communication

Global Barrier

Tick Tick

Page 3: Making Time-stepped Applications Tick in the Cloud Tao Zou, Guozhang Wang, Marcos Vaz Salles*, David Bindel, Alan Demers, Johannes Gehrke, Walker White.

3

Running Example: Fish Simulation

• Behavioral Simulation– Traffic simulation– Simulation of groups

of animals

Tick

Page 4: Making Time-stepped Applications Tick in the Cloud Tao Zou, Guozhang Wang, Marcos Vaz Salles*, David Bindel, Alan Demers, Johannes Gehrke, Walker White.

4

Other Time-Stepped Applications

• Iterative Graph Processing

• Matrix Computation

Page 5: Making Time-stepped Applications Tick in the Cloud Tao Zou, Guozhang Wang, Marcos Vaz Salles*, David Bindel, Alan Demers, Johannes Gehrke, Walker White.

5

Why Run Scientific Applications in the Cloud?

• Elasticity

• Cost Saving

• Instant Availability Avoid jobs queuing for days

Page 6: Making Time-stepped Applications Tick in the Cloud Tao Zou, Guozhang Wang, Marcos Vaz Salles*, David Bindel, Alan Demers, Johannes Gehrke, Walker White.

6

What Does Cloud Infrastructure Imply

Unstable network latencies

• Virtualization • Lack of network performance isolation

Local Cluster VS EC2 Small InstanceEC2 Large InstanceEC2 Cluster Instance

Page 7: Making Time-stepped Applications Tick in the Cloud Tao Zou, Guozhang Wang, Marcos Vaz Salles*, David Bindel, Alan Demers, Johannes Gehrke, Walker White.

7

Time-Stepped Applications under Latency Jitter

• Sensitive to latencies

• Remove unnecessary barriers– Jitter still

propagates

Processors

LocalComputation

P1P2P3 Pn− 1Pn……

……

Communication

BarrierSynchronization

Page 8: Making Time-stepped Applications Tick in the Cloud Tao Zou, Guozhang Wang, Marcos Vaz Salles*, David Bindel, Alan Demers, Johannes Gehrke, Walker White.

8

Problem

• Time-stepped applications

• Unstable latencies

• Solution space– Improve the networking infrastructure • Recent proposals only tackle bandwidth problems

– Make applications more resistant to unstable latencies

Page 9: Making Time-stepped Applications Tick in the Cloud Tao Zou, Guozhang Wang, Marcos Vaz Salles*, David Bindel, Alan Demers, Johannes Gehrke, Walker White.

9

Talk Outline

• Motivation• Our Approach• Experimental Results• Conclusions

Page 10: Making Time-stepped Applications Tick in the Cloud Tao Zou, Guozhang Wang, Marcos Vaz Salles*, David Bindel, Alan Demers, Johannes Gehrke, Walker White.

10

• Disadvantages–No Generality

Goal: Applicable to all time-stepped applications

–No Ease of ProgrammingGoal: Transparent optimization and communication

–Error-ProneGoal: Correctness guarantee

• Programming Model + Jitter-tolerant Runtime

Why not Ad-Hoc Optimizations?

Page 11: Making Time-stepped Applications Tick in the Cloud Tao Zou, Guozhang Wang, Marcos Vaz Salles*, David Bindel, Alan Demers, Johannes Gehrke, Walker White.

11

Talk Outline

• Motivation• Our Approach– Programming Model– Jitter-tolerant Runtime

• Experimental Results• Conclusions

Page 12: Making Time-stepped Applications Tick in the Cloud Tao Zou, Guozhang Wang, Marcos Vaz Salles*, David Bindel, Alan Demers, Johannes Gehrke, Walker White.

12

Data Dependencies: What to Communicate

Write

Read

• Read Dependency– Example: How far can a fish

see?• Write Dependency– Example: How far can a fish

move?

• Key: Modeling Dependencies

Page 13: Making Time-stepped Applications Tick in the Cloud Tao Zou, Guozhang Wang, Marcos Vaz Salles*, David Bindel, Alan Demers, Johannes Gehrke, Walker White.

13

Programming ModelModeling State

• Motivated by thinking of the applications as distributed database system

• Application state: Set of tuples – Fish tuple – Fish school application state

• Selection over state: Query– 2D range query over fish school

Page 14: Making Time-stepped Applications Tick in the Cloud Tao Zou, Guozhang Wang, Marcos Vaz Salles*, David Bindel, Alan Demers, Johannes Gehrke, Walker White.

14

Programming ModelModeling Data Parallelism

• Partition Function:PART

Q8

Q1Q2 Q3

Q 4 Q5 Q6

Q7 Q 9

Page 15: Making Time-stepped Applications Tick in the Cloud Tao Zou, Guozhang Wang, Marcos Vaz Salles*, David Bindel, Alan Demers, Johannes Gehrke, Walker White.

15

Programming ModelModeling Computation

• Parallel Computation:STEP

Q8

Q1Q2 Q3

Q 4 𝐐𝟓 Q6

Q7 Q 9

Context

• Context: How large?

ToCompute

Page 16: Making Time-stepped Applications Tick in the Cloud Tao Zou, Guozhang Wang, Marcos Vaz Salles*, David Bindel, Alan Demers, Johannes Gehrke, Walker White.

16

R(Q)

Programming Model

Modeling Dependencies:

• Read Dependency:

Q

– Contains all necessary tuples in context to compute STEP

Page 17: Making Time-stepped Applications Tick in the Cloud Tao Zou, Guozhang Wang, Marcos Vaz Salles*, David Bindel, Alan Demers, Johannes Gehrke, Walker White.

17

Programming Model

Modeling Dependencies: • STEP

• Inverse Read Dependency:

– Contains all tuples that can be computed with as context

STEP

Q

Q R(Q)?

Page 18: Making Time-stepped Applications Tick in the Cloud Tao Zou, Guozhang Wang, Marcos Vaz Salles*, David Bindel, Alan Demers, Johannes Gehrke, Walker White.

18

Programming Model

Modeling Dependencies:

• Write Dependency:

– Contains all tuples generated by computing

W (Q)Q

Page 19: Making Time-stepped Applications Tick in the Cloud Tao Zou, Guozhang Wang, Marcos Vaz Salles*, David Bindel, Alan Demers, Johannes Gehrke, Walker White.

19

• Inverse Write Dependency:

– Contains all tuples in the next tick after computing

Programming Model

Modeling Dependencies:

Q

Page 20: Making Time-stepped Applications Tick in the Cloud Tao Zou, Guozhang Wang, Marcos Vaz Salles*, David Bindel, Alan Demers, Johannes Gehrke, Walker White.

20

Programming Model: All together

• PART – data parallelism

• STEP – computation

• , – read dependencies • – write dependencies

• Remarks:– Users inherently think in terms of dependencies – Not limited to spatial properties

PageRank

Page 21: Making Time-stepped Applications Tick in the Cloud Tao Zou, Guozhang Wang, Marcos Vaz Salles*, David Bindel, Alan Demers, Johannes Gehrke, Walker White.

21

Talk Outline

• Motivation• Our Approach– Programming Model– Jitter-tolerant Runtime

• Experimental Results• Conclusions

Page 22: Making Time-stepped Applications Tick in the Cloud Tao Zou, Guozhang Wang, Marcos Vaz Salles*, David Bindel, Alan Demers, Johannes Gehrke, Walker White.

22

Jitter-tolerant Runtime

• Input: Functions defined in programming model

• Output: Parallel computation results

• Requirement: Efficiency and Correctness

Page 23: Making Time-stepped Applications Tick in the Cloud Tao Zou, Guozhang Wang, Marcos Vaz Salles*, David Bindel, Alan Demers, Johannes Gehrke, Walker White.

RuntimeDependency Scheduling

Intuition: schedule computation for future ticks when delayed23

QQ

Tick Compute

Wait for messages

Tick

Compute ?

No. Incoming message may contain updates to Q.

Compute IW (Q) is not influenced by the messages

Tick

IR∘ IW (Q )Compute

All message received

Compute

Send out updates

Send out updates……

……

Page 24: Making Time-stepped Applications Tick in the Cloud Tao Zou, Guozhang Wang, Marcos Vaz Salles*, David Bindel, Alan Demers, Johannes Gehrke, Walker White.

24

W ∘R (Q)Runtime

Computational Replication

• Intuition: enlarge region to compute contents of delayed messages.• , ,

Q

Tick Compute

Wait for messages

Tick

Send out updates

Compute

Compute

……

Page 25: Making Time-stepped Applications Tick in the Cloud Tao Zou, Guozhang Wang, Marcos Vaz Salles*, David Bindel, Alan Demers, Johannes Gehrke, Walker White.

25

Our Approach: Summary

• Programming model captures – Application state– Computation logic – Data dependencies

• Jitter-tolerant runtime– Dependency scheduling– Computational replication

Page 26: Making Time-stepped Applications Tick in the Cloud Tao Zou, Guozhang Wang, Marcos Vaz Salles*, David Bindel, Alan Demers, Johannes Gehrke, Walker White.

26

Talk Outline

• Motivation• Our Approach– Programming Model– Jitter-tolerant Runtime

• Experimental Results• Conclusions

Page 27: Making Time-stepped Applications Tick in the Cloud Tao Zou, Guozhang Wang, Marcos Vaz Salles*, David Bindel, Alan Demers, Johannes Gehrke, Walker White.

27

Experimental Setup

• A prototype framework – Jitter-tolerant runtime

• MPI for communication

– Three different applications • A fish school behavioral simulation• A linear solver using the Jacobi method• A message-passing algorithm computes PageRank

• Hardware Setup– Up to 100 EC2 large instances (m1.large)

• 2.26GHz Xeon cores with 6MB cache • 7.5GB main memory

Page 28: Making Time-stepped Applications Tick in the Cloud Tao Zou, Guozhang Wang, Marcos Vaz Salles*, David Bindel, Alan Demers, Johannes Gehrke, Walker White.

28

Methodology

• Observation: Temporal variation in network performance• Solution– Execute all settings in rounds of fixed order– At least 20 consecutive executions of these rounds

Page 29: Making Time-stepped Applications Tick in the Cloud Tao Zou, Guozhang Wang, Marcos Vaz Salles*, David Bindel, Alan Demers, Johannes Gehrke, Walker White.

29

Effect of Optimization: Fish Sim

• Baseline: Local Synchronization; Sch: Dependency Scheduling; Rep: Computational Replication

Page 30: Making Time-stepped Applications Tick in the Cloud Tao Zou, Guozhang Wang, Marcos Vaz Salles*, David Bindel, Alan Demers, Johannes Gehrke, Walker White.

30

Effect of Optimization: Jacobi

• Baseline: Local Synchronization; Sch: Dependency Scheduling; Rep: Computational Replication

Page 31: Making Time-stepped Applications Tick in the Cloud Tao Zou, Guozhang Wang, Marcos Vaz Salles*, David Bindel, Alan Demers, Johannes Gehrke, Walker White.

31

Scalability: Fish Simulation

• Baseline: Local Synchronization; Sch: Dependency Scheduling; Rep: Computational Replication

Page 32: Making Time-stepped Applications Tick in the Cloud Tao Zou, Guozhang Wang, Marcos Vaz Salles*, David Bindel, Alan Demers, Johannes Gehrke, Walker White.

32

Conclusions

• Latency jitter is a key characteristic of today’s cloud environments.

• Programming model + jitter-tolerant runtime– Good performance under latency jitter– Ease of programming– Correctness

• We have released our framework as a public Amazon AMI: http://www.cs.cornell.edu/bigreddata/games/.

• Our framework will be used this fall in CS 5220 (Applications of Parallel Computers) at Cornell.

Thank you!Questions?


Recommended