polystore,julia,andproduc3vity inabig*dataworld · big data = hadoop/spark 4 filesystems and nosql...

38
Polystore, Julia, and produc3vity in a Big Data world Tim Ma’son, Intel labs 1mothy.g.ma’[email protected] IntelPI for the Big Data “Intel Science and Technology Center” People I stole content from for this talk: Stavros Papadopoulos, Jake Bolewski, Mike Stonebraker, Vijay Gadepally, Bill Howe, Magda Balazinska, Jennie Duggan, Aaron Elmore, Sam Madden, Jeremy Kepner, Kiran Pamnany, and Tatiana Shpeisman.

Upload: others

Post on 20-May-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Polystore,Julia,andproduc3vity inaBig*Dataworld · Big Data = Hadoop/Spark 4 FILESYSTEMS AND NOSQL STORAGE HW PLATFORM APACHE HADOOP APACHE SPARK ... BigDAWG Query Language and Data

Polystore,  Julia,  and  produc3vity  in  a  Big  Data  world  

Tim  Ma'son,  Intel  labs  1mothy.g.ma'[email protected]  

Intel-­‐PI  for  the  Big  Data  “Intel  Science  and  Technology  Center”  

People I stole content from for this talk: Stavros Papadopoulos, Jake Bolewski, Mike Stonebraker, Vijay Gadepally, Bill Howe, Magda Balazinska, Jennie Duggan, Aaron Elmore, Sam Madden, Jeremy Kepner, Kiran Pamnany, and Tatiana Shpeisman.

Page 2: Polystore,Julia,andproduc3vity inaBig*Dataworld · Big Data = Hadoop/Spark 4 FILESYSTEMS AND NOSQL STORAGE HW PLATFORM APACHE HADOOP APACHE SPARK ... BigDAWG Query Language and Data

Legal Disclaimer & Optimization Notice •  INFORMATION IN THIS DOCUMENT IS PROVIDED “AS IS”. NO LICENSE, EXPRESS OR

IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. INTEL ASSUMES NO LIABILITY WHATSOEVER AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY, RELATING TO THIS INFORMATION INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT.

•  Software and workloads used in performance tests may have been optimized for performance only on Intel microprocessors. Performance tests, such as SYSmark and MobileMark, are measured using specific computer systems, components, software, operations and functions. Any change to any of those factors may cause the results to vary. You should consult other information and performance tests to assist you in fully evaluating your contemplated purchases, including the performance of that product when combined with other products.

•  Copyright © , Intel Corporation. All rights reserved. Intel, the Intel logo, Xeon, Xeon Phi, Core, VTune, and Cilk are trademarks of Intel Corporation in the U.S. and other countries.

Optimization Notice

Intel’s compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804

Page 3: Polystore,Julia,andproduc3vity inaBig*Dataworld · Big Data = Hadoop/Spark 4 FILESYSTEMS AND NOSQL STORAGE HW PLATFORM APACHE HADOOP APACHE SPARK ... BigDAWG Query Language and Data

3 3

Disclaimer

• The views expressed in this talk are those of the speaker and not his employer.

• If I say something “smart” or worthwhile: – Credit goes to the many smart people I work with.

• If I say something stupid… –  It’s my own fault

I work in Intel’s research labs. I don’t build products. Instead, I get to poke into dark corners and think silly

thoughts… just to make sure we don’t miss any great ideas.

Hence, my views are by design far “off the roadmap”.

Page 4: Polystore,Julia,andproduc3vity inaBig*Dataworld · Big Data = Hadoop/Spark 4 FILESYSTEMS AND NOSQL STORAGE HW PLATFORM APACHE HADOOP APACHE SPARK ... BigDAWG Query Language and Data

Big Data Today common assumption … Big Data = Hadoop/Spark

4

FILESYSTEMS AND NOSQL STORAGE

HW PLATFORM

APACHE HADOOP APACHE SPARK

DATA WRANGLING

MACHINE LEARNING AND STATISTICS

Graphical Algorithms

Classical Algorithms

Graph Construction Tools

Useful String Manipulation

Useful Math Operators

“DATA SCIENCE” API

Intel Analytics Toolkit

Unified UI’s across

the workflow

Easier feature

& model creation

Fully scalable throughout

Multiple data

primitives

Optimized for IACloud &

On-Prem

Python Libraries

3rd Party GUIs/SDKs

Viz Tools

Future Libraries

BI Connectors Query

Interfaces ...

Third party names are the property of their owners

Page 5: Polystore,Julia,andproduc3vity inaBig*Dataworld · Big Data = Hadoop/Spark 4 FILESYSTEMS AND NOSQL STORAGE HW PLATFORM APACHE HADOOP APACHE SPARK ... BigDAWG Query Language and Data

What’s next for Big Data •  Hadoop/SPARK is great … it helped put Big Data on the map •  Comes from a time when we were just thrilled to “do” big data.

5

•  Hadoop/Spark design did not emphasize: – Performance for

complex analytics. – Efficient utilization of

the hardware – Programmability for

anything beyond “embarrassingly parallel” applications.

Challenge: What happens when Hadoop/Spark runs out of steam? What comes next?

Third party names are the property of their owners

Page 6: Polystore,Julia,andproduc3vity inaBig*Dataworld · Big Data = Hadoop/Spark 4 FILESYSTEMS AND NOSQL STORAGE HW PLATFORM APACHE HADOOP APACHE SPARK ... BigDAWG Query Language and Data

