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

Slides:



Advertisements
Similar presentations
A Support Vector Method for Optimizing Average Precision
Advertisements

Gate Sizing for Cell Library Based Designs Shiyan Hu*, Mahesh Ketkar**, Jiang Hu* *Dept of ECE, Texas A&M University **Intel Corporation.
Aggregating local image descriptors into compact codes
Probabilistic Planning (goal-oriented) Action Probabilistic Outcome Time 1 Time 2 Goal State 1 Action State Maximize Goal Achievement Dead End A1A2 I A1.
The CORS method Selecting the roots of a system of polynomial equations with combinatorial optimization H. Bekker E.P. Braad B. Goldengorin University.
Fast Algorithms For Hierarchical Range Histogram Constructions
Summarizing Distributed Data Ke Yi HKUST += ?. Small summaries for BIG data  Allow approximate computation with guarantees and small space – save space,
Approximations of points and polygonal chains
Programming Abstractions for Approximate Computing Michael Carbin with Sasa Misailovic, Hank Hoffmann, Deokhwan Kim, Stelios Sidiroglou, Martin Rinard.
Swarat Chaudhuri Rice University Biplab Deka Rakesh Kumar UIUC Principled Approximations in Probabilistic Programming.
Accuracy-Aware Program Transformations Sasa Misailovic MIT CSAIL.
Optimal Workload-Based Weighted Wavelet Synopsis
Green: A Framework for Supporting Energy-Conscious Programming using Controlled Approximation Woongki Baek Stanford University Trishul M. Chilimbi Microsoft.
Support Vector Machines (SVMs) Chapter 5 (Duda et al.)
Approximation Algorithms
Probabilistic Aggregation in Distributed Networks Ling Huang, Ben Zhao, Anthony Joseph and John Kubiatowicz {hling, ravenben, adj,
L16: Micro-array analysis Dimension reduction Unsupervised clustering.
Data mining and statistical learning - lecture 13 Separating hyperplane.
Lecture outline Support vector machines. Support Vector Machines Find a linear hyperplane (decision boundary) that will separate the data.
Carnegie Mellon Adaptive Mapping of Linear DSP Algorithms to Fixed-Point Arithmetic Lawrence J. Chang Inpyo Hong Yevgen Voronenko Markus Püschel Department.
1 Wavelet synopses with Error Guarantees Minos Garofalakis Phillip B. Gibbons Information Sciences Research Center Bell Labs, Lucent Technologies Murray.
Games & Adversarial Search Chapter 6 Section 1 – 4.
ASAC : Automatic Sensitivity Analysis for Approximate Computing Pooja ROY, Rajarshi RAY, Chundong WANG, Weng Fai WONG National University of Singapore.
Classification and Prediction: Regression Analysis
UCSC 1 Aman ShaikhICNP 2003 An Efficient Algorithm for OSPF Subnet Aggregation ICNP 2003 Aman Shaikh Dongmei Wang, Guangzhi Li, Jennifer Yates, Charles.
Dancing With Uncertainty Saša Misailović Stelios Sidiroglou Martin Rinard MIT CSAIL.
TASK ADAPTATION IN REAL-TIME & EMBEDDED SYSTEMS FOR ENERGY & RELIABILITY TRADEOFFS Sathish Gopalakrishnan Department of Electrical & Computer Engineering.
On the Construction of Data Aggregation Tree with Minimum Energy Cost in Wireless Sensor Networks: NP-Completeness and Approximation Algorithms National.
Using Loop Perforation to Dynamically Adapt Application Behavior to Meet Real-Time Deadlines Henry Hoffmann, Sasa Misailovic, Stelios Sidiroglou, Anant.
Rate-based Data Propagation in Sensor Networks Gurdip Singh and Sandeep Pujar Computing and Information Sciences Sanjoy Das Electrical and Computer Engineering.
Assuring Application-level Correctness Against Soft Errors Jason Cong and Karthik Gururaj.
Approximation Algorithms for Task Allocation with QoS and Energy Considerations Bader N. Alahmad.
Analytic Models and Empirical Search: A Hybrid Approach to Code Optimization A. Epshteyn 1, M. Garzaran 1, G. DeJong 1, D. Padua 1, G. Ren 1, X. Li 1,
Learning a Small Mixture of Trees M. Pawan Kumar Daphne Koller Aim: To efficiently learn a.
Adaptive Data Aggregation for Wireless Sensor Networks S. Jagannathan Rutledge-Emerson Distinguished Professor Department of Electrical and Computer Engineering.
Constructing Optimal Wavelet Synopses Dimitris Sacharidis Timos Sellis
Stochastic DAG Scheduling using Monte Carlo Approach Heterogeneous Computing Workshop (at IPDPS) 2012 Extended version: Elsevier JPDC (accepted July 2013,
Direct Message Passing for Hybrid Bayesian Networks Wei Sun, PhD Assistant Research Professor SFL, C4I Center, SEOR Dept. George Mason University, 2009.
Synchronization Transformations for Parallel Computing Pedro Diniz and Martin Rinard Department of Computer Science University of California, Santa Barbara.
Proving Programs Robust Swarat Chaudhuri 1,3 Sumit Gulwani 2 Roberto Lublinerman 1 Sara Navidpour 1 1 Pennsylvania State University 2 Microsoft Research.
Reasoning about Relaxed Programs Michael Carbin Deokhwan Kim, Sasa Misailovic, and Martin Rinard.
Optimal Sampling Strategies for Multiscale Stochastic Processes Vinay Ribeiro Rolf Riedi, Rich Baraniuk (Rice University)
Dr. Sudharman K. Jayaweera and Amila Kariyapperuma ECE Department University of New Mexico Ankur Sharma Department of ECE Indian Institute of Technology,
Lecture 2: Statistical learning primer for biologists
Implicit Hitting Set Problems Richard M. Karp Erick Moreno Centeno DIMACS 20 th Anniversary.
RDFPath: Path Query Processing on Large RDF Graph with MapReduce Martin Przyjaciel-Zablocki et al. University of Freiburg ESWC May 2013 SNU IDB.
By: Gang Zhou Computer Science Department University of Virginia 1 Medians and Beyond: New Aggregation Techniques for Sensor Networks CS851 Seminar Presentation.
Optimal Superblock Scheduling Using Enumeration Ghassan Shobaki, CS Dept. Kent Wilken, ECE Dept. University of California, Davis
Student: Shaobo He, Advisor: Zvonimir Rakamarić TOWARDS AUTOMATED DIFFERENTIAL PROGRAM VERIFICATION FOR APPROXIMATE COMPUTING.
TU/e Algorithms (2IL15) – Lecture 12 1 Linear Programming.
Rely: Verifying Quantitative Reliability for Programs that Execute on Unreliable Hardware Michael Carbin, Sasa Misailovic, and Martin Rinard MIT CSAIL.
R. Brafman and M. Tennenholtz Presented by Daniel Rasmussen.
Approximation Algorithms based on linear programming.
Optimization-based Cross-Layer Design in Networked Control Systems Jia Bai, Emeka P. Eyisi Yuan Xue and Xenofon D. Koutsoukos.
TU/e Algorithms (2IL15) – Lecture 12 1 Linear Programming.
Kalman Filter and Data Streaming Presented By :- Ankur Jain Department of Computer Science 7/21/03.
BlinkDB: Queries with Bounded Errors and Bounded Response Times on Very Large Data Authored by Sameer Agarwal, et. al. Presented by Atul Sandur.
Combining Models Foundations of Algorithms and Machine Learning (CS60020), IIT KGP, 2017: Indrajit Bhattacharya.
Stochastic Streams: Sample Complexity vs. Space Complexity
Polygonal Curve Simplification
Adaptation Behavior of Pipelined Adaptive Filters
An Introduction to Support Vector Machines
Data Integration with Dependent Sources
Avogadro-Scale Engineering:
Throughput-Optimal Broadcast in Dynamic Wireless Networks
ADVISOR : Professor Yeong-Sung Lin STUDENT : Hung-Shi Wang
Artificial Intelligence 10. Neural Networks
Games & Adversarial Search
Sculptor: Flexible Approximation with
Presentation transcript:

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

… … … … … Nodes represent computation Edges represent flow of data

… Functions – process individual data Reduction nodes – aggregate data … … … …

… min avg Functions – process individual data Reduction nodes – aggregate data … … … …

… min avg f2f2 f3f3 f1f1 … … … …

… min avg … … … …

Sampling inputs of reduction nodes Reductions consume fewer inputs … min avg … … … …

… min avg Sampling inputs of reduction nodes Reductions consume fewer inputs … … … …

Tradeoff Space Error Time

Tradeoff Space Error Time

Optimal Tradeoff Curve Error Time Using the tradeoff curve: Minimize time subject to error bound Minimize error subject to time bound

Our Result AnalysisOptimization Original program Error bound Optimized program Transformations

Outline Model of Computation Tradeoff Curve Construction Optimized Program Selection Related Work

Model of Computation … ff t uv w t uv w ffgg gg … … … … min avg

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

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

min Accuracy-Aware Transformations 1 n n n avg mm

min Accuracy-Aware Transformations 1 n n n avg mm …

min Accuracy-Aware Transformations 1 n n n avg mm …

min Accuracy-Aware Transformations 1 n n n avg mm …

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

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

min 1 n n n avg mm Tradeoff Curve Construction: Algorithm

min Tradeoff Curve Construction: Algorithm 1 n n n avg mm

Tradeoff Curve Construction: Algorithm 1 mm n n n min avg

Tradeoff Curve Construction: Algorithm 1 mm n n n min avg

Tradeoff Curve Construction: Algorithm 1 n n n min avg m

Tradeoff Curve Construction: Algorithm 1 n n n min

Tradeoff Curve Construction: Algorithm 1 n n n min

Tradeoff Curve Construction: Algorithm 1 n n n min

Tradeoff Curve Construction: Algorithm 1 n min

Tradeoff Curve Construction: Algorithm

Computation Node Optimization (E 2,T 2 ) (E 0,T 0 )(E 1,T 1 ) Linear program

Computation Node Optimization (E 2,T 2 ) (E 0,T 0 )(E 1,T 1 ) Linear program

Computation Node Optimization (E 2,T 2 ) (E 0,T 0 )(E 1,T 1 ) Linear program

Computation Node Optimization (E 2,T 2 ) (E 0,T 0 )(E 1,T 1 ) Linear program

The Algorithm: Reduction Nodes m avg

The Algorithm: Reduction Nodes m avg

The Algorithm: Reduction Nodes m avg

The Algorithm: Reduction Nodes m avg

Approximate Tradeoff Curve Error Time Bidimensional Discretization

Approximating Tradeoff Curve Error Time Bidimensional Discretization

Approximating Tradeoff Curve Error Time

Approximating Tradeoff Curve Error Time

Approximating Tradeoff Curve Error Time

Approximating Tradeoff Curve Error Time

Properties of the Algorithm

Obtaining Optimized Programs

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]

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. POPL’10, Ivancic et al. MEMOCODE ‘10, Reed & Pierce ICFP ’10, Chaudhuri & Solar-Lezama PLDI ’10, Chaudhuri et al. FSE ’11]

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