25
Fakult ¨ at Informatik, Institut f ¨ ur Technische Informatik, Professur f¨ ur VLSI-Entwurfssysteme, Diagnostik und Architektur STUDIENARBEIT ¨ Ubertragung eines an MapReduce orientierten k-Means-Algorithmus auf einen FPGA-Hardwarebeschleuniger f ¨ ur den Cloud-Einsatz Martin Kn ¨ ofel [email protected] Dresden, 16.03.2017

STUDIENARBEIT Ubertragung eines an MapReduce ......Fakultat Informatik,¨ Institut fur¨ Technische Informatik, Professur fur¨ VLSI-Entwurfssysteme, Diagnostik und Architektur STUDIENARBEIT

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: STUDIENARBEIT Ubertragung eines an MapReduce ......Fakultat Informatik,¨ Institut fur¨ Technische Informatik, Professur fur¨ VLSI-Entwurfssysteme, Diagnostik und Architektur STUDIENARBEIT

Fakultat Informatik, Institut fur Technische Informatik, Professur fur VLSI-Entwurfssysteme, Diagnostik und Architektur

STUDIENARBEIT

Ubertragung eines an MapReduce orientierten

k-Means-Algorithmus auf einen

FPGA-Hardwarebeschleuniger fur den Cloud-Einsatz

Martin Knofel

[email protected]

Dresden, 16.03.2017

Page 2: STUDIENARBEIT Ubertragung eines an MapReduce ......Fakultat Informatik,¨ Institut fur¨ Technische Informatik, Professur fur¨ VLSI-Entwurfssysteme, Diagnostik und Architektur STUDIENARBEIT

Uberblick

Motivation

Literatur

Probleme

Zusammenfassung und Ausblick

TU Dresden, 16.03.2017 k-Means Folie 2 von 25

Page 3: STUDIENARBEIT Ubertragung eines an MapReduce ......Fakultat Informatik,¨ Institut fur¨ Technische Informatik, Professur fur¨ VLSI-Entwurfssysteme, Diagnostik und Architektur STUDIENARBEIT

01 MotivationMapReduce Modelling

� Programmiermodell fur große Daten

� Nutzung teilbarer Datensatze fur Parallelisierung

� drei Schritte:

MAP: Zuordnung der Daten mittels SchlusselSHUFFLE: Verteilung der Daten auf RecheneinheitenREDUCE: Zusammenfassen der Teilergebnisse

� hohe Parallelisierung fur Nutzung einer FPGA-Implementierung

TU Dresden, 16.03.2017 k-Means Folie 3 von 25

Page 4: STUDIENARBEIT Ubertragung eines an MapReduce ......Fakultat Informatik,¨ Institut fur¨ Technische Informatik, Professur fur¨ VLSI-Entwurfssysteme, Diagnostik und Architektur STUDIENARBEIT

01 Motivationk-Means Clustering

Allgemein:

� Aufteilung von Daten in k-Cluster

� mittels “Abstandsberechnung” und “Zuordnungsmethode”

� NP komplex

� Standard-Algorithmus: Lloyd-Algorithmus

TU Dresden, 16.03.2017 k-Means Folie 4 von 25

Page 5: STUDIENARBEIT Ubertragung eines an MapReduce ......Fakultat Informatik,¨ Institut fur¨ Technische Informatik, Professur fur¨ VLSI-Entwurfssysteme, Diagnostik und Architektur STUDIENARBEIT

01 MotivationAnwendung

� Signalverarbeitung– Farbquantisierung– Bildsegmentierung (z.B. in der Medizin)

� Maschinelles Lernen– Feature learning

(zum Extrahieren von Merkmalen)

� Clusternanalysen– Marktanalysen– Wetter– Astronomy– Kartographie

TU Dresden, 16.03.2017 k-Means Folie 5 von 25

Page 6: STUDIENARBEIT Ubertragung eines an MapReduce ......Fakultat Informatik,¨ Institut fur¨ Technische Informatik, Professur fur¨ VLSI-Entwurfssysteme, Diagnostik und Architektur STUDIENARBEIT