•  Consider  pa1ent  data  in  an  Intensive  Care  Unit  (e.g.  MIMIC  II  data  set*)  

6

Big  Data  in  the  real  world    

•  Demographic •  Caregiver

notes •  Medical

charts •  Lab test

results •  Xray, MRI,

etc.

•  EKG traces •  Blood

oxygen •  Blood

pressure •  EEG traces

The challenge … apply predictive analytics across all data … so we can show up to restart a heart before it stops beating!!!

* MIMIC: Multiparameter Intelligent Monitoring in Intensive Care, http://www.physionet.org/mimic2/

Page 7: Polystore,Julia,andproduc3vity inaBig*Dataworld · Big Data = Hadoop/Spark 4 FILESYSTEMS AND NOSQL STORAGE HW PLATFORM APACHE HADOOP APACHE SPARK ... BigDAWG Query Language and Data

7

Big  Data  in  the  real  world  Messy,  heterogeneous,  complex,  streaming  …  

•  Demographic •  Caregiver

notes •  Medical

charts •  Lab test

results •  Xray, MRI,

etc.

•  EKG traces •  Blood

oxygen •  Blood

pressure •  EEG traces

tables

documents

#images

Arrays

Arrays

Time Series

Time Series

tables

tables

•  Consider  pa1ent  data  in  an  Intensive  Care  Unit  (e.g.  MIMIC  II  data  set*)  

Time series and tabular data are stored in a DBMS. Other data? Flat files

# MIMC doesn’t include images. We are talking to several groups to add an image database to our project

* MIMIC: Multiparameter Intelligent Monitoring in Intensive Care, http://www.physionet.org/mimic2/

Page 8: Polystore,Julia,andproduc3vity inaBig*Dataworld · Big Data = Hadoop/Spark 4 FILESYSTEMS AND NOSQL STORAGE HW PLATFORM APACHE HADOOP APACHE SPARK ... BigDAWG Query Language and Data

Analysis  of  published  MIMICII  papers  

•  Data  in  databases  is  used;  data  in  files  is  not  –  Data  in  files  is  nearly  equivalent  to  dele1ng  the  data  

Data Volume TB GB PB

Nu

mb

er o

f P

aper

s

100

10

1 files*

databases*

*Based on PhysioNet MIMIC2 ICU data

1000 10

0x

1000x

Source: Vijay Gadepally of MIT Lincoln labs

A disruptive idea: Match data to the data-store technology but present as a single Data Base

Management system to the end-users … A disruptive idea we call Polystore.

Page 9: Polystore,Julia,andproduc3vity inaBig*Dataworld · Big Data = Hadoop/Spark 4 FILESYSTEMS AND NOSQL STORAGE HW PLATFORM APACHE HADOOP APACHE SPARK ... BigDAWG Query Language and Data

9 9

Real Time DBMSs

BigDAWG Query Languageand Data Federation layer

Visualization & presentatione.g., ScalaR, imMens, SeeDB, Prefetching

SW Developmente.g, APIs for traditional languages, Julia, GraphMat, ML Base

SciDBAnalyticse.g., PLASMA, ML algos, plsh, GraphBLAS, other analytics packages

TupleWare

Hardware platformse.g., Cloud and cluster infrastructure, NVM simulator, 1000 core simulator, Xeon Phi, Xeon

Applicationse.g., Medical data, astronomy, twitter, urban sensing, IoT

TileDBS-Store

“Narrow Waist” Provides Portability

MyriaXAnalytics DBMSs

Spill Stream

BigDawg:  An  integrated  polystore  system  

Third party names are the property of their owners

Page 10: Polystore,Julia,andproduc3vity inaBig*Dataworld · Big Data = Hadoop/Spark 4 FILESYSTEMS AND NOSQL STORAGE HW PLATFORM APACHE HADOOP APACHE SPARK ... BigDAWG Query Language and Data

10 10

BigDAWG Query Languageand Data Federation layer

“Narrow Waist” Provides Portability

BigDawg:  An  integrated  polystore  system  

Let’s focus on this layer … the

heart of BigDAWG

Third party names are the property of their owners

Page 11: Polystore,Julia,andproduc3vity inaBig*Dataworld · Big Data = Hadoop/Spark 4 FILESYSTEMS AND NOSQL STORAGE HW PLATFORM APACHE HADOOP APACHE SPARK ... BigDAWG Query Language and Data

BigDAWG Data Federation

11

•  Two Key Components: – BigDAWG Query Language or BQL:

–  the quest for “one query language to rule them all” – BigDAWG Data Federation API:

–  Islands: a collection of data stores that share a data model and query language

–  Shims: to translate queries between islands – Casts: to move data from one island to another

High risk transformative

research … many people think this is

impossible.

Based on ISTC research over the last 3 years,

we think we know how to do this

RDBMS = relational DBMS

Page 12: Polystore,Julia,andproduc3vity inaBig*Dataworld · Big Data = Hadoop/Spark 4 FILESYSTEMS AND NOSQL STORAGE HW PLATFORM APACHE HADOOP APACHE SPARK ... BigDAWG Query Language and Data

A Demonstration of the BigDAWG Multi-Database System

A. Elmore

Univ. of Chicago

J. Duggan

Northwestern

M. Stonebraker

MIT

M. Balazinska

Univ. of Wash.

U. Cetintemel

Brown

V. Gadepally

MIT-LL

J. Heer

Univ. of Wash.

B. Howe

Univ. of Wash.

J. Kepner

MIT-LL

T. Kraska

Brown

S. Madden

MIT

D. Maier

