Modular Abstraction of Complex Real Time Analysis Benjamin P. Campbell Faculty Advisor: Dr Joel Henry, Ph.D. Department of Computer Science University.

Slides:



Advertisements
Similar presentations
Language Technologies Reality and Promise in AKT Yorick Wilks and Fabio Ciravegna Department of Computer Science, University of Sheffield.
Advertisements

A Workflow Engine with Multi-Level Parallelism Supports Qifeng Huang and Yan Huang School of Computer Science Cardiff University
Reliable Scripting Using Push Logic Push Logic David Greaves, Daniel Gordon University of Cambridge Computer Laboratory Reliable Scripting.
Visual Scripting of XML
The Datacenter Needs an Operating System Matei Zaharia, Benjamin Hindman, Andy Konwinski, Ali Ghodsi, Anthony Joseph, Randy Katz, Scott Shenker, Ion Stoica.
Programming Languages for End-User Personalization of Cyber-Physical Systems Presented by, Swathi Krishna Kilari.
Ensuring Operating System Kernel Integrity with OSck By Owen S. Hofmann Alan M. Dunn Sangman Kim Indrajit Roy Emmett Witchel Kent State University College.
© Chinese University, CSE Dept. Software Engineering / Software Engineering Topic 1: Software Engineering: A Preview Your Name: ____________________.
CHESS: A Systematic Testing Tool for Concurrent Software CSCI6900 George.
SDP Languages and Environments. Types of Languages and Environments There are 4 main types of language that you must be able to describe at Higher level.
Part 1: Introducing User Interface Design Chapter 1: Introduction –Why the User Interface Matters –Computers are Ubiquitous –The Importance of Good User.
Slide 1 Visualization of scientific data under Linux - Techniques and data wrangling Mike Walterman, Manager of Graphics Programming, Scientific Computing.
1 CBioC: Collaborative Bio- Curation Chitta Baral Department of Computer Science and Engineering Arizona State University.
1 System: Mecano Presenters: Baolinh Le, [Bryce Carder] Course: Knowledge-based User Interfaces Date: April 29, 2003 Model-Based Automated Generation of.
Modelling with Coloured Petri Nets Søren Christensen Department of Computer Science University of Aarhus.
1 Netprog 2002 Network Terminology Motivation, Terminology, Layered systems (and other random stuff)
Guided Conversational Agents and Knowledge Trees for Natural Language Interfaces to Relational Databases Mr. Majdi Owda, Dr. Zuhair Bandar, Dr. Keeley.
VB in Context Michael B. Spring Department of Information Science and Telecommunications University of Pittsburgh Pittsburgh, Pa 15260
Performance Evaluation of a Multi-Threaded Distributed Telerobotic Framework Mayez Al-Mouhamed, Onur Toker, and Asif Iqbal College of Computer Science.
Visual Debugging Tools for Concurrent Models of Computation Elaine Cheong 15 May 2002 EE290N: Advanced Topics in System Theory.
1 THE USER INTERFACE Interface Design. 2 Requirements for a good HCI appropriate for the level and domain of expertise good interface mechanics –menus,
WEL COME PRAVEEN M JIGAJINNI PGT (Computer Science) MCA, MSc[IT], MTech[IT],MPhil (Comp.Sci), PGDCA, ADCA, Dc. Sc. & Engg.
Jun Peng Stanford University – Department of Civil and Environmental Engineering Nov 17, 2000 DISSERTATION PROPOSAL A Software Framework for Collaborative.
Guided Conversational Agents and Knowledge Trees for Natural Language Interfaces to Relational Databases Mr. Majdi Owda, Dr. Zuhair Bandar, Dr. Keeley.
Java Beans Component Technology Integrated, Visual Development Environments Reusable Platform-Independent Modular.
UNIT-V The MVC architecture and Struts Framework.
DHTML. What is DHTML?  DHTML is the combination of several built-in browser features in fourth generation browsers that enable a web page to be more.
Introduction to Computer and Programming CS-101 Lecture 6 By : Lecturer : Omer Salih Dawood Department of Computer Science College of Arts and Science.
Dr. Ken Hoganson, © August 2014 Programming in R STAT8030 Programming in R COURSE NOTES 1: Hoganson Programming Languages.
GENERAL CONCEPTS OF OOPS INTRODUCTION With rapidly changing world and highly competitive and versatile nature of industry, the operations are becoming.
Automatic Identification of Concurrency in Handel-C Joseph C Libby, Kenneth B Kent, Farnaz Gharibian Faculty of Computer Science University of New Brunswick.
` Tangible Interaction with the R Software Environment Using the Meuse Dataset Rachel Bradford, Landon Rogge, Dr. Brygg Ullmer, Dr. Christopher White `
Architecting Web Services Unit – II – PART - III.
Building Tools by Model Transformations in Eclipse Oskars Vilitis, Audris Kalnins, Edgars Celms, Elina Kalnina, Agris Sostaks, Janis Barzdins Institute.
Through the development of advanced middleware, Grid computing has evolved to a mature technology in which scientists and researchers can leverage to gain.
BLU-ICE and the Distributed Control System Constraints for Software Development Strategies Timothy M. McPhillips Stanford Synchrotron Radiation Laboratory.
ZOPE By: Mukesh Lal Advisor: Dr. Chung E. Wang Second Reader: Dr. Gopal Rao Department of Computer Science California State University, Sacramento.
Packed Object Synchronization Introduction Many Java applications and frameworks must deal directly with native data. Packed Objects provide an approach.
Knowledge Modeling, use of information sources in the study of domains and inter-domain relationships - A Learning Paradigm by Sanjeev Thacker.
Control in ATLAS TDAQ Dietrich Liko on behalf of the ATLAS TDAQ Group.
© Fraunhofer IAO, IAT Universität Stuttgart Message based propagation of changes in VO membership in a Grid environment Change Propagation in a heterogeneous.
A Context Model based on Ontological Languages: a Proposal for Information Visualization School of Informatics Castilla-La Mancha University Ramón Hervás.
Taming Development and Data Chaos in Military Logistics: The ICIS Experience With Lightweight Languages Gary Kratkiewicz BBN Technologies Geoffrey Knauth.
INTRODUCTION GORT is a virtual 3D modeling environment for computer programmers. Its main area of focus is to aid in the education of programmers learning.
Computer Science Faculty School of Software Engineering C INTERPRETER AND DEBUGGER (ISO/IEC 9899:2011) Developer: student of 203SE group: Lukyanov Dmitry.
Plug-in Architectures Presented by Truc Nguyen. What’s a plug-in? “a type of program that tightly integrates with a larger application to add a special.
CrossCheckSimulation Results Conclusions References Model Instrumentation Modeling with CUTS Property Specification SPRUCE Challenge Problem Checking Model.
© Drexel University Software Engineering Research Group (SERG) 1 The OASIS SOA Reference Model Brian Mitchell.
1 BROOKHAVEN SCIENCE ASSOCIATES High Level Applications Infrastructure and Current Status Guobao Shen, Lingyun Yang* Controls Group & Accelerator Physics.
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
Learning Objectives Understand the concepts of Information systems.
Background & Related Work Approaches to teaching media computation have so far primarily been reliant on textual programming languages [1]. For students.
Big Data Yuan Xue CS 292 Special topics on.
Expert System / Knowledge-based System Dr. Ahmed Elfaig 1.ES can be defined as computer application program that makes decision or solves problem in a.
IBM Predictive Analytics Virtual Users’ Group Meeting March 30, 2016
Adopting the Python language for On-board Programmable Payload Autonomy Steven Doran 2016 Flight Software Workshop 12/14/2016.
CSC391/691 Intro to OpenCV Dr. Rongzhong Li Fall 2016
Introduction Characteristics Advantages Limitations
Architecting Web Services
Spark Presentation.
A Framework for Object-Based Event Composition in Distributed Systems
Architecting Web Services
Flexible Synchronisation of Shared Groupware Objects
Introduction to MATLAB
End-Product Description
Brief Intro to Python for Statistics
Tomás Murillo-Morales and Klaus Miesenberger
System Concept Simulation for Concurrent Engineering
Collecting, Analyzing, and Visualizing Data with Python Part I
GGF10 Workflow Workshop Summary
Presentation transcript:

