SlideShare una empresa de Scribd logo
1 de 25
Descargar para leer sin conexión
Motivation Gilbert Evaluation Conclusion
Gilbert: Declarative Sparse Linear Algebra on
Massively Parallel Dataflow Systems
Till Rohrmann 1
Sebastian Schelter 2
Tilmann Rabl 2
Volker Markl 2
1
Apache Software Foundation
2
Technische Universität Berlin
March 8, 2017
1 / 25
Motivation Gilbert Evaluation Conclusion
Motivation
2 / 25
Motivation Gilbert Evaluation Conclusion
Information Age
Collected data grows exponentially
Valuable information stored in data
Need for scalable analytical methods
3 / 25
Motivation Gilbert Evaluation Conclusion
Distributed Computing and Data Analytics
Writing parallel algorithms is tedious
and error-prone
Huge existing code base in form of
libraries
Need for parallelization tool
4 / 25
Motivation Gilbert Evaluation Conclusion
Requirements
Linear algebra is lingua franca of analytics
Parallelize programs automatically to simplify development
Sparse operations to support sparse problems efficiently
Goal
Development of distributed sparse linear algebra system
5 / 25
Motivation Gilbert Evaluation Conclusion
Gilbert
6 / 25
Motivation Gilbert Evaluation Conclusion
Gilbert in a Nutshell
7 / 25
Motivation Gilbert Evaluation Conclusion
System architecture
8 / 25
Motivation Gilbert Evaluation Conclusion
Gilbert Language
Subset of MATLAB R
language
Support of basic linear algebra
operations
Fixpoint operator serves as side-effect
free loop abstraction
Expressive enough to implement a wide
variety of machine learning algorithms
1 A = rand (10 , 2 ) ;
2 B = eye ( 1 0 ) ;
3 A’∗B;
4 f = @( x ) x . ^ 2 . 0 ;
5 eps = 0 . 1 ;
6 c = @(p , c ) norm (p−c , 2 ) < eps ;
7 f i x p o i n t (1/2 , f , 10 , c ) ;
9 / 25
Motivation Gilbert Evaluation Conclusion
Gilbert Typer
Matlab is dynamically typed
Dataflow systems require type knowledge at compile type
Automatic type inference using the Hindley-Milner type inference
algorithm
Infer also matrix dimensions for optimizations
1 A = rand (10 , 2 ) : Matrix ( Double , 10 , 2)
2 B = eye ( 1 0 ) : Matrix ( Double , 10 , 10)
3 A’∗B: Matrix ( Double , 2 , 10)
4 f = @( x ) x . ^ 2 . 0 : N −> N
5 eps = 0 . 1 : Double
6 c = @(p , c ) norm (p−c , 2 ) < eps : (N,N) −> Boolean
7 f i x p o i n t (1/2 , f , 10 , c ) : Double
10 / 25
Motivation Gilbert Evaluation Conclusion
Intermediate Representation & Gilbert Optimizer
Language independent representation of linear algebra programs
Abstraction layer facilitates easy extension with new programming
languages (such as R)
Enables language independent optimizations
Transpose push down
Matrix multiplication re-ordering
11 / 25
Motivation Gilbert Evaluation Conclusion
Distributed Matrices
(a) Row partitioning (b) Quadratic block partitioning
Which partitioning is better suited for matrix multiplications?
io_costrow = O n3
io_costblock = O n2
√
n
12 / 25
Motivation Gilbert Evaluation Conclusion
Distributed Operations: Addition
Apache Flink and Apache Spark offer MapReduce-like API with
additional operators: join, coGroup, cross
13 / 25
Motivation Gilbert Evaluation Conclusion
Evaluation
14 / 25
Motivation Gilbert Evaluation Conclusion
Gaussian Non-Negative Matrix Factorization
Given V ∈ Rd×w
find W ∈ Rd×t
and H ∈ Rt×w
such that V ≈ WH
Used in many fields: Computer vision, document clustering and
topic modeling
Efficient distributed implementation for MapReduce systems
Algorithm
H ← randomMatrix(t, w)
W ← randomMatrix(d, t)
while V − WH 2 > eps do
H ← H · (W T
V /W T
WH)
W ← W · (VHT
/WHHT
)
end while
15 / 25
Motivation Gilbert Evaluation Conclusion
Testing Setup
Set t = 10 and w = 100000
V ∈ Rd×100000
with sparsity 0.001
Block size 500 × 500
Numbers of cores 64
Flink 1.1.2 & Spark 2.0.0
Gilbert implementation: 5 lines
Distributed GNMF on Flink: 70 lines
1 V = rand ( $rows , 100000 , 0 , 1 , 0 . 0 0 1 ) ;
2 H = rand (10 , 100000 , 0 , 1 ) ;
3 W = rand ( $rows , 10 , 0 , 1 ) ;
4 nH = H. ∗ ( (W’ ∗V) . / (W’∗W∗H))
5 nW = W. ∗ (V∗nH ’ ) . / (W∗nH∗nH ’ )
16 / 25
Motivation Gilbert Evaluation Conclusion
Gilbert Optimizations
103
104
0
100
200
300
Rows d of V
Executiontimetins Optimized Spark
Optimized Flink
Non-optimized Spark
Non-optimized Flink
17 / 25
Motivation Gilbert Evaluation Conclusion
Optimizations Explained
Matrix updates
H ← H · (W T
V /W T
WH)
W ← W · (VHT
/WHHT
)
Non-optimized matrix multiplications
∈R10×100000
W T
W
∈R10×10
H
∈Rd×10
(WH)
∈Rd×100000
HT
Optimized matrix multiplications
∈R10×100000
W T
W
∈R10×10
H
∈Rd×10
W HHT
∈R10×10
18 / 25
Motivation Gilbert Evaluation Conclusion
GNMF Step: Scaling Problem Size
103
104
105
101
102
Number of rows of matrix V
Executiontimetins
Flink SP Flink
Spark SP Spark
Local
Distributed Gilbert execution handles much larger problem sizes than
local execution
Specialized implementation is slightly faster than Gilbert
19 / 25
Motivation Gilbert Evaluation Conclusion
GNMF Step: Weak Scaling
100
101
102
0
20
40
60
Number of cores
Executiontimetins
Flink
Spark
Both distributed backends show good weak scaling behaviour
20 / 25
Motivation Gilbert Evaluation Conclusion
PageRank
Ranking between entities with reciprocal quotations and references
PR(pi ) = d
pj ∈L(pi )
PR(pj )
D(pj )
+
1 − d
N
N - number of pages
d - damping factor
L(pi ) - set of pages being linked by pi
D(pi ) - number of linked pages by pi
M - transition matrix derived from adjacency matrix
R = d · MR +
1 − d
N
· 1
21 / 25
Motivation Gilbert Evaluation Conclusion
PageRank Implementation
MATLAB R
1 i t = 10;
2 d = sum(A, 2) ;
3 M = ( diag (1 . / d ) ∗ A) ’ ;
4 r_0 = ones (n , 1) / n ;
5 e = ones (n , 1) / n ;
6 f o r i = 1: i t
7 r = .85 ∗ M ∗ r + .15 ∗ e
8 end
Gilbert
1 i t = 10;
2 d = sum(A, 2) ;
3 M = ( diag (1 ./ d ) ∗ A) ’ ;
4 r_0 = ones (n , 1) / n ;
5 e = ones (n , 1) / n ;
6 f i x p o i n t ( r_0 ,
7 @( r ) .85 ∗ M ∗ r + .15 ∗ e ,
8 i t )
22 / 25
Motivation Gilbert Evaluation Conclusion
PageRank: 10 Iterations
104
105
101
102
103
104
Number of vertices n
Executiontimetins
Spark
Flink
SP Flink
SP Spark
Gilbert backends show similar performance
Specialized implementation faster because it can fuse operations
23 / 25
Motivation Gilbert Evaluation Conclusion
Conclusion
24 / 25
Motivation Gilbert Evaluation Conclusion
Conclusion
Easy to use sparse linear algebra
environment for people familiar with
MATLAB R
Scales to data sizes exceeding a single
computer
High-level linear algebra optimizations
improve runtime
Slower than specialized
implementations due to abstraction
overhead
25 / 25