Portland St U.

T. Mattson

Intel

S. Papadopoulis

Intel / MIT

J. Parkhurst

Intel

N. Tatbul

Intel / MIT

M. Vartek

MIT

S. Zdonik

Brown

ABSTRACTThis paper presents BigDAWG, a reference implementation of anew architecture for “Big Data” applications. Such applicationsnot only call for large-scale analytics, but also for real-time stream-ing support, smaller analytics at interactive speeds, data visualiza-tion, and cross-storage-system queries. Guided by the principle that“one size does not fit all” [13], we build on top of a variety of stor-age engines, each designed for a specialized use case. To illustratethe promise of this approach, we propose to demonstrate its effec-tiveness on a hospital application using data from an intensive careunit (ICU). This complex application serves the needs of doctorsand researchers and provides real-time support for streams of pa-tient data. It will showcase novel approaches for querying acrossmultiple storage engines, data visualization, and scalable real-timeanalytics.

1. INTRODUCTIONThe Intel Science and Technology Center (ISTC) for Big Data

was founded in 2012. This center, with an open IP model, has fa-cilitated building a community of researchers with a focus on BigData storage architectures, analytics, and visualizations while con-sidering streaming and future disruptive technologies. The cen-ter is now entering a “capstone” phase where it is implementinga federated architecture to enable query processing over multipledatabases, where each of the underlying storage engines may havea distinct data model. To tackle this challenge, the Big Data An-alytics Working Group (BigDAWG) project seeks to explore chal-lenges associated with building federated databases over multipledata models [5, 10], specialized storage engines [13], and visual-izations for Big Data [11].

1.1 MIMIC II ApplicationThe working group first converged on a representative use case

to demonstrate the challenges inherent in applications that bring to-gether the needs of many users and data sources. This use case isbased on the real intensive-care unit (ICU) dataset, MIMIC II [12](or “Multiparameter Intelligent Monitoring in Intensive Care (MIMIC)II”).

MIMIC II is a publicly accessible dataset covering about 26,000ICU admissions at Boston’s Beth Israel Deaconess Hospital. It con-tains waveform data (up to 125 Hz measurements from bedsidedevices), patient metadata (name, age, etc.), doctor’s and nurse’snotes (text), lab results and prescriptions filled (both semi-structureddata). In practice, the hospital would store all of the historical data,augmented by real-time feeds from current patients. Hence, thissystem must support a variety of data types, standard SQL analyt-ics (e.g., how many patients were given a particular drug), complexanalytics (e.g., compute the FFT of a patients waveform data andthen compare it to “normal”), text search (e.g., find patients who re-sponded well to a particular drug or treatment), and real-time mon-itoring (e.g., detect abnormal heart rhythms).

BigDAWG stores MIMIC II in a mixture of backends, includ-ing Postgres, which stores the patient metadata, SciDB [4], whichstores the historical waveform data in a time-series (array) database,S-Store [1], which stores a stream of device information, and ApacheAccumulo, which stores the associated text data in a key-valuestore. In addition, we will evaluate several novel storage engines,as outlined in Section 2.5. Each of these databases is good at part ofthe MIMIC II workload, but none perform well for all of it. Hence,this application is a good example of “one size does not fit all”.

To demonstrate this multi-faceted use case, we plan to offer thefollowing interfaces for user interaction:Browsing: This is a pan/zoom interface whereby a user may browsethrough the entire MIMIC II dataset, drilling down on demand toaccess more detailed information. This interface will efficientlydisplay a top-level view (an icon for each group of the 26,000patient-days) and flexibly enable users to probe the data at differentlevels of granularity. To provide interactive response times, Big-DAWG will prefetch data in anticipation of user movements. Weare presently researching this issue.Exploratory Analysis Users will interactively explore interestingrelationships in medical data with the help of BigDAWG. Figure 2is an example of this screen. Here, the system draws the user’sattention to an unusual relationship in their selected patient pop-ulation between race and hospital stay duration. This populationreverses the trend seen in the rest of the data. From this graph,the user will have the opportunity to drill down into the sourcedata to determine what prompts this correlation. This interface willdemonstrate the features discussed in Section 2.2.Complex Analytics: This screen enables a non-programmer to runa variety of complex analytics, such as linear regression, fast fouriertransforms, and principal component analysis, on patient waveformdata. This interface will highlight the research challenges exploredin Section 2.4.Text Analysis: From this window a user may run complex key-word searches such as “find me the patients that have at least threedoctor’s report saying ‘very sick’ and are taking a particular drug”.These non-trivial queries will showcase our novel facilities for query-ing over multiple data models in Section 2.1.Real-Time Monitoring: In this demo, the waveform data of cur-rent patients will be stored in S-Store, a novel transactional streamprocessing engine. We will have a monitoring display to showthis real-time patient data. In addition, we will have a workflowthat compares the incoming waveforms to reference ones, raisingan alert when the engine identifies significant differences betweenthe two. This interface will demonstrate the capabilities in Sec-tions 2.3.

1.2 Guiding TenetsBy working on this demo, we have uncovered several guiding

principles for building the BigDAWG reference implementation.

1

Our  VLDB’2015  Demo  

Page 13: Polystore,Julia,andproduc3vity inaBig*Dataworld · Big Data = Hadoop/Spark 4 FILESYSTEMS AND NOSQL STORAGE HW PLATFORM APACHE HADOOP APACHE SPARK ... BigDAWG Query Language and Data

A Demonstration of the BigDAWG Multi-Database System

A. Elmore