Modular Abstraction of Complex Real Time Analysis Benjamin P. Campbell Faculty Advisor: Dr Joel Henry, Ph.D. Department of Computer Science University of Montana

Introduction Big Data? Quantities of data that extend beyond traditional mechanisms of processing Data growth is on par with Moore's law and growing at an exponential rate

Introduction Properties of Big Data Volume  The expansion of data in one dimension dramatically expands the volume of data. Velocity  Rate of growth in participation Variety  Introduction of new data types beyond textual or tabular data

Introduction Traditional Big Data mechanisms use batch processing to iterate over large quantities of data. The ATLAS experiment at CERN immediately discards 199,999 of 200,000 data points and still produces 19 Gigabytes of data a second 1. Real Time Streaming is the process of analysis on moving data

Background

IBM Infosphere Streams Data paradigms  Real Time Analysis  Distributed Advantages  ComprehensiveC/C++ API 2  Academic Licensing

Background Disadvantages With greater functionality comes greater complexity  Unix Runtime Environment  C-Like Domain Specific Language

Research Question How would a modular language integration into the IBM Infosphere Streams runtime ease implementation of streaming analysis for domain experts? OR How can we make it easier for the people who understand the data to use the power of IBM Infosphere?

Methods  What general tools are domain experts using now to process and compute with data? R – Statistical Analysis Python NumPy – Numerical tools SciPy– Regression/Clustering/Comput ations Pandas Rpy – Python Binding for R

