5 Details zur Implementierung und MessergebnisseVerfahren Schritte Zeiten‖x‖Fluss: 2‖x min ‖ 2ALiCE PSC PC-Cluster Rand PeakAsync-FOS 21 281 266 70 0,999 1Async-SOS 11 176 156 39 1 1Async-Čebyšev 9 155 134 33 1 1OPT 6 100 100 100 1 1FB-Async-OPT 6 69 83 55 1 1Async-OPS 6 73 80 22 1 1DE-FOS 1 73 35 17 1,51 1,58DE-OPT 1 21 29 16 1,51 1,58DE-OPTfb 1 30 46 33 1,12 1,17DE-OPTcc 1 32 43 23 1,070 1,080SDE-OPT 1 38 45 33 1,51 1,58DE-OPS 1 21 28 16 1,51 1,58Async-MDI-FOS 1 − − 11 1,51 1,58FB-SDI-OPT 1 26 29 16 1,51 1,58Async-MDI-OPT 1 29 30 8 1,51 1,58FB-MDI-OPT 1 26 29 15 1,51 1,58Async-ADC-OPT 1 34 45 16 1,044 1,080DE-ADI-OPT 1 22 29 15 1,51 1,58DE-ADC-OPT 1 33 44 23 1,044 1,080Tabelle 5.6: Ergebnisse für den Hypercube H 6 = P 2 × P 2 × P 2 × P 2 × P 2 × P 2Verfahren Schritte Zeiten‖x‖Fluss: 2‖x min ‖ 2ALiCE PSC PC-Cluster Rand PeakAsync-FOS 23 59 41 71 0,999 1Async-SOS 11 32 24 36 0,999 1Async-Čebyšev 10 30 23 35 0,999 1OPT 31 100 100 100 1 1FB-Async-OPT 31 60 45 81 1 1Async-OPS 31 71 48 92 1 1DE-FOS 4 21 22 20 1,84 1,87DE-OPT 17 37 57 55 1,58 1,60DE-OPTfb 17 68 103 96 1,20 1,20DE-OPTcc 17 44 74 58 1,14 1,15SDE-OPT 17 95 101 95 1,60 1,62DE-OPS 17 37 57 54 1,58 1,60Tabelle 5.7: Ergebnisse für den zufälligen Graphen R 32,96120
6 Scheduling-VerfahrenIn den vorangegangenen Kapiteln ist eine Vielzahl von Verfahren vorgestellt worden, diealle — ausgehend von einer anfänglichen Lastverteilung w 0 — einen Fluss x berechnen,der diese Lasten ausgleichen soll. Obwohl man hier von <strong>Loadbalancing</strong>-Verfahren spricht,ist bisher noch keine einzige Lasteinheit von einem Prozessor zu einem anderen bewegtworden — dies ist Aufgabe des sich nun anschließenden Schedulings. Im Idealfall mussjeder Prozessor weniger Last an seine Nachbarn abgeben, als er anfänglich besitzt; dannkann der Fluss in einem einzigen Schritt erfüllt werden. Anderenfalls muss eine der untenbeschriebenen Strategien angewandt werden.6.1 Das Scheduling-ProblemDie folgende formale Beschreibung des Scheduling-Problems ist angelehnt an die in[DFM99].Gegeben sei ein Graph G <strong>mit</strong> Adjazenzmatrix A, eine Anfangslastverteilung w 0 sowieein ausgleichender Fluss x, also Ax = w 0 − w. Es wird zur Vereinfachung angenommen,dass die durch A festgelegte Richtung der Kanten jeweils der Flussrichtung entspricht,d. h. x i ≥ 0 für alle i. Es sei A = A + + A − eine Zerlegung von A in ihren positivenund negativen Anteil, also a + ij = max {a ij, 0} und a − ij = min {a ij, 0}. Gesucht ist eineZerlegung des Flusses S(x) = (˜x 0 , . . . , ˜x k−1) <strong>mit</strong> x = ∑ k−1j=0 ˜xj undso dassA˜x j = A } {{ +˜x }j + A} {{ −˜x }j = w j − w j+1 ,senden empfangenw j ≥ A +˜x j für alle j ∈ {0, . . . , k − 1}ist, wobei die Ungleichung komponentenweise erfüllt sein muss. Die Zerlegung S heißtzeitoptimal, falls k minimal ist unter all solchen Zerlegungen.6.2 Scheduling-VerfahrenEin zeitoptimales Scheduling ist schwer zu finden. Stattdessen werden in der Praxis heuristischeVerfahren verwendet; ein allgemeiner Rahmen für ein solches Verfahren ist inAlgorithmus 6.1 angegeben. Schon für die <strong>Loadbalancing</strong>-Verfahren galt die Forderung,dass sie ohne globale Kommunikation auskommen sollen. Entsprechend soll auch hier dieBestimmung des Teilflusses ˜x k in jedem Schritt nur <strong>auf</strong> lokalen Informationen beruhen.121