hybrid architecture for hardware ... - uni-luebeck.demoeller/phds/... · 9 l:famous_author v:name...

45
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

Upload: others

Post on 28-Aug-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Hybrid Architecture for Hardware ... - uni-luebeck.demoeller/PhDs/... · 9 l:Famous_Author v:name "Stephen Hawking"^^xsd:string . S. Werner Hybrid Architecture for Hardware-accelerated

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

Page 2: Hybrid Architecture for Hardware ... - uni-luebeck.demoeller/PhDs/... · 9 l:Famous_Author v:name "Stephen Hawking"^^xsd:string . S. Werner Hybrid Architecture for Hardware-accelerated

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

Page 3: Hybrid Architecture for Hardware ... - uni-luebeck.demoeller/PhDs/... · 9 l:Famous_Author v:name "Stephen Hawking"^^xsd:string . S. Werner Hybrid Architecture for Hardware-accelerated

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

Page 4: Hybrid Architecture for Hardware ... - uni-luebeck.demoeller/PhDs/... · 9 l:Famous_Author v:name "Stephen Hawking"^^xsd:string . S. Werner Hybrid Architecture for Hardware-accelerated

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

Page 5: Hybrid Architecture for Hardware ... - uni-luebeck.demoeller/PhDs/... · 9 l:Famous_Author v:name "Stephen Hawking"^^xsd:string . S. Werner Hybrid Architecture for Hardware-accelerated

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

Page 6: Hybrid Architecture for Hardware ... - uni-luebeck.demoeller/PhDs/... · 9 l:Famous_Author v:name "Stephen Hawking"^^xsd:string . S. Werner Hybrid Architecture for Hardware-accelerated

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

Page 7: Hybrid Architecture for Hardware ... - uni-luebeck.demoeller/PhDs/... · 9 l:Famous_Author v:name "Stephen Hawking"^^xsd:string . S. Werner Hybrid Architecture for Hardware-accelerated

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

Page 8: Hybrid Architecture for Hardware ... - uni-luebeck.demoeller/PhDs/... · 9 l:Famous_Author v:name "Stephen Hawking"^^xsd:string . S. Werner Hybrid Architecture for Hardware-accelerated

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

Page 9: Hybrid Architecture for Hardware ... - uni-luebeck.demoeller/PhDs/... · 9 l:Famous_Author v:name "Stephen Hawking"^^xsd:string . S. Werner Hybrid Architecture for Hardware-accelerated

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

Page 10: Hybrid Architecture for Hardware ... - uni-luebeck.demoeller/PhDs/... · 9 l:Famous_Author v:name "Stephen Hawking"^^xsd:string . S. Werner Hybrid Architecture for Hardware-accelerated

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

Page 11: Hybrid Architecture for Hardware ... - uni-luebeck.demoeller/PhDs/... · 9 l:Famous_Author v:name "Stephen Hawking"^^xsd:string . S. Werner Hybrid Architecture for Hardware-accelerated

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

Page 12: Hybrid Architecture for Hardware ... - uni-luebeck.demoeller/PhDs/... · 9 l:Famous_Author v:name "Stephen Hawking"^^xsd:string . S. Werner Hybrid Architecture for Hardware-accelerated

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

Page 13: Hybrid Architecture for Hardware ... - uni-luebeck.demoeller/PhDs/... · 9 l:Famous_Author v:name "Stephen Hawking"^^xsd:string . S. Werner Hybrid Architecture for Hardware-accelerated

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

Page 14: Hybrid Architecture for Hardware ... - uni-luebeck.demoeller/PhDs/... · 9 l:Famous_Author v:name "Stephen Hawking"^^xsd:string . S. Werner Hybrid Architecture for Hardware-accelerated

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

Page 15: Hybrid Architecture for Hardware ... - uni-luebeck.demoeller/PhDs/... · 9 l:Famous_Author v:name "Stephen Hawking"^^xsd:string . S. Werner Hybrid Architecture for Hardware-accelerated

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

