Mincer: a distributed automated problem determination tool

Slides:



Advertisements
Similar presentations
SCIP Optimization Suite
Advertisements

G53CLP Constraint Logic Programming Modeling CSPs – Case Study I Dr Rong Qu.
Program Representations. Representing programs Goals.
An Introduction to Markov Decision Processes Sarah Hickmott
A DDLM-based Method for Solving Distributed Problems Tang Yi.
Virtual Memory CS 147 October 30, 2007 Chris Stewart.
Direction of analysis Although constraints are not directional, flow functions are All flow functions we have seen so far are in the forward direction.
Direction of analysis Although constraints are not directional, flow functions are All flow functions we have seen so far are in the forward direction.
Introduction : ‘Skoll: Distributed Continuous Quality Assurance’ Morimichi Nishigaki.
Handouts Software Testing and Quality Assurance Theory and Practice Chapter 9 Functional Testing
Leroy Garcia 1.  Artificial Intelligence is the branch of computer science that is concerned with the automation of intelligent behavior (Luger, 2008).
Do we need theoretical computer science in software engineering curriculum: an experience from Uni Novi Sad Bansko, August 28, 2013.
ECE355 Fall 2004Software Reliability1 ECE-355 Tutorial Jie Lian.
Managing Large RDF Graphs (Infinite Graph) Vaibhav Khadilkar Department of Computer Science, The University of Texas at Dallas FEARLESS engineering.
I. Pribela, M. Ivanović Neum, Content Automated assessment Testovid system Test generator Module generators Conclusion.
Bringing Inverse Modeling to the Scientific Community Hydrologic Data and the Method of Anchored Distributions (MAD) Matthew Over 1, Daniel P. Ames 2,
Introduction to MCMC and BUGS. Computational problems More parameters -> even more parameter combinations Exact computation and grid approximation become.
Self-paced Learning for Latent Variable Models
Introduction to Software Engineering
Particle Filtering (Sequential Monte Carlo)
1 Generating FSMs from Abstract State Machines Wolfgang Grieskamp Yuri Gurevich Wolfram Schulte Margus Veanes Foundations of Software Engineering Microsoft.
Lecture PowerPoint Slides Basic Practice of Statistics 7 th Edition.
Software Testing Input Space Partition Testing. 2 Input Space Coverage Four Structures for Modeling Software Graphs Logic Input Space Syntax Use cases.
Framework for MDO Studies Amitay Isaacs Center for Aerospace System Design and Engineering IIT Bombay.
The Volcano Optimizer Generator Extensibility and Efficient Search.
Schreiber, Yevgeny. Value-Ordering Heuristics: Search Performance vs. Solution Diversity. In: D. Cohen (Ed.) CP 2010, LNCS 6308, pp Springer-
Coevolutionary Automated Software Correction Josh Wilkerson PhD Candidate in Computer Science Missouri S&T.
Gaussian Processes For Regression, Classification, and Prediction.
May08-21 Model-Based Software Development Kevin Korslund Daniel De Graaf Cory Kleinheksel Benjamin Miller Client – Rockwell Collins Faculty Advisor – Dr.
Using Symbolic PathFinder at NASA Corina Pãsãreanu Carnegie Mellon/NASA Ames.
© 2013 IBM Corporation A. Craik, C Black, P Doyle 4-Nov-14 Mincer: a distributed automated problem determination tool.
Discovery and Systems Health Technical Area NASA Ames Research Center - Computational Sciences Division Automated Diagnosis Sriram Narasimhan University.
Probabilistic Model-Driven Recovery in Distributed Systems Kaustubh R. Joshi, Matti A. Hiltunen, William H. Sanders, and Richard D. Schlichting May 2,
September 28, 2000 Improved Simultaneous Data Reconciliation, Bias Detection and Identification Using Mixed Integer Optimization Methods Presented by:
Engineering Optimization Most engineering design involves using optimization software Minimizes or maximizes a merit function Applies functional constraints.
Higher Computing Science 2016 Prelim Revision. Topics to revise Computational Constructs parameter passing (value and reference, formal and actual) sub-programs/routines,
Lecture1 Instructor: Amal Hussain ALshardy. Introduce students to the basics of writing software programs including variables, types, arrays, control.
A field of study that encompasses computational techniques for performing tasks that require intelligence when performed by humans. Simulation of human.
Statistical NLP: Lecture 4 Mathematical Foundations I: Probability Theory (Ch2)
© Andrew IrelandDependable Systems Group Increasing Automation for Exception Freedom Proofs Andrew Ireland School of Mathematical & Computer Sciences Heriot-Watt.
Introduction to Software Testing Model-Driven Test Design and Coverage testing Paul Ammann & Jeff Offutt Update.
Accelerating K-Means Clustering with Parallel Implementations and GPU Computing Janki Bhimani Miriam Leeser Ningfang Mi
Unified Adaptivity Optimization of Clock and Logic Signals Shiyan Hu and Jiang Hu Dept of Electrical and Computer Engineering Texas A&M University.
PROBABILITY AND COMPUTING RANDOMIZED ALGORITHMS AND PROBABILISTIC ANALYSIS CHAPTER 1 IWAMA and ITO Lab. M1 Sakaidani Hikaru 1.
Excel’s Solver Use Excel’s Solver as a tool to assist the decision maker in identifying the optimal solution for a business decision. Business decisions.
Software Testing.
Decision Support Systems
Regression Testing with its types
MAE 552 Heuristic Optimization
Particle Swarm Optimization (2)
课程名 编译原理 Compiling Techniques
Chapter 18 Software Testing Strategies
Virtual Machine Emulator Tutorial
Introduction to Software Testing Chapter 2 Model-Driven Test Design
Distributed P2P File System
Objective of This Course
Chapter 3: Operating-System Structures
Ch 4. The Evolution of Analytic Scalability
Algorithm Efficiency Chapter 10.
GENERAL VIEW OF KRATOS MULTIPHYSICS
CIS 488/588 Bruce R. Maxim UM-Dearborn
ABHISHEK SHARMA ARVIND SRINIVASA BABU HEMANT PRASAD 08-OCT-2018
EA C461 – Artificial Intelligence Problem Solving Agents
Chapter 7 –Implementation Issues
A QUICK START TO OPL IBM ILOG OPL V6.3 > Starting Kit >
Presented By: Darlene Banta
Design Of Experiment Eng. Ibrahim Kuhail.
Self-Managed Systems: an Architectural Challenge
Testing Workshop.
Discrete Mathematics and Its Applications
Presentation transcript:

