hybrid architecture for hardware ... - uni-luebeck.demoeller/phds/... · 9 l:famous_author v:name...
TRANSCRIPT
Hybrid Architecture for
Hardware-accelerated Query Processing in
Semantic Web Databases based on Runtime
Reconfigurable FPGAs
Dipl.-Inf. Stefan Werner
Institut für Informationssysteme
Mündliche Prüfung des laufenden Promotionsverfahrens (Dr.-Ing.)
6. Februar 2017, Lübeck
Inhalt
Warum alternative Architekturen?
Grundlagen
Von der Anfrage zum Beschleuniger
Fazit
S. Werner Hybrid Architecture for Hardware-accelerated Query Processing based on FPGAs 1/24
Inhalt
Warum alternative Architekturen?
Grundlagen
Von der Anfrage zum Beschleuniger
Fazit
S. Werner Hybrid Architecture for Hardware-accelerated Query Processing based on FPGAs 1/24
Warum alternative Architekturen?
I Traditionelle Rechnerarchitekturen (von-Neumann)
I Technologische Grenzen (power wall)
I Architektur-bedingte Grenzen (memory wall)
I Kompromiss zwischen Universalität und Effizienz
I Optimierte Datenstrukturen
I Hardwarebeschleuniger
[https://commons.wikimedia.org]
S. Werner Hybrid Architecture for Hardware-accelerated Query Processing based on FPGAs 2/24
Warum alternative Architekturen?
I Ziel: Hardwarebeschleuniger für Anfrageverarbeitung
I Problem: Art der Anfragen nicht vorhersehbar
I Lösung: Anfragen dynamisch auf rekonfigurierbare Hardware
abbilden
DATABASE SERVER
DATA
CPU
FPGA
CLIENT
QUERY
RESULT
S. Werner Hybrid Architecture for Hardware-accelerated Query Processing based on FPGAs 3/24
Inhalt
Warum alternative Architekturen?
Grundlagen
Von der Anfrage zum Beschleuniger
Fazit
S. Werner Hybrid Architecture for Hardware-accelerated Query Processing based on FPGAs 4/24
Grundlagen // Semantic Web
The Semantic Web is an extension of the current web in which
information is given well-defined meaning, better enabling computers
and people to work in cooperation. [Berners-Lee et al.]
I Ressourcen und Relationen in einem standardisierten
maschinenlesbaren Format
I World Wide Web Consortium (W3C) erarbeitet Reihe von
Standards
S. Werner Hybrid Architecture for Hardware-accelerated Query Processing based on FPGAs 5/24
Grundlagen // Semantic Web // Resource Description Framework (RDF)
I Datensätze bestehen aus Tripeln, jedes mit den Komponenten
Subjekt, Prädikat, Objekt (SPO)
1 v:Journal rdfs:subClassOf v:Document .
2 v:Article rdfs:subClassOf v:Document .
3 l:Journal1 rdf:type v:Journal .
4 l:Journal1 v:title "Nature Research"^^xsd:string .
5 l:Article1 rdf:type v:Article .
6 l:Article1 v:abstract "In this paper ..."@en .
7 l:Article1 v:publishedIn l:Journal1 .
8 l:Article1 v:creator l:Famous_Author .
9 l:Famous_Author v:name "Stephen Hawking"^^xsd:string .
S. Werner Hybrid Architecture for Hardware-accelerated Query Processing based on FPGAs 6/24
Grundlagen // Semantic Web // Resource Description Framework (RDF)
v:Journal rdfs:subClassOf v:Documentv:Article rdfs:subClassOf v:Documentl:Journal1 rdf:type v:Journall:Journal1 v:title "Nature Research"^^xsd:stringl:Article1 rdf:type v:Articlel:Article1 v:abstract "In this paper ..."@enl:Article1 v:publishedIn l:Journal1l:Article1 v:creator l:Famous_Authorl:Famous_Author v:name "Stephen Hawking"^^xsd:string
v:Document
v:Journal
rdfs:subClassOf
v:Article
rdfs:subClassOf
l:Journal1
rdf:type
"Nature Research"^^xsd:string
v:title
l:Article1
rdf:type
v:publishedIn
"In this paper ..."@en
v:abstract
l:Famous_Author
v:creator
"Stephen Hawking"^^xsd:string
v:name
S. Werner Hybrid Architecture for Hardware-accelerated Query Processing based on FPGAs 7/24
Grundlagen // Semantic Web // Resource Description Framework (RDF)
v:Journal rdfs:subClassOf v:Documentv:Article rdfs:subClassOf v:Documentl:Journal1 rdf:type v:Journall:Journal1 v:title "Nature Research"^^xsd:stringl:Article1 rdf:type v:Articlel:Article1 v:abstract "In this paper ..."@enl:Article1 v:publishedIn l:Journal1l:Article1 v:creator l:Famous_Authorl:Famous_Author v:name "Stephen Hawking"^^xsd:string
v:Document
v:Journal
rdfs:subClassOf
v:Article
rdfs:subClassOf
l:Journal1
rdf:type
"Nature Research"^^xsd:string
v:title
l:Article1
rdf:type
v:publishedIn
"In this paper ..."@en
v:abstract
l:Famous_Author
v:creator
"Stephen Hawking"^^xsd:string
v:name
S. Werner Hybrid Architecture for Hardware-accelerated Query Processing based on FPGAs 7/24
Grundlagen // Semantic Web // Resource Description Framework (RDF)
v:Journal rdfs:subClassOf v:Documentv:Article rdfs:subClassOf v:Documentl:Journal1 rdf:type v:Journall:Journal1 v:title "Nature Research"^^xsd:stringl:Article1 rdf:type v:Articlel:Article1 v:abstract "In this paper ..."@enl:Article1 v:publishedIn l:Journal1l:Article1 v:creator l:Famous_Authorl:Famous_Author v:name "Stephen Hawking"^^xsd:string
v:Document
v:Journal
rdfs:subClassOf
v:Article
rdfs:subClassOf
l:Journal1
rdf:type
"Nature Research"^^xsd:string
v:title
l:Article1
rdf:type
v:publishedIn
"In this paper ..."@en
v:abstract
l:Famous_Author
v:creator
"Stephen Hawking"^^xsd:string
v:name
S. Werner Hybrid Architecture for Hardware-accelerated Query Processing based on FPGAs 7/24
Grundlagen // Semantic Web // Resource Description Framework (RDF)
v:Journal rdfs:subClassOf v:Documentv:Article rdfs:subClassOf v:Documentl:Journal1 rdf:type v:Journall:Journal1 v:title "Nature Research"^^xsd:stringl:Article1 rdf:type v:Articlel:Article1 v:abstract "In this paper ..."@enl:Article1 v:publishedIn l:Journal1l:Article1 v:creator l:Famous_Authorl:Famous_Author v:name "Stephen Hawking"^^xsd:string
v:Document
v:Journal
rdfs:subClassOf
v:Article
rdfs:subClassOf
l:Journal1
rdf:type
"Nature Research"^^xsd:string
v:title
l:Article1
rdf:type
v:publishedIn
"In this paper ..."@en
v:abstract
l:Famous_Author
v:creator
"Stephen Hawking"^^xsd:string
v:name
S. Werner Hybrid Architecture for Hardware-accelerated Query Processing based on FPGAs 7/24
Grundlagen // Semantic Web // Resource Description Framework (RDF)
v:Journal rdfs:subClassOf v:Documentv:Article rdfs:subClassOf v:Documentl:Journal1 rdf:type v:Journall:Journal1 v:title "Nature Research"^^xsd:stringl:Article1 rdf:type v:Articlel:Article1 v:abstract "In this paper ..."@enl:Article1 v:publishedIn l:Journal1l:Article1 v:creator l:Famous_Authorl:Famous_Author v:name "Stephen Hawking"^^xsd:string
v:Document
v:Journal
rdfs:subClassOf
v:Article
rdfs:subClassOf
l:Journal1
rdf:type
"Nature Research"^^xsd:string
v:title
l:Article1
rdf:type
v:publishedIn
"In this paper ..."@en
v:abstract
l:Famous_Author
v:creator
"Stephen Hawking"^^xsd:string
v:name
S. Werner Hybrid Architecture for Hardware-accelerated Query Processing based on FPGAs 7/24
Grundlagen // Semantic Web // Resource Description Framework (RDF)
v:Journal rdfs:subClassOf v:Documentv:Article rdfs:subClassOf v:Documentl:Journal1 rdf:type v:Journall:Journal1 v:title "Nature Research"^^xsd:stringl:Article1 rdf:type v:Articlel:Article1 v:abstract "In this paper ..."@enl:Article1 v:publishedIn l:Journal1l:Article1 v:creator l:Famous_Authorl:Famous_Author v:name "Stephen Hawking"^^xsd:string
v:Document
v:Journal
rdfs:subClassOf
v:Article
rdfs:subClassOf
l:Journal1
rdf:type
"Nature Research"^^xsd:string
v:title
l:Article1
rdf:type
v:publishedIn
"In this paper ..."@en
v:abstract
l:Famous_Author
v:creator
"Stephen Hawking"^^xsd:string
v:name
S. Werner Hybrid Architecture for Hardware-accelerated Query Processing based on FPGAs 7/24
Grundlagen // Semantic Web // Resource Description Framework (RDF)
v:Journal rdfs:subClassOf v:Documentv:Article rdfs:subClassOf v:Documentl:Journal1 rdf:type v:Journall:Journal1 v:title "Nature Research"^^xsd:stringl:Article1 rdf:type v:Articlel:Article1 v:abstract "In this paper ..."@enl:Article1 v:publishedIn l:Journal1l:Article1 v:creator l:Famous_Authorl:Famous_Author v:name "Stephen Hawking"^^xsd:string
v:Document
v:Journal
rdfs:subClassOf
v:Article
rdfs:subClassOf
l:Journal1
rdf:type
"Nature Research"^^xsd:string
v:title
l:Article1
rdf:type
v:publishedIn
"In this paper ..."@en
v:abstract
l:Famous_Author
v:creator
"Stephen Hawking"^^xsd:string
v:name
S. Werner Hybrid Architecture for Hardware-accelerated Query Processing based on FPGAs 7/24
Grundlagen // Semantic Web // Resource Description Framework (RDF)
v:Journal rdfs:subClassOf v:Documentv:Article rdfs:subClassOf v:Documentl:Journal1 rdf:type v:Journall:Journal1 v:title "Nature Research"^^xsd:stringl:Article1 rdf:type v:Articlel:Article1 v:abstract "In this paper ..."@enl:Article1 v:publishedIn l:Journal1l:Article1 v:creator l:Famous_Authorl:Famous_Author v:name "Stephen Hawking"^^xsd:string
v:Document
v:Journal
rdfs:subClassOf
v:Article
rdfs:subClassOf
l:Journal1
rdf:type
"Nature Research"^^xsd:string
v:title
l:Article1
rdf:type
v:publishedIn
"In this paper ..."@en
v:abstract
l:Famous_Author
v:creator
"Stephen Hawking"^^xsd:string
v:name
S. Werner Hybrid Architecture for Hardware-accelerated Query Processing based on FPGAs 7/24
Grundlagen // Semantic Web // Resource Description Framework (RDF)
v:Journal rdfs:subClassOf v:Documentv:Article rdfs:subClassOf v:Documentl:Journal1 rdf:type v:Journall:Journal1 v:title "Nature Research"^^xsd:stringl:Article1 rdf:type v:Articlel:Article1 v:abstract "In this paper ..."@enl:Article1 v:publishedIn l:Journal1l:Article1 v:creator l:Famous_Authorl:Famous_Author v:name "Stephen Hawking"^^xsd:string
v:Document
v:Journal
rdfs:subClassOf
v:Article
rdfs:subClassOf
l:Journal1
rdf:type
"Nature Research"^^xsd:string
v:title
l:Article1
rdf:type
v:publishedIn
"In this paper ..."@en
v:abstract
l:Famous_Author
v:creator
"Stephen Hawking"^^xsd:string
v:name
S. Werner Hybrid Architecture for Hardware-accelerated Query Processing based on FPGAs 7/24
Grundlagen // Semantic Web // SPARQL
4.5 5.5 6.5 7.5 8.5 9.5 10.5 11.5 12.5 13.5 14.5 15.5 16.5 17.5 18.53
4
5
6
7
8
9
10
11
12
SELECT ?aName WHERE {
? autho r v : name ?aName .
? doc v : c r e a t o r ? autho r .
? doc v : p u b l i s h e d I n l : J ou rna l 1
}
v:Document
v:Journal
rdfs:subClassOf
v:Article
rdfs:subClassOf
l:Journal1
rdf:type
"Nature Research"^^xsd:string
v:title
l:Article1
rdf:type
v:publishedIn
"In this paper ..."@en
v:abstract
l:Famous_Author
v:creator
"Stephen Hawking"^^xsd:string
v:name
S. Werner Hybrid Architecture for Hardware-accelerated Query Processing based on FPGAs 8/24
Grundlagen // Semantic Web // SPARQL
4.5 5.5 6.5 7.5 8.5 9.5 10.5 11.5 12.5 13.5 14.5 15.5 16.5 17.5 18.53
4
5
6
7
8
9
10
11
12Index Scan on
?author v:name ?aName
SELECT ?aName WHERE {
? autho r v : name ?aName .
? doc v : c r e a t o r ? autho r .
? doc v : p u b l i s h e d I n l : J ou rna l 1
}
v:Document
v:Journal
rdfs:subClassOf
v:Article
rdfs:subClassOf
l:Journal1
rdf:type
"Nature Research"^^xsd:string
v:title
l:Article1
rdf:type
v:publishedIn
"In this paper ..."@en
v:abstract
l:Famous_Author
v:creator
"Stephen Hawking"^^xsd:string
v:name
S. Werner Hybrid Architecture for Hardware-accelerated Query Processing based on FPGAs 8/24
Grundlagen // Semantic Web // SPARQL
4.5 5.5 6.5 7.5 8.5 9.5 10.5 11.5 12.5 13.5 14.5 15.5 16.5 17.5 18.53
4
5
6
7
8
9
10
11
12Index Scan on
?author v:name ?aName
Index Scan on?doc v:creator ?author
SELECT ?aName WHERE {
? autho r v : name ?aName .
? doc v : c r e a t o r ? autho r .
? doc v : p u b l i s h e d I n l : J ou rna l 1
}
v:Document
v:Journal
rdfs:subClassOf
v:Article
rdfs:subClassOf
l:Journal1
rdf:type
"Nature Research"^^xsd:string
v:title
l:Article1
rdf:type
v:publishedIn
"In this paper ..."@en
v:abstract
l:Famous_Author
v:creator
"Stephen Hawking"^^xsd:string
v:name
S. Werner Hybrid Architecture for Hardware-accelerated Query Processing based on FPGAs 8/24
Grundlagen // Semantic Web // SPARQL
4.5 5.5 6.5 7.5 8.5 9.5 10.5 11.5 12.5 13.5 14.5 15.5 16.5 17.5 18.53
4
5
6
7
8
9
10
11
12Index Scan on
?author v:name ?aName
Index Scan on?doc v:creator ?author
Index Scan on?doc v:publishedIn l:Journal1
SELECT ?aName WHERE {
? autho r v : name ?aName .
? doc v : c r e a t o r ? autho r .
? doc v : p u b l i s h e d I n l : J ou rna l 1
}
v:Document
v:Journal
rdfs:subClassOf
v:Article
rdfs:subClassOf
l:Journal1
rdf:type
"Nature Research"^^xsd:string
v:title
l:Article1
rdf:type
v:publishedIn
"In this paper ..."@en
v:abstract
l:Famous_Author
v:creator
"Stephen Hawking"^^xsd:string
v:name
S. Werner Hybrid Architecture for Hardware-accelerated Query Processing based on FPGAs 8/24
Grundlagen // Semantic Web // SPARQL
4.5 5.5 6.5 7.5 8.5 9.5 10.5 11.5 12.5 13.5 14.5 15.5 16.5 17.5 18.53
4
5
6
7
8
9
10
11
12Index Scan on
?author v:name ?aName
Index Scan on?doc v:creator ?author
Index Scan on?doc v:publishedIn l:Journal1
Join on?author
SELECT ?aName WHERE {
? autho r v : name ?aName .
? doc v : c r e a t o r ? autho r .
? doc v : p u b l i s h e d I n l : J ou rna l 1
}
v:Document
v:Journal
rdfs:subClassOf
v:Article
rdfs:subClassOf
l:Journal1
rdf:type
"Nature Research"^^xsd:string
v:title
l:Article1
rdf:type
v:publishedIn
"In this paper ..."@en
v:abstract
l:Famous_Author
v:creator
"Stephen Hawking"^^xsd:string
v:name
S. Werner Hybrid Architecture for Hardware-accelerated Query Processing based on FPGAs 8/24
Grundlagen // Semantic Web // SPARQL
4.5 5.5 6.5 7.5 8.5 9.5 10.5 11.5 12.5 13.5 14.5 15.5 16.5 17.5 18.53
4
5
6
7
8
9
10
11
12Index Scan on
?author v:name ?aName
Index Scan on?doc v:creator ?author
Index Scan on?doc v:publishedIn l:Journal1
Join on?author
Join on?doc
SELECT ?aName WHERE {
? autho r v : name ?aName .
? doc v : c r e a t o r ? autho r .
? doc v : p u b l i s h e d I n l : J ou rna l 1
}
v:Document
v:Journal
rdfs:subClassOf
v:Article
rdfs:subClassOf
l:Journal1
rdf:type
"Nature Research"^^xsd:string
v:title
l:Article1
rdf:type
v:publishedIn
"In this paper ..."@en
v:abstract
l:Famous_Author
v:creator
"Stephen Hawking"^^xsd:string
v:name
S. Werner Hybrid Architecture for Hardware-accelerated Query Processing based on FPGAs 8/24
Grundlagen // Semantic Web // SPARQL
4.5 5.5 6.5 7.5 8.5 9.5 10.5 11.5 12.5 13.5 14.5 15.5 16.5 17.5 18.53
4
5
6
7
8
9
10
11
12Index Scan on
?author v:name ?aName
Index Scan on?doc v:creator ?author
Index Scan on?doc v:publishedIn l:Journal1
Join on?author
Join on?doc
Projectionto ?aName
SELECT ?aName WHERE {
? autho r v : name ?aName .
? doc v : c r e a t o r ? autho r .
? doc v : p u b l i s h e d I n l : J ou rna l 1
}
v:Document
v:Journal
rdfs:subClassOf
v:Article
rdfs:subClassOf
l:Journal1
rdf:type
"Nature Research"^^xsd:string
v:title
l:Article1
rdf:type
v:publishedIn
"In this paper ..."@en
v:abstract
l:Famous_Author
v:creator
"Stephen Hawking"^^xsd:string
v:name
S. Werner Hybrid Architecture for Hardware-accelerated Query Processing based on FPGAs 8/24
Grundlagen // Semantic Web // SPARQL
4.5 5.5 6.5 7.5 8.5 9.5 10.5 11.5 12.5 13.5 14.5 15.5 16.5 17.5 18.53
4
5
6
7
8
9
10
11
12Index Scan on
?author v:name ?aName
Index Scan on?doc v:creator ?author
Index Scan on?doc v:publishedIn l:Journal1
Join on?author
Join on?doc
Projectionto ?aName
Result
SELECT ?aName WHERE {
? autho r v : name ?aName .
? doc v : c r e a t o r ? autho r .
? doc v : p u b l i s h e d I n l : J ou rna l 1
}
v:Document
v:Journal
rdfs:subClassOf
v:Article
rdfs:subClassOf
l:Journal1
rdf:type
"Nature Research"^^xsd:string
v:title
l:Article1
rdf:type
v:publishedIn
"In this paper ..."@en
v:abstract
l:Famous_Author
v:creator
"Stephen Hawking"^^xsd:string
v:name
S. Werner Hybrid Architecture for Hardware-accelerated Query Processing based on FPGAs 8/24
Grundlagen // Field-Programmable Gate Array (FPGA)
S. Werner Hybrid Architecture for Hardware-accelerated Query Processing based on FPGAs 9/24
Grundlagen // Field-Programmable Gate Array (FPGA)
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
Block
RAM
Block
RAM
DSP
DSP
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
Configurable
Interconnects
S. Werner Hybrid Architecture for Hardware-accelerated Query Processing based on FPGAs 9/24
Grundlagen // Field-Programmable Gate Array (FPGA)
I Datenflussgetriebenes Berechnungsmodell
I Anwendungsspezifische Daten- & Verarbeitungsparallelität
I Ermöglicht den Entwurf anwendungsspezifischer Hardware und
Rekonfiguration zur Laufzeit
→ interessant für Anfrageverarbeitung
Funktionseinheiten Steuerwerk VerbindungsnetzwerkIntegrierter Speicher
CPU GPU FPGA
(adapted from C.Plessl [http://www.imprs-dynamics.mpg.de/pdfs/Plessl_talk.pdf])
S. Werner Hybrid Architecture for Hardware-accelerated Query Processing based on FPGAs 10/24
Grundlagen // Field-Programmable Gate Array (FPGA)
I Datenflussgetriebenes Berechnungsmodell
I Anwendungsspezifische Daten- & Verarbeitungsparallelität
I Ermöglicht den Entwurf anwendungsspezifischer Hardware und
Rekonfiguration zur Laufzeit
→ interessant für Anfrageverarbeitung
Funktionseinheiten Steuerwerk VerbindungsnetzwerkIntegrierter Speicher
CPU GPU FPGA
(adapted from C.Plessl [http://www.imprs-dynamics.mpg.de/pdfs/Plessl_talk.pdf])Index
Scanon
?author
v:name
?aName
Index
Scanon
?doc
v:creator
?author
Index
Scanon
?doc
v:publishedIn
l:Journal1
Join
on?author
Join
on?doc
Projection
to?aName
Result
S. Werner Hybrid Architecture for Hardware-accelerated Query Processing based on FPGAs 10/24
Inhalt
Warum alternative Architekturen?
Grundlagen
Von der Anfrage zum Beschleuniger
Fazit
S. Werner Hybrid Architecture for Hardware-accelerated Query Processing based on FPGAs 11/24
Von der Anfrage zum Beschleuniger // LUPOSDATE
Index-Generation
Abstract Syntax Tree
CoreSPARQL-Query
Abstract Syntax Tree
Operatorgraph
Logical optimized Operatorgraph
Physical optimized Operatorgraph
Result
RDF-Data
Preprocessing
Optimization
Transformation into CoreSPARQL
Logical Optimization
Physical Optimization
Evaluation
SPARQL-Parser
CoreSPARQL-Parser
Transformation into Operatorgraph
SPARQL-Query
Mapping on FPGA resources
S. Werner Hybrid Architecture for Hardware-accelerated Query Processing based on FPGAs 12/24
Von der Anfrage zum Beschleuniger // Operator Template
I Operator Template definiert
gemeinsame Schnittstelle
I Ermöglicht die Komposition
mehrerer Operatoren nach
dem Baukastenprinzip
I Satz von Operatoren in VHDL
implementiert T
T
. . .T
data
valid
finished
read
data
valid
finished
read
data
valid
finished
read
S. Werner Hybrid Architecture for Hardware-accelerated Query Processing based on FPGAs 13/24
Von der Anfrage zum Beschleuniger // System 1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 271
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
FPGA
Host
User Application
PCIe Endpoint PCIe EndpointQuery Coordinator
ICAP
I1 I2 . . .
. . .
Ik−1 Ik
◃▹
σ
◃▹
◃▹
∪πR
POS
PSO
OSP
SOP
SPO
Result
Query
QEP
S. Werner Hybrid Architecture for Hardware-accelerated Query Processing based on FPGAs 14/24
Von der Anfrage zum Beschleuniger // System 1
FPGA Toolchain
Parse Query Optimize & Analyze
suitable?
yes noSoftware Execution
Display Result
Generate VHDL code
Synthesis
Place & Route
Bitgen
Configuration
errors?
yes
no
Supply Triples
Execution on FPGA
Collect Results
Preprocessing Execution
S. Werner Hybrid Architecture for Hardware-accelerated Query Processing based on FPGAs 15/24
Von der Anfrage zum Beschleuniger // System 1 // Ergebnis
Evaluation von 15 Testanfragen auf synthetischen und reale
Datensätzen (mit bis zu 1 Mrd. Tripeln) zeigt:
I niemals signifikant langsamer als Softwaresystem (1)
I inkl. Kommunikationskosten zwischen Hostsystem und FPGA
I meist Beschleunigung von 1,5X bis 4,9X (8) bzw. 5X bis 32X (6)
ABER /I Erzeugung des rekonfigurierbaren Moduls (RM) zeitintensiv
I bis zu 30 Minuten; reine Anfrageausführung nur (Milli)Sekunden
S. Werner Hybrid Architecture for Hardware-accelerated Query Processing based on FPGAs 16/24
Von der Anfrage zum Beschleuniger // System 1 // Ergebnis
Evaluation von 15 Testanfragen auf synthetischen und reale
Datensätzen (mit bis zu 1 Mrd. Tripeln) zeigt:
I niemals signifikant langsamer als Softwaresystem (1)
I inkl. Kommunikationskosten zwischen Hostsystem und FPGA
I meist Beschleunigung von 1,5X bis 4,9X (8) bzw. 5X bis 32X (6)
ABER /I Erzeugung des rekonfigurierbaren Moduls (RM) zeitintensiv
I bis zu 30 Minuten; reine Anfrageausführung nur (Milli)Sekunden
S. Werner Hybrid Architecture for Hardware-accelerated Query Processing based on FPGAs 16/24
Von der Anfrage zum Beschleuniger // System 2
Dynamisch partielle Rekonfiguration
FPGA
static
PARTITION“A”
dynamic
A3.bit
A2.bit
A1.bit
I Ressourcen werden in statische und eine oder mehrere
Partitionen aufgeteilt
I Mehrere rekonfigurierbare Module mit verschiedenen Funktionen
können in die Partitionen konfiguriert werden
S. Werner Hybrid Architecture for Hardware-accelerated Query Processing based on FPGAs 17/24
Von der Anfrage zum Beschleuniger // System 2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 271
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
FPGA
Host
User Application
PCIe Endpoint PCIe EndpointQuery Coordinator
ICAP
I1 I2 . . .
. . .
Ik−1 Ik
◃▹
σ
◃▹
◃▹
∪πR
POS
PSO
OSP
SOP
SPO
Result
Query
QEP
S. Werner Hybrid Architecture for Hardware-accelerated Query Processing based on FPGAs 18/24
Von der Anfrage zum Beschleuniger // System 2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 271
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
static logic FPGA
Host
User Application
PCIe Endpoint PCIe EndpointQuery Coordinator
ICAP
RP
σ
◃▹
π
SRE
POS
PSO
OSP
SOP
SPO
Result
Query
QEP
S. Werner Hybrid Architecture for Hardware-accelerated Query Processing based on FPGAs 18/24
Von der Anfrage zum Beschleuniger // System 2 // SRE
I SREs befinden sich in der
statischen Logik
I Endgültige Route wird durch
externes Signal succ_sel
bestimmt
I Wert von succ_sel wird vom
inneren der Partition gesetzt
und hängt somit vom
konfigurierten Modul ab
SRE
T T
T T
succ sel succ sel
succ sel succ sel
succ sel=’1’
succ
sel=
’0’
succ
sel=
’0’
S. Werner Hybrid Architecture for Hardware-accelerated Query Processing based on FPGAs 19/24
Von der Anfrage zum Beschleuniger // System 2
FPGA Toolchain
Parse Query
Optimize & Analyze
suitable?
yes noSoftware Execution
Display Result
Select RMs
Synthesis
Place & Route
Bitgen
Configuration
For
alloperators
RM
errors?
yes
no
Supply Triples
Execution on FPGA
Collect Results
DEPLOYMENT TIME SYSTEM RUNTIME
S. Werner Hybrid Architecture for Hardware-accelerated Query Processing based on FPGAs 20/24
Von der Anfrage zum Beschleuniger // System 2 // Ergebnis
I Geringere Flexibilität
I Erzeugung vieler rekonfigurierbarer Module (vor Systemlaufzeit)
I Rekonfiguration von kompletten Anfragen wesentlich schneller,
statt Minuten wenige Millisekunden
I Zeit der reinen Anfrageverarbeitung identisch zu System 1
I Rekonfiguration beeinflusst den Beschleunigungsfaktor nur
gering (0,3 – 3,8%)
S. Werner Hybrid Architecture for Hardware-accelerated Query Processing based on FPGAs 21/24
Inhalt
Warum alternative Architekturen?
Grundlagen
Von der Anfrage zum Beschleuniger
Fazit
S. Werner Hybrid Architecture for Hardware-accelerated Query Processing based on FPGAs 22/24
Fazit
Wesentliche Beiträge dieser Arbeit:
I Flexibles Framework um Anfragen dynamisch auf FPGAs
abzubilden
I Kollaborative Ausführung beschleunigt Anfrageauswertung
In (einer nicht allzu fernen) Zukunft:
I Abbildung von Anfragen auf NoCs (blochwitz @ ITI)
I Hybride Indexstrukturen (heinrich @ IFIS)
S. Werner Hybrid Architecture for Hardware-accelerated Query Processing based on FPGAs 23/24
S. Werner Hybrid Architecture for Hardware-accelerated Query Processing based on FPGAs 24/24