Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


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

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

2 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

3 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

4 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

5 Background

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

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

8 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?

9 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

10 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.

11 Findings – Python Abstraction Model

12 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.

13 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

14 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.

15 Conclusion - Why does this matter? Logistics Healthcare

16 Conclusion - Why does this matter? Big Science Finance

17 Acknowledgments UM Faculty Eric Tangedahl Brian Steele Ph.D. UM Graduate/Alumni Evin Ozer Kegan Kabil References 1. Brumfiel, Geoff. 2011. High-energy physics: Down the petabyte highway. Nature 469 (7330): 282-3. 2. IBM InfoSphere Streams 3.0 Information Center,last modified 2012, http://pic.dhe.ibm.com/infocenter/streams/v3r0/index.jsp http://pic.dhe.ibm.com/infocenter/streams/v3r0/index.jsp 3. Python/C API Reference Manual Python v2.7.6 documentation, last modified 2014, https://docs.python.org/2/c-api/

18 Methods – Streams Flow Model

19 Methods – Operator Model

20 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

21 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 http://www.github.com/benjic/python-filter

22 Findings – Python Implementation

23 Findings – Python Example User Class


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

Similar presentations


Ads by Google