Univ. of Chicago

J. Duggan

Northwestern

M. Stonebraker

MIT

M. Balazinska

Univ. of Wash.

U. Cetintemel

Brown

V. Gadepally

MIT-LL

J. Heer

Univ. of Wash.

B. Howe

Univ. of Wash.

J. Kepner

MIT-LL

T. Kraska

Brown

S. Madden

MIT

D. Maier

Portland St U.

T. Mattson

Intel

S. Papadopoulis

Intel / MIT

J. Parkhurst

Intel

N. Tatbul

Intel / MIT

M. Vartek

MIT

S. Zdonik

Brown

ABSTRACTThis paper presents BigDAWG, a reference implementation of anew architecture for “Big Data” applications. Such applicationsnot only call for large-scale analytics, but also for real-time stream-ing support, smaller analytics at interactive speeds, data visualiza-tion, and cross-storage-system queries. Guided by the principle that“one size does not fit all” [13], we build on top of a variety of stor-age engines, each designed for a specialized use case. To illustratethe promise of this approach, we propose to demonstrate its effec-tiveness on a hospital application using data from an intensive careunit (ICU). This complex application serves the needs of doctorsand researchers and provides real-time support for streams of pa-tient data. It will showcase novel approaches for querying acrossmultiple storage engines, data visualization, and scalable real-timeanalytics.

1. INTRODUCTIONThe Intel Science and Technology Center (ISTC) for Big Data

was founded in 2012. This center, with an open IP model, has fa-cilitated building a community of researchers with a focus on BigData storage architectures, analytics, and visualizations while con-sidering streaming and future disruptive technologies. The cen-ter is now entering a “capstone” phase where it is implementinga federated architecture to enable query processing over multipledatabases, where each of the underlying storage engines may havea distinct data model. To tackle this challenge, the Big Data An-alytics Working Group (BigDAWG) project seeks to explore chal-lenges associated with building federated databases over multipledata models [5, 10], specialized storage engines [13], and visual-izations for Big Data [11].

1.1 MIMIC II ApplicationThe working group first converged on a representative use case

to demonstrate the challenges inherent in applications that bring to-gether the needs of many users and data sources. This use case isbased on the real intensive-care unit (ICU) dataset, MIMIC II [12](or “Multiparameter Intelligent Monitoring in Intensive Care (MIMIC)II”).

MIMIC II is a publicly accessible dataset covering about 26,000ICU admissions at Boston’s Beth Israel Deaconess Hospital. It con-tains waveform data (up to 125 Hz measurements from bedsidedevices), patient metadata (name, age, etc.), doctor’s and nurse’snotes (text), lab results and prescriptions filled (both semi-structureddata). In practice, the hospital would store all of the historical data,augmented by real-time feeds from current patients. Hence, thissystem must support a variety of data types, standard SQL analyt-ics (e.g., how many patients were given a particular drug), complexanalytics (e.g., compute the FFT of a patients waveform data andthen compare it to “normal”), text search (e.g., find patients who re-sponded well to a particular drug or treatment), and real-time mon-itoring (e.g., detect abnormal heart rhythms).

BigDAWG stores MIMIC II in a mixture of backends, includ-ing Postgres, which stores the patient metadata, SciDB [4], whichstores the historical waveform data in a time-series (array) database,S-Store [1], which stores a stream of device information, and ApacheAccumulo, which stores the associated text data in a key-valuestore. In addition, we will evaluate several novel storage engines,as outlined in Section 2.5. Each of these databases is good at part ofthe MIMIC II workload, but none perform well for all of it. Hence,this application is a good example of “one size does not fit all”.

To demonstrate this multi-faceted use case, we plan to offer thefollowing interfaces for user interaction:Browsing: This is a pan/zoom interface whereby a user may browsethrough the entire MIMIC II dataset, drilling down on demand toaccess more detailed information. This interface will efficientlydisplay a top-level view (an icon for each group of the 26,000patient-days) and flexibly enable users to probe the data at differentlevels of granularity. To provide interactive response times, Big-DAWG will prefetch data in anticipation of user movements. Weare presently researching this issue.Exploratory Analysis Users will interactively explore interestingrelationships in medical data with the help of BigDAWG. Figure 2is an example of this screen. Here, the system draws the user’sattention to an unusual relationship in their selected patient pop-ulation between race and hospital stay duration. This populationreverses the trend seen in the rest of the data. From this graph,the user will have the opportunity to drill down into the sourcedata to determine what prompts this correlation. This interface willdemonstrate the features discussed in Section 2.2.Complex Analytics: This screen enables a non-programmer to runa variety of complex analytics, such as linear regression, fast fouriertransforms, and principal component analysis, on patient waveformdata. This interface will highlight the research challenges exploredin Section 2.4.Text Analysis: From this window a user may run complex key-word searches such as “find me the patients that have at least threedoctor’s report saying ‘very sick’ and are taking a particular drug”.These non-trivial queries will showcase our novel facilities for query-ing over multiple data models in Section 2.1.Real-Time Monitoring: In this demo, the waveform data of cur-rent patients will be stored in S-Store, a novel transactional streamprocessing engine. We will have a monitoring display to showthis real-time patient data. In addition, we will have a workflowthat compares the incoming waveforms to reference ones, raisingan alert when the engine identifies significant differences betweenthe two. This interface will demonstrate the capabilities in Sec-tions 2.3.

1.2 Guiding TenetsBy working on this demo, we have uncovered several guiding

principles for building the BigDAWG reference implementation.

