randomized accuracy aware program transformations for efficient approximate computations sasa...

Download Randomized Accuracy Aware Program Transformations for Efficient Approximate Computations Sasa Misailovic Joint work with Zeyuan Allen ZhuJonathan KelnerMartin

If you can't read please download the document

Upload: denis-johnson

Post on 17-Dec-2015

212 views

Category:

Documents


0 download

TRANSCRIPT

  • Slide 1
  • Randomized Accuracy Aware Program Transformations for Efficient Approximate Computations Sasa Misailovic Joint work with Zeyuan Allen ZhuJonathan KelnerMartin Rinard MIT CSAIL
  • Slide 2
  • Nodes represent computation Edges represent flow of data
  • Slide 3
  • Functions process individual data Reduction nodes aggregate data
  • Slide 4
  • min avg Functions process individual data Reduction nodes aggregate data
  • Slide 5
  • min avg f2f2 f3f3 f1f1
  • Slide 6
  • min avg
  • Slide 7
  • Sampling inputs of reduction nodes Reductions consume fewer inputs min avg
  • Slide 8
  • min avg Sampling inputs of reduction nodes Reductions consume fewer inputs
  • Slide 9
  • Tradeoff Space Error Time
  • Slide 10
  • Tradeoff Space Error Time
  • Slide 11
  • Optimal Tradeoff Curve Error Time Using the tradeoff curve: Minimize time subject to error bound Minimize error subject to time bound
  • Slide 12
  • Our Result AnalysisOptimization Original program Error bound Optimized program Transformations
  • Slide 13
  • Outline Model of Computation Tradeoff Curve Construction Optimized Program Selection Related Work
  • Slide 14
  • Model of Computation ff t uv w t uv w ffgg gg min avg
  • Slide 15
  • Model of Computation ff t uv w t uv w ffgg gg min avg min 1 n n n f g t uv w avg mm
  • Slide 16
  • Structure of Computation Computation nodes DAGs of functions Functions: arbitrary code Process individual inputs Reduction nodes Aggregation functions Average, min, max, sum Computation Tree Computation nodes and reduction nodes min 1 n n n f g t uv w avg mm
  • Slide 17
  • min Accuracy-Aware Transformations 1 n n n avg mm
  • Slide 18
  • min Accuracy-Aware Transformations 1 n n n avg mm
  • Slide 19
  • min Accuracy-Aware Transformations 1 n n n avg mm
  • Slide 20
  • min Accuracy-Aware Transformations 1 n n n avg mm
  • Slide 21
  • min Program Configuration Vector Defines transformed program Functions: probability of executing each version Reductions: number of elements to sample 1 n n n avg mm
  • Slide 22
  • min Configuration Vector Specifies program version Functions: probability of executing each version Reductions: number of elements to sample 1 n n n avg mm Find optimal program = Find configuration vector that achieves optimal accuracy vs. performance tradeoff Find optimal program = Find configuration vector that achieves optimal accuracy vs. performance tradeoff
  • Slide 23
  • min 1 n n n avg mm Tradeoff Curve Construction: Algorithm
  • Slide 24
  • min Tradeoff Curve Construction: Algorithm 1 n n n avg mm
  • Slide 25
  • Tradeoff Curve Construction: Algorithm 1 mm n n n min avg
  • Slide 26
  • Tradeoff Curve Construction: Algorithm 1 mm n n n min avg
  • Slide 27
  • Tradeoff Curve Construction: Algorithm 1 n n n min avg m
  • Slide 28
  • Tradeoff Curve Construction: Algorithm 1 n n n min
  • Slide 29
  • Tradeoff Curve Construction: Algorithm 1 n n n min
  • Slide 30
  • Tradeoff Curve Construction: Algorithm 1 n n n min
  • Slide 31
  • Tradeoff Curve Construction: Algorithm 1 n min
  • Slide 32
  • Tradeoff Curve Construction: Algorithm
  • Slide 33
  • Computation Node Optimization (E 2,T 2 ) (E 0,T 0 )(E 1,T 1 ) Linear program
  • Slide 34
  • Computation Node Optimization (E 2,T 2 ) (E 0,T 0 )(E 1,T 1 ) Linear program
  • Slide 35
  • Computation Node Optimization (E 2,T 2 ) (E 0,T 0 )(E 1,T 1 ) Linear program
  • Slide 36
  • Computation Node Optimization (E 2,T 2 ) (E 0,T 0 )(E 1,T 1 ) Linear program
  • Slide 37
  • The Algorithm: Reduction Nodes m avg
  • Slide 38
  • The Algorithm: Reduction Nodes m avg
  • Slide 39
  • The Algorithm: Reduction Nodes m avg
  • Slide 40
  • The Algorithm: Reduction Nodes m avg
  • Slide 41
  • Approximate Tradeoff Curve Error Time Bidimensional Discretization
  • Slide 42
  • Approximating Tradeoff Curve Error Time Bidimensional Discretization
  • Slide 43
  • Approximating Tradeoff Curve Error Time
  • Slide 44
  • Approximating Tradeoff Curve Error Time
  • Slide 45
  • Approximating Tradeoff Curve Error Time
  • Slide 46
  • Approximating Tradeoff Curve Error Time
  • Slide 47
  • Properties of the Algorithm
  • Slide 48
  • Obtaining Optimized Programs
  • Slide 49
  • Related Work Accuracy-aware transformations Empirical justification: training/test input set [Rinard ICS 06, Rinard OOPSLA 07, Ansel et al. PLDI 09, Misailovic et al. ICSE 10, Baek & Chilimbi PLDI 10 Hoffmann et al. ASPLOS 11, Sidiroglou et al. FSE 11] Probabilistic accuracy analysis for loop perforation [Misailovic et al. SAS 11, Chaudhuri et al. FSE 11]
  • Slide 50
  • Related Work Accuracy-aware transformations Empirical justification: training/test input set [Rinard ICS 06, Rinard OOPSLA 07, Ansel et al. PLDI 09, Misailovic et al. ICSE 10, Baek & Chilimbi PLDI 10 Hoffmann et al. ASPLOS 11, Sidiroglou et al. FSE 11] Probabilistic accuracy analysis for loop perforation [Misailovic et al. SAS 11, Chaudhuri et al. FSE 11] Ensuring safety of transformed programs Separating critical and approximate parts of program [Carbin & Rinard ISSTA 10, Sampson et al. PLDI 11] Verifying relaxed semantics of programs [Carbin et al. CSAIL-TR 11] Analytic properties of programs [Majumdar & Saha RTSS 09, Chaudhuri et al. POPL10, Ivancic et al. MEMOCODE 10, Reed & Pierce ICFP 10, Chaudhuri & Solar-Lezama PLDI 10, Chaudhuri et al. FSE 11]
  • Slide 51
  • Summary Model of Computation Accuracy-aware program transformations Effects on overall accuracy and execution time Explore and Exploit Optimal Tradeoffs Approximate optimal tradeoff curve construction Polynomial, dynamic programming algorithm Randomized program configurations to achieve tradeoffs Envisioned Applications Image and video processing, numerical algorithms, queries on big data sets, machine learning, Optimization, fault tolerance, dynamic adaptation
  • Slide 52