SlideShare une entreprise Scribd logo
1  sur  16
Télécharger pour lire hors ligne
How Soccer Players
Would do Stream Joins
3/4/2015 @nobu_k
1
Who?
久保田展行 (@nobu_k)
CTO@Preferred Networks America, Inc.
Speciality
DBMS, Search engine
Distributed Systems (consensus)
beatmania IIDX SP/DP皆伝 (DPメイン)
2
How Soccer Players
Would do Stream Joins
Jens Teubner, Rene Mueller, SIGMOD 2011
Handshake Join
Window-based stream joins supporting any join predicate
Very high degrees of parallelism
multi-core CPUs
FPGA
Massively Parallel Processor Arrays (MPPAs)
3
Joins
Joins(⋈) combine two or more relations(tables) in RDBMS
A join is a cross product of relations followed by a selection(σ)
Many methods
Nested-loops joins
Sort-merge joins
(Recursive, hybrid) hash joins
4
Stream Joins
Problems
Unbounded "infinite" input data
Solution: (sliding) window-based joins
tuple-based/time-based
Latency of the output
Solution: online, symmetric evaluation
How can it be scalable?
5
Handshake Joins
Streams flow by each other in opposite directions.
Each core locally evaluates tuples.
Core 1 Core 2 Core 3
6
A newly arrived tuple( ) will be compared to all
tuples( ) in the other stream in the same core.
Any comparison algorithm(predicate) can be used.
Evaluation Strategy
7
Strategies
Lock Step Forwarding
Two-Phase Forwarding using Async-MQ
Asymmetric protocol
Synchronization
b
a
a and b miss each other.
8
Two-Phase Forwarding
Using Asynchronous Message Queue
b
a
b
a
b
Leaving the tuple with a special mark.
FIFO queue
9
1.
2.
Two-phase forwarding: ACK
b
a
b
b
a
b
b
When the left core receives tuple b,
it sends an ack to the right core
before sending any other tuples.
The right core deletes b
when it receives the ack.
10
2.
3.
Two-Phase Forwarding:
when a and b miss each other
bb
a
bb
a
a will be compared to tuples
in the right core including b.
11
4.
5.
Load Balancing
Automatic load balancing without centralized control.
Each core can handle an arbitrary number of tuples.
Core 1 Core 2 Core 3
12
Software Implementation
AMD Opteron 6174 2.2GHz
libnuma
quoted from page 8
13
Scalability
page 8 page 9
14
FPGA Implementation
Assume the system has to provide a throughput of 500ktuples/sec with a window size of 100 tuples.
Config- urations with 1, 2, 5, and 10 join cores can guarantee this throughput if operated at clock
frequencies of 50, 25, 10, or 5 MHz, respectively.
from page 10
15
Summary
Handshake join
Window-based stream join
Flexible and scalable
Working well with FPGA
16

Contenu connexe

Tendances

BAIT2164 Tutorial 6 (Part 1)
BAIT2164 Tutorial 6 (Part 1)BAIT2164 Tutorial 6 (Part 1)
BAIT2164 Tutorial 6 (Part 1)limsh
 
The Open Power ISA: A Summary of Architecture Compliancy Options and the Late...
The Open Power ISA: A Summary of Architecture Compliancy Options and the Late...The Open Power ISA: A Summary of Architecture Compliancy Options and the Late...
The Open Power ISA: A Summary of Architecture Compliancy Options and the Late...Ganesan Narayanasamy
 
Reservoir engineering in a HPC (zettaflops) world: a ‘disruptive’ presentation
Reservoir engineering in a HPC (zettaflops) world:  a ‘disruptive’ presentationReservoir engineering in a HPC (zettaflops) world:  a ‘disruptive’ presentation
Reservoir engineering in a HPC (zettaflops) world: a ‘disruptive’ presentationHans Haringa
 

Tendances (6)

Zpudemo
ZpudemoZpudemo
Zpudemo
 