1

Our  VLDB’2015  Demo  

Shim

Myria

MyriaQ

SciDB

MyriaX

Hypotension predictor

We have preliminary results targeting MyriaX, SciDB, S-store, D4M, graphulo and several visualization packages.

Third party names are the property of their owners

Page 14: Polystore,Julia,andproduc3vity inaBig*Dataworld · Big Data = Hadoop/Spark 4 FILESYSTEMS AND NOSQL STORAGE HW PLATFORM APACHE HADOOP APACHE SPARK ... BigDAWG Query Language and Data

The  App:  Hypotension  Predictor  •  Problem:  blood  pressure  drops  (hypotension)  àshock  à  death.    Early  interven1on  is  key  

for  survival.  •  Solu1on:  Machine  learning  over  heterogeneous  data  (from  MIMIC  II)  to  iden1fy  pa1ents  

about  to  suffer  from  a  severe  drop  in  blood  pressure?  •  Algorithm  (from  Saeed  and  Mark*)    build  a  classifier  ..  Haar  transforms  over  MIMICII  1me  

series  data,  summarize  as  histograms,  and  performs  a  K  nearest  neighbor  search.    Correlate  with  pa1ent  data.  

14

Source: Magdalena Balazinska and Brandon Haynes, university of Washington. *A Novel Method for the Efficient Retrieval of Similar Multiparameter Physiologic Time Series Using Wavelet-Based Symbolic Representations. Mohammed Saeed and Roger Mark, http://www.ncbi.nlm.nih.gov/pmc/articles/PMC1839671/

0  

5  

10  

15  

20  

SciDB   Myria-­‐X   MyriaX  +SciDB  

Hypotension  Classifier    Run3me  in  seconds  (lower  is  be@er)  

Third party names are the property of their owners

Page 15: Polystore,Julia,andproduc3vity inaBig*Dataworld · Big Data = Hadoop/Spark 4 FILESYSTEMS AND NOSQL STORAGE HW PLATFORM APACHE HADOOP APACHE SPARK ... BigDAWG Query Language and Data

Real Time DBMSs

BigDAWG Query Languageand Data Federation layer

Visualization & presentatione.g., ScalaR, imMens, SeeDB, Prefetching

SW Developmente.g, APIs for traditional languages, Julia, GraphMat, ML Base

SciDBAnalyticse.g., PLASMA, ML algos, plsh, GraphBLAS, other analytics packages

TupleWare

Hardware platformse.g., Cloud and cluster infrastructure, NVM simulator, 1000 core simulator, Xeon Phi, Xeon

Applicationse.g., Medical data, astronomy, twitter, urban sensing, IoT

TileDBS-Store

“Narrow Waist” Provides Portability

MyriaXAnalytics DBMSs

Spill Stream

BigDawg:  An  integrated  polystore  system  

Third party names are the property of their owners

Page 16: Polystore,Julia,andproduc3vity inaBig*Dataworld · Big Data = Hadoop/Spark 4 FILESYSTEMS AND NOSQL STORAGE HW PLATFORM APACHE HADOOP APACHE SPARK ... BigDAWG Query Language and Data

System  Infrastructure  for  BigDAWG  Research  

•  To  explore  BigDAWG,  we  need  to:  –  Quickly  load  a  variety  of  DataBase  Management  Systems  (DBMS)  

– Mix  HPC  (MPI)  jobs  with  tradi1onal  DBMS  jobs  – Manage  everything  through  an  end-­‐user  driven  web  interface  

•  Fortunately,  we  were  able  to  work  with  the  team  behind  the  MIT  SuperCloud.  

Enabling  on-­‐demand  Database  compu3ng  with  MIT  SuperCloud  Database  management  system,  Andrew  Prout,  Jeremy  Kepner,  Peter  Michaleas,  William  Arcand,  David  Bestor,  Bill  Bergeron,  Chansup  Byun,  Lauren  Edwards,  Vijay  Gadepally,  Ma'hew  Hubbell,  Julie  Mullen,  Antonio  Rosa,  Charles  Yee,  Albert  Reuther,  IEEE  High  Performance  Extreme  Compu1ng  Conference  2015,  17  September  2015  

Page 17: Polystore,Julia,andproduc3vity inaBig*Dataworld · Big Data = Hadoop/Spark 4 FILESYSTEMS AND NOSQL STORAGE HW PLATFORM APACHE HADOOP APACHE SPARK ... BigDAWG Query Language and Data

LLGrid- 17

Common Big Data Architecture

Commanders Operators Analysts

Users

Maritime Ground Space C2 Cyber OSINT

<html> Data

Air HUMINT Weather

Analytics A

C

D E

B

Computing

Web

Files

Scheduler

Ingest & Enrichment Ingest &

Enrichment Ingest Databases

Source: Jeremy Kepner, MIT Lincoln Labs

Page 18: Polystore,Julia,andproduc3vity inaBig*Dataworld · Big Data = Hadoop/Spark 4 FILESYSTEMS AND NOSQL STORAGE HW PLATFORM APACHE HADOOP APACHE SPARK ... BigDAWG Query Language and Data

LLGrid- 18

Why a Database Management System?

•  Remove requirement for dedicated servers, while avoiding virtual machines (VMs) –  In addition to performance concerns, VMs historically have caused

problems for the timeout-based failure detection features of Accumulo

•  Enable rapid creation of new databases •  Reduce waste of resources on idle databases •  Create a viable backup & restore strategy •  Ensure security concerns are appropriately addressed •  Empower the less IT savvy researchers & scientists with self-

