Kü rzeste Wege
Distributed Systems
and Parallel Processing
Julian Vollmer (525904)
Philip Stewart (526571)
Agenda
● Motivation
● Shortest Path
● Realisierung
○ Multiprocessor
○ Singleprocessor
● Probleme
● Ergebnisse
Motivation
● Die Graphentheorie ist eine
vielseitig angewandte Technik
● Dabei wird der Shortest Path
Algorhithmus oft ver...
Shortest Path
● Ausganssituation:
○ Graph mit n Knoten
○ Knoten sind mit gewichteten Kanten verbunden
● Suche des kürzeste...
Dijkstra-Algorithmus
● Jeder Knoten erhält zusätzlich eine Distanz,
einen Vorgänger und ein Markierung
● Sollange es unmar...
Paralleliserung Ansätze
● OpenMP
○ Analyse der Schleifen
○ einsetzen von passenden #pragma
○ definieren der bestmöglichen
...
OpenMP
● Parallelisierung der Schleifen:
○ Testen aller Folgeknoten des aktuellen
○ Berechnung der kuerzesten Distanz
● om...
OpenCL
● Nicht lauffähig
○ Mac !
○ Linux !
● Nur auf NVIDIA ?
Probleme
● OpenCL
● Zeitmessung
○ omp_get_wtime()
○ clock()
● Parallelisierung
○ Deadlock ?
Ergebnis - Lines of Code
Ergebnis - UI
Ergebnis - UI
Ergebnis - Geschwindigkeit
Vielen Dank fuer die
Aufmerksamkeit!
Distributed systems and parallel processing
Distributed systems and parallel processing
Nächste SlideShare
Wird geladen in …5
×

Distributed systems and parallel processing

426 Aufrufe

Veröffentlicht am

0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
426
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
2
Aktionen
Geteilt
0
Downloads
1
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Distributed systems and parallel processing

  1. 1. Kü rzeste Wege Distributed Systems and Parallel Processing Julian Vollmer (525904) Philip Stewart (526571)
  2. 2. Agenda ● Motivation ● Shortest Path ● Realisierung ○ Multiprocessor ○ Singleprocessor ● Probleme ● Ergebnisse
  3. 3. Motivation ● Die Graphentheorie ist eine vielseitig angewandte Technik ● Dabei wird der Shortest Path Algorhithmus oft verwendet ● In der Praxis sind Graphen mit Millionen Knoten üblich ● Parallelisierung (mit GPU) bietet hohe Rechenleistung bei geringem Preis
  4. 4. 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
  5. 5. 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 setze aktuellen Knoten als Vorganger
  6. 6. Paralleliserung Ansätze ● OpenMP ○ Analyse der Schleifen ○ einsetzen von passenden #pragma ○ definieren der bestmöglichen Anzahl an Threads ● OpenCL ○ Speicher allokieren ○ Context holen ○ ...
  7. 7. 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)
  8. 8. OpenCL ● Nicht lauffähig ○ Mac ! ○ Linux ! ● Nur auf NVIDIA ?
  9. 9. Probleme ● OpenCL ● Zeitmessung ○ omp_get_wtime() ○ clock() ● Parallelisierung ○ Deadlock ?
  10. 10. Ergebnis - Lines of Code
  11. 11. Ergebnis - UI
  12. 12. Ergebnis - UI
  13. 13. Ergebnis - Geschwindigkeit
  14. 14. Vielen Dank fuer die Aufmerksamkeit!

×