Methods – Python C API The python interpreter can be embedded within any C/C++ application using the Python C API 3. Interaction with Python Objects within the interpreter can be accessed and manipulated through the API. The API is designed to facilitate multithreaded interaction with the single interpreter through the builtin Python threading mechanisms.

Findings – Python Abstraction Model

Findings – Streams Python C Integration Using the primitive operator mechanism within IBM Infosphere I was able to embed a python interpreter into the executable. Using the Python C API the streams operator creates an instance of the StreamsFilter class or child class. The main methods of the Operator class are wrappers to the Python Object Instance.

Further Research Exploring the possibilities of type dynamics. Python is able to handle any type given through the interface, but the primitive operator types are set at compile time. Abstracting further elements of the streams runtime. Allowing users to define stream graphs within python Allowing users to submit scripts through a Web Interface

Conclusion Through the integration of a Python Interpreter into an IBM Infosphere Streams primitive operator it is possible to begin writing filters and operators in a more general and simplified language. This provides domain experts with the capability to quickly design and prototype computational elements in an environment they are knowledgeable in.

Conclusion - Why does this matter? Logistics Healthcare

Conclusion - Why does this matter? Big Science Finance

Acknowledgments UM Faculty Eric Tangedahl Brian Steele Ph.D. UM Graduate/Alumni Evin Ozer Kegan Kabil References 1. Brumfiel, Geoff High-energy physics: Down the petabyte highway. Nature 469 (7330): IBM InfoSphere Streams 3.0 Information Center,last modified 2012, Python/C API Reference Manual Python v2.7.6 documentation, last modified 2014,

Methods – Streams Flow Model

Methods – Operator Model

Challenges Abstracting the streams data model to a python class Handling dataflow in a concurrent and multithreaded enviroment Implementing the Python C Interface within the IBM Infosphere Streams Primitive Operator

Findings – Concurrency Challenges Since method calls were made concurrently use of the embeded python threading allowed access from each thread to a single Python class instance

Findings – Python Implementation

Findings – Python Example User Class