Distributed systems and parallel processing

  • 250 views
Uploaded on

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
250
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
1
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Kü rzeste Wege Distributed Systems and Parallel Processing Julian Vollmer (525904) Philip Stewart (526571)
  • 2. Agenda ● Motivation ● Shortest Path ● Realisierung ○ Multiprocessor ○ Singleprocessor ● Probleme ● Ergebnisse
  • 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. 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. 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. Paralleliserung Ansätze ● OpenMP ○ Analyse der Schleifen ○ einsetzen von passenden #pragma ○ definieren der bestmöglichen Anzahl an Threads ● OpenCL ○ Speicher allokieren ○ Context holen ○ ...
  • 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. OpenCL ● Nicht lauffähig ○ Mac ! ○ Linux ! ● Nur auf NVIDIA ?
  • 9. Probleme ● OpenCL ● Zeitmessung ○ omp_get_wtime() ○ clock() ● Parallelisierung ○ Deadlock ?
  • 10. Ergebnis - Lines of Code
  • 11. Ergebnis - UI
  • 12. Ergebnis - UI
  • 13. Ergebnis - Geschwindigkeit
  • 14. Vielen Dank fuer die Aufmerksamkeit!