service commands for common requests •  Integration with HPCC scheduler

Database creation should be closer to a mkdir than a major IT project

Source: Jeremy Kepner, MIT Lincoln Labs

Page 19: Polystore,Julia,andproduc3vity inaBig*Dataworld · Big Data = Hadoop/Spark 4 FILESYSTEMS AND NOSQL STORAGE HW PLATFORM APACHE HADOOP APACHE SPARK ... BigDAWG Query Language and Data

LLGrid- 19

Database Lifecycle

Central Storage (Lustre)

Scheduler

Compute Nodes

Cluster Switch

LAN Switch

Web Portal

Dynamic DNS

Database User System Admin

db_create accumulo -n 4 testdb01 SecGroup

db01 DB Files

DNS: 1.2.3.4

Hadoop HDFS

Apache Zookeeper

• Master • Monitor • Garbage Collector • Tracer • Tablet Server

Password: ABC123 Status: Started Status: Stopped

db_stop testdb01 db_start testdb01

Source: Jeremy Kepner, MIT Lincoln Labs

Page 20: Polystore,Julia,andproduc3vity inaBig*Dataworld · Big Data = Hadoop/Spark 4 FILESYSTEMS AND NOSQL STORAGE HW PLATFORM APACHE HADOOP APACHE SPARK ... BigDAWG Query Language and Data

MIT SuperCloud and BigDAWG

20

The SuperCloud lets researchers load multiple databases and Analytics jobs onto physical

hardware through a simple web based interface.

Vital for productivity when integrating results into BigDAWG from so many teams!

Page 21: Polystore,Julia,andproduc3vity inaBig*Dataworld · Big Data = Hadoop/Spark 4 FILESYSTEMS AND NOSQL STORAGE HW PLATFORM APACHE HADOOP APACHE SPARK ... BigDAWG Query Language and Data

21 21

Real Time DBMSs

BigDAWG Query Languageand Data Federation layer

Visualization & presentatione.g., ScalaR, imMens, SeeDB, Prefetching

SW Developmente.g, APIs for traditional languages, Julia, GraphMat, ML Base

SciDBAnalyticse.g., PLASMA, ML algos, plsh, GraphBLAS, other analytics packages

TupleWare

Hardware platformse.g., Cloud and cluster infrastructure, NVM simulator, 1000 core simulator, Xeon Phi, Xeon

Applicationse.g., Medical data, astronomy, twitter, urban sensing, IoT

TileDBS-Store

“Narrow Waist” Provides Portability

MyriaXAnalytics DBMSs

Spill Stream

BigDawg:  An  integrated  polystore  system  

Third party names are the property of their owners

Page 22: Polystore,Julia,andproduc3vity inaBig*Dataworld · Big Data = Hadoop/Spark 4 FILESYSTEMS AND NOSQL STORAGE HW PLATFORM APACHE HADOOP APACHE SPARK ... BigDAWG Query Language and Data

Arrays  in  Big  Data  problems  •  Data  is  olen  naturally  considered  as  an  array:  

–  An  object  with  mul1ple  dimensions  (e.g.  2)  –  The  dimensions  define  a  logical  coordinate  space    –  A  cell  “exists”  at  each  point  in  the  coordinate  space.  –  A  cell  has  one  or  more  a'ributes  which  collec1vely  define  the  “value”  at  that  cell.  

•  Data  is  usually  sparse  –  E.G.  the  AIS  data  set  showing  ship  loca1ons  as  a  func1on  of  1me  in  and  around  U.S.  waters  

Page 23: Polystore,Julia,andproduc3vity inaBig*Dataworld · Big Data = Hadoop/Spark 4 FILESYSTEMS AND NOSQL STORAGE HW PLATFORM APACHE HADOOP APACHE SPARK ... BigDAWG Query Language and Data

TileDB  a  new  array  data  storage  manager:  op1mized  for  Sparse  Arrays  

x

y

cell

empty cell

dimensions tile

attribute values (a1, a2, …, am)

Logical  representa3on   Physical  representa3on  

(x, y) a1

am cell tile

Files coordinates

Tile: Atomic unit of processing Segment: Atomic unit of I/O

segment

Manage array storage as tiles of different shape/size in the index space, but with ~equal number of non-empty cells

Page 24: Polystore,Julia,andproduc3vity inaBig*Dataworld · Big Data = Hadoop/Spark 4 FILESYSTEMS AND NOSQL STORAGE HW PLATFORM APACHE HADOOP APACHE SPARK ... BigDAWG Query Language and Data

Joint  Genotyping  Benchmark*  

# samples

Time (Seconds)

BCF: GATK SW Optimized by

Intel

Intel® Xeon® E5 2697 v2 CPU, 12 cores, dual socket, 128 GB RAM, CentOS6.6, Western Digital 4 TB WD4000F9YZ-0 as a ZFS RAID0 pool. Single thread/core results.

0   200   400   600   800   1000   1200  0  

5  

10  

15  

20  

25  

30  

35  

40  

45  

TileDB  BCF  

*Benchmark jointly developed by Intel and the Broad Genomics Institute. Each sample is 10MB. Compute correlations across samples at ~5000 positions.

Page 25: Polystore,Julia,andproduc3vity inaBig*Dataworld · Big Data = Hadoop/Spark 4 FILESYSTEMS AND NOSQL STORAGE HW PLATFORM APACHE HADOOP APACHE SPARK ... BigDAWG Query Language and Data

Real Time DBMSs