Page 16: Hybrid Architecture for Hardware ... - uni-luebeck.demoeller/PhDs/... · 9 l:Famous_Author v:name "Stephen Hawking"^^xsd:string . S. Werner Hybrid Architecture for Hardware-accelerated

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

Page 17: Hybrid Architecture for Hardware ... - uni-luebeck.demoeller/PhDs/... · 9 l:Famous_Author v:name "Stephen Hawking"^^xsd:string . S. Werner Hybrid Architecture for Hardware-accelerated

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

Page 18: Hybrid Architecture for Hardware ... - uni-luebeck.demoeller/PhDs/... · 9 l:Famous_Author v:name "Stephen Hawking"^^xsd:string . S. Werner Hybrid Architecture for Hardware-accelerated

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

Page 19: Hybrid Architecture for Hardware ... - uni-luebeck.demoeller/PhDs/... · 9 l:Famous_Author v:name "Stephen Hawking"^^xsd:string . S. Werner Hybrid Architecture for Hardware-accelerated

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

Page 20: Hybrid Architecture for Hardware ... - uni-luebeck.demoeller/PhDs/... · 9 l:Famous_Author v:name "Stephen Hawking"^^xsd:string . S. Werner Hybrid Architecture for Hardware-accelerated

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

Page 21: Hybrid Architecture for Hardware ... - uni-luebeck.demoeller/PhDs/... · 9 l:Famous_Author v:name "Stephen Hawking"^^xsd:string . S. Werner Hybrid Architecture for Hardware-accelerated

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

Page 22: Hybrid Architecture for Hardware ... - uni-luebeck.demoeller/PhDs/... · 9 l:Famous_Author v:name "Stephen Hawking"^^xsd:string . S. Werner Hybrid Architecture for Hardware-accelerated

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

Page 23: Hybrid Architecture for Hardware ... - uni-luebeck.demoeller/PhDs/... · 9 l:Famous_Author v:name "Stephen Hawking"^^xsd:string . S. Werner Hybrid Architecture for Hardware-accelerated

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

Page 24: Hybrid Architecture for Hardware ... - uni-luebeck.demoeller/PhDs/... · 9 l:Famous_Author v:name "Stephen Hawking"^^xsd:string . S. Werner Hybrid Architecture for Hardware-accelerated

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

Page 25: Hybrid Architecture for Hardware ... - uni-luebeck.demoeller/PhDs/... · 9 l:Famous_Author v:name "Stephen Hawking"^^xsd:string . S. Werner Hybrid Architecture for Hardware-accelerated

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

Page 26: Hybrid Architecture for Hardware ... - uni-luebeck.demoeller/PhDs/... · 9 l:Famous_Author v:name "Stephen Hawking"^^xsd:string . S. Werner Hybrid Architecture for Hardware-accelerated

Grundlagen // Field-Programmable Gate Array (FPGA)

S. Werner Hybrid Architecture for Hardware-accelerated Query Processing based on FPGAs 9/24

Page 27: Hybrid Architecture for Hardware ... - uni-luebeck.demoeller/PhDs/... · 9 l:Famous_Author v:name "Stephen Hawking"^^xsd:string . S. Werner Hybrid Architecture for Hardware-accelerated

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

Page 28: Hybrid Architecture for Hardware ... - uni-luebeck.demoeller/PhDs/... · 9 l:Famous_Author v:name "Stephen Hawking"^^xsd:string . S. Werner Hybrid Architecture for Hardware-accelerated

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

Page 29: Hybrid Architecture for Hardware ... - uni-luebeck.demoeller/PhDs/... · 9 l:Famous_Author v:name "Stephen Hawking"^^xsd:string . S. Werner Hybrid Architecture for Hardware-accelerated

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

Page 30: Hybrid Architecture for Hardware ... - uni-luebeck.demoeller/PhDs/... · 9 l:Famous_Author v:name "Stephen Hawking"^^xsd:string . S. Werner Hybrid Architecture for Hardware-accelerated

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

