Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

1 Paralleles Sortieren (bitones Sortieren, Hyperquicksort, Regular Sampling) von Ferdinand Davertzhofen und Michael Stolte.

Ähnliche Präsentationen


Präsentation zum Thema: "1 Paralleles Sortieren (bitones Sortieren, Hyperquicksort, Regular Sampling) von Ferdinand Davertzhofen und Michael Stolte."—  Präsentation transkript:

1 1 Paralleles Sortieren (bitones Sortieren, Hyperquicksort, Regular Sampling) von Ferdinand Davertzhofen und Michael Stolte

2 2 Gliederung 1.Bitones Sortieren 1.1Bitone Sequenzen 1.2Der Algorithmus von Batcher 1.3Hardwarespezifische Adaptionen 2.Quicksort basiertes Sortieren 2.1Sequenzieller Quicksort 2.2Paralleler Quicksort 2.3Hyperquicksort 2.4Regular Sampling 3.Zusammenfassung und Fazit Teil 1 Teil 2

3 3 Definition: Eine bitone Sequenz ist eine Folge a 1,a 2,…,a n von beliebigen Elementen, deren erster Teil a 0,…,a i aufsteigend und zweiter Teil a i,…,a n absteigend sortiert ist, oder sich die Elemente durch eine zyklische Verschiebung so anordnen lassen, dass obige Bedingung gilt. Beispiele: 8, 5, 2, 1, 3, 4, 6, 7 oder C, B, A, E, H, G, F, D. 1.1 Bitone Sequenzen

4 4 Gliederung 1.Bitones Sortieren 1.1Bitone Sequenzen 1.2Der Algorithmus von Batcher 1.3Hardwarespezifische Adaptionen 2.Quicksort basiertes Sortieren 2.1Sequenzieller Quicksort 2.2Paralleler Quicksort 2.3Hyperquicksort 2.4Regular Sampling 3.Zusammenfassung und Fazit Teil 1 Teil 2

5 von Kenneth E. Batcher divide & conquer Input:unsortierte Liste von Elementen oderbitone Sequenz Sortieren durch compare-exchange-Prinzip: Elementpaar Komparator Reihenfolge prüfen ggf. Elemente austauschen sortiertes Elementpaar 1.2 Der Algorithmus von Batcher

6 von Kenneth E. Batcher divide & conquer Input:unsortierte Liste von Elementen oderbitone Sequenz Sortieren durch compare-exchange-Prinzip: Elementpaar Komparatortypen: Komparator Reihenfolge prüfen ggf. Elemente austauschen sortiertes Elementpaar 1.2 Der Algorithmus von Batcher

7 7 Phase 1: (unsortierte Liste bitone Sequenz) [optional] 1.Unsortierte Liste der Länge n = Liste von n/2 bitonen Sequenzen der Länge 2 2.Sortieren von je 2 bitonen Sequenzen; eine aufsteigend, die benachbarte absteigend bitone Sequenz der Länge 4 3.Rekursiv für alle n/2 bitonen Sequenzen bis eine einzige bitone Sequenz der Länge n erreicht ist 1.2 Der Algorithmus von Batcher

8 8 Phase 2: (bitone Sequenz sortierte Liste) Rekursives Aufteilen der bitonen Sequenz a 0,a 1,a 2,…,a n-2,a n-1 in zwei bitone Sequenzen der Länge : und durch compare-exchange-Vorgänge. 1.2 Der Algorithmus von Batcher

9 9 Rekursionsschema des Algortihmus (Mischen von n Elementen): 1.2 Der Algorithmus von Batcher

10 10 Ablauf der Ausführung: 1.2 Der Algorithmus von Batcher

11 11 Komplexität (1): Ermittlung der benötigten Rekursionsebenen durch Induktion in 2 Schritten. Sei g(k) die Anzahl der benötigten Ebenen für das Sortieren einer bitonen Sequenz mit n = 2 k Elementen und gelte g(1) = 1, g(2) = 2, … So ist g(k) = 1 + g( k–1 ) = k Sei h(k) die Anzahl der benötigten Ebenen für das Sortieren von n = 2 k unsortierten Elementen und gelte h(1) = 1, h(2) = 3, … So ist h(k) = h( k-1 ) + g(k) = 1.2 Der Algorithmus von Batcher