BigDAWG Query Languageand Data Federation layer

Visualization & presentatione.g., ScalaR, imMens, SeeDB, Prefetching

SW Developmente.g, APIs for traditional languages, Julia, GraphMat, ML Base

SciDBAnalyticse.g., PLASMA, ML algos, plsh, GraphBLAS, other analytics packages

TupleWare

Hardware platformse.g., Cloud and cluster infrastructure, NVM simulator, 1000 core simulator, Xeon Phi, Xeon

Applicationse.g., Medical data, astronomy, twitter, urban sensing, IoT

TileDBS-Store

“Narrow Waist” Provides Portability

MyriaXAnalytics DBMSs

Spill Stream

BigDawg:  An  integrated  polystore  system  

Third party names are the property of their owners

Page 26: Polystore,Julia,andproduc3vity inaBig*Dataworld · Big Data = Hadoop/Spark 4 FILESYSTEMS AND NOSQL STORAGE HW PLATFORM APACHE HADOOP APACHE SPARK ... BigDAWG Query Language and Data

Programming  languages  in  Academia  

26 Source: http://cacm.acm.org/blogs/blog-cacm/176450-python-is-now-the-most-popular-introductory-teaching-language-at-top-us-universities/fulltext

The academic world has moved into “high productivity” languages.

Maybe HPC should give them a try?

Third party names are the property of their owners

Page 27: Polystore,Julia,andproduc3vity inaBig*Dataworld · Big Data = Hadoop/Spark 4 FILESYSTEMS AND NOSQL STORAGE HW PLATFORM APACHE HADOOP APACHE SPARK ... BigDAWG Query Language and Data

What  is  Julia?  •  Julia  is  yet  another  new  language!!  •  Started  in  2009  in  Alan  Edelman's  group  at  MIT.  

•  The  problem  is  …  do  we  really  need  a  new  language?  …  computer  scien1sts  spend  more  1me  crea1ng  new  languages  than  making  exis1ng  languages  actually  work.  

•  But  people  I  know  and  respect  have  convinced  me  to  taka  a  close  look  at  Julia  –  It  is  rela1vely  easy  to  learn  –  A  non-­‐viral  open  source  license  (MIT  License)  so  corporate  types  can  play  

with  it.  –  A  large  and  growing  community  …  over  350  contributors  since  it  started  in  

2009  Third Party names are the property of their owners

Page 28: Polystore,Julia,andproduc3vity inaBig*Dataworld · Big Data = Hadoop/Spark 4 FILESYSTEMS AND NOSQL STORAGE HW PLATFORM APACHE HADOOP APACHE SPARK ... BigDAWG Query Language and Data

What  is  Julia?  •  An  excellent  founda3on  for  programming  research.  

–  Core  func1onality  of  Julia  is  wri'en  in  Julia.      –  Benefits  from  large  LLVM  eco-­‐system.  –  Introspec3on:    Exposes  transforma1ons  from  high  

level  code  into  na1ve  assembly  code  …  so  you  can  manipulate  them  inside  Julia  

28

Parse source into AST

Lower AST

Type Inference

Build LLVM Intermediate Rep.

Emit machine code

code_lowered(fib,(Int32))    

code_typed(fib,(Int32))    

code_llvm(fib,(Int32))    

code_native(fib,(Int32))    

Page 29: Polystore,Julia,andproduc3vity inaBig*Dataworld · Big Data = Hadoop/Spark 4 FILESYSTEMS AND NOSQL STORAGE HW PLATFORM APACHE HADOOP APACHE SPARK ... BigDAWG Query Language and Data

The  benefits  of  introspec1on  

•  Prospect compiler tool generates optimized C code from Julia Source:

•  10-170 speedup over Julia due to: •  Parallelization •  Loop fusion •  Domain specific

optimizations •  vectorization

•  Using the flexible Julia framework, a group at Intel created C backend integrated with Julia (Prospect … Open Source release Q4’2015)

Source: Tatiana Shpeisman of Intel

Running on a server with two Intel® Xeon® E5-2690v2 processors at 3 Ghz, 128GB RAM

24x  

146x  

169x  

25x  

63x  

36x  

14x  

33x  

0  20  40  60  80  

100  120  140  160  180  

Speedu

p  over  Ju

lia    

Prospect  vs.  Julia  

Julia  

C   LLVM  IR  

HW  

PSE compiler

ICC

Julia compiler

LLVM PSE: our Julia based Problem Solving Environment … of which Prospect is a key component.

Page 30: Polystore,Julia,andproduc3vity inaBig*Dataworld · Big Data = Hadoop/Spark 4 FILESYSTEMS AND NOSQL STORAGE HW PLATFORM APACHE HADOOP APACHE SPARK ... BigDAWG Query Language and Data

The  benefits  of  introspec1on  

•  Prospect compiler tool generates optimized C code from Julia Source:

•  10-170 speedup over Julia due to: •  Parallelization •  Loop fusion •  Domain specific

optimizations •  vectorization

•  Using the flexible Julia framework, a group at Intel created C backend integrated with Julia (Prospect … Open Source release Q4’2015)

Source: Tatiana Shpeisman of Intel

Running on a server with two Intel® Xeon® E5-2690v2 processors at 3 Ghz, 128GB RAM

24x  

146x  

169x  

25x  

63x  

36x  

14x  

33x  

0  20  40  60  80  

100  120  140  160  180  

Speedu

p  over  Ju

lia    

Prospect  vs.  Julia  

