ES 3 Takes the Provenance Challenge J AMES F REW Donald Bren School of Environmental Science and Management University of California, Santa Barbara

Slides:



Advertisements
Similar presentations
Three types of remote process invocation
Advertisements

COMS E Term Project Presentation Advanced Topics in Programming Languages and Compilers, Fall 2012 MIPLex: Adapting Dynamic Code Modification to.
How SAS implements structured programming constructs
An Introduction to NS-2 * Gayatri Swamynathan CS 276 TA *some slides are from a presentation by Haobo Yu & Nader Salehi, USC/ISI.
Provenance GGF18 Kepler/COW+RWS, Kepler/COW+RWS, Bowers, McPhiilips et al. Provenance Management in a COllection-oriented Scientific Workflow.
Hand Trace and Output for: int digit = 0; int number = 1423; do { digit = number % 10; System.out.println(digit); number = number / 10; } while (number.
M. Muztaba Fuad Masters in Computer Science Department of Computer Science Adelaide University Supervised By Dr. Michael J. Oudshoorn Associate Professor.
Processes and Job Control. Foreground and Background (1)  Unix is a multi-tasking operating system –some of these tasks are being done by other users.
1 Richard White Design decisions: architecture 1 July 2005 BiodiversityWorld Grid Workshop NeSC, Edinburgh, 30 June - 1 July 2005 Design decisions: architecture.
CS 497C – Introduction to UNIX Lecture 26: - The Process Chin-Chih Chang
Lecture 27 Exam outline Boxing of primitive types in Java 1.5 Generic types in Java 1.5.
Innovating Test Technologies Microvue 1 Cascade Microtech’s Wavevue Measurement Application Software September 19, 2003.
CMS Framework “Software bus” model –One executable, “cmsRun, with many plug-in modules Controlled by a configuration file –Controls which data to use,
18-Jun-15 Applets. 2 An applet is a program that is typically embedded in a Web page and can be run from a browser You need special HTML in the Web page.
28-Jun-15 Applets. 2 An applet is a program that is typically embedded in a Web page and can be run from a browser You need special HTML in the Web page.
1 IRAM Testing / Verification Sam Williams UC Berkeley
Guide To UNIX Using Linux Third Edition
CS465 - Unix C Programming (cc/make and configuration control)
Interfaces besides classes, Java recognizes another type, an interface interface is used to completely shield off all implementation from the programmer.
The Basic Tools Presented by: Robert E., & Jonathan Chase.
Compiling and Linking. Compiling is quite the same as creating an executable file! Instead, creating an executable is a multistage process divided into.
Workflow Management CMSC 491 Hadoop-Based Distributed Computing Spring 2015 Adam Shook.
Git: Part 1 Overview & Object Model These slides were largely cut-and-pasted from tutorial/, with some additions.
ES3 architecture ES3’s provenance capture system uses a client- server architecture. The collector client augments a science process’s execution environment.
INFM 603: Information Technology and Organizational Context Jimmy Lin The iSchool University of Maryland Thursday, October 18, 2012 Session 7: PHP.
“is a”  Define a new class DerivedClass which extends BaseClass class BaseClass { // class contents } class DerivedClass : BaseClass { // class.
8 Shell Programming Mauro Jaskelioff. Introduction Environment variables –How to use and assign them –Your PATH variable Introduction to shell programming.
An Introduction to Unix Shell Scripting
Software Component Technology and Component Tracing CSC532 Presentation Developed & Presented by Feifei Xu.
Introduction Use of makefiles to manage the build process Declarative, imperative and relational rules Environment variables, phony targets, automatic.
1 Tracking Metadata and Lineage of the Data Processing Chain for Mapping Snow Cover Properties with the NASA MODIS James Frew 1, Thomas H. Painter 2, Peter.
Essential Shell Programming by Prof. Shylaja S S Head of the Dept. Dept. of Information Science & Engineering, P.E.S Institute of Technology, Bangalore
Triggers A Quick Reference and Summary BIT 275. Triggers SQL code permits you to access only one table for an INSERT, UPDATE, or DELETE statement. The.
Oct 15, 2007Sprenkle - CS1111 Objectives Creating your own functions.
Program that runs in appletviewer (test utility for applets) Web browser (IE, Communicator) Executes when HTML (Hypertext Markup Language) document containing.
Fall 2004CSI University of Ottawa Introduction to PHP Basic principles and syntax.
Debugging and Profiling With some help from Software Carpentry resources.
Instrumentation in Software Dynamic Translators for Self-Managed Systems Bruce R. Childers Naveen Kumar, Jonathan Misurda and Mary.
Scis.regis.edu ● CS 468: Advanced UNIX Class 4 Dr. Jesús Borrego Regis University 1.
WDO-It! 102 Workshop: Using an abstraction of a process to capture provenance UTEP’s Trust Laboratory NDR HP MP.
REDUX – automatic capture, efficient storage Roger S. Barga Microsoft Research (MSR) Luciano Digiampietri University of Campinas, Sao Paolo, Brazil.
Overview The Basics – Python classes and objects Procedural vs OO Programming Entity modelling Operations / methods Program flow OOP Concepts and user-defined.
Recording the Context of Action for Process Documentation Ian Wootten Cardiff University, UK
The Log4E logging plug-in David Gallardo. What is logging good for? Tracing program execution during development Debugging Providing an audit trail for.
CSI 3125, Preliminaries, page 1 Compiling the Program.
1 Applets are small applications that are accessed on an Internet server, transported over the internet, automatically installed and run as a part of web.
Pipeline Execution Environment Laboratory of NeuroImaging UCLA.
CISC Machine Learning for Solving Systems Problems Microarchitecture Design Space Exploration Lecture 4 John Cavazos Dept of Computer & Information.
Chapter 15. Modules Dr. Bernard Chen Ph.D. University of Central Arkansas Spring 2012.
Introduction to TouchDevelop Lesson 3 – Comments & Lists Created by S. Johnson
Introduction to Programming the WWW I CMSC Winter 2003 Lecture 17.
Introduction to ASP.NET development. Background ASP released in 1996 ASP supported for a minimum 10 years from Windows 8 release ASP.Net 1.0 released.
Trace Tables In today’s lesson we will look at:
How to link a test to a launcher (in this case a shell launcher)
Topics Introduction Hardware and Software How Computers Store Data
Dynamic Analysis ddaa.
Pipeline Execution Environment
FMSCUG 1708.
Comp Sci 200 Programming I Jim Williams, PhD.
Makefile Tutorial CIS5027 Prof: Dr. Shu-Ching Chen
Advanced TAU Commander
Prof: Dr. Shu-Ching Chen TA: Samira Pouyanfar Hector Cen Fall 2017
CALL & Pthread.
Loaders and Linkers: Features
Working with Server-side Scripts
Teaching London Computing
for Inductive Synthesis
Overview of Workflows: Why Use Them?
Level 1 Processing Pipeline
Presentation transcript:

ES 3 Takes the Provenance Challenge J AMES F REW Donald Bren School of Environmental Science and Management University of California, Santa Barbara

Provenance Challenge 2 Frew / Provenance Challenge Workshop / DC / SCA fraction, Sierra Nevada, 07 Mar 2004

Provenance Challenge 3 Frew / Provenance Challenge Workshop / DC / Model structure: MODIS SCA / albedo

Provenance Challenge 4 Frew / Provenance Challenge Workshop / DC / From Wrappers to Probulators Wrappers: Active Lineage  +  Complete control over what gets recorded  Single language/API for all wrapped events  Not tied to execution –You can even lie about what happened  -  Must explicitly script everything  Scripts can drift from reality –You can even lie about what happened

Provenance Challenge 5 Frew / Provenance Challenge Workshop / DC / From Wrappers to Probulators Probulators: Passive Lineage  +  Record what actually happened –Not just what you think happened –Not what didn’t happen  Automatic: don’t have to write new scripts for everything  -  Different flavors for different environments –Can’t just do everything in {…insert favorite language here…}

Provenance Challenge 6 Frew / Provenance Challenge Workshop / DC / Probulator flavors  Instrumentation  Insert lineage capture instructions directly into science codes –e.g. “I just created file ‘foo’”  Typical implementation: preprocessor/precompiler  Overriding  Replace standard routines/libraries with lineage-capturing versions –e.g. open(…) → snoopy_open(…)  Typical implementation: modify execution environment –environment variables –configuration files  Passive monitoring  Trace program execution –e.g. “called open() with args = foo, bar, …”  Typical implementation: strace’d shell

Provenance Challenge 7 Frew / Provenance Challenge Workshop / DC / ES 3 Lineage Architecture

Provenance Challenge 8 Frew / Provenance Challenge Workshop / DC / Probulating IDL: Instrumenting the code ;edit pro modscag_cleanse,prefix=prefix,ns=ns,nl=nl HELP, NAMES="*", OUTPUT=ES3_ENVIROMENT & ES3_LOG, $ ENTER="modscag_cleanse", ENVIROMENT=ES3_ENVIROMENT ;clean up {under,over}flow of MODSCAG run ; ;Input:prefix = prefix for all of the MODSCAG output filenames ;ns = number of samples ;nl = number of lines ;Output:rewrite of the MODSCAG files ; ;t.h.painter / ; open snow file ES3_openr,1,string(prefix,'snow.pic') snow=fltarr(ns,nl) readu,1,snow [ blah blah blah ] HELP, NAMES="*", OUTPUT=ES3_ENVIROMENT & ES3_LOG, LEAVE="modscag_cleanse", $ ENVIROMENT=ES3_ENVIROMENT END ; modscag_cleanse

Provenance Challenge 9 Frew / Provenance Challenge Workshop / DC / Probulating IDL: Results <init time=" T234606Z” pid="31002" stime=" T234604Z" pstime=" T234256Z" ppid="30920" language="idl" user="haavar" hostname="spitting-duck.bren.ucsb.edu"> <variable name="!PATH" value="/home/haavar/probulator//idl: /home/rsi/idl_6.1/lib/hook: […] /home/rsi […] /home/haavar/painter/data/tillsnow.pic ]

Provenance Challenge 10 Frew / Provenance Challenge Workshop / DC / Probulating a shell script: Example 