Mincer: a distributed automated problem determination tool A. Craik, C Black, P Doyle 4-Nov-14 Mincer: a distributed automated problem determination tool

Debugging Optimizing Compilers Nearly every optimizing transformation is optional Adopt the scientific method – run experiments varying compilation control parameters to find failure Problems Time consuming & tedious to configure & run Resource constraints limit number of experiments Experience needed to choose the best experiments Environment may cause problem to occur intermittently Resources wasted repeatedly running the same experiments

Objectives Tool to run tests in a distributed machine farm Distributed experiment selection and execution logic for scalability Configurability & extensibility to support new transformations and new debugging techniques Reduce resource waste – gain knowledge from every experiment run Tolerate false-positive & false-negative results and handle variable failure rates

Problem Conceptualization A problem determination tactic aims to isolate a problem by varying an experimental parameter and observing the effect Problem has two discrete components: Deciding which problem determination tactics to use Applying chosen problem determination tactics to failure Each experimental parameter can be mapped back to an integer search space Mathematically model the selection of experiments and the results they produce

Tactic Execution Engine Mincer Architecture mincer.pl Data Layer Sequential Subset Results DB Solvers GatherLogs OptLevel LastOptIndex LimitFile LastOptSub Index Tactics Tactic Execution Engine

Experiment Selection Logic

The Numerical Solvers Solvers use Bayesian Inference to update the underlying hyperparameters of the experiments Solvers use Information Theory to make optimal test parameter choices Solve to a user-defined confidence level (-c option) Currently using 2 solvers: - sequential (contiguous subranges from 1 to some n) - subset (unordered subsets) Solvers also track failure rate to guide experiment selection

Sequential Solver

Sequential Solver

Sequential Solver

Sequential Solver

Sequential Solver

Sequential Solver

Sequential Solver

Sequential Solver

Sequential Solver

Current Status Mincer being used to debug problems in production We have implemented tactics for several different experimental parameters on our Java JIT Working on Infinite Sequential Solver to allow us to isolate intermittent failures to specific changesets

Q & A

Sequential Solver Theory Have a finite, ordered set, T Random Variable P, support on T Random Variable f, support on [0, 1] Random Variables {Xi}, binary

Sequential Solver Theory Each Xi is associated with an index ni in T Pr(Xi passing | f, P) = (1-f) if ni ≥ P Pr(Xi passing | f, P) = 1 if ni < P Choose index to associate with next Xi optimally

Subset Solver Theory Each Xi is associated with a subset Ni of T Pr(Xi passing | f, P) = (1-f) if P ϵ Ni Pr(Xi passing | f, P) = 1 otherwise Choose next subset optimally Faster convergence than possible with Sequential Solver