Page 31: Hybrid Architecture for Hardware ... - uni-luebeck.demoeller/PhDs/... · 9 l:Famous_Author v:name "Stephen Hawking"^^xsd:string . S. Werner Hybrid Architecture for Hardware-accelerated

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

Page 32: Hybrid Architecture for Hardware ... - uni-luebeck.demoeller/PhDs/... · 9 l:Famous_Author v:name "Stephen Hawking"^^xsd:string . S. Werner Hybrid Architecture for Hardware-accelerated

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

Page 33: Hybrid Architecture for Hardware ... - uni-luebeck.demoeller/PhDs/... · 9 l:Famous_Author v:name "Stephen Hawking"^^xsd:string . S. Werner Hybrid Architecture for Hardware-accelerated

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

Page 34: Hybrid Architecture for Hardware ... - uni-luebeck.demoeller/PhDs/... · 9 l:Famous_Author v:name "Stephen Hawking"^^xsd:string . S. Werner Hybrid Architecture for Hardware-accelerated

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

Page 35: Hybrid Architecture for Hardware ... - uni-luebeck.demoeller/PhDs/... · 9 l:Famous_Author v:name "Stephen Hawking"^^xsd:string . S. Werner Hybrid Architecture for Hardware-accelerated

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

Page 36: Hybrid Architecture for Hardware ... - uni-luebeck.demoeller/PhDs/... · 9 l:Famous_Author v:name "Stephen Hawking"^^xsd:string . S. Werner Hybrid Architecture for Hardware-accelerated

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

Page 37: Hybrid Architecture for Hardware ... - uni-luebeck.demoeller/PhDs/... · 9 l:Famous_Author v:name "Stephen Hawking"^^xsd:string . S. Werner Hybrid Architecture for Hardware-accelerated

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

Page 38: Hybrid Architecture for Hardware ... - uni-luebeck.demoeller/PhDs/... · 9 l:Famous_Author v:name "Stephen Hawking"^^xsd:string . S. Werner Hybrid Architecture for Hardware-accelerated

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

Page 39: Hybrid Architecture for Hardware ... - uni-luebeck.demoeller/PhDs/... · 9 l:Famous_Author v:name "Stephen Hawking"^^xsd:string . S. Werner Hybrid Architecture for Hardware-accelerated

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

Page 40: Hybrid Architecture for Hardware ... - uni-luebeck.demoeller/PhDs/... · 9 l:Famous_Author v:name "Stephen Hawking"^^xsd:string . S. Werner Hybrid Architecture for Hardware-accelerated

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

Page 41: Hybrid Architecture for Hardware ... - uni-luebeck.demoeller/PhDs/... · 9 l:Famous_Author v:name "Stephen Hawking"^^xsd:string . S. Werner Hybrid Architecture for Hardware-accelerated

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

Page 42: Hybrid Architecture for Hardware ... - uni-luebeck.demoeller/PhDs/... · 9 l:Famous_Author v:name "Stephen Hawking"^^xsd:string . S. Werner Hybrid Architecture for Hardware-accelerated

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

Page 43: Hybrid Architecture for Hardware ... - uni-luebeck.demoeller/PhDs/... · 9 l:Famous_Author v:name "Stephen Hawking"^^xsd:string . S. Werner Hybrid Architecture for Hardware-accelerated

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

Page 44: Hybrid Architecture for Hardware ... - uni-luebeck.demoeller/PhDs/... · 9 l:Famous_Author v:name "Stephen Hawking"^^xsd:string . S. Werner Hybrid Architecture for Hardware-accelerated

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

Page 45: Hybrid Architecture for Hardware ... - uni-luebeck.demoeller/PhDs/... · 9 l:Famous_Author v:name "Stephen Hawking"^^xsd:string . S. Werner Hybrid Architecture for Hardware-accelerated

S. Werner Hybrid Architecture for Hardware-accelerated Query Processing based on FPGAs 24/24