12 12 Komplexität (1): Ermittlung der benötigten Rekursionsebenen durch Induktion in 2 Schritten. Sei g(k) die Anzahl der benötigten Ebenen für das Sortieren einer bitonen Sequenz mit n = 2 k Elementen und gelte g(1) = 1, g(2) = 2, … So ist g(k) = 1 + g( k–1 ) = k Sei h(k) die Anzahl der benötigten Ebenen für das Sortieren von n = 2 k unsortierten Elementen und gelte h(1) = 1, h(2) = 3, … So ist h(k) = h( k-1 ) + g(k) = 1.2 Der Algorithmus von Batcher Am vorherigen Beispiel: g(3) = 1+g(2) = = 3 Am vorherigen Beispiel: h(3) = h(2)+g(3) = = 6

13 13 Komplexität (2): Zu vernachlässigen: = 2 k - 1 Vergleichsoperationen je Ebene Da diese parallel ausgeführt werden. Der zeitliche Aufwand bleibt bei also Komplexität von Θ(log 2 n) 1.2 Der Algorithmus von Batcher Kosten: Θ(p log 2 n) Kostenoptimalität: auch bei n = p nicht gegeben. [da > Θ(n log n)]

14 14 Gliederung 1.Bitones Sortieren 1.1Bitone Sequenzen 1.2Der Algorithmus von Batcher 1.3Hardwarespezifische Adaptionen 2.Quicksort basiertes Sortieren 2.1Sequenzieller Quicksort 2.2Paralleler Quicksort 2.3Hyperquicksort 2.4Regular Sampling 3.Zusammenfassung und Fazit Teil 1 Teil 2

15 15 Im Shuffle-Exchange Netzwerk (1) (1971 von Harold S. Stone) Die Eigenschaften von Shuffle-Exchange Netzwerken ermöglichen es, identische Verbindungen zwischen einzelnen Prozessoren auf allen Rekursionsebenen zu nutzen. Geringerer Platzbedarf + Geringere Komplexität = geringereKosten für die Hardware Unterschied zu Batcher: Nicht die Kommunikationsleitungen zwischen den Prozessoren können sich mit jedem Schritt ändern, sondern der eingesetzte Komparatortyp. 1.3 Hardwarespezifische Adaptionen

16 16 Im Shuffle-Exchange Netzwerk (1) (1971 von Harold S. Stone) Die Eigenschaften von Shuffle-Exchange Netzwerken ermöglichen es, identische Verbindungen zwischen einzelnen Prozessoren auf allen Rekursionsebenen zu nutzen. Geringerer Platzbedarf + Geringere Komplexität = geringereKosten für die Hardware Unterschied zu Batcher: Nicht die Kommunikationsleitungen zwischen den Prozessoren können sich mit jedem Schritt ändern, sondern der eingesetzte Komparatortyp. 1.3 Hardwarespezifische Adaptionen

17 17 Im Shuffle-Exchange Netzwerk (2) 1.3 Hardwarespezifische Adaptionen

18 18 Im Shuffle-Exchange Netzwerk (3) Komplexität: Anzahl Ebenen wie bei Batcher (Vergleichsoperationen sind auch hier zu vernachlässigen) Zusätzlich: shuffle-Schritte für Datenverschiebungen shuffle-Schritte für die Bestimmung der Maskenvektoren also auch hier Komplexität von Θ(log 2 n) und Kosten von Θ(p log 2 n) [= nicht kostenoptimal] 1.3 Hardwarespezifische Adaptionen

19 19 Im 2-dimensionalen Gitternetzwerk (1) (1977 von C.D. Thompson und H.T. Kung) compare-exchange [ hier: Zusammenbringen und Neuverteilen ] Das Zusammenbringen von Elementen hat das Ziel, Elemente an dieselbe Position zu bringen, um diese dort vergleichen zu können. Danach werden die Elemente entsprechend des Vergleichsergebnisses neu verteilt. Einsatz einer Indexfunktion zur effizienten Zuweisung von Listenelementen an das Gitternetzwerk 1.3 Hardwarespezifische Adaptionen

