SlideShare ist ein Scribd-Unternehmen logo
1 von 41
Downloaden Sie, um offline zu lesen
Presented by
Date
Event
Data Analytics and
Machine Learning: From
Node to Cluster
Understanding use cases to optimize on
ARM Ecosystem
Viswanath Puttagunta
Ganesh Raju
BKK16-404B
March 10th, 2016
Linaro Connect BKK16
Version 0.1
Vish Puttagunta
● Technical Program
Manager, Linaro
● DSP (TI C64x) optimizations
(Image / Signal Processing)
● ARM®
NEON™
optimizations upstreamed to
opus audio codec
● Data Analysis and Machine
Learning: Why ARM
Ganesh Raju
● Tech Lead, Big Data, Linaro
● Brings in Enterprise
experience in implementing
Big Data solutions
Data Science: Big Picture
Data
Analytics
Machine
Learning
Deep
Learning
High
Performance
Computing
(HPC)
Big Data
Statistics
Lin/Log Reg
KNN, Decision
Trees,PCA...
Software Tools
Python,R..
Pandas, scikit-learn, nltk..
Caffe, TensorFlow..
Spark, MLlib, Hadoop..
Deep
Learning/NN
CNN
RNN..
Data
Science
● Value Prediction
● Classification
● Transformation
● Correlations
● Causalities
● Wrangling...
Overview
● Basic Data Science use cases
● Pandas Library(Python)
○ Time Series, Correlations, Risk Analysis
● Supervised Learning
○ scikit-learn Library (Python)
● Understand operations done repeatedly
● Open discussion for next steps:
○ Profile, Optimize (ARM Neon, OpenCL, OpenMP..) on
a single machine.
○ Scale beyond a single machine
● Ref: https://github.com/viswanath-puttagunta/bkk16_MLPrimer
Goal
● Make the tools and operations work out of the
box on ARM
○ ARM Neon, OpenCL, OpenMP.
○ ‘pip install’ should just work :)
● Why Now? (Hint: Spark)
Pandas Data Analysis (Pandas)
● Origins in Finance for Data Manipulation and
Analysis (Python Library)
● DataFrame object
● Repeat Computations:
○ Means, Min, Max, Percentage Changes
○ Standard Deviation
○ Differentiation (Shift and subtract)
○ ...
Op: Rolling Mean (Pandas)
Op: Percentage Change (Pandas)
Operations: Shift, Subtract, Divide
Op: Percentage Change Vs Risk (Variance)
Op: Correlation (Pandas)
Operations: Mean, Variance, Square Root
Pearson Correlation Coef
Source: https://en.wikipedia.org/wiki/Pearson_product-moment_correlation_coefficient
Correlation Heat Maps
Linear Regression (Predictor)
Objective: Fit line/curve to minimize a cost function
Linear Regression (Predictor)...
Operations: Gradient Descent: Matrix Transforms/Inverse/Multiplications.
For Lnr Reg, directly reduces to:
Θ = (XT
X)-1
XT
Y
Source: https://www.youtube.com/watch?v=SqA6TujbmWw&list=PLE6Wd9FR--Ecf_5nCbnSQMHqORpiChfJf&index=16
https://youtu.be/WnqQrPNYz5Q?list=PLaXDtXvwY-oDvedS3f4HW0b4KxqpJ_imw&t=284
Logistic Regression (Classification)
Operations: Matrix Transforms/Inverse/Multiplications.
Source: https://www.youtube.com/watch?v=Zc7ouSD0DEQ&index=27&list=PLE6Wd9FR--Ecf_5nCbnSQMHqORpiChfJf
Artificial Neural Networks (Eg: Predictor)
Objective: Compute parameters to minimize a cost function
Operations: Matrix Transforms/Inverse/Multiplications, Dot Products...
Source: https://www.yout.ube.com/watch?v=bxe2T-V8XRs
Bayesian Classifiers
Operations (Training): Mean, Standard Deviations, Logs, binning/compare(/histograms)
Note: Some variations based on assumptions on variance (LDA, QDA)
Source: An Introduction to Statistical Learning with Applications in R (Springer Texts)
K-Nearest Neighbors (Classifier)
Operations: Euclidean Distance Computations
Note: K is tunable. Typical to repeat computations for lot of k values
Decision Tree (Predictors & Classifiers)
Operations: Each split done so that
Predictor: Minimize Root Mean Square Error
Classifier: Minimize Gini Index (Note: depth tunable)
Bagging / Random Forests
Operations: Each tree similar to Decision Tree
Note: Typical to see about 200 to 300 trees to stabilize.
Source: An Introduction to Statistical Learning with Applications in R (Springer Texts)
Segway to Spark
● So far, on a single machine with lots of RAM and
compute.
○ How to scale to a cluster
● So far, data from simple csv files
○ How to acquire/clean data on large scale
Discussion
● OpenCL (Deep Learning)
○ Acceleration using GPU, DSPs
○ Outside of Deep Learning: GPU? (scikit-learn faq)
○ But what about Shamrock? OpenCL backend on CPU.
○ Port CUDA kernels into OpenCL kernels in various projects?
● ARM NEON
○ Highly scalable
● OpenMP?
● Tools to profile end-to-end use cases?
○ Perf..
Backup Slides
● Text Analytics
○ Sparse Matrices and operations
○ Word counts (Naive Bayes)
● Libraries (Python)
○ sklearn (No GPU Support!! FAQ)
○ gensim (Text Analytics)
○ TensorFlowTM
(GPU backend available)
○ Caffe (GPU backend available)
○ Theano (GPU backend available)
Presented by
Date
Event
Data science in Distributed
Environment
Ganesh Raju
Tech Lead, Big Data
Linaro
Thursday 10 March 2016
BKK16
Overview
1. Review of Data Science in Single Node
2. Data Science in Distributed Environment
a. Hadoop and its limitations
3. Data Science using Apache Spark
a. Spark Ecosystem
b. Spark ML
c. Spark Streaming
d. Spark 2.0 and Roadmap
4. Q & A
Hadoop Vs Spark
80+ operators compared to 2 operators in Hadoop
Hadoop and its limitations
Spark - Unified Platform
source: www.databricks.com
Machine Learning Data Pipeline
Why in Spark:
● Machine learning algorithms are
○ Complex, multi-stage
○ Iterative
● MapReduce/Hadoop unsuitable
source: http://www.slideshare.net/databricks/2015-0317-scala-days
Spark is In-Memory and Fast
Apache Spark Stack
Unified Engine across diverse workloads and Environments
R Python Scala Java
Spark Core API
Spark SQL +
DataFrames
Streaming MLib / ML
Machine Learning
GraphX
Graph Computation
Spark Core
Internals
SparkContext connects to a cluster manager Obtains executors on cluster nodes Sends app code to
them Sends task to the executors
Driver Program
Cluster Manager
Worker Node
Executor
Worker Node
Cluster
Spark Context
Scheduler
Scheduler
Task
Cache
Task
Executor
Task
Cache
Task
Application Code Distribution
● PySpark enables developers to write driver programs in Python
● Application code is serialized and sent to the worker nodes
● Execution happens in native language (Python/R)
SparkContext
Driver Py4J
Java
Spark
Context
File system
Worker
Node
Worker
Node
Cluster
Python
Python
Python
Python
Python
Python
Pipe
Socket
Apache Spark MLlib / ML Algorithms Supported:
● Classification: Logistic Regression, Linear SVM, Naive Bayes, classification tree
● Regression: Generalized Linear Models (GLMs), Regression Tree
● Collaborative Filtering: Alternating Least Squares (ALS), Non-Negative Matrix Factorization (NMF)
● Clustering: K-Means
● Decomposition: SVD, PCA
● Optimization: Stochastic Gradient Descent (SGD), L-BFGS
Spark Streaming
● Run a streaming computation as a series of very small, deterministic batch jobs
○ Live data streaming is converted into micro batches of input. Batch can be of ½ sec latency.
○ Each batch is processed in Spark
○ Output is returned as micro batches
○ Potential for combining batch and streaming processing.
● Linear models can be trained in streaming fashion
● Model weights can be updated via SGD, thus amenable to streaming
● Consistent API
● Scalable
Apache Spark
General-purpose cluster computing system
● Unified End-to-End data pipeline platform with support for Machine Learning, Streaming, SQL and
Graph Pipelines
● Fast and Expressive Cluster Computing Engine. No Intermediate storage. In-memory Processing. Run
programs up to 100x faster than Hadoop MapReduce in memory, or 10x faster on disk.
● Rich higher level APIs in Scala, Python, R, Java. Typically less code (2-5x)
● REPL
● Interoperability with other ecosystem components
○ Mesos, YARN
○ EC2, EMR
○ HDFS, S3,
○ HBase, Cassandra, Parquet, Hive, JSON, ElasticSearch
Source: https://databricks.com/blog/2015/04/28/project-tungsten-bringing-spark-closer-to-bare-metal.html
Tungsten Phase 2
speedups of 5-10x
Structured Streaming
real-time engine on
SQL / DataFrames
Unifying Datasets
and DataFrames
Major Features in 2.0 - Project Tungsten
Focus on CPU and Memory Optimization
Code Generation
● Runtime Code Generation by dynamically generating bytecode during evaluation and eliminating Java boxing of primitive data types
● Faster serializer and compression on dataformat like Parquet.
Manual Memory Management and Binary Processing
● Off heap memory management. Avoiding non-transient Java objects (store them in binary format), which reduces GC overhead.
● Minimizing memory usage through denser in-memory data format, with less spill (I/O)
● Better memory accounting (size of bytes) rather than relying on heuristics
● For operators that understand data types (in the case of DataFrames and SQL), work directly against binary format in memory, i.e. have
no serialization/deserialization
Cache-aware Computation
● Exploiting cache locality. Faster sorting and hashing for aggregations, joins, and shuffle
Spark 2.0 - Project Tungsten features
Unified API, One Engine, Automatically Optimized
PythonSQL Java/Scala R ...
DataFrame
Logical Plan
Language
Frontend
LLVMJVM GPU NVRAM SSE/SIMD
Tungsten
Backend
...OpenCL
Apache Spark Roadmap
.
● Use LLVM for compilation
● Re-implement parallelizable code using OpenCL/SSE/SIMD to utilize underlying CPU / GPU advancements
towards machine learning.
Spark slave nodes can achieve better performance and energy efficiency if with GPU acceleration by doing further data parallelization and
algorithm acceleration.
De facto Analytics Platform
source: www.databricks.com
Q & A

