10
Two for the Price of One: A Model for Parallel and Incremental Computation Thomas Ball, Sebastian Burckhardt, Daan Leijen Microsoft Research – Redmond Caitlin Sadowski, Jaeheon Yi UC Santa Cruz

Two for the Price of One: A Model for Parallel and Incremental Computation

Embed Size (px)

DESCRIPTION

Two for the Price of One: A Model for Parallel and Incremental Computation. Thomas Ball, Sebastian Burckhardt, Daan Leijen Microsoft Research – Redmond Caitlin Sadowski, Jaeheon Yi UC Santa Cruz. Expensive, Repeated Tasks. c ompute: deterministic, potentially parallel, no I/O - PowerPoint PPT Presentation

Citation preview

Page 1: Two for the Price of One: A Model for Parallel and Incremental Computation

Two for the Price of One:A Model for Parallel and Incremental

Computation

Thomas Ball, Sebastian Burckhardt, Daan LeijenMicrosoft Research – Redmond

Caitlin Sadowski, Jaeheon YiUC Santa Cruz

Page 2: Two for the Price of One: A Model for Parallel and Incremental Computation

Expensive, Repeated Tasks

• compute: deterministic, potentially parallel, no I/O• mutate: non-deterministic, may perform I/O

Page 3: Two for the Price of One: A Model for Parallel and Incremental Computation

Self-Adjusting Computation:record and repeat

Goal of SAC: Incremental ComputationYields Higher Performance

equivalent

Page 4: Two for the Price of One: A Model for Parallel and Incremental Computation

Demo: Morph Application

Page 5: Two for the Price of One: A Model for Parallel and Incremental Computation

Self-Adjusting Computation:Small Change to Input

Page 6: Two for the Price of One: A Model for Parallel and Incremental Computation

Small Changes in Input Produce Small Changes in Output

Record Repeat

Page 7: Two for the Price of One: A Model for Parallel and Incremental Computation

Key Observations

• Same abstraction (tasks) can be used for – Parallelism– Self-adjusting computation

• Leverage the work a programmer has done to decompose a large task into parallel subtasks– Data decomposition (partitioning)– Identifying independent and dependent subtasks

Page 8: Two for the Price of One: A Model for Parallel and Incremental Computation

Tasks and Tiles: Natural Decomposition for Parallelism and Incrementalism

Out[3]= F (B[1-3],E[1-3])

B E

Out

0 1

2 3

0 1

2 3

0 1

2 3

Page 9: Two for the Price of One: A Model for Parallel and Incremental Computation

Tasks and Tiles

Out[3]

B[3]

B[1]

E[3]E[1]

Out[2]

Out[0] Out[1]

0 1

2 3

B[2] E[2]

Page 10: Two for the Price of One: A Model for Parallel and Incremental Computation

Results• Simple set of primitives for simultaneously expressing potential

parallel and incremental computation• Algorithm to– record

• control /data dependencies of a deterministic parallel computation and • cache input/output effect of tasks

– repeat• the computation while re-executing only tasks whose dependencies have

changed, • using cached results for unaffected tasks

• Evaluation– 12x to 37x speedup compared to sequential baseline on an

8-core machine