Zpu
ZpuZpu
Zpu
 
BAIT2164 Tutorial 6 (Part 1)
BAIT2164 Tutorial 6 (Part 1)BAIT2164 Tutorial 6 (Part 1)
BAIT2164 Tutorial 6 (Part 1)
 
The Open Power ISA: A Summary of Architecture Compliancy Options and the Late...
The Open Power ISA: A Summary of Architecture Compliancy Options and the Late...The Open Power ISA: A Summary of Architecture Compliancy Options and the Late...
The Open Power ISA: A Summary of Architecture Compliancy Options and the Late...
 
Survey on Prefix adders
Survey on Prefix addersSurvey on Prefix adders
Survey on Prefix adders
 
Reservoir engineering in a HPC (zettaflops) world: a ‘disruptive’ presentation
Reservoir engineering in a HPC (zettaflops) world:  a ‘disruptive’ presentationReservoir engineering in a HPC (zettaflops) world:  a ‘disruptive’ presentation
Reservoir engineering in a HPC (zettaflops) world: a ‘disruptive’ presentation
 

Similaire à 4th PFI System reading

Intro to Cell Broadband Engine for HPC
Intro to Cell Broadband Engine for HPCIntro to Cell Broadband Engine for HPC
Intro to Cell Broadband Engine for HPCSlide_N
 
Parallel_and_Cluster_Computing.ppt
Parallel_and_Cluster_Computing.pptParallel_and_Cluster_Computing.ppt
Parallel_and_Cluster_Computing.pptMohmdUmer
 
Brkmpl 2333
Brkmpl 2333Brkmpl 2333
Brkmpl 2333ronsito
 
directCell - Cell/B.E. tightly coupled via PCI Express
directCell - Cell/B.E. tightly coupled via PCI ExpressdirectCell - Cell/B.E. tightly coupled via PCI Express
directCell - Cell/B.E. tightly coupled via PCI ExpressHeiko Joerg Schick
 
The Best Programming Practice for Cell/B.E.
The Best Programming Practice for Cell/B.E.The Best Programming Practice for Cell/B.E.
The Best Programming Practice for Cell/B.E.Slide_N
 
High-Performance Physics Solver Design for Next Generation Consoles
High-Performance Physics Solver Design for Next Generation ConsolesHigh-Performance Physics Solver Design for Next Generation Consoles
High-Performance Physics Solver Design for Next Generation ConsolesSlide_N
 
DUAL FIELD DUAL CORE SECURE CRYPTOPROCESSOR ON FPGA PLATFORM
DUAL FIELD DUAL CORE SECURE CRYPTOPROCESSOR ON FPGA PLATFORMDUAL FIELD DUAL CORE SECURE CRYPTOPROCESSOR ON FPGA PLATFORM
DUAL FIELD DUAL CORE SECURE CRYPTOPROCESSOR ON FPGA PLATFORMVLSICS Design
 
Ccna 1 chapter 9 v4.0 answers 2011
Ccna 1 chapter 9 v4.0 answers 2011Ccna 1 chapter 9 v4.0 answers 2011
Ccna 1 chapter 9 v4.0 answers 2011Dân Chơi
 
PHASE-PRIORITY BASED DIRECTORY COHERENCE FOR MULTICORE PROCESSOR
PHASE-PRIORITY BASED DIRECTORY COHERENCE FOR MULTICORE PROCESSORPHASE-PRIORITY BASED DIRECTORY COHERENCE FOR MULTICORE PROCESSOR
PHASE-PRIORITY BASED DIRECTORY COHERENCE FOR MULTICORE PROCESSORijcseit
 
PHASE-PRIORITY BASED DIRECTORY COHERENCE FOR MULTICORE PROCESSOR
PHASE-PRIORITY BASED DIRECTORY COHERENCE FOR MULTICORE PROCESSORPHASE-PRIORITY BASED DIRECTORY COHERENCE FOR MULTICORE PROCESSOR
PHASE-PRIORITY BASED DIRECTORY COHERENCE FOR MULTICORE PROCESSORijad journal
 