01 MotivationAnwendung

[1]TU Dresden, 16.03.2017 k-Means Folie 6 von 25

Page 7: STUDIENARBEIT Ubertragung eines an MapReduce ......Fakultat Informatik,¨ Institut fur¨ Technische Informatik, Professur fur¨ VLSI-Entwurfssysteme, Diagnostik und Architektur STUDIENARBEIT

02 Literatur

Author Typ Speedup

Choi et al.[2] batch 20 against softwareSaegusa et al.[3] semi 7-9 realtime clustering of imagesAsano et al.[4] stream 7-12 against one thread on CPUJia et. al.[5] stream ca. 10-21 VHDL Implementierung with axi-streamLavenier[6] stream - depends on HardwareWinterstein[7] - - compares HLS with VHDL solutions

TU Dresden, 16.03.2017 k-Means Folie 7 von 25

Page 8: STUDIENARBEIT Ubertragung eines an MapReduce ......Fakultat Informatik,¨ Institut fur¨ Technische Informatik, Professur fur¨ VLSI-Entwurfssysteme, Diagnostik und Architektur STUDIENARBEIT

03 Probleme

Fragen:

� Wie erstelle ich die Vergleichswerte?

� VHDL oder High-Level-Synthese?

� Wie soll die Ein -und Ausgabe aussehen?

� Wo sind die Optimierungsmoglichkeiten?

TU Dresden, 16.03.2017 k-Means Folie 8 von 25

Page 9: STUDIENARBEIT Ubertragung eines an MapReduce ......Fakultat Informatik,¨ Institut fur¨ Technische Informatik, Professur fur¨ VLSI-Entwurfssysteme, Diagnostik und Architektur STUDIENARBEIT

03 Problem: Vergleichswerte

Lloyd’s-Algorithmus:

� Zuordnung:

– berechne den Abstand zu allen Clusterzentren(euklidische Distanz)

– Zuordnung zum Zentrum mit dem kleinsten Abstand(ahnlich: Methode der kleinsten Quadrate)

� Anpassung:

– berechne die neuen Mittelwerte jedes Clusterzentrums– vergleiche ob sich die Zentren verschoben haben

TU Dresden, 16.03.2017 k-Means Folie 9 von 25

Page 10: STUDIENARBEIT Ubertragung eines an MapReduce ......Fakultat Informatik,¨ Institut fur¨ Technische Informatik, Professur fur¨ VLSI-Entwurfssysteme, Diagnostik und Architektur STUDIENARBEIT

03 Problem: Vergleichswerte

� Dimensionierung des Programmes– variable Datengroße– variable Vektorgroße

� Bildsegmentierung als Beispiel– geringe Clusteranzahl– RGB-Farbraum– Zuordnung der Pixel in Cluster

� Visualisierung der Ergebnisse

TU Dresden, 16.03.2017 k-Means Folie 10 von 25

Page 11: STUDIENARBEIT Ubertragung eines an MapReduce ......Fakultat Informatik,¨ Institut fur¨ Technische Informatik, Professur fur¨ VLSI-Entwurfssysteme, Diagnostik und Architektur STUDIENARBEIT

03 Problem: Vergleichswerte

Original

TU Dresden, 16.03.2017 k-Means Folie 11 von 25

Page 12: STUDIENARBEIT Ubertragung eines an MapReduce ......Fakultat Informatik,¨ Institut fur¨ Technische Informatik, Professur fur¨ VLSI-Entwurfssysteme, Diagnostik und Architektur STUDIENARBEIT

03 Problem: Vergleichswerte

k=0

TU Dresden, 16.03.2017 k-Means Folie 12 von 25

Page 13: STUDIENARBEIT Ubertragung eines an MapReduce ......Fakultat Informatik,¨ Institut fur¨ Technische Informatik, Professur fur¨ VLSI-Entwurfssysteme, Diagnostik und Architektur STUDIENARBEIT