20 20 Im 2-dimensionalen Gitternetzwerk (2) 1.3 Hardwarespezifische Adaptionen Zusammenbringen: Es werden diejenigen Elemente mit einander verglichen, deren Index- Bitfolgen sich in dem am wenigsten signifikanten Bit unterscheiden. Neuverteilen: In welche Richtung die Bewegung beim Neuverteilen abläuft, gibt die Indexfunktion vor.

21 21 Im 2-dimensionalen Gitternetzwerk (3) Komplexität: (ohne Herleitung) Für Datenbewegungen: Für Vergleichsoperationen: Der erste Term dominiert, also betragen die Kosten Da das Sortieren in 2-dimensionalen Gitternetzwerken einen Aufwand für Datenbewegungen von im günstigsten Fall benötigt, ist der Algorithmus für diese Architektur kostenoptimal. [ Im Allgemeinen Fall jedoch nicht! ] 1.3 Hardwarespezifische Adaptionen

22 22 Gliederung 1.Bitones Sortieren 1.1Bitone Sequenzen 1.2Der Algorithmus von Batcher 1.3Hardwarespezifische Adaptionen 2.Quicksort basiertes Sortieren 2.1Sequenzieller Quicksort 2.2Paralleler Quicksort 2.3Hyperquicksort 2.4Regular Sampling 3.Zusammenfassung und Fazit Teil 1 Teil 2

23 von C.A.R. Hoare divide & conquer Schnellster bekannter allgemeiner Sortieralgorithmus [ im günstigsten Fall sowie im Mittel Θ(n log n) ] Aufteilung der zu sortierenden Liste mittels eines Pivotelements Ein optimales Pivotelement wäre der Median der Liste 2.1 Sequenzieller Quicksort

24 24 Gliederung 1.Bitones Sortieren 1.1Bitone Sequenzen 1.2Der Algorithmus von Batcher 1.3Hardwarespezifische Adaptionen 2.Quicksort basiertes Sortieren 2.1Sequenzieller Quicksort 2.2Paralleler Quicksort 2.3Hyperquicksort 2.4Regular Sampling 3.Zusammenfassung und Fazit Teil 1 Teil 2

25 25 = Naiver Ansatz Trotz echtem Median als Pivotelement: 1.Ebene: n-1Vergleiche von nur einem Prozessor 2.Ebene: n-3 Vergleiche von nur 2 Prozessoren 3.Ebene: n-7 Vergleiche von nur 4 Prozessoren … 2.2 Paralleler Quicksort

26 26 Timeout & Spielerwechsel…

27 27 Gliederung 1.Bitones Sortieren 1.1Bitone Sequenzen 1.2Der Algorithmus von Batcher 1.3Hardwarespezifische Adaptionen 2.Quicksort basiertes Sortieren 2.1Sequenzieller Quicksort 2.2Paralleler Quicksort 2.3Hyperquicksort 2.4Regular Sampling 3.Zusammenfassung und Fazit Teil 1 Teil 2

28 28 B. A. Wager, 1987 Gleichzeitige Nutzung aller Prozessoren von Beginn an Hyperquicksort Netzwerktopologie: Hypercube –2 d Prozessoren in einem Würfel der Dimension d –Kommunikationsverbindung zwischen Prozessoren, die sich um ein Bit unterscheiden 2.3 Hyperquicksort

29 29 Sortiereigenschaft in Multiprozessornetzwerk: 1.Jede lokale Folge eines Prozessors ist sortiert und 2.Das letzte Element von P i ist kleiner als das erste Element von P i+1. Generell: zwei Phasen –Phase 1: lokales Sortieren 1. Bedingung erfüllt –Phase 2: Iteratives Vorgehen für immer kleinere Teilfolgen 2.3 Hyperquicksort

30 Hyperquicksort Zerlegen eines d-dimensionale Hypercubes in zwei Hypercubes der Dimension d-1 d = 3 d = 2

31 31 Phase 2: Zunächst Betrachten des gesamten Hypercubes In jedem Iterationsschritt den Hypercube teilen und lokale Folgen sortieren, –Sodass alle Elemente des unteren Hypercubes kleiner als sind als alle Elemente des oberen Hypercubes ist. Nach d Iterationen: 2 d Hypercubes mit je einem Prozessor 2. Bedingung erfüllt 2.3 Hyperquicksort