Achieving Performance Isolation with Lightweight Co-Kernels
Achieving Performance Isolation with Lightweight Co-KernelsAchieving Performance Isolation with Lightweight Co-Kernels
Achieving Performance Isolation with Lightweight Co-KernelsJiannan Ouyang, PhD
 
HOW THE BOOST WORKS.pdf
HOW THE BOOST WORKS.pdfHOW THE BOOST WORKS.pdf
HOW THE BOOST WORKS.pdfvladvah77
 
Surviving The Stump The Chump Interview Questions
Surviving The Stump The Chump Interview QuestionsSurviving The Stump The Chump Interview Questions
Surviving The Stump The Chump Interview QuestionsDuane Bodle
 
Blue gene detail journal
Blue gene detail journalBlue gene detail journal
Blue gene detail journalVivek Jha
 
Mp So C 18 Apr
Mp So C 18 AprMp So C 18 Apr
Mp So C 18 AprFNian
 

Similaire à 4th PFI System reading (20)

Intro to Cell Broadband Engine for HPC
Intro to Cell Broadband Engine for HPCIntro to Cell Broadband Engine for HPC
Intro to Cell Broadband Engine for HPC
 
Parallel_and_Cluster_Computing.ppt
Parallel_and_Cluster_Computing.pptParallel_and_Cluster_Computing.ppt
Parallel_and_Cluster_Computing.ppt
 
The Cell Processor
The Cell ProcessorThe Cell Processor
The Cell Processor
 
Cluster computer
Cluster  computerCluster  computer
Cluster computer
 
Brkmpl 2333
Brkmpl 2333Brkmpl 2333
Brkmpl 2333
 
directCell - Cell/B.E. tightly coupled via PCI Express
directCell - Cell/B.E. tightly coupled via PCI ExpressdirectCell - Cell/B.E. tightly coupled via PCI Express
directCell - Cell/B.E. tightly coupled via PCI Express
 
The Best Programming Practice for Cell/B.E.
The Best Programming Practice for Cell/B.E.The Best Programming Practice for Cell/B.E.
The Best Programming Practice for Cell/B.E.
 
High-Performance Physics Solver Design for Next Generation Consoles
High-Performance Physics Solver Design for Next Generation ConsolesHigh-Performance Physics Solver Design for Next Generation Consoles
High-Performance Physics Solver Design for Next Generation Consoles
 
Presentation8
Presentation8Presentation8
Presentation8
 
DUAL FIELD DUAL CORE SECURE CRYPTOPROCESSOR ON FPGA PLATFORM
DUAL FIELD DUAL CORE SECURE CRYPTOPROCESSOR ON FPGA PLATFORMDUAL FIELD DUAL CORE SECURE CRYPTOPROCESSOR ON FPGA PLATFORM
DUAL FIELD DUAL CORE SECURE CRYPTOPROCESSOR ON FPGA PLATFORM
 
Memory Mapping Cache
Memory Mapping CacheMemory Mapping Cache
Memory Mapping Cache
 
Ccna 1 chapter 9 v4.0 answers 2011
Ccna 1 chapter 9 v4.0 answers 2011Ccna 1 chapter 9 v4.0 answers 2011
Ccna 1 chapter 9 v4.0 answers 2011
 
PHASE-PRIORITY BASED DIRECTORY COHERENCE FOR MULTICORE PROCESSOR
PHASE-PRIORITY BASED DIRECTORY COHERENCE FOR MULTICORE PROCESSORPHASE-PRIORITY BASED DIRECTORY COHERENCE FOR MULTICORE PROCESSOR
PHASE-PRIORITY BASED DIRECTORY COHERENCE FOR MULTICORE PROCESSOR
 
1
11
1
 