03 Problem: Vergleichswerte

k=1

TU Dresden, 16.03.2017 k-Means Folie 13 von 25

Page 14: STUDIENARBEIT Ubertragung eines an MapReduce ......Fakultat Informatik,¨ Institut fur¨ Technische Informatik, Professur fur¨ VLSI-Entwurfssysteme, Diagnostik und Architektur STUDIENARBEIT

03 Problem: Vergleichswerte

k=2

TU Dresden, 16.03.2017 k-Means Folie 14 von 25

Page 15: STUDIENARBEIT Ubertragung eines an MapReduce ......Fakultat Informatik,¨ Institut fur¨ Technische Informatik, Professur fur¨ VLSI-Entwurfssysteme, Diagnostik und Architektur STUDIENARBEIT

03 Problem: Vergleichswerte

Zusammenstellung der Farbzentren

TU Dresden, 16.03.2017 k-Means Folie 15 von 25

Page 16: STUDIENARBEIT Ubertragung eines an MapReduce ......Fakultat Informatik,¨ Institut fur¨ Technische Informatik, Professur fur¨ VLSI-Entwurfssysteme, Diagnostik und Architektur STUDIENARBEIT

03 Problem: VHDL oder HLS?

� VHDL bekannt

� HLS: Vivado High Level Synthesis

� Vorteile/Nachteile der HLS?(Recherche uber HLS-Tutorials)

� Welche Implementierung bietet sich an?

TU Dresden, 16.03.2017 k-Means Folie 16 von 25

Page 17: STUDIENARBEIT Ubertragung eines an MapReduce ......Fakultat Informatik,¨ Institut fur¨ Technische Informatik, Professur fur¨ VLSI-Entwurfssysteme, Diagnostik und Architektur STUDIENARBEIT

03 Problem: VHDL oder HLS?VHDL

Vorteile: Nachteile:

� Beschreibungssprache(Abstraktion aufSchaltungsverhalten)

� gezieltes Design moglich(ASIC-Entwurf)

� Simulation uberTestbenches

� Fachwissen notwendig

� Beschreibung istaufwandig

� Optimierungen bzgl.Parallelitat schwierig

TU Dresden, 16.03.2017 k-Means Folie 17 von 25

Page 18: STUDIENARBEIT Ubertragung eines an MapReduce ......Fakultat Informatik,¨ Institut fur¨ Technische Informatik, Professur fur¨ VLSI-Entwurfssysteme, Diagnostik und Architektur STUDIENARBEIT

03 Problem: VHDL oder HLS?Vivado HLS

Vorteile: Nachteile:

� C/C++(bekannteProgrammiersprache)

� hohe Abstraktionsebene(Algorithmenbeschreibung)

� automatischeSynthetisierung (viele Opti-mierungsmoglichkeitendurch Direktiven)

� Tests in C/C++

� spezifisches Wissen desSyntheseprogrammsnotwendig

� Vorgang der Syntheseunbekannt

TU Dresden, 16.03.2017 k-Means Folie 18 von 25

Page 19: STUDIENARBEIT Ubertragung eines an MapReduce ......Fakultat Informatik,¨ Institut fur¨ Technische Informatik, Professur fur¨ VLSI-Entwurfssysteme, Diagnostik und Architektur STUDIENARBEIT

03 erstes ErgebnisVivado HLS - unoptimiert

I/O-Ports Bit

centroids 8vector 8ncentroids 8assignment 16

insgesamt: 40

Clock ns MHz

target 5,00 200estimated 4,06 246Uncertainy 0,62

.

� Intervall: ca. 1,3s

� Python: 4,34s

� C++: 0,28s

TU Dresden, 16.03.2017 k-Means Folie 19 von 25

Page 20: STUDIENARBEIT Ubertragung eines an MapReduce ......Fakultat Informatik,¨ Institut fur¨ Technische Informatik, Professur fur¨ VLSI-Entwurfssysteme, Diagnostik und Architektur STUDIENARBEIT

