Top Banner
Kürzeste Wege Distributed Systems and Parallel Processing Julian Vollmer (525904) Philip Stewart (526571)
16

Distributed systems and parallel processing

Feb 10, 2017

Download

Documents

julianvollmer
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Distributed systems and parallel processing

Kurzeste Wege

Distributed Systemsand Parallel Processing

Julian Vollmer (525904)Philip Stewart (526571)

Page 2: Distributed systems and parallel processing

Agenda

● Motivation● Shortest Path● Realisierung

○ Multiprocessor○ Singleprocessor

● Probleme● Ergebnisse

Page 3: Distributed systems and parallel processing

Motivation

● Die Graphentheorie ist einevielseitig angewandte Technik

● Dabei wird der Shortest PathAlgorhithmus oft verwendet

● In der Praxis sind Graphen mit Millionen Knoten üblich

● Parallelisierung (mit GPU) bietethohe Rechenleistung bei geringem Preis

Page 4: Distributed systems and parallel processing

Shortest Path

● Ausganssituation:○ Graph mit n Knoten○ Knoten sind mit gewichteten Kanten verbunden

● Suche des kürzesten Weges○ von einem Punkt zu allen anderen○ von allen zu allen Punkten

● Distanz = Gewicht der Kanten

Page 5: Distributed systems and parallel processing
Page 6: Distributed systems and parallel processing

Dijkstra-Algorithmus

● Jeder Knoten erhält zusätzlich eine Distanz, einen Vorgänger und ein Markierung

● Sollange es unmarkierte Knoten gibt:○ Markiere den aktuellen Knoten○ Berechne Distanz benachbarter unmarkierter Knoten○ Wenn Wert kleiner als

dessen gespeichete Distanz:Ersetzte Distanz und setzeaktuellen Knoten als Vorganger

Page 7: Distributed systems and parallel processing
Page 8: Distributed systems and parallel processing

Paralleliserung Ansätze

● OpenMP○ Analyse der Schleifen○ einsetzen von passenden #pragma○ definieren der bestmöglichen

Anzahl an Threads● OpenCL

○ Speicher allokieren ○ Context holen○ ...

Page 9: Distributed systems and parallel processing

OpenMP

● Parallelisierung der Schleifen:○ Testen aller Folgeknoten des aktuellen○ Berechnung der kuerzesten Distanz

● omp for schedule(guided)● Eergebniss: ca. 4 mal schneller

(bei 4 Threads)

Page 10: Distributed systems and parallel processing

OpenCL

● Nicht lauffähig○ Mac !○ Linux !

● Nur auf NVIDIA ?

Page 11: Distributed systems and parallel processing

Probleme

● OpenCL● Zeitmessung

○ omp_get_wtime()○ clock()

● Parallelisierung○ Deadlock ?

Page 12: Distributed systems and parallel processing

Ergebnis - Lines of Code

Page 13: Distributed systems and parallel processing

Ergebnis - UI

Page 14: Distributed systems and parallel processing

Ergebnis - UI

Page 15: Distributed systems and parallel processing

Ergebnis - Geschwindigkeit

Page 16: Distributed systems and parallel processing

Vielen Dank fuer die Aufmerksamkeit!