Weitere ähnliche Inhalte

Was ist angesagt?

Large Infrastructure Monitoring At CERN by Matthias Braeger at Big Data Spain...
Large Infrastructure Monitoring At CERN by Matthias Braeger at Big Data Spain...Large Infrastructure Monitoring At CERN by Matthias Braeger at Big Data Spain...
Large Infrastructure Monitoring At CERN by Matthias Braeger at Big Data Spain...Big Data Spain
 
Spark Driven Big Data Analytics
Spark Driven Big Data AnalyticsSpark Driven Big Data Analytics
Spark Driven Big Data Analyticsinoshg
 
Big data distributed processing: Spark introduction
Big data distributed processing: Spark introductionBig data distributed processing: Spark introduction
Big data distributed processing: Spark introductionHektor Jacynycz García
 
Simple, Modular and Extensible Big Data Platform Concept
Simple, Modular and Extensible Big Data Platform ConceptSimple, Modular and Extensible Big Data Platform Concept
Simple, Modular and Extensible Big Data Platform ConceptSatish Mohan
 
Performance Characterization and Optimization of In-Memory Data Analytics on ...
Performance Characterization and Optimization of In-Memory Data Analytics on ...Performance Characterization and Optimization of In-Memory Data Analytics on ...
Performance Characterization and Optimization of In-Memory Data Analytics on ...Ahsan Javed Awan
 