03 erstes ErgebnisVivado HLS - unoptimiert

FPGA: VIRTEX-7 485T

total available %

BRAM 18Kb 0 2060 0DSP48E 11 2800 0,4FF 1770 607200 0,3LUT 2361 303600 0,8

TU Dresden, 16.03.2017 k-Means Folie 20 von 25

Page 21: STUDIENARBEIT Ubertragung eines an MapReduce ......Fakultat Informatik,¨ Institut fur¨ Technische Informatik, Professur fur¨ VLSI-Entwurfssysteme, Diagnostik und Architektur STUDIENARBEIT

03 Problem: Ein -und Ausgabe

TU Dresden, 16.03.2017 k-Means Folie 21 von 25

Page 22: STUDIENARBEIT Ubertragung eines an MapReduce ......Fakultat Informatik,¨ Institut fur¨ Technische Informatik, Professur fur¨ VLSI-Entwurfssysteme, Diagnostik und Architektur STUDIENARBEIT

03 Problem: Optimierungsmoglichkeiten

TU Dresden, 16.03.2017 k-Means Folie 22 von 25

Page 23: STUDIENARBEIT Ubertragung eines an MapReduce ......Fakultat Informatik,¨ Institut fur¨ Technische Informatik, Professur fur¨ VLSI-Entwurfssysteme, Diagnostik und Architektur STUDIENARBEIT

03 Optimierungsmoglichkeiten

Optimierungsmoglichkeiten:

� assignment parallelisieren

� distance-Berechnung parallelisieren

� Assignment und Updatevoneinander trennen(rekonfigurierbare FPGA - fur sehrgroße Datensatze)

� Pipelining (distance - assignment)

� datastreaming implementieren

� fertige IP-Cores parallel verwenden

TU Dresden, 16.03.2017 k-Means Folie 23 von 25

Page 24: STUDIENARBEIT Ubertragung eines an MapReduce ......Fakultat Informatik,¨ Institut fur¨ Technische Informatik, Professur fur¨ VLSI-Entwurfssysteme, Diagnostik und Architektur STUDIENARBEIT

04 Zusammenfassung und Ausblick

Idee:

� einfache Kernstruktur mit HLS erzeugen

� HLS nutzen um viele Optimierungen zu vergleichen

Vorerst:

� Festlegung auf Anwendung: Bildsegmentierung

Ausblick

� ein oder mehr IP-Cores fur verschiedene Anwendungen

� Vergleich verschiedener Optimierungsmoglichkeiten

� Hardware-Tests der IP-Cores

TU Dresden, 16.03.2017 k-Means Folie 24 von 25

Page 25: STUDIENARBEIT Ubertragung eines an MapReduce ......Fakultat Informatik,¨ Institut fur¨ Technische Informatik, Professur fur¨ VLSI-Entwurfssysteme, Diagnostik und Architektur STUDIENARBEIT

Quellen:

[1] Heinz Handels, Siegfried Poppl: Medizinische Bildverarbeitung 2.Auflage. 2009

[2] Yuk-Ming Choi, Hayden Kwok-Hay So: Map-reduce processing of K-meansalgorithm with FPGA-accelerated computer cluster. 2014

[3] Takashi Saegusa, Tsutomu Maruyama: Performance comparison of FPGA, GPUand CPU in image processing. 2009

[4] Shuichi Asano, Tsutomu Maruyama and Yoshiki Yamaguchi: An FPGAimplementation of real-time K-means clustering for color images. 2007

[5] Fahui Jia, Chao Wang, Xi Li and Xuehai Zhou: SAKMA: Specialized FPGA-BasedAccelerator Architecture for Data-Intensive K-Means Algorithms. 2015

[6] Dominique Lavenier: FPGA implementation of the k-means clustering algorithmfor hyperspectral images. 2000

[7] Felix Winterstein: High-Level Synthesis of Dynamic Data Structures: A CaseStudy Using Vivado HLS. 2013

TU Dresden, 16.03.2017 k-Means Folie 25 von 25