PHASE-PRIORITY BASED DIRECTORY COHERENCE FOR MULTICORE PROCESSOR
PHASE-PRIORITY BASED DIRECTORY COHERENCE FOR MULTICORE PROCESSORPHASE-PRIORITY BASED DIRECTORY COHERENCE FOR MULTICORE PROCESSOR
PHASE-PRIORITY BASED DIRECTORY COHERENCE FOR MULTICORE PROCESSOR
 
Achieving Performance Isolation with Lightweight Co-Kernels
Achieving Performance Isolation with Lightweight Co-KernelsAchieving Performance Isolation with Lightweight Co-Kernels
Achieving Performance Isolation with Lightweight Co-Kernels
 
HOW THE BOOST WORKS.pdf
HOW THE BOOST WORKS.pdfHOW THE BOOST WORKS.pdf
HOW THE BOOST WORKS.pdf
 
Surviving The Stump The Chump Interview Questions
Surviving The Stump The Chump Interview QuestionsSurviving The Stump The Chump Interview Questions
Surviving The Stump The Chump Interview Questions
 
Blue gene detail journal
Blue gene detail journalBlue gene detail journal
Blue gene detail journal
 
Mp So C 18 Apr
Mp So C 18 AprMp So C 18 Apr
Mp So C 18 Apr
 

Plus de nobu_k

Elasticsearchと機械学習を実際に連携させる
Elasticsearchと機械学習を実際に連携させるElasticsearchと機械学習を実際に連携させる
Elasticsearchと機械学習を実際に連携させるnobu_k
 
機械学習を利用したちょっとリッチな検索
機械学習を利用したちょっとリッチな検索機械学習を利用したちょっとリッチな検索
機械学習を利用したちょっとリッチな検索nobu_k
 
Goraft and InfluxDB
Goraft and InfluxDBGoraft and InfluxDB
Goraft and InfluxDBnobu_k
 
Transactional Information Systems入門
Transactional Information Systems入門Transactional Information Systems入門
Transactional Information Systems入門nobu_k
 
Riak Source Code Reading #2: Erlang Client
Riak Source Code Reading #2: Erlang ClientRiak Source Code Reading #2: Erlang Client
Riak Source Code Reading #2: Erlang Clientnobu_k
 
Suffix Array@Solr勉強会
Suffix Array@Solr勉強会Suffix Array@Solr勉強会
Suffix Array@Solr勉強会nobu_k
 
第一回MongoDBソースコードリーディング
第一回MongoDBソースコードリーディング第一回MongoDBソースコードリーディング
第一回MongoDBソースコードリーディングnobu_k
 

Plus de nobu_k (8)

Elasticsearchと機械学習を実際に連携させる
Elasticsearchと機械学習を実際に連携させるElasticsearchと機械学習を実際に連携させる
Elasticsearchと機械学習を実際に連携させる
 
機械学習を利用したちょっとリッチな検索
機械学習を利用したちょっとリッチな検索機械学習を利用したちょっとリッチな検索
機械学習を利用したちょっとリッチな検索
 
Goraft and InfluxDB
Goraft and InfluxDBGoraft and InfluxDB
Goraft and InfluxDB
 
Transactional Information Systems入門
Transactional Information Systems入門Transactional Information Systems入門
Transactional Information Systems入門
 
Riak Source Code Reading #2: Erlang Client
Riak Source Code Reading #2: Erlang ClientRiak Source Code Reading #2: Erlang Client
Riak Source Code Reading #2: Erlang Client
 
Paxos
PaxosPaxos
Paxos
 
Suffix Array@Solr勉強会
Suffix Array@Solr勉強会Suffix Array@Solr勉強会
Suffix Array@Solr勉強会
 
第一回MongoDBソースコードリーディング
第一回MongoDBソースコードリーディング第一回MongoDBソースコードリーディング
第一回MongoDBソースコードリーディング
 

4th PFI System reading