RAPIDS – Open GPU-accelerated Data Science
RAPIDS – Open GPU-accelerated Data ScienceRAPIDS – Open GPU-accelerated Data Science
RAPIDS – Open GPU-accelerated Data ScienceData Works MD
 
Anomaly Detection in Telecom with Spark - Tugdual Grall - Codemotion Amsterda...
Anomaly Detection in Telecom with Spark - Tugdual Grall - Codemotion Amsterda...Anomaly Detection in Telecom with Spark - Tugdual Grall - Codemotion Amsterda...
Anomaly Detection in Telecom with Spark - Tugdual Grall - Codemotion Amsterda...Codemotion
 
Yggdrasil: Faster Decision Trees Using Column Partitioning In Spark
Yggdrasil: Faster Decision Trees Using Column Partitioning In SparkYggdrasil: Faster Decision Trees Using Column Partitioning In Spark
Yggdrasil: Faster Decision Trees Using Column Partitioning In SparkJen Aman
 
Dynamic Community Detection for Large-scale e-Commerce data with Spark Stream...
Dynamic Community Detection for Large-scale e-Commerce data with Spark Stream...Dynamic Community Detection for Large-scale e-Commerce data with Spark Stream...
Dynamic Community Detection for Large-scale e-Commerce data with Spark Stream...Spark Summit
 
Big Data Analytics-Open Source Toolkits
Big Data Analytics-Open Source ToolkitsBig Data Analytics-Open Source Toolkits
Big Data Analytics-Open Source ToolkitsDataWorks Summit
 
PEARC 17: Spark On the ARC
PEARC 17: Spark On the ARCPEARC 17: Spark On the ARC
PEARC 17: Spark On the ARCHimanshu Bedi
 
Build a Time Series Application with Apache Spark and Apache HBase
Build a Time Series Application with Apache Spark and Apache  HBaseBuild a Time Series Application with Apache Spark and Apache  HBase
Build a Time Series Application with Apache Spark and Apache HBaseCarol McDonald
 
Big Data Analytics with Storm, Spark and GraphLab
Big Data Analytics with Storm, Spark and GraphLabBig Data Analytics with Storm, Spark and GraphLab
Big Data Analytics with Storm, Spark and GraphLabImpetus Technologies
 
Pivotal Data Labs - Technology and Tools in our Data Scientist's Arsenal
Pivotal Data Labs - Technology and Tools in our Data Scientist's Arsenal Pivotal Data Labs - Technology and Tools in our Data Scientist's Arsenal
Pivotal Data Labs - Technology and Tools in our Data Scientist's Arsenal Srivatsan Ramanujam
 
RAPIDS: GPU-Accelerated ETL and Feature Engineering
RAPIDS: GPU-Accelerated ETL and Feature EngineeringRAPIDS: GPU-Accelerated ETL and Feature Engineering
RAPIDS: GPU-Accelerated ETL and Feature EngineeringKeith Kraus
 
Distributed Deep Learning with Apache Spark and TensorFlow with Jim Dowling
Distributed Deep Learning with Apache Spark and TensorFlow with Jim DowlingDistributed Deep Learning with Apache Spark and TensorFlow with Jim Dowling
Distributed Deep Learning with Apache Spark and TensorFlow with Jim DowlingDatabricks
 
Boston hug-2012-07
Boston hug-2012-07Boston hug-2012-07
Boston hug-2012-07Ted Dunning
 

Was ist angesagt? (19)

Large Infrastructure Monitoring At CERN by Matthias Braeger at Big Data Spain...
Large Infrastructure Monitoring At CERN by Matthias Braeger at Big Data Spain...Large Infrastructure Monitoring At CERN by Matthias Braeger at Big Data Spain...
Large Infrastructure Monitoring At CERN by Matthias Braeger at Big Data Spain...
 
Spark Driven Big Data Analytics
Spark Driven Big Data AnalyticsSpark Driven Big Data Analytics
Spark Driven Big Data Analytics
 
Big data distributed processing: Spark introduction
Big data distributed processing: Spark introductionBig data distributed processing: Spark introduction
Big data distributed processing: Spark introduction
 
Rapids: Data Science on GPUs
Rapids: Data Science on GPUsRapids: Data Science on GPUs
Rapids: Data Science on GPUs
 
Simple, Modular and Extensible Big Data Platform Concept
Simple, Modular and Extensible Big Data Platform ConceptSimple, Modular and Extensible Big Data Platform Concept
Simple, Modular and Extensible Big Data Platform Concept
 
Performance Characterization and Optimization of In-Memory Data Analytics on ...
Performance Characterization and Optimization of In-Memory Data Analytics on ...Performance Characterization and Optimization of In-Memory Data Analytics on ...
Performance Characterization and Optimization of In-Memory Data Analytics on ...
 
RAPIDS – Open GPU-accelerated Data Science
RAPIDS – Open GPU-accelerated Data ScienceRAPIDS – Open GPU-accelerated Data Science
RAPIDS – Open GPU-accelerated Data Science
 
Anomaly Detection in Telecom with Spark - Tugdual Grall - Codemotion Amsterda...
Anomaly Detection in Telecom with Spark - Tugdual Grall - Codemotion Amsterda...Anomaly Detection in Telecom with Spark - Tugdual Grall - Codemotion Amsterda...
Anomaly Detection in Telecom with Spark - Tugdual Grall - Codemotion Amsterda...
 
Yggdrasil: Faster Decision Trees Using Column Partitioning In Spark
Yggdrasil: Faster Decision Trees Using Column Partitioning In SparkYggdrasil: Faster Decision Trees Using Column Partitioning In Spark
Yggdrasil: Faster Decision Trees Using Column Partitioning In Spark
 
