Download presentation
Presentation is loading. Please wait.
Published byHarvey Blake Modified over 9 years ago
1
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
2
Expensive, Repeated Tasks compute: deterministic, potentially parallel, no I/O mutate: non-deterministic, may perform I/O
3
Self-Adjusting Computation: record and repeat Goal of SAC: Incremental Computation Yields Higher Performance equivalent
4
Demo: Morph Application
5
Self-Adjusting Computation: Small Change to Input
6
Small Changes in Input Produce Small Changes in Output RecordRepeat
7
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
8
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
9
Tasks and Tiles Out[3] B[3] B[1] E[3] E[1] Out[2] Out[0] Out[1] 01 2 3 B[2]E[2]
10
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.