

| Þ logarithmische Laufzeit bei | n | Prozessoren für n Input-Knoten |
| 2 |



| die benötigte Zeit ist dann O( | T(n)P(n) | ) |
| p |
| O( | T(n)P(n) | ) Zeit für eine Zahl p ≤ P(n) |
| p |
| O( | C(n) | + T(n)) Zeit für eine beliebige Zahl von p Prozessoren |
| p |



| 1 globalRead(A[i],a) 2 globalWrite(a,B[i]) 3 for k:=1 to log(n) do |
||
| 4 if i≤ | n | then |
| 2k | ||
| 5 globalRead(B[2i-1],x) 6 globalRead(B[2i],y) 7 z:=x+y 8 globalWrite(z;B[i]) 9 if i=1 then globalWrite(z;S) end for |
||

| auf Höhe k werden | n | Prozessoren benötigt |
| 2k |
| die benötigte Zeit ist dann O( | T(n)P(n) | ) |
| p |
| O( | T(n)P(n) | ) Zeit für eine Zahl p ≤ P(n) |
| p |
| O( | C(n) | + T(n)) Zeit für eine beliebige Zahl von p Prozessoren |
| p |
| l= | n | ist die Größe des Teilproblems, dass einer der Prozessoren am Anfang lösen muss |
| p |
| (es gilt k-h-q ≥ 0) | n | ≥ p |
| 2k |
| 1 for 1≤i≤n pardo 2 setze B[i]=A[i] //eine time-Unit 3 for h:=1 to log(n) //do Ebenen nacheinander |
|
||
| 4 for 1 ≤ i ≤ | n | pardo | |
| 2h | |||
| 5 B[i]:=B[2i-1]+B[2i] innerhalb der Ebene parallel! | |||

| →Einsatz von | n | Prozessoren für die Berechnung der log n langen Teilsummen |
| log(n) |

| C(n) = | n log n
mit n Prozessoren
|
| Grund: bei Verwendung von nur | n | Prozessoren sind weniger Prozessoren idle |
| log n |
| j-te "verbraucht" | n | Operationen für 2 ≤ j ≤ 1+ log n |
| 2j-1 |
| die work ist damit W(n) = n + Σ | log n | n | + 1 Î O(n) |
| j=1 | 2j |
| die benötigte Zeit ist dann O( | T(n)P(n) | ) |
| p |
| O( | T(n)P(n) | ) Zeit für eine Zahl p ≤ P(n) |
| p |
| O( | C(n) | + T(n)) Zeit für eine beliebige Zahl von p Prozessoren |
| p |

| →Einsatz von | n | Prozessoren für die Berechnung der log n langen Teilsummen |
| log(n) |

| C(n) = | n log n
mit n Prozessoren
|
| Grund: bei Verwendung von nur | n | Prozessoren sind weniger Prozessoren idle |
| log n |
| Speedup: Sp(n) = | T*(n) | |
| Tp(n) |
| Effizienz Ep(n) = | T1(n) | |
| p·Tp(n) |
| Þ Ep(n) ≤ | T1(n) | |
| p·T∞(n) |
| Tp(n) ≤ \floor{ | W(n) | } + T(n) parallelen Schritten simulieren |
| p |
| jeder Schritt Wi kann in \ceil{ | Wi(n) | } Parallel-Schritten mit p Prozessoren realisiert werden |
| p |
| Zahl der Takte ≤ \sum{i}\ceil{ | Wi(n) |
|
||||||||
| p |
| Tp(n) = O( | T*(n) | + T(n)) |
| p |
| Þ Speedup Sp(n) = Ω( | T*(n) |
|
||||
|
| Þ optimaler Speedup (Sp(n) = Θ(p)) für p = O( | T*(n) | ) |
| T(n) |