Dynamic Community Detection for Large-scale e-Commerce data with Spark Stream...
Dynamic Community Detection for Large-scale e-Commerce data with Spark Stream...Dynamic Community Detection for Large-scale e-Commerce data with Spark Stream...
Dynamic Community Detection for Large-scale e-Commerce data with Spark Stream...
 
Big Data Analytics-Open Source Toolkits
Big Data Analytics-Open Source ToolkitsBig Data Analytics-Open Source Toolkits
Big Data Analytics-Open Source Toolkits
 
PEARC 17: Spark On the ARC
PEARC 17: Spark On the ARCPEARC 17: Spark On the ARC
PEARC 17: Spark On the ARC
 
Apache Spark Overview
Apache Spark OverviewApache Spark Overview
Apache Spark Overview
 
Build a Time Series Application with Apache Spark and Apache HBase
Build a Time Series Application with Apache Spark and Apache  HBaseBuild a Time Series Application with Apache Spark and Apache  HBase
Build a Time Series Application with Apache Spark and Apache HBase
 
Big Data Analytics with Storm, Spark and GraphLab
Big Data Analytics with Storm, Spark and GraphLabBig Data Analytics with Storm, Spark and GraphLab
Big Data Analytics with Storm, Spark and GraphLab
 
Pivotal Data Labs - Technology and Tools in our Data Scientist's Arsenal
Pivotal Data Labs - Technology and Tools in our Data Scientist's Arsenal Pivotal Data Labs - Technology and Tools in our Data Scientist's Arsenal
Pivotal Data Labs - Technology and Tools in our Data Scientist's Arsenal
 
RAPIDS: GPU-Accelerated ETL and Feature Engineering
RAPIDS: GPU-Accelerated ETL and Feature EngineeringRAPIDS: GPU-Accelerated ETL and Feature Engineering
RAPIDS: GPU-Accelerated ETL and Feature Engineering
 
Distributed Deep Learning with Apache Spark and TensorFlow with Jim Dowling
Distributed Deep Learning with Apache Spark and TensorFlow with Jim DowlingDistributed Deep Learning with Apache Spark and TensorFlow with Jim Dowling
Distributed Deep Learning with Apache Spark and TensorFlow with Jim Dowling
 
Boston hug-2012-07
Boston hug-2012-07Boston hug-2012-07
Boston hug-2012-07
 

Ähnlich wie Data Analytics and Machine Learning: From Node to Cluster on ARM64

Analyzing Data at Scale with Apache Spark
Analyzing Data at Scale with Apache SparkAnalyzing Data at Scale with Apache Spark
Analyzing Data at Scale with Apache SparkNicola Ferraro
 
A look under the hood at Apache Spark's API and engine evolutions
A look under the hood at Apache Spark's API and engine evolutionsA look under the hood at Apache Spark's API and engine evolutions
A look under the hood at Apache Spark's API and engine evolutionsDatabricks
 
TDWI Accelerate, Seattle, Oct 16, 2017: Distributed and In-Database Analytics...
TDWI Accelerate, Seattle, Oct 16, 2017: Distributed and In-Database Analytics...TDWI Accelerate, Seattle, Oct 16, 2017: Distributed and In-Database Analytics...
TDWI Accelerate, Seattle, Oct 16, 2017: Distributed and In-Database Analytics...Debraj GuhaThakurta
 
Apache spark - History and market overview
Apache spark - History and market overviewApache spark - History and market overview
Apache spark - History and market overviewMartin Zapletal
 
AWS Big Data Demystified #1: Big data architecture lessons learned
AWS Big Data Demystified #1: Big data architecture lessons learned AWS Big Data Demystified #1: Big data architecture lessons learned
AWS Big Data Demystified #1: Big data architecture lessons learned Omid Vahdaty
 
Scalable Monitoring Using Prometheus with Apache Spark Clusters with Diane F...
 Scalable Monitoring Using Prometheus with Apache Spark Clusters with Diane F... Scalable Monitoring Using Prometheus with Apache Spark Clusters with Diane F...
Scalable Monitoring Using Prometheus with Apache Spark Clusters with Diane F...Databricks
 
Deep Learning with Spark and GPUs
Deep Learning with Spark and GPUsDeep Learning with Spark and GPUs
Deep Learning with Spark and GPUsDataWorks Summit
 
Lightening Fast Big Data Analytics using Apache Spark
Lightening Fast Big Data Analytics using Apache SparkLightening Fast Big Data Analytics using Apache Spark
Lightening Fast Big Data Analytics using Apache SparkManish Gupta
 
Spark Summit EU 2015: Lessons from 300+ production users
Spark Summit EU 2015: Lessons from 300+ production usersSpark Summit EU 2015: Lessons from 300+ production users
Spark Summit EU 2015: Lessons from 300+ production usersDatabricks
 
Apache Spark 101 - Demi Ben-Ari
Apache Spark 101 - Demi Ben-AriApache Spark 101 - Demi Ben-Ari
Apache Spark 101 - Demi Ben-AriDemi Ben-Ari
 
SCALABLE MONITORING USING PROMETHEUS WITH APACHE SPARK
SCALABLE MONITORING USING PROMETHEUS WITH APACHE SPARKSCALABLE MONITORING USING PROMETHEUS WITH APACHE SPARK
SCALABLE MONITORING USING PROMETHEUS WITH APACHE SPARKzmhassan
 
Big Data Analytics and Ubiquitous computing
Big Data Analytics and Ubiquitous computingBig Data Analytics and Ubiquitous computing
Big Data Analytics and Ubiquitous computingAnimesh Chaturvedi
 
Project Hydrogen: Unifying State-of-the-Art AI and Big Data in Apache Spark w...
Project Hydrogen: Unifying State-of-the-Art AI and Big Data in Apache Spark w...Project Hydrogen: Unifying State-of-the-Art AI and Big Data in Apache Spark w...
Project Hydrogen: Unifying State-of-the-Art AI and Big Data in Apache Spark w...Databricks
 
Azure 機器學習 - 使用Python, R, Spark, CNTK 深度學習
Azure 機器學習 - 使用Python, R, Spark, CNTK 深度學習 Azure 機器學習 - 使用Python, R, Spark, CNTK 深度學習
Azure 機器學習 - 使用Python, R, Spark, CNTK 深度學習 Herman Wu
 
Apache Spark II (SparkSQL)
Apache Spark II (SparkSQL)Apache Spark II (SparkSQL)
Apache Spark II (SparkSQL)Datio Big Data
 
Netflix Open Source Meetup Season 4 Episode 2
Netflix Open Source Meetup Season 4 Episode 2Netflix Open Source Meetup Season 4 Episode 2
Netflix Open Source Meetup Season 4 Episode 2aspyker
 
Build Deep Learning Applications for Big Data Platforms (CVPR 2018 tutorial)
Build Deep Learning Applications for Big Data Platforms (CVPR 2018 tutorial)Build Deep Learning Applications for Big Data Platforms (CVPR 2018 tutorial)
Build Deep Learning Applications for Big Data Platforms (CVPR 2018 tutorial)Jason Dai
 
Near Data Computing Architectures: Opportunities and Challenges for Apache Spark
Near Data Computing Architectures: Opportunities and Challenges for Apache SparkNear Data Computing Architectures: Opportunities and Challenges for Apache Spark
Near Data Computing Architectures: Opportunities and Challenges for Apache SparkAhsan Javed Awan
 
Near Data Computing Architectures for Apache Spark: Challenges and Opportunit...
Near Data Computing Architectures for Apache Spark: Challenges and Opportunit...Near Data Computing Architectures for Apache Spark: Challenges and Opportunit...
Near Data Computing Architectures for Apache Spark: Challenges and Opportunit...Spark Summit
 

Ähnlich wie Data Analytics and Machine Learning: From Node to Cluster on ARM64 (20)

Analyzing Data at Scale with Apache Spark
Analyzing Data at Scale with Apache SparkAnalyzing Data at Scale with Apache Spark
Analyzing Data at Scale with Apache Spark
 
A look under the hood at Apache Spark's API and engine evolutions
A look under the hood at Apache Spark's API and engine evolutionsA look under the hood at Apache Spark's API and engine evolutions
A look under the hood at Apache Spark's API and engine evolutions
 
TDWI Accelerate, Seattle, Oct 16, 2017: Distributed and In-Database Analytics...
TDWI Accelerate, Seattle, Oct 16, 2017: Distributed and In-Database Analytics...TDWI Accelerate, Seattle, Oct 16, 2017: Distributed and In-Database Analytics...
TDWI Accelerate, Seattle, Oct 16, 2017: Distributed and In-Database Analytics...
 
Apache spark - History and market overview
Apache spark - History and market overviewApache spark - History and market overview
Apache spark - History and market overview
 
AWS Big Data Demystified #1: Big data architecture lessons learned
AWS Big Data Demystified #1: Big data architecture lessons learned AWS Big Data Demystified #1: Big data architecture lessons learned
AWS Big Data Demystified #1: Big data architecture lessons learned
 
Scalable Monitoring Using Prometheus with Apache Spark Clusters with Diane F...
 Scalable Monitoring Using Prometheus with Apache Spark Clusters with Diane F... Scalable Monitoring Using Prometheus with Apache Spark Clusters with Diane F...
Scalable Monitoring Using Prometheus with Apache Spark Clusters with Diane F...
 
Deep Learning with Spark and GPUs
Deep Learning with Spark and GPUsDeep Learning with Spark and GPUs
Deep Learning with Spark and GPUs
 
Lightening Fast Big Data Analytics using Apache Spark
Lightening Fast Big Data Analytics using Apache SparkLightening Fast Big Data Analytics using Apache Spark
Lightening Fast Big Data Analytics using Apache Spark
 
Spark Summit EU 2015: Lessons from 300+ production users
Spark Summit EU 2015: Lessons from 300+ production usersSpark Summit EU 2015: Lessons from 300+ production users
Spark Summit EU 2015: Lessons from 300+ production users
 
Apache Spark 101 - Demi Ben-Ari
Apache Spark 101 - Demi Ben-AriApache Spark 101 - Demi Ben-Ari
Apache Spark 101 - Demi Ben-Ari
 
SCALABLE MONITORING USING PROMETHEUS WITH APACHE SPARK
SCALABLE MONITORING USING PROMETHEUS WITH APACHE SPARKSCALABLE MONITORING USING PROMETHEUS WITH APACHE SPARK
SCALABLE MONITORING USING PROMETHEUS WITH APACHE SPARK
 
Big Data Analytics and Ubiquitous computing
Big Data Analytics and Ubiquitous computingBig Data Analytics and Ubiquitous computing
Big Data Analytics and Ubiquitous computing
 
Project Hydrogen: Unifying State-of-the-Art AI and Big Data in Apache Spark w...
Project Hydrogen: Unifying State-of-the-Art AI and Big Data in Apache Spark w...Project Hydrogen: Unifying State-of-the-Art AI and Big Data in Apache Spark w...
Project Hydrogen: Unifying State-of-the-Art AI and Big Data in Apache Spark w...
 
Azure 機器學習 - 使用Python, R, Spark, CNTK 深度學習
Azure 機器學習 - 使用Python, R, Spark, CNTK 深度學習 Azure 機器學習 - 使用Python, R, Spark, CNTK 深度學習
Azure 機器學習 - 使用Python, R, Spark, CNTK 深度學習
 
Apache Spark II (SparkSQL)
Apache Spark II (SparkSQL)Apache Spark II (SparkSQL)
Apache Spark II (SparkSQL)
 
Bds session 13 14
Bds session 13 14Bds session 13 14
Bds session 13 14
 
Netflix Open Source Meetup Season 4 Episode 2
Netflix Open Source Meetup Season 4 Episode 2Netflix Open Source Meetup Season 4 Episode 2
Netflix Open Source Meetup Season 4 Episode 2
 
Build Deep Learning Applications for Big Data Platforms (CVPR 2018 tutorial)
Build Deep Learning Applications for Big Data Platforms (CVPR 2018 tutorial)Build Deep Learning Applications for Big Data Platforms (CVPR 2018 tutorial)
Build Deep Learning Applications for Big Data Platforms (CVPR 2018 tutorial)
 
Near Data Computing Architectures: Opportunities and Challenges for Apache Spark
Near Data Computing Architectures: Opportunities and Challenges for Apache SparkNear Data Computing Architectures: Opportunities and Challenges for Apache Spark
Near Data Computing Architectures: Opportunities and Challenges for Apache Spark
 
Near Data Computing Architectures for Apache Spark: Challenges and Opportunit...
Near Data Computing Architectures for Apache Spark: Challenges and Opportunit...Near Data Computing Architectures for Apache Spark: Challenges and Opportunit...
Near Data Computing Architectures for Apache Spark: Challenges and Opportunit...
 

Mehr von Ganesh Raju

Technology trends, disruptions and Opportunities
Technology trends, disruptions and OpportunitiesTechnology trends, disruptions and Opportunities
Technology trends, disruptions and OpportunitiesGanesh Raju
 
ODPi (Open Data Platform Initiative) - Standardizing Hadoop Ecosystem: Linaro...
ODPi (Open Data Platform Initiative) - Standardizing Hadoop Ecosystem: Linaro...ODPi (Open Data Platform Initiative) - Standardizing Hadoop Ecosystem: Linaro...
ODPi (Open Data Platform Initiative) - Standardizing Hadoop Ecosystem: Linaro...Ganesh Raju
 
Apache Ambari on ARM Server - Linaro Connect
Apache Ambari on ARM Server - Linaro ConnectApache Ambari on ARM Server - Linaro Connect
Apache Ambari on ARM Server - Linaro ConnectGanesh Raju
 
Exploring Github Data with Apache Drill on ARM64
Exploring Github Data with Apache Drill on ARM64 Exploring Github Data with Apache Drill on ARM64
Exploring Github Data with Apache Drill on ARM64 Ganesh Raju
 
Apache Bigtop and ARM64 / AArch64 - Empowering Big Data Everywhere
Apache Bigtop and ARM64 / AArch64 - Empowering Big Data EverywhereApache Bigtop and ARM64 / AArch64 - Empowering Big Data Everywhere
Apache Bigtop and ARM64 / AArch64 - Empowering Big Data EverywhereGanesh Raju
 
State of Big Data on ARM64 / AArch64 - Apache Bigtop
State of Big Data on ARM64 / AArch64 - Apache BigtopState of Big Data on ARM64 / AArch64 - Apache Bigtop
State of Big Data on ARM64 / AArch64 - Apache BigtopGanesh Raju
 
ODPi (Open Data Platform Initiative) - Linaro Connect
ODPi (Open Data Platform Initiative) - Linaro ConnectODPi (Open Data Platform Initiative) - Linaro Connect
ODPi (Open Data Platform Initiative) - Linaro ConnectGanesh Raju
 
Smart City Big Data Visualization on 96Boards - Linaro Connect Las Vegas 2016
Smart City Big Data Visualization on 96Boards - Linaro Connect Las Vegas 2016Smart City Big Data Visualization on 96Boards - Linaro Connect Las Vegas 2016
Smart City Big Data Visualization on 96Boards - Linaro Connect Las Vegas 2016Ganesh Raju
 
Technology Trends, Disruptions and Opportunities
Technology Trends, Disruptions and OpportunitiesTechnology Trends, Disruptions and Opportunities
Technology Trends, Disruptions and OpportunitiesGanesh Raju
 
Certificate_DataStax_Cassandra
Certificate_DataStax_CassandraCertificate_DataStax_Cassandra
Certificate_DataStax_CassandraGanesh Raju
 

Mehr von Ganesh Raju (10)

Technology trends, disruptions and Opportunities
Technology trends, disruptions and OpportunitiesTechnology trends, disruptions and Opportunities
Technology trends, disruptions and Opportunities
 
ODPi (Open Data Platform Initiative) - Standardizing Hadoop Ecosystem: Linaro...
ODPi (Open Data Platform Initiative) - Standardizing Hadoop Ecosystem: Linaro...ODPi (Open Data Platform Initiative) - Standardizing Hadoop Ecosystem: Linaro...
ODPi (Open Data Platform Initiative) - Standardizing Hadoop Ecosystem: Linaro...
 
Apache Ambari on ARM Server - Linaro Connect
Apache Ambari on ARM Server - Linaro ConnectApache Ambari on ARM Server - Linaro Connect
Apache Ambari on ARM Server - Linaro Connect
 
Exploring Github Data with Apache Drill on ARM64
Exploring Github Data with Apache Drill on ARM64 Exploring Github Data with Apache Drill on ARM64
Exploring Github Data with Apache Drill on ARM64
 
Apache Bigtop and ARM64 / AArch64 - Empowering Big Data Everywhere
Apache Bigtop and ARM64 / AArch64 - Empowering Big Data EverywhereApache Bigtop and ARM64 / AArch64 - Empowering Big Data Everywhere
Apache Bigtop and ARM64 / AArch64 - Empowering Big Data Everywhere
 
State of Big Data on ARM64 / AArch64 - Apache Bigtop
State of Big Data on ARM64 / AArch64 - Apache BigtopState of Big Data on ARM64 / AArch64 - Apache Bigtop
State of Big Data on ARM64 / AArch64 - Apache Bigtop
 
ODPi (Open Data Platform Initiative) - Linaro Connect
ODPi (Open Data Platform Initiative) - Linaro ConnectODPi (Open Data Platform Initiative) - Linaro Connect
ODPi (Open Data Platform Initiative) - Linaro Connect
 
Smart City Big Data Visualization on 96Boards - Linaro Connect Las Vegas 2016
Smart City Big Data Visualization on 96Boards - Linaro Connect Las Vegas 2016Smart City Big Data Visualization on 96Boards - Linaro Connect Las Vegas 2016
Smart City Big Data Visualization on 96Boards - Linaro Connect Las Vegas 2016
 
Technology Trends, Disruptions and Opportunities
Technology Trends, Disruptions and OpportunitiesTechnology Trends, Disruptions and Opportunities
Technology Trends, Disruptions and Opportunities
 
Certificate_DataStax_Cassandra
Certificate_DataStax_CassandraCertificate_DataStax_Cassandra
Certificate_DataStax_Cassandra
 

Kürzlich hochgeladen

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 

Kürzlich hochgeladen (20)

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 

Data Analytics and Machine Learning: From Node to Cluster on ARM64

  • 1. Presented by Date Event Data Analytics and Machine Learning: From Node to Cluster Understanding use cases to optimize on ARM Ecosystem Viswanath Puttagunta Ganesh Raju BKK16-404B March 10th, 2016 Linaro Connect BKK16 Version 0.1
  • 2. Vish Puttagunta ● Technical Program Manager, Linaro ● DSP (TI C64x) optimizations (Image / Signal Processing) ● ARM® NEON™ optimizations upstreamed to opus audio codec ● Data Analysis and Machine Learning: Why ARM Ganesh Raju ● Tech Lead, Big Data, Linaro ● Brings in Enterprise experience in implementing Big Data solutions
  • 3. Data Science: Big Picture Data Analytics Machine Learning Deep Learning High Performance Computing (HPC) Big Data Statistics Lin/Log Reg KNN, Decision Trees,PCA... Software Tools Python,R.. Pandas, scikit-learn, nltk.. Caffe, TensorFlow.. Spark, MLlib, Hadoop.. Deep Learning/NN CNN RNN.. Data Science ● Value Prediction ● Classification ● Transformation ● Correlations ● Causalities ● Wrangling...
  • 4. Overview ● Basic Data Science use cases ● Pandas Library(Python) ○ Time Series, Correlations, Risk Analysis ● Supervised Learning ○ scikit-learn Library (Python) ● Understand operations done repeatedly ● Open discussion for next steps: ○ Profile, Optimize (ARM Neon, OpenCL, OpenMP..) on a single machine. ○ Scale beyond a single machine ● Ref: https://github.com/viswanath-puttagunta/bkk16_MLPrimer
  • 5. Goal ● Make the tools and operations work out of the box on ARM ○ ARM Neon, OpenCL, OpenMP. ○ ‘pip install’ should just work :) ● Why Now? (Hint: Spark)
  • 6. Pandas Data Analysis (Pandas) ● Origins in Finance for Data Manipulation and Analysis (Python Library) ● DataFrame object ● Repeat Computations: ○ Means, Min, Max, Percentage Changes ○ Standard Deviation ○ Differentiation (Shift and subtract) ○ ...
  • 7. Op: Rolling Mean (Pandas)
  • 8. Op: Percentage Change (Pandas) Operations: Shift, Subtract, Divide
  • 9. Op: Percentage Change Vs Risk (Variance)
  • 10. Op: Correlation (Pandas) Operations: Mean, Variance, Square Root Pearson Correlation Coef Source: https://en.wikipedia.org/wiki/Pearson_product-moment_correlation_coefficient
  • 12. Linear Regression (Predictor) Objective: Fit line/curve to minimize a cost function
  • 13. Linear Regression (Predictor)... Operations: Gradient Descent: Matrix Transforms/Inverse/Multiplications. For Lnr Reg, directly reduces to: Θ = (XT X)-1 XT Y Source: https://www.youtube.com/watch?v=SqA6TujbmWw&list=PLE6Wd9FR--Ecf_5nCbnSQMHqORpiChfJf&index=16 https://youtu.be/WnqQrPNYz5Q?list=PLaXDtXvwY-oDvedS3f4HW0b4KxqpJ_imw&t=284
  • 14. Logistic Regression (Classification) Operations: Matrix Transforms/Inverse/Multiplications. Source: https://www.youtube.com/watch?v=Zc7ouSD0DEQ&index=27&list=PLE6Wd9FR--Ecf_5nCbnSQMHqORpiChfJf
  • 15. Artificial Neural Networks (Eg: Predictor) Objective: Compute parameters to minimize a cost function Operations: Matrix Transforms/Inverse/Multiplications, Dot Products... Source: https://www.yout.ube.com/watch?v=bxe2T-V8XRs
  • 16. Bayesian Classifiers Operations (Training): Mean, Standard Deviations, Logs, binning/compare(/histograms) Note: Some variations based on assumptions on variance (LDA, QDA) Source: An Introduction to Statistical Learning with Applications in R (Springer Texts)
  • 17. K-Nearest Neighbors (Classifier) Operations: Euclidean Distance Computations Note: K is tunable. Typical to repeat computations for lot of k values
  • 18. Decision Tree (Predictors & Classifiers) Operations: Each split done so that Predictor: Minimize Root Mean Square Error Classifier: Minimize Gini Index (Note: depth tunable)
  • 19. Bagging / Random Forests Operations: Each tree similar to Decision Tree Note: Typical to see about 200 to 300 trees to stabilize. Source: An Introduction to Statistical Learning with Applications in R (Springer Texts)
  • 20. Segway to Spark ● So far, on a single machine with lots of RAM and compute. ○ How to scale to a cluster ● So far, data from simple csv files ○ How to acquire/clean data on large scale
  • 21. Discussion ● OpenCL (Deep Learning) ○ Acceleration using GPU, DSPs ○ Outside of Deep Learning: GPU? (scikit-learn faq) ○ But what about Shamrock? OpenCL backend on CPU. ○ Port CUDA kernels into OpenCL kernels in various projects? ● ARM NEON ○ Highly scalable ● OpenMP? ● Tools to profile end-to-end use cases? ○ Perf..
  • 22. Backup Slides ● Text Analytics ○ Sparse Matrices and operations ○ Word counts (Naive Bayes) ● Libraries (Python) ○ sklearn (No GPU Support!! FAQ) ○ gensim (Text Analytics) ○ TensorFlowTM (GPU backend available) ○ Caffe (GPU backend available) ○ Theano (GPU backend available)
  • 23. Presented by Date Event Data science in Distributed Environment Ganesh Raju Tech Lead, Big Data Linaro Thursday 10 March 2016 BKK16
  • 24. Overview 1. Review of Data Science in Single Node 2. Data Science in Distributed Environment a. Hadoop and its limitations 3. Data Science using Apache Spark a. Spark Ecosystem b. Spark ML c. Spark Streaming d. Spark 2.0 and Roadmap 4. Q & A
  • 25. Hadoop Vs Spark 80+ operators compared to 2 operators in Hadoop
  • 26. Hadoop and its limitations
  • 27. Spark - Unified Platform source: www.databricks.com
  • 28. Machine Learning Data Pipeline Why in Spark: ● Machine learning algorithms are ○ Complex, multi-stage ○ Iterative ● MapReduce/Hadoop unsuitable
  • 30. Apache Spark Stack Unified Engine across diverse workloads and Environments R Python Scala Java Spark Core API Spark SQL + DataFrames Streaming MLib / ML Machine Learning GraphX Graph Computation
  • 31. Spark Core Internals SparkContext connects to a cluster manager Obtains executors on cluster nodes Sends app code to them Sends task to the executors Driver Program Cluster Manager Worker Node Executor Worker Node Cluster Spark Context Scheduler Scheduler Task Cache Task Executor Task Cache Task
  • 32. Application Code Distribution ● PySpark enables developers to write driver programs in Python ● Application code is serialized and sent to the worker nodes ● Execution happens in native language (Python/R) SparkContext Driver Py4J Java Spark Context File system Worker Node Worker Node Cluster Python Python Python Python Python Python Pipe Socket
  • 33. Apache Spark MLlib / ML Algorithms Supported: ● Classification: Logistic Regression, Linear SVM, Naive Bayes, classification tree ● Regression: Generalized Linear Models (GLMs), Regression Tree ● Collaborative Filtering: Alternating Least Squares (ALS), Non-Negative Matrix Factorization (NMF) ● Clustering: K-Means ● Decomposition: SVD, PCA ● Optimization: Stochastic Gradient Descent (SGD), L-BFGS
  • 34. Spark Streaming ● Run a streaming computation as a series of very small, deterministic batch jobs ○ Live data streaming is converted into micro batches of input. Batch can be of ½ sec latency. ○ Each batch is processed in Spark ○ Output is returned as micro batches ○ Potential for combining batch and streaming processing. ● Linear models can be trained in streaming fashion ● Model weights can be updated via SGD, thus amenable to streaming ● Consistent API ● Scalable
  • 35. Apache Spark General-purpose cluster computing system ● Unified End-to-End data pipeline platform with support for Machine Learning, Streaming, SQL and Graph Pipelines ● Fast and Expressive Cluster Computing Engine. No Intermediate storage. In-memory Processing. Run programs up to 100x faster than Hadoop MapReduce in memory, or 10x faster on disk. ● Rich higher level APIs in Scala, Python, R, Java. Typically less code (2-5x) ● REPL ● Interoperability with other ecosystem components ○ Mesos, YARN ○ EC2, EMR ○ HDFS, S3, ○ HBase, Cassandra, Parquet, Hive, JSON, ElasticSearch
  • 36. Source: https://databricks.com/blog/2015/04/28/project-tungsten-bringing-spark-closer-to-bare-metal.html Tungsten Phase 2 speedups of 5-10x Structured Streaming real-time engine on SQL / DataFrames Unifying Datasets and DataFrames Major Features in 2.0 - Project Tungsten
  • 37. Focus on CPU and Memory Optimization Code Generation ● Runtime Code Generation by dynamically generating bytecode during evaluation and eliminating Java boxing of primitive data types ● Faster serializer and compression on dataformat like Parquet. Manual Memory Management and Binary Processing ● Off heap memory management. Avoiding non-transient Java objects (store them in binary format), which reduces GC overhead. ● Minimizing memory usage through denser in-memory data format, with less spill (I/O) ● Better memory accounting (size of bytes) rather than relying on heuristics ● For operators that understand data types (in the case of DataFrames and SQL), work directly against binary format in memory, i.e. have no serialization/deserialization Cache-aware Computation ● Exploiting cache locality. Faster sorting and hashing for aggregations, joins, and shuffle Spark 2.0 - Project Tungsten features
  • 38. Unified API, One Engine, Automatically Optimized PythonSQL Java/Scala R ... DataFrame Logical Plan Language Frontend LLVMJVM GPU NVRAM SSE/SIMD Tungsten Backend ...OpenCL
  • 39. Apache Spark Roadmap . ● Use LLVM for compilation ● Re-implement parallelizable code using OpenCL/SSE/SIMD to utilize underlying CPU / GPU advancements towards machine learning. Spark slave nodes can achieve better performance and energy efficiency if with GPU acceleration by doing further data parallelization and algorithm acceleration.
  • 40. De facto Analytics Platform source: www.databricks.com
  • 41. Q & A