32 Hyperquicksort Beispiel:Zahlenfolge mit 32 Elementen in einem 2-Dimensionalen Hypercube d = 2

33 Hyperquicksort 1. Phase: Lokales Sortieren

34 Hyperquicksort 2. Phase: Erste Iteration: Dimension d-1 !

35 Hyperquicksort 2. Phase: Zweite Iteration: Dimension d-1 !

36 36 Quicksort 2.3 Hyperquicksort Versenden der Teilfolgen Teilen der lokalen Folge Versenden des Pivotelemente (Broadcast) Sortieren mittels Mischen Aufwand:

37 37 Gesamtaufwand 2.3 Hyperquicksort Kosten Fürist der zweite Term Für ist Hyperquicksort kostenoptimal.

38 38 Gliederung 1.Bitones Sortieren 1.1Bitone Sequenzen 1.2Der Algorithmus von Batcher 1.3Hardwarespezifische Adaptionen 2.Quicksort basiertes Sortieren 2.1Sequenzieller Quicksort 2.2Paralleler Quicksort 2.3Hyperquicksort 2.4Regular Sampling 3.Zusammenfassung und Fazit Teil 1 Teil 2

39 39 Li et Al., 1992 Weitere Bezeichnungen: –Sortieren durch Regular Sampling –Sortieren durch Zerlegen des Wertebereichs –Sample-Sort Vorgehen an einem konkreten Beispiel 2.4 Regular Sampling

40 Regular Sampling Positionen: 1, (n/p 2 ) +1, (2n/p 2 )+1,..., (p-1)(n/p 2 )+1 p1p1 p2p2 p3p3 Aufteilen Lokales Sortieren Ausgewählter Prozessor

41 Regular Sampling Teilen Versenden der Teilfolgen Lokales Sortieren p1p1 p2p2 p3p3

42 42 Quicksort 2.4 Regular Sampling Sortieren der Teilfolgen durch Mischen Auswahl und Broadcast der Pivotelemente Sortieren der Samples Versenden der Regular Samples Versenden der Teilfolgen [Quinn] Aufwand:

43 43 Gesamtaufwand 2.4 Regular Sampling Für Kosten ist der Algorithmus kostenoptimal, da erster Term dominiert !

44 44 Gliederung 1.Bitones Sortieren 1.1Bitone Sequenzen 1.2Der Algorithmus von Batcher 1.3Hardwarespezifische Adaptionen 2.Quicksort basiertes Sortieren 2.1Sequenzieller Quicksort 2.2Paralleler Quicksort 2.3Hyperquicksort 2.4Regular Sampling 3.Zusammenfassung und Fazit Teil 1 Teil 2

45 45 3 Zusammenfassung und Fazit Bitones Sortieren unpraktikabel –relativ schnell bis Hyperquicksort im Mittel schnell, hängt jedoch von geschickter Wahl des Pivotelements ab –Kostenoptimal für Prozessoren Für Regular Sampling lässt sich der schlechteste Fall errechnen –Kostenoptimal für bis Prozessoren

46 46 Noch Fragen ?

47 47 Feierabend Für weitere Fragen sind wir unter (Ferdinand – 1. Teil) und (Michael – 2. Teil) zu erreichen.

48 48 Tippfehler Seminararbeiten: Bei der Erstellung des Foliensatzes sind wir auf je zwei Tippfehler in unseren Seminararbeiten gestoßen. Als Hilfe für die 5-Pkt. Kandidaten und um inhaltlichen Missverständnissen vorzubeugen haben wir daher die folgenden Folien angehängt, die auf die relevanten Stellen hinweisen.

49 49 Tippfehler Seminararbeiten (1): Ferdinand:

50 50 Tippfehler Seminararbeiten (2): Ferdinand:

51 51 Tippfehler Seminararbeiten (3): Michael:

52 52 Tippfehler Seminararbeiten (4): Michael:


Herunterladen ppt "1 Paralleles Sortieren (bitones Sortieren, Hyperquicksort, Regular Sampling) von Ferdinand Davertzhofen und Michael Stolte."

Ähnliche Präsentationen


Google-Anzeigen