Page 31: Polystore,Julia,andproduc3vity inaBig*Dataworld · Big Data = Hadoop/Spark 4 FILESYSTEMS AND NOSQL STORAGE HW PLATFORM APACHE HADOOP APACHE SPARK ... BigDAWG Query Language and Data

What  is  Julia?  •  It  is  a  dynamic  

scrip1ng  language  (like  python  or  perl)  

•  Syntax  natural  to  people  working  with  Math  plus  a  rich  set  of  built  in,  standard  opera1ons  (Like  Matlab  or  R).  

Third Party names are the property of their owners

Page 32: Polystore,Julia,andproduc3vity inaBig*Dataworld · Big Data = Hadoop/Spark 4 FILESYSTEMS AND NOSQL STORAGE HW PLATFORM APACHE HADOOP APACHE SPARK ... BigDAWG Query Language and Data

What  is  Julia?  

function  fib(n)          if  n<2                  n          else                  fib(n-­‐1)+fib(n-­‐2)          end  end  

32

function definition

fib(n)  =  n<2  ?  n  :  fib(n-­‐1)+fib(n-­‐2)   one line shorthand

implicit return value

no need to declare parameter types

time = O(1.618n)

Source: Arch Robison of Intel

A general purpose programming language with sophisticated dataflow

type discovery

With a very compact syntax.

Page 33: Polystore,Julia,andproduc3vity inaBig*Dataworld · Big Data = Hadoop/Spark 4 FILESYSTEMS AND NOSQL STORAGE HW PLATFORM APACHE HADOOP APACHE SPARK ... BigDAWG Query Language and Data

What  is  Julia?  function  fibfast(n)          @assert  n>=1          a  =  zero(n)          b  =  one(n)          for  i=2:n                  (a,b)  =  (b,a+b)          end          b  end  

33

Macro

Loop from 2 to n inclusive

Set local variable a to zero of same type as n

Set local variable b to one of same type as n

tuple construction and destructuring

implicit return value

time = O(n)

Source: Arch Robison of Intel

Page 34: Polystore,Julia,andproduc3vity inaBig*Dataworld · Big Data = Hadoop/Spark 4 FILESYSTEMS AND NOSQL STORAGE HW PLATFORM APACHE HADOOP APACHE SPARK ... BigDAWG Query Language and Data

What  is  Julia?  •  Mul1ple  

dispatch  •  Dynamic  

polymorphism    

Third Party names are the property of their owners

Since ^ is generically represented in terms of *, this becomes the composition of

functions (sin(sin(x)) … which is what Gauss wanted it to be.

Page 35: Polystore,Julia,andproduc3vity inaBig*Dataworld · Big Data = Hadoop/Spark 4 FILESYSTEMS AND NOSQL STORAGE HW PLATFORM APACHE HADOOP APACHE SPARK ... BigDAWG Query Language and Data

Distributed  Memory  Parallelism  function  fibpar(n)          if  n<30                  fib(n)          else                  x  =  @spawn  fibpar(n-­‐1)                  y  =  fibpar(n-­‐2)                  y+fetch(x)          end  end  

35

Run in parallel

Wait and retrieve result

•  Each process is single-threaded.

•  Julia coroutine mechanism simplifies writing inter-process synchronization code.

•  Also has distributed array objects.

Source: Arch Robison of Intel

Page 36: Polystore,Julia,andproduc3vity inaBig*Dataworld · Big Data = Hadoop/Spark 4 FILESYSTEMS AND NOSQL STORAGE HW PLATFORM APACHE HADOOP APACHE SPARK ... BigDAWG Query Language and Data

Shared  Memory  Parallelism  

36

Kiran Pamnany of Intel has been experimenting with adding threading to Julia … with some exciting preliminary results

Third Party names are the property of their owners

Page 37: Polystore,Julia,andproduc3vity inaBig*Dataworld · Big Data = Hadoop/Spark 4 FILESYSTEMS AND NOSQL STORAGE HW PLATFORM APACHE HADOOP APACHE SPARK ... BigDAWG Query Language and Data

Julia  and  TileDB  

•  Conjugate  transpose  is  one  of  5  core  methods  needed  for  Julia’s  generic  itera1ve  solvers  framework.    We  have  leveraged  TileDB  and  Julia  to  prototype  out-­‐of-­‐core  linear  algebra  opera1ons  around  these  generic  abstrac1ons.  

Third Party names are the property of their owners

TileDB:  a  persistence  layer  for  out-­‐of-­‐core  computa1ons.  

Conjugate  transpose  (A’)  with  TileDB’s  Arrays,  TileDB’s  generic  Array  Cell  types,  

and  flexible  iterator  framework.  

Source: Jake Bolewski and Stavros Papadopoulos

Page 38: Polystore,Julia,andproduc3vity inaBig*Dataworld · Big Data = Hadoop/Spark 4 FILESYSTEMS AND NOSQL STORAGE HW PLATFORM APACHE HADOOP APACHE SPARK ... BigDAWG Query Language and Data

Summary  •  If  “One  size  does  not  fit  all™”  …  Then  we  need  Polystore.  

•  Produc1vity  demands  a  single  interface  to  mul1ple  stores:  –  BigDAWG  API  to  1e  Islands  together  –  BQL:  the  Dream  of  one  Algebra  to  rule  them  all  

•  TileDB:  The  advantage  of  a  domain  specific  storage  engine.  

•  Julia:  maybe  its  1me  to  consider  a  new  language?      

Trademark held by Mike Stonebraker

Work in progress

I’m skeptical, but willing to be convinced