Más contenido relacionado

La actualidad más candente

HDRF: Stream-Based Partitioning for Power-Law Graphs
HDRF: Stream-Based Partitioning for Power-Law GraphsHDRF: Stream-Based Partitioning for Power-Law Graphs
HDRF: Stream-Based Partitioning for Power-Law GraphsFabio Petroni, PhD
 
Distributed Graph Transformations Supported By Multi-Agent Systems
Distributed Graph Transformations Supported By Multi-Agent SystemsDistributed Graph Transformations Supported By Multi-Agent Systems
Distributed Graph Transformations Supported By Multi-Agent Systemsadamsedziwy
 
Lecture 14 Heuristic Search-A star algorithm
Lecture 14 Heuristic Search-A star algorithmLecture 14 Heuristic Search-A star algorithm
Lecture 14 Heuristic Search-A star algorithmHema Kashyap
 
Digital Logic Design-Lecture 5
Digital Logic Design-Lecture 5Digital Logic Design-Lecture 5
Digital Logic Design-Lecture 5Samia Sultana
 
Presentation - Bi-directional A-star search
Presentation - Bi-directional A-star searchPresentation - Bi-directional A-star search
Presentation - Bi-directional A-star searchMohammad Saiful Islam
 
connecting discrete mathematics and software engineering
connecting discrete mathematics and software engineeringconnecting discrete mathematics and software engineering
connecting discrete mathematics and software engineeringRam Kumar K R
 
Example of iterative deepening search &amp; bidirectional search
Example of iterative deepening search &amp; bidirectional searchExample of iterative deepening search &amp; bidirectional search
Example of iterative deepening search &amp; bidirectional searchAbhijeet Agarwal
 
February 9 2016
February 9 2016February 9 2016
February 9 2016khyps13
 
hospital management
hospital managementhospital management
hospital managementguestbcbbb5c
 
Approximating Value of pi(Π) using Monte Carlo Iterative Method
Approximating Value of pi(Π) using Monte Carlo Iterative MethodApproximating Value of pi(Π) using Monte Carlo Iterative Method
Approximating Value of pi(Π) using Monte Carlo Iterative MethodNischal Lal Shrestha
 
Permutation graphsandapplications
Permutation graphsandapplicationsPermutation graphsandapplications
Permutation graphsandapplicationsJoe Krall
 
The Power of Graphs in Immersive Communications
The Power of Graphs in Immersive CommunicationsThe Power of Graphs in Immersive Communications
The Power of Graphs in Immersive Communicationstonizza82
 
09 heuristic search
09 heuristic search09 heuristic search
09 heuristic searchTianlu Wang
 
AI Greedy and A-STAR Search
AI Greedy and A-STAR SearchAI Greedy and A-STAR Search
AI Greedy and A-STAR SearchAndrew Ferlitsch
 

La actualidad más candente (20)

Graphs
GraphsGraphs
Graphs
 
HDRF: Stream-Based Partitioning for Power-Law Graphs
HDRF: Stream-Based Partitioning for Power-Law GraphsHDRF: Stream-Based Partitioning for Power-Law Graphs
HDRF: Stream-Based Partitioning for Power-Law Graphs
 
Distributed Graph Transformations Supported By Multi-Agent Systems
Distributed Graph Transformations Supported By Multi-Agent SystemsDistributed Graph Transformations Supported By Multi-Agent Systems
Distributed Graph Transformations Supported By Multi-Agent Systems
 
A* Search Algorithm
A* Search AlgorithmA* Search Algorithm
A* Search Algorithm
 
Code optimization
Code optimization Code optimization
Code optimization
 
Lecture 14 Heuristic Search-A star algorithm
Lecture 14 Heuristic Search-A star algorithmLecture 14 Heuristic Search-A star algorithm
Lecture 14 Heuristic Search-A star algorithm
 
Digital Logic Design-Lecture 5
Digital Logic Design-Lecture 5Digital Logic Design-Lecture 5
Digital Logic Design-Lecture 5
 
Presentation - Bi-directional A-star search
Presentation - Bi-directional A-star searchPresentation - Bi-directional A-star search
Presentation - Bi-directional A-star search
 
connecting discrete mathematics and software engineering
connecting discrete mathematics and software engineeringconnecting discrete mathematics and software engineering
connecting discrete mathematics and software engineering
 
Example of iterative deepening search &amp; bidirectional search
Example of iterative deepening search &amp; bidirectional searchExample of iterative deepening search &amp; bidirectional search
Example of iterative deepening search &amp; bidirectional search
 
February 9 2016
February 9 2016February 9 2016
February 9 2016
 
hospital management
hospital managementhospital management
hospital management
 
Approximating Value of pi(Π) using Monte Carlo Iterative Method
Approximating Value of pi(Π) using Monte Carlo Iterative MethodApproximating Value of pi(Π) using Monte Carlo Iterative Method
Approximating Value of pi(Π) using Monte Carlo Iterative Method
 
Compositing and Blending
Compositing and BlendingCompositing and Blending
Compositing and Blending
 
Permutation graphsandapplications
Permutation graphsandapplicationsPermutation graphsandapplications
Permutation graphsandapplications
 
The Power of Graphs in Immersive Communications
The Power of Graphs in Immersive CommunicationsThe Power of Graphs in Immersive Communications
The Power of Graphs in Immersive Communications
 
09 heuristic search
09 heuristic search09 heuristic search
09 heuristic search
 
AI Lesson 05
AI Lesson 05AI Lesson 05
AI Lesson 05
 
Astar algorithm
Astar algorithmAstar algorithm
Astar algorithm
 
AI Greedy and A-STAR Search
AI Greedy and A-STAR SearchAI Greedy and A-STAR Search
AI Greedy and A-STAR Search
 

Destacado

Dynamic Scaling: How Apache Flink Adapts to Changing Workloads (at FlinkForwa...
Dynamic Scaling: How Apache Flink Adapts to Changing Workloads (at FlinkForwa...Dynamic Scaling: How Apache Flink Adapts to Changing Workloads (at FlinkForwa...
Dynamic Scaling: How Apache Flink Adapts to Changing Workloads (at FlinkForwa...Till Rohrmann
 
Fault Tolerance and Job Recovery in Apache Flink @ FlinkForward 2015
Fault Tolerance and Job Recovery in Apache Flink @ FlinkForward 2015Fault Tolerance and Job Recovery in Apache Flink @ FlinkForward 2015
Fault Tolerance and Job Recovery in Apache Flink @ FlinkForward 2015Till Rohrmann
 
Kostas Kloudas - Extending Flink's Streaming APIs
Kostas Kloudas - Extending Flink's Streaming APIsKostas Kloudas - Extending Flink's Streaming APIs
Kostas Kloudas - Extending Flink's Streaming APIsVerverica
 
Published Management Articles by Gerald J. Furnkranz
Published Management Articles by Gerald J. FurnkranzPublished Management Articles by Gerald J. Furnkranz
Published Management Articles by Gerald J. FurnkranzGerald Furnkranz
 
Human toxicity, environmental impact and legal implications of water fluorida...
Human toxicity, environmental impact and legal implications of water fluorida...Human toxicity, environmental impact and legal implications of water fluorida...
Human toxicity, environmental impact and legal implications of water fluorida...Declan Waugh
 
These words I share, written from despair, read them, speak them, but do so w...
These words I share, written from despair, read them, speak them, but do so w...These words I share, written from despair, read them, speak them, but do so w...
These words I share, written from despair, read them, speak them, but do so w...Blair Stuart
 
Isu isu trenda terkini dalam teknologi pendidikan
Isu isu trenda terkini dalam teknologi pendidikanIsu isu trenda terkini dalam teknologi pendidikan
Isu isu trenda terkini dalam teknologi pendidikanRenee Evelyn
 
正規言語について
正規言語について正規言語について
正規言語についてJumpei Ogawa
 
Hazop gijutsushikai chubu koukuukai
Hazop gijutsushikai chubu koukuukai Hazop gijutsushikai chubu koukuukai
Hazop gijutsushikai chubu koukuukai Kiyoshi Ogawa
 
Ruby HTTP clients comparison
Ruby HTTP clients comparisonRuby HTTP clients comparison
Ruby HTTP clients comparisonHiroshi Nakamura
 
Yapc Asia 2009 ペパボでのPerlの使い方
Yapc Asia 2009 ペパボでのPerlの使い方Yapc Asia 2009 ペパボでのPerlの使い方
Yapc Asia 2009 ペパボでのPerlの使い方hiboma
 
The New Framework for Information Literacy for Higher Education
The New Framework for Information Literacy for Higher EducationThe New Framework for Information Literacy for Higher Education
The New Framework for Information Literacy for Higher EducationTrudi Jacobson
 
GBM Group Based Marketing: Marketing to Groups
GBM Group Based Marketing: Marketing to GroupsGBM Group Based Marketing: Marketing to Groups
GBM Group Based Marketing: Marketing to GroupsScott Levine
 
Corso storytelling a Gemona
Corso storytelling a GemonaCorso storytelling a Gemona
Corso storytelling a GemonaGemona Turismo
 
好みや多数決で決めない、デザインとの正しい付き合い方
好みや多数決で決めない、デザインとの正しい付き合い方好みや多数決で決めない、デザインとの正しい付き合い方
好みや多数決で決めない、デザインとの正しい付き合い方Yasuhisa Hasegawa
 
Bundesliga Report - 10 years of academies - Talent pools of top-level German ...
Bundesliga Report - 10 years of academies - Talent pools of top-level German ...Bundesliga Report - 10 years of academies - Talent pools of top-level German ...
Bundesliga Report - 10 years of academies - Talent pools of top-level German ...Ítalo de Oliveira Mendonça
 
Escaneado 09 03-2017 10.02
Escaneado 09 03-2017 10.02Escaneado 09 03-2017 10.02
Escaneado 09 03-2017 10.02Juan Carreón
 

Destacado (20)

Dynamic Scaling: How Apache Flink Adapts to Changing Workloads (at FlinkForwa...
Dynamic Scaling: How Apache Flink Adapts to Changing Workloads (at FlinkForwa...Dynamic Scaling: How Apache Flink Adapts to Changing Workloads (at FlinkForwa...
Dynamic Scaling: How Apache Flink Adapts to Changing Workloads (at FlinkForwa...
 
Fault Tolerance and Job Recovery in Apache Flink @ FlinkForward 2015
Fault Tolerance and Job Recovery in Apache Flink @ FlinkForward 2015Fault Tolerance and Job Recovery in Apache Flink @ FlinkForward 2015
Fault Tolerance and Job Recovery in Apache Flink @ FlinkForward 2015
 
Kostas Kloudas - Extending Flink's Streaming APIs
Kostas Kloudas - Extending Flink's Streaming APIsKostas Kloudas - Extending Flink's Streaming APIs
Kostas Kloudas - Extending Flink's Streaming APIs
 
Published Management Articles by Gerald J. Furnkranz
Published Management Articles by Gerald J. FurnkranzPublished Management Articles by Gerald J. Furnkranz
Published Management Articles by Gerald J. Furnkranz
 
Human toxicity, environmental impact and legal implications of water fluorida...
Human toxicity, environmental impact and legal implications of water fluorida...Human toxicity, environmental impact and legal implications of water fluorida...
Human toxicity, environmental impact and legal implications of water fluorida...
 
These words I share, written from despair, read them, speak them, but do so w...
These words I share, written from despair, read them, speak them, but do so w...These words I share, written from despair, read them, speak them, but do so w...
These words I share, written from despair, read them, speak them, but do so w...
 
Isu isu trenda terkini dalam teknologi pendidikan
Isu isu trenda terkini dalam teknologi pendidikanIsu isu trenda terkini dalam teknologi pendidikan
Isu isu trenda terkini dalam teknologi pendidikan
 
正規言語について
正規言語について正規言語について
正規言語について
 
C# & AWS Lambda
C# & AWS LambdaC# & AWS Lambda
C# & AWS Lambda
 
Hazop gijutsushikai chubu koukuukai
Hazop gijutsushikai chubu koukuukai Hazop gijutsushikai chubu koukuukai
Hazop gijutsushikai chubu koukuukai
 
Ruby HTTP clients comparison
Ruby HTTP clients comparisonRuby HTTP clients comparison
Ruby HTTP clients comparison
 
Yapc Asia 2009 ペパボでのPerlの使い方
Yapc Asia 2009 ペパボでのPerlの使い方Yapc Asia 2009 ペパボでのPerlの使い方
Yapc Asia 2009 ペパボでのPerlの使い方
 
The New Framework for Information Literacy for Higher Education
The New Framework for Information Literacy for Higher EducationThe New Framework for Information Literacy for Higher Education
The New Framework for Information Literacy for Higher Education
 
GBM Group Based Marketing: Marketing to Groups
GBM Group Based Marketing: Marketing to GroupsGBM Group Based Marketing: Marketing to Groups
GBM Group Based Marketing: Marketing to Groups
 
How to Kill a Word
How to Kill a WordHow to Kill a Word
How to Kill a Word
 
Ui qa tools
Ui qa toolsUi qa tools
Ui qa tools
 
Corso storytelling a Gemona
Corso storytelling a GemonaCorso storytelling a Gemona
Corso storytelling a Gemona
 
好みや多数決で決めない、デザインとの正しい付き合い方
好みや多数決で決めない、デザインとの正しい付き合い方好みや多数決で決めない、デザインとの正しい付き合い方
好みや多数決で決めない、デザインとの正しい付き合い方
 
Bundesliga Report - 10 years of academies - Talent pools of top-level German ...
Bundesliga Report - 10 years of academies - Talent pools of top-level German ...Bundesliga Report - 10 years of academies - Talent pools of top-level German ...
Bundesliga Report - 10 years of academies - Talent pools of top-level German ...
 
Escaneado 09 03-2017 10.02
Escaneado 09 03-2017 10.02Escaneado 09 03-2017 10.02
Escaneado 09 03-2017 10.02
 

Similar a Gilbert: Declarative Sparse Linear Algebra on Massively Parallel Dataflow Systems

DESIGN OF QUATERNARY LOGICAL CIRCUIT USING VOLTAGE AND CURRENT MODE LOGIC
DESIGN OF QUATERNARY LOGICAL CIRCUIT USING VOLTAGE AND CURRENT MODE LOGICDESIGN OF QUATERNARY LOGICAL CIRCUIT USING VOLTAGE AND CURRENT MODE LOGIC
DESIGN OF QUATERNARY LOGICAL CIRCUIT USING VOLTAGE AND CURRENT MODE LOGICVLSICS Design
 
Cgo2007 P3 3 Birkbeck
Cgo2007 P3 3 BirkbeckCgo2007 P3 3 Birkbeck
Cgo2007 P3 3 BirkbeckaiQUANT
 
A Dimension Abstraction Approach to Vectorization in Matlab
A Dimension Abstraction Approach to Vectorization in MatlabA Dimension Abstraction Approach to Vectorization in Matlab
A Dimension Abstraction Approach to Vectorization in MatlabaiQUANT
 
Design of Low-Pass Digital Differentiators Based on B-splines
Design of Low-Pass Digital Differentiators Based on B-splinesDesign of Low-Pass Digital Differentiators Based on B-splines
Design of Low-Pass Digital Differentiators Based on B-splinesCSCJournals
 
MATLAB Questions and Answers.pdf
MATLAB Questions and Answers.pdfMATLAB Questions and Answers.pdf
MATLAB Questions and Answers.pdfahmed8651
 
Matlab for beginners, Introduction, signal processing
Matlab for beginners, Introduction, signal processingMatlab for beginners, Introduction, signal processing
Matlab for beginners, Introduction, signal processingDr. Manjunatha. P
 
FPGA Implementation of FIR Filter using Various Algorithms: A Retrospective
FPGA Implementation of FIR Filter using Various Algorithms: A RetrospectiveFPGA Implementation of FIR Filter using Various Algorithms: A Retrospective
FPGA Implementation of FIR Filter using Various Algorithms: A RetrospectiveIJORCS
 
Adaptation of Multilingual Transformer Encoder for Robust Enhanced Universal ...
Adaptation of Multilingual Transformer Encoder for Robust Enhanced Universal ...Adaptation of Multilingual Transformer Encoder for Robust Enhanced Universal ...
Adaptation of Multilingual Transformer Encoder for Robust Enhanced Universal ...Jinho Choi
 
Automatic Task-based Code Generation for High Performance DSEL
Automatic Task-based Code Generation for High Performance DSELAutomatic Task-based Code Generation for High Performance DSEL
Automatic Task-based Code Generation for High Performance DSELJoel Falcou
 
FPGA based BCH Decoder
FPGA based BCH DecoderFPGA based BCH Decoder
FPGA based BCH Decoderijsrd.com
 
Metaheuristic Tuning of Type-II Fuzzy Inference System for Data Mining
Metaheuristic Tuning of Type-II Fuzzy Inference System for Data MiningMetaheuristic Tuning of Type-II Fuzzy Inference System for Data Mining
Metaheuristic Tuning of Type-II Fuzzy Inference System for Data MiningVarun Ojha
 
Polyhedral computations in computational algebraic geometry and optimization
Polyhedral computations in computational algebraic geometry and optimizationPolyhedral computations in computational algebraic geometry and optimization
Polyhedral computations in computational algebraic geometry and optimizationVissarion Fisikopoulos
 

Similar a Gilbert: Declarative Sparse Linear Algebra on Massively Parallel Dataflow Systems (20)

DESIGN OF QUATERNARY LOGICAL CIRCUIT USING VOLTAGE AND CURRENT MODE LOGIC
DESIGN OF QUATERNARY LOGICAL CIRCUIT USING VOLTAGE AND CURRENT MODE LOGICDESIGN OF QUATERNARY LOGICAL CIRCUIT USING VOLTAGE AND CURRENT MODE LOGIC
DESIGN OF QUATERNARY LOGICAL CIRCUIT USING VOLTAGE AND CURRENT MODE LOGIC
 
Cgo2007 P3 3 Birkbeck
Cgo2007 P3 3 BirkbeckCgo2007 P3 3 Birkbeck
Cgo2007 P3 3 Birkbeck
 
A Dimension Abstraction Approach to Vectorization in Matlab
A Dimension Abstraction Approach to Vectorization in MatlabA Dimension Abstraction Approach to Vectorization in Matlab
A Dimension Abstraction Approach to Vectorization in Matlab
 
Design of Low-Pass Digital Differentiators Based on B-splines
Design of Low-Pass Digital Differentiators Based on B-splinesDesign of Low-Pass Digital Differentiators Based on B-splines
Design of Low-Pass Digital Differentiators Based on B-splines
 
R Language Introduction
R Language IntroductionR Language Introduction
R Language Introduction
 
Matlab1
Matlab1Matlab1
Matlab1
 
MATLAB Questions and Answers.pdf
MATLAB Questions and Answers.pdfMATLAB Questions and Answers.pdf
MATLAB Questions and Answers.pdf
 
Matlab for beginners, Introduction, signal processing
Matlab for beginners, Introduction, signal processingMatlab for beginners, Introduction, signal processing
Matlab for beginners, Introduction, signal processing
 
FPGA Implementation of FIR Filter using Various Algorithms: A Retrospective
FPGA Implementation of FIR Filter using Various Algorithms: A RetrospectiveFPGA Implementation of FIR Filter using Various Algorithms: A Retrospective
FPGA Implementation of FIR Filter using Various Algorithms: A Retrospective
 
Adaptation of Multilingual Transformer Encoder for Robust Enhanced Universal ...
Adaptation of Multilingual Transformer Encoder for Robust Enhanced Universal ...Adaptation of Multilingual Transformer Encoder for Robust Enhanced Universal ...
Adaptation of Multilingual Transformer Encoder for Robust Enhanced Universal ...
 
1. Ch_1 SL_1_Intro to Matlab.pptx
1. Ch_1 SL_1_Intro to Matlab.pptx1. Ch_1 SL_1_Intro to Matlab.pptx
1. Ch_1 SL_1_Intro to Matlab.pptx
 
Seminar psu 20.10.2013
Seminar psu 20.10.2013Seminar psu 20.10.2013
Seminar psu 20.10.2013
 
03 hdrf presentation
03 hdrf presentation03 hdrf presentation
03 hdrf presentation
 
PECCS 2014
PECCS 2014PECCS 2014
PECCS 2014
 
Perm winter school 2014.01.31
Perm winter school 2014.01.31Perm winter school 2014.01.31
Perm winter school 2014.01.31
 
Automatic Task-based Code Generation for High Performance DSEL
Automatic Task-based Code Generation for High Performance DSELAutomatic Task-based Code Generation for High Performance DSEL
Automatic Task-based Code Generation for High Performance DSEL
 
FPGA based BCH Decoder
FPGA based BCH DecoderFPGA based BCH Decoder
FPGA based BCH Decoder
 
Presentation OCIP 2015
Presentation OCIP 2015Presentation OCIP 2015
Presentation OCIP 2015
 
Metaheuristic Tuning of Type-II Fuzzy Inference System for Data Mining
Metaheuristic Tuning of Type-II Fuzzy Inference System for Data MiningMetaheuristic Tuning of Type-II Fuzzy Inference System for Data Mining
Metaheuristic Tuning of Type-II Fuzzy Inference System for Data Mining
 
Polyhedral computations in computational algebraic geometry and optimization
Polyhedral computations in computational algebraic geometry and optimizationPolyhedral computations in computational algebraic geometry and optimization
Polyhedral computations in computational algebraic geometry and optimization
 

Más de Till Rohrmann

Future of Apache Flink Deployments: Containers, Kubernetes and More - Flink F...
Future of Apache Flink Deployments: Containers, Kubernetes and More - Flink F...Future of Apache Flink Deployments: Containers, Kubernetes and More - Flink F...
Future of Apache Flink Deployments: Containers, Kubernetes and More - Flink F...Till Rohrmann
 
Apache flink 1.7 and Beyond
Apache flink 1.7 and BeyondApache flink 1.7 and Beyond
Apache flink 1.7 and BeyondTill Rohrmann
 
Elastic Streams at Scale @ Flink Forward 2018 Berlin
Elastic Streams at Scale @ Flink Forward 2018 BerlinElastic Streams at Scale @ Flink Forward 2018 Berlin
Elastic Streams at Scale @ Flink Forward 2018 BerlinTill Rohrmann
 
Scaling stream data pipelines with Pravega and Apache Flink
Scaling stream data pipelines with Pravega and Apache FlinkScaling stream data pipelines with Pravega and Apache Flink
Scaling stream data pipelines with Pravega and Apache FlinkTill Rohrmann
 
Modern Stream Processing With Apache Flink @ GOTO Berlin 2017
Modern Stream Processing With Apache Flink @ GOTO Berlin 2017Modern Stream Processing With Apache Flink @ GOTO Berlin 2017
Modern Stream Processing With Apache Flink @ GOTO Berlin 2017Till Rohrmann
 
Apache Flink Meets Apache Mesos And DC/OS @ Mesos Meetup Berlin
Apache Flink Meets Apache Mesos And DC/OS @ Mesos Meetup BerlinApache Flink Meets Apache Mesos And DC/OS @ Mesos Meetup Berlin
Apache Flink Meets Apache Mesos And DC/OS @ Mesos Meetup BerlinTill Rohrmann
 
Apache Flink® Meets Apache Mesos® and DC/OS
Apache Flink® Meets Apache Mesos® and DC/OSApache Flink® Meets Apache Mesos® and DC/OS
Apache Flink® Meets Apache Mesos® and DC/OSTill Rohrmann
 
From Apache Flink® 1.3 to 1.4
From Apache Flink® 1.3 to 1.4From Apache Flink® 1.3 to 1.4
From Apache Flink® 1.3 to 1.4Till Rohrmann
 
Apache Flink and More @ MesosCon Asia 2017
Apache Flink and More @ MesosCon Asia 2017Apache Flink and More @ MesosCon Asia 2017
Apache Flink and More @ MesosCon Asia 2017Till Rohrmann
 
Redesigning Apache Flink's Distributed Architecture @ Flink Forward 2017
Redesigning Apache Flink's Distributed Architecture @ Flink Forward 2017Redesigning Apache Flink's Distributed Architecture @ Flink Forward 2017
Redesigning Apache Flink's Distributed Architecture @ Flink Forward 2017Till Rohrmann
 
Streaming Analytics & CEP - Two sides of the same coin?
Streaming Analytics & CEP - Two sides of the same coin?Streaming Analytics & CEP - Two sides of the same coin?
Streaming Analytics & CEP - Two sides of the same coin?Till Rohrmann
 
Apache Flink: Streaming Done Right @ FOSDEM 2016
Apache Flink: Streaming Done Right @ FOSDEM 2016Apache Flink: Streaming Done Right @ FOSDEM 2016
Apache Flink: Streaming Done Right @ FOSDEM 2016Till Rohrmann
 
Streaming Data Flow with Apache Flink @ Paris Flink Meetup 2015
Streaming Data Flow with Apache Flink @ Paris Flink Meetup 2015Streaming Data Flow with Apache Flink @ Paris Flink Meetup 2015
Streaming Data Flow with Apache Flink @ Paris Flink Meetup 2015Till Rohrmann
 
Interactive Data Analysis with Apache Flink @ Flink Meetup in Berlin
Interactive Data Analysis with Apache Flink @ Flink Meetup in BerlinInteractive Data Analysis with Apache Flink @ Flink Meetup in Berlin
Interactive Data Analysis with Apache Flink @ Flink Meetup in BerlinTill Rohrmann
 
Computing recommendations at extreme scale with Apache Flink @Buzzwords 2015
Computing recommendations at extreme scale with Apache Flink @Buzzwords 2015Computing recommendations at extreme scale with Apache Flink @Buzzwords 2015
Computing recommendations at extreme scale with Apache Flink @Buzzwords 2015Till Rohrmann
 
Machine Learning with Apache Flink at Stockholm Machine Learning Group
Machine Learning with Apache Flink at Stockholm Machine Learning GroupMachine Learning with Apache Flink at Stockholm Machine Learning Group
Machine Learning with Apache Flink at Stockholm Machine Learning GroupTill Rohrmann
 
Introduction to Apache Flink - Fast and reliable big data processing
Introduction to Apache Flink - Fast and reliable big data processingIntroduction to Apache Flink - Fast and reliable big data processing
Introduction to Apache Flink - Fast and reliable big data processingTill Rohrmann
 

Más de Till Rohrmann (17)

Future of Apache Flink Deployments: Containers, Kubernetes and More - Flink F...
Future of Apache Flink Deployments: Containers, Kubernetes and More - Flink F...Future of Apache Flink Deployments: Containers, Kubernetes and More - Flink F...
Future of Apache Flink Deployments: Containers, Kubernetes and More - Flink F...
 
Apache flink 1.7 and Beyond
Apache flink 1.7 and BeyondApache flink 1.7 and Beyond
Apache flink 1.7 and Beyond
 
Elastic Streams at Scale @ Flink Forward 2018 Berlin
Elastic Streams at Scale @ Flink Forward 2018 BerlinElastic Streams at Scale @ Flink Forward 2018 Berlin
Elastic Streams at Scale @ Flink Forward 2018 Berlin
 
Scaling stream data pipelines with Pravega and Apache Flink
Scaling stream data pipelines with Pravega and Apache FlinkScaling stream data pipelines with Pravega and Apache Flink
Scaling stream data pipelines with Pravega and Apache Flink
 
Modern Stream Processing With Apache Flink @ GOTO Berlin 2017
Modern Stream Processing With Apache Flink @ GOTO Berlin 2017Modern Stream Processing With Apache Flink @ GOTO Berlin 2017
Modern Stream Processing With Apache Flink @ GOTO Berlin 2017
 
Apache Flink Meets Apache Mesos And DC/OS @ Mesos Meetup Berlin
Apache Flink Meets Apache Mesos And DC/OS @ Mesos Meetup BerlinApache Flink Meets Apache Mesos And DC/OS @ Mesos Meetup Berlin
Apache Flink Meets Apache Mesos And DC/OS @ Mesos Meetup Berlin
 
Apache Flink® Meets Apache Mesos® and DC/OS
Apache Flink® Meets Apache Mesos® and DC/OSApache Flink® Meets Apache Mesos® and DC/OS
Apache Flink® Meets Apache Mesos® and DC/OS
 
From Apache Flink® 1.3 to 1.4
From Apache Flink® 1.3 to 1.4From Apache Flink® 1.3 to 1.4
From Apache Flink® 1.3 to 1.4
 
Apache Flink and More @ MesosCon Asia 2017
Apache Flink and More @ MesosCon Asia 2017Apache Flink and More @ MesosCon Asia 2017
Apache Flink and More @ MesosCon Asia 2017
 
Redesigning Apache Flink's Distributed Architecture @ Flink Forward 2017
Redesigning Apache Flink's Distributed Architecture @ Flink Forward 2017Redesigning Apache Flink's Distributed Architecture @ Flink Forward 2017
Redesigning Apache Flink's Distributed Architecture @ Flink Forward 2017
 
Streaming Analytics & CEP - Two sides of the same coin?
Streaming Analytics & CEP - Two sides of the same coin?Streaming Analytics & CEP - Two sides of the same coin?
Streaming Analytics & CEP - Two sides of the same coin?
 
Apache Flink: Streaming Done Right @ FOSDEM 2016
Apache Flink: Streaming Done Right @ FOSDEM 2016Apache Flink: Streaming Done Right @ FOSDEM 2016
Apache Flink: Streaming Done Right @ FOSDEM 2016
 
Streaming Data Flow with Apache Flink @ Paris Flink Meetup 2015
Streaming Data Flow with Apache Flink @ Paris Flink Meetup 2015Streaming Data Flow with Apache Flink @ Paris Flink Meetup 2015
Streaming Data Flow with Apache Flink @ Paris Flink Meetup 2015
 
Interactive Data Analysis with Apache Flink @ Flink Meetup in Berlin
Interactive Data Analysis with Apache Flink @ Flink Meetup in BerlinInteractive Data Analysis with Apache Flink @ Flink Meetup in Berlin
Interactive Data Analysis with Apache Flink @ Flink Meetup in Berlin
 
Computing recommendations at extreme scale with Apache Flink @Buzzwords 2015
Computing recommendations at extreme scale with Apache Flink @Buzzwords 2015Computing recommendations at extreme scale with Apache Flink @Buzzwords 2015
Computing recommendations at extreme scale with Apache Flink @Buzzwords 2015
 
Machine Learning with Apache Flink at Stockholm Machine Learning Group
Machine Learning with Apache Flink at Stockholm Machine Learning GroupMachine Learning with Apache Flink at Stockholm Machine Learning Group
Machine Learning with Apache Flink at Stockholm Machine Learning Group
 
Introduction to Apache Flink - Fast and reliable big data processing
Introduction to Apache Flink - Fast and reliable big data processingIntroduction to Apache Flink - Fast and reliable big data processing
Introduction to Apache Flink - Fast and reliable big data processing
 

Último

Recombinant DNA technology (Immunological screening)
Recombinant DNA technology (Immunological screening)Recombinant DNA technology (Immunological screening)
Recombinant DNA technology (Immunological screening)PraveenaKalaiselvan1
 
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 60009654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000Sapana Sha
 
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdf
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdfPests of cotton_Borer_Pests_Binomics_Dr.UPR.pdf
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdfPirithiRaju
 
Botany krishna series 2nd semester Only Mcq type questions
Botany krishna series 2nd semester Only Mcq type questionsBotany krishna series 2nd semester Only Mcq type questions
Botany krishna series 2nd semester Only Mcq type questionsSumit Kumar yadav
 
Animal Communication- Auditory and Visual.pptx
Animal Communication- Auditory and Visual.pptxAnimal Communication- Auditory and Visual.pptx
Animal Communication- Auditory and Visual.pptxUmerFayaz5
 
Zoology 4th semester series (krishna).pdf
Zoology 4th semester series (krishna).pdfZoology 4th semester series (krishna).pdf
Zoology 4th semester series (krishna).pdfSumit Kumar yadav
 
Pests of mustard_Identification_Management_Dr.UPR.pdf
Pests of mustard_Identification_Management_Dr.UPR.pdfPests of mustard_Identification_Management_Dr.UPR.pdf
Pests of mustard_Identification_Management_Dr.UPR.pdfPirithiRaju
 
Biopesticide (2).pptx .This slides helps to know the different types of biop...
Biopesticide (2).pptx  .This slides helps to know the different types of biop...Biopesticide (2).pptx  .This slides helps to know the different types of biop...
Biopesticide (2).pptx .This slides helps to know the different types of biop...RohitNehra6
 
Natural Polymer Based Nanomaterials
Natural Polymer Based NanomaterialsNatural Polymer Based Nanomaterials
Natural Polymer Based NanomaterialsAArockiyaNisha
 
Recombination DNA Technology (Nucleic Acid Hybridization )
Recombination DNA Technology (Nucleic Acid Hybridization )Recombination DNA Technology (Nucleic Acid Hybridization )
Recombination DNA Technology (Nucleic Acid Hybridization )aarthirajkumar25
 
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...anilsa9823
 
fundamental of entomology all in one topics of entomology
fundamental of entomology all in one topics of entomologyfundamental of entomology all in one topics of entomology
fundamental of entomology all in one topics of entomologyDrAnita Sharma
 
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...Sérgio Sacani
 
Unlocking the Potential: Deep dive into ocean of Ceramic Magnets.pptx
Unlocking  the Potential: Deep dive into ocean of Ceramic Magnets.pptxUnlocking  the Potential: Deep dive into ocean of Ceramic Magnets.pptx
Unlocking the Potential: Deep dive into ocean of Ceramic Magnets.pptxanandsmhk
 
Spermiogenesis or Spermateleosis or metamorphosis of spermatid
Spermiogenesis or Spermateleosis or metamorphosis of spermatidSpermiogenesis or Spermateleosis or metamorphosis of spermatid
Spermiogenesis or Spermateleosis or metamorphosis of spermatidSarthak Sekhar Mondal
 
Formation of low mass protostars and their circumstellar disks
Formation of low mass protostars and their circumstellar disksFormation of low mass protostars and their circumstellar disks
Formation of low mass protostars and their circumstellar disksSérgio Sacani
 
Labelling Requirements and Label Claims for Dietary Supplements and Recommend...
Labelling Requirements and Label Claims for Dietary Supplements and Recommend...Labelling Requirements and Label Claims for Dietary Supplements and Recommend...
Labelling Requirements and Label Claims for Dietary Supplements and Recommend...Lokesh Kothari
 
Biological Classification BioHack (3).pdf
Biological Classification BioHack (3).pdfBiological Classification BioHack (3).pdf
Biological Classification BioHack (3).pdfmuntazimhurra
 
Physiochemical properties of nanomaterials and its nanotoxicity.pptx
Physiochemical properties of nanomaterials and its nanotoxicity.pptxPhysiochemical properties of nanomaterials and its nanotoxicity.pptx
Physiochemical properties of nanomaterials and its nanotoxicity.pptxAArockiyaNisha
 

Último (20)

Recombinant DNA technology (Immunological screening)
Recombinant DNA technology (Immunological screening)Recombinant DNA technology (Immunological screening)
Recombinant DNA technology (Immunological screening)
 
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 60009654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
 
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdf
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdfPests of cotton_Borer_Pests_Binomics_Dr.UPR.pdf
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdf
 
Botany krishna series 2nd semester Only Mcq type questions
Botany krishna series 2nd semester Only Mcq type questionsBotany krishna series 2nd semester Only Mcq type questions
Botany krishna series 2nd semester Only Mcq type questions
 
Animal Communication- Auditory and Visual.pptx
Animal Communication- Auditory and Visual.pptxAnimal Communication- Auditory and Visual.pptx
Animal Communication- Auditory and Visual.pptx
 
The Philosophy of Science
The Philosophy of ScienceThe Philosophy of Science
The Philosophy of Science
 
Zoology 4th semester series (krishna).pdf
Zoology 4th semester series (krishna).pdfZoology 4th semester series (krishna).pdf
Zoology 4th semester series (krishna).pdf
 
Pests of mustard_Identification_Management_Dr.UPR.pdf
Pests of mustard_Identification_Management_Dr.UPR.pdfPests of mustard_Identification_Management_Dr.UPR.pdf
Pests of mustard_Identification_Management_Dr.UPR.pdf
 
Biopesticide (2).pptx .This slides helps to know the different types of biop...
Biopesticide (2).pptx  .This slides helps to know the different types of biop...Biopesticide (2).pptx  .This slides helps to know the different types of biop...
Biopesticide (2).pptx .This slides helps to know the different types of biop...
 
Natural Polymer Based Nanomaterials
Natural Polymer Based NanomaterialsNatural Polymer Based Nanomaterials
Natural Polymer Based Nanomaterials
 
Recombination DNA Technology (Nucleic Acid Hybridization )
Recombination DNA Technology (Nucleic Acid Hybridization )Recombination DNA Technology (Nucleic Acid Hybridization )
Recombination DNA Technology (Nucleic Acid Hybridization )
 
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
 
fundamental of entomology all in one topics of entomology
fundamental of entomology all in one topics of entomologyfundamental of entomology all in one topics of entomology
fundamental of entomology all in one topics of entomology
 
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
 
Unlocking the Potential: Deep dive into ocean of Ceramic Magnets.pptx
Unlocking  the Potential: Deep dive into ocean of Ceramic Magnets.pptxUnlocking  the Potential: Deep dive into ocean of Ceramic Magnets.pptx
Unlocking the Potential: Deep dive into ocean of Ceramic Magnets.pptx
 
Spermiogenesis or Spermateleosis or metamorphosis of spermatid
Spermiogenesis or Spermateleosis or metamorphosis of spermatidSpermiogenesis or Spermateleosis or metamorphosis of spermatid
Spermiogenesis or Spermateleosis or metamorphosis of spermatid
 
Formation of low mass protostars and their circumstellar disks
Formation of low mass protostars and their circumstellar disksFormation of low mass protostars and their circumstellar disks
Formation of low mass protostars and their circumstellar disks
 
Labelling Requirements and Label Claims for Dietary Supplements and Recommend...
Labelling Requirements and Label Claims for Dietary Supplements and Recommend...Labelling Requirements and Label Claims for Dietary Supplements and Recommend...
Labelling Requirements and Label Claims for Dietary Supplements and Recommend...
 
Biological Classification BioHack (3).pdf
Biological Classification BioHack (3).pdfBiological Classification BioHack (3).pdf
Biological Classification BioHack (3).pdf
 
Physiochemical properties of nanomaterials and its nanotoxicity.pptx
Physiochemical properties of nanomaterials and its nanotoxicity.pptxPhysiochemical properties of nanomaterials and its nanotoxicity.pptx
Physiochemical properties of nanomaterials and its nanotoxicity.pptx
 

Gilbert: Declarative Sparse Linear Algebra on Massively Parallel Dataflow Systems

  • 1. Motivation Gilbert Evaluation Conclusion Gilbert: Declarative Sparse Linear Algebra on Massively Parallel Dataflow Systems Till Rohrmann 1 Sebastian Schelter 2 Tilmann Rabl 2 Volker Markl 2 1 Apache Software Foundation 2 Technische Universität Berlin March 8, 2017 1 / 25
  • 2. Motivation Gilbert Evaluation Conclusion Motivation 2 / 25
  • 3. Motivation Gilbert Evaluation Conclusion Information Age Collected data grows exponentially Valuable information stored in data Need for scalable analytical methods 3 / 25
  • 4. Motivation Gilbert Evaluation Conclusion Distributed Computing and Data Analytics Writing parallel algorithms is tedious and error-prone Huge existing code base in form of libraries Need for parallelization tool 4 / 25
  • 5. Motivation Gilbert Evaluation Conclusion Requirements Linear algebra is lingua franca of analytics Parallelize programs automatically to simplify development Sparse operations to support sparse problems efficiently Goal Development of distributed sparse linear algebra system 5 / 25
  • 6. Motivation Gilbert Evaluation Conclusion Gilbert 6 / 25
  • 7. Motivation Gilbert Evaluation Conclusion Gilbert in a Nutshell 7 / 25
  • 8. Motivation Gilbert Evaluation Conclusion System architecture 8 / 25
  • 9. Motivation Gilbert Evaluation Conclusion Gilbert Language Subset of MATLAB R language Support of basic linear algebra operations Fixpoint operator serves as side-effect free loop abstraction Expressive enough to implement a wide variety of machine learning algorithms 1 A = rand (10 , 2 ) ; 2 B = eye ( 1 0 ) ; 3 A’∗B; 4 f = @( x ) x . ^ 2 . 0 ; 5 eps = 0 . 1 ; 6 c = @(p , c ) norm (p−c , 2 ) < eps ; 7 f i x p o i n t (1/2 , f , 10 , c ) ; 9 / 25
  • 10. Motivation Gilbert Evaluation Conclusion Gilbert Typer Matlab is dynamically typed Dataflow systems require type knowledge at compile type Automatic type inference using the Hindley-Milner type inference algorithm Infer also matrix dimensions for optimizations 1 A = rand (10 , 2 ) : Matrix ( Double , 10 , 2) 2 B = eye ( 1 0 ) : Matrix ( Double , 10 , 10) 3 A’∗B: Matrix ( Double , 2 , 10) 4 f = @( x ) x . ^ 2 . 0 : N −> N 5 eps = 0 . 1 : Double 6 c = @(p , c ) norm (p−c , 2 ) < eps : (N,N) −> Boolean 7 f i x p o i n t (1/2 , f , 10 , c ) : Double 10 / 25
  • 11. Motivation Gilbert Evaluation Conclusion Intermediate Representation & Gilbert Optimizer Language independent representation of linear algebra programs Abstraction layer facilitates easy extension with new programming languages (such as R) Enables language independent optimizations Transpose push down Matrix multiplication re-ordering 11 / 25
  • 12. Motivation Gilbert Evaluation Conclusion Distributed Matrices (a) Row partitioning (b) Quadratic block partitioning Which partitioning is better suited for matrix multiplications? io_costrow = O n3 io_costblock = O n2 √ n 12 / 25
  • 13. Motivation Gilbert Evaluation Conclusion Distributed Operations: Addition Apache Flink and Apache Spark offer MapReduce-like API with additional operators: join, coGroup, cross 13 / 25
  • 14. Motivation Gilbert Evaluation Conclusion Evaluation 14 / 25
  • 15. Motivation Gilbert Evaluation Conclusion Gaussian Non-Negative Matrix Factorization Given V ∈ Rd×w find W ∈ Rd×t and H ∈ Rt×w such that V ≈ WH Used in many fields: Computer vision, document clustering and topic modeling Efficient distributed implementation for MapReduce systems Algorithm H ← randomMatrix(t, w) W ← randomMatrix(d, t) while V − WH 2 > eps do H ← H · (W T V /W T WH) W ← W · (VHT /WHHT ) end while 15 / 25
  • 16. Motivation Gilbert Evaluation Conclusion Testing Setup Set t = 10 and w = 100000 V ∈ Rd×100000 with sparsity 0.001 Block size 500 × 500 Numbers of cores 64 Flink 1.1.2 & Spark 2.0.0 Gilbert implementation: 5 lines Distributed GNMF on Flink: 70 lines 1 V = rand ( $rows , 100000 , 0 , 1 , 0 . 0 0 1 ) ; 2 H = rand (10 , 100000 , 0 , 1 ) ; 3 W = rand ( $rows , 10 , 0 , 1 ) ; 4 nH = H. ∗ ( (W’ ∗V) . / (W’∗W∗H)) 5 nW = W. ∗ (V∗nH ’ ) . / (W∗nH∗nH ’ ) 16 / 25
  • 17. Motivation Gilbert Evaluation Conclusion Gilbert Optimizations 103 104 0 100 200 300 Rows d of V Executiontimetins Optimized Spark Optimized Flink Non-optimized Spark Non-optimized Flink 17 / 25
  • 18. Motivation Gilbert Evaluation Conclusion Optimizations Explained Matrix updates H ← H · (W T V /W T WH) W ← W · (VHT /WHHT ) Non-optimized matrix multiplications ∈R10×100000 W T W ∈R10×10 H ∈Rd×10 (WH) ∈Rd×100000 HT Optimized matrix multiplications ∈R10×100000 W T W ∈R10×10 H ∈Rd×10 W HHT ∈R10×10 18 / 25
  • 19. Motivation Gilbert Evaluation Conclusion GNMF Step: Scaling Problem Size 103 104 105 101 102 Number of rows of matrix V Executiontimetins Flink SP Flink Spark SP Spark Local Distributed Gilbert execution handles much larger problem sizes than local execution Specialized implementation is slightly faster than Gilbert 19 / 25
  • 20. Motivation Gilbert Evaluation Conclusion GNMF Step: Weak Scaling 100 101 102 0 20 40 60 Number of cores Executiontimetins Flink Spark Both distributed backends show good weak scaling behaviour 20 / 25
  • 21. Motivation Gilbert Evaluation Conclusion PageRank Ranking between entities with reciprocal quotations and references PR(pi ) = d pj ∈L(pi ) PR(pj ) D(pj ) + 1 − d N N - number of pages d - damping factor L(pi ) - set of pages being linked by pi D(pi ) - number of linked pages by pi M - transition matrix derived from adjacency matrix R = d · MR + 1 − d N · 1 21 / 25
  • 22. Motivation Gilbert Evaluation Conclusion PageRank Implementation MATLAB R 1 i t = 10; 2 d = sum(A, 2) ; 3 M = ( diag (1 . / d ) ∗ A) ’ ; 4 r_0 = ones (n , 1) / n ; 5 e = ones (n , 1) / n ; 6 f o r i = 1: i t 7 r = .85 ∗ M ∗ r + .15 ∗ e 8 end Gilbert 1 i t = 10; 2 d = sum(A, 2) ; 3 M = ( diag (1 ./ d ) ∗ A) ’ ; 4 r_0 = ones (n , 1) / n ; 5 e = ones (n , 1) / n ; 6 f i x p o i n t ( r_0 , 7 @( r ) .85 ∗ M ∗ r + .15 ∗ e , 8 i t ) 22 / 25
  • 23. Motivation Gilbert Evaluation Conclusion PageRank: 10 Iterations 104 105 101 102 103 104 Number of vertices n Executiontimetins Spark Flink SP Flink SP Spark Gilbert backends show similar performance Specialized implementation faster because it can fuse operations 23 / 25
  • 24. Motivation Gilbert Evaluation Conclusion Conclusion 24 / 25
  • 25. Motivation Gilbert Evaluation Conclusion Conclusion Easy to use sparse linear algebra environment for people familiar with MATLAB R Scales to data sizes exceeding a single computer High-level linear algebra optimizations improve runtime Slower than specialized implementations due to abstraction overhead 25 / 25