Professional Documents
Culture Documents
I ROZPROSZONE
Temat 2:
e-mail: Zbigniew.Tarapata@wat.edu.pl
http:// tarapata.strefa.pl/p_obliczenia_rownolegle_i_rozproszone/
Plan wykładu
zwyciężaj”
binarne
(heapsort)
Wα(n) = Θ(n2) -- działa „w miejscu”
-- dla dużych tablic
zwyciężaj”
93 87 74 65 57 45 33 27
1 87 93 65 74 45 57 27 33
2 87 65 93 45 74 27 57 33
3 65 87 45 93 27 74 33 57
4 65 45 87 27 93 33 74 57
5 45 65 27 87 33 93 57 74
6 45 27 65 33 87 57 93 74
7 27 45 33 65 57 87 74 93
8 27 33 45 57 65 74 87 93
WNIOSKI
Sekwencyjny algorytm sortowania bąbelkowego
tablicy N-elementowej potrzebuje w najgorszym
przypadku N2 czasu.
Równoległy algorytm sortowania bąbelkowego
tablicy N-elementowej potrzebuje w najgorszym
przypadku N czasu (pomijamy aspekty komunikacyjne między procesorami).
O(N2)
Sortowanie
O(N)
bąbelkowe –
Alg. alg. sekwencyjny
równoległy
4
Zadania
1 2 3 4
Procesory
Z.Tarapata, Obliczenia równoległe i rozproszone, wykład nr 2, http://tarapata.strefa.pl/p_obliczenia_rownolegle_i_rozproszone/ 9
Algorytmy i systemy równoległe – wprowadzenie,
c.d. - struktura systemu obliczeń równoległych
Interfejs
sieciowy
Pamięć
CPU
Współbieżność polega na
wykonywaniu wielu zadań w tym
samym czasie, niezależnie od liczby
użytych procesorów.
Zrównoleglenie polega na
wykonywaniu tego samego zadania
na wielu procesorach.
*) S – Single,
M – Multiple,
I – Instruction,
D – Data.
*) dla porównania:
- procesor PENTIUM-IV 1 GHz ma moc ∼1,4 G FLOPS (1,4⋅109 FLOPS)
- moc Deep Blue z 1997 r.: ∼ 10 G FLOPS.
*) Źródło: http://www.top500.org.
*) Źródło: http://www.top500.org
Z.Tarapata, Obliczenia równoległe i rozproszone, wykład nr 2, http://tarapata.strefa.pl/p_obliczenia_rownolegle_i_rozproszone/ 24
Podstawowe pojęcia z teorii obliczeń równoległych
Przykład (problem doboru topologii sieci komunikacyjnej)
g d
d
d
1 2 3
4 5 6 7
8 9
p – potęgowanie
10 * – mnożenie
+ – dodawanie
Z.Tarapata, Obliczenia równoległe i rozproszone, wykład nr 2, http://tarapata.strefa.pl/p_obliczenia_rownolegle_i_rozproszone/ 30
Podstawowe pojęcia z teorii obliczeń równoległych
Przyjmijmy oznaczenia:
xi - wynik operacji wykonywanej w wierzchołku
i grafu AGS;
fi - operacja związana z wierzchołkiem i;
Pi - numer procesora przyporządkowanego do
wykonywania operacji w i-tym wierzchołku,
i ∈W \ Wo (W0 - zbiór wierzchołków wejściowych);
ti - chwila zakończenia operacji w i-tym
wierzchołku.
Założenia:
wierzchołkom wejściowym nie są
przyporządkowane żadne procesory;
chwila ti zakończenia operacji w każdym
wierzchołku wejściowym jest równa 0;
każdy procesor wykonuje co najwyżej jedną
operację w danej chwili, tzn. jeżeli i, j ∈ W \ Wo ,
i ≠ j oraz ti = t j , to Pi ≠ Pj ;
jeżeli (i, j ) ∈ A , to t j ≥ ti + 1 co oznacza, że
operacja związana z wierzchołkiem j może być
wykonana dopiero po wykonaniu operacji
związanej z i-tym wierzchołkiem.
Z.Tarapata, Obliczenia równoległe i rozproszone, wykład nr 2, http://tarapata.strefa.pl/p_obliczenia_rownolegle_i_rozproszone/ 32
Podstawowe pojęcia z teorii obliczeń równoległych
gdzie:
max ti (H ) - czas realizacji harmonogramu H.
i∈W
Twierdzenie
• Wielkość T∞ jest równa głębokości D grafu AGS.
• T1 ≥ T p ≥ T∞ , ∀ p ≥1
Twierdzenie
Niech dla pewnego wierzchołka wyjściowego j istnieje droga z
każdego wierzchołka wejściowego.
Niech ∀i ∈W \ W0 zachodzi:
S w (i ) ≤ 2
gdzie S w (i ) =| { j ∈W : ( j, i ) ∈ A} | - stopień wewnętrzny wierzchołka i.
Wówczas zachodzi:
T∞ ≥ log 2 | W0 |
Z.Tarapata, Obliczenia równoległe i rozproszone, wykład nr 2, http://tarapata.strefa.pl/p_obliczenia_rownolegle_i_rozproszone/ 36
Podstawowe pojęcia z teorii obliczeń równoległych
Wnioski:
Dla operacji arytmetycznych założenie, że
S w (i ) ≤ 2 jest naturalne i dotyczy fizycznej
realizowalności operacji.
Głębokość AGS jest nie mniejsza niż logarytm
przy podstawie 2 z liczby wierzchołków
wejściowych w AGS.
Twierdzenie
Dla każdego p ≥ 1 zachodzi:
T1
T p ≤ T∞ +
p
Dowód:
Rozpatrzmy harmonogram H ∞ , którego realizacja trwa T∞ , tzn.
optymalny harmonogram realizacji obliczeń dla zadanego grafu G,
gdy dostatecznie duża liczba procesorów jest dostępna.
Dla dodatniej liczby całkowitej k wykorzystując harmonogram H ∞
wprowadźmy zbiór:
Ak = {i ∈ W : ti = k }
Z.Tarapata, Obliczenia równoległe i rozproszone, wykład nr 2, http://tarapata.strefa.pl/p_obliczenia_rownolegle_i_rozproszone/ 38
Podstawowe pojęcia z teorii obliczeń równoległych
Dowód, c.d.
Zbudujemy etapowo dla tego samego grafu G harmonogram H p , który
wykorzystuje tylko p procesorów.
W k-tym etapie tego nowego harmonogramu wykonamy operacje, które
w harmonogramie H ∞ zakończyły się dokładnie w chwili k-tej.
Ponieważ tylko p procesorów jest dostępnych, k-ty etap będzie zrealizowany
| Ak |
w czasie p jednostek czasu.
Czas Tp nie może być większy niż czas wymagany do zrealizowania
harmonogramu H p .
Stąd:
| Ak | T∞ | Ak | T1
T∞
Tp ≤ ∑ < ∑ + 1 = + T∞
k =1 p k =1 p p
T∞
gdzie T1 = ∑| A
k =1
k |= | W \ W0 | c.n.d.
Z.Tarapata, Obliczenia równoległe i rozproszone, wykład nr 2, http://tarapata.strefa.pl/p_obliczenia_rownolegle_i_rozproszone/ 39
Podstawowe pojęcia z teorii obliczeń równoległych
Przykład (dwie alternatywne reprezentacje AGS dla zadania)
AGS 1 T1 = 7
x1 x2 x3
T∞ = D = 3
Rozpatrzmy
p* = 4
zadanie:
x1 ⋅ x 2
* x 22 p x 2 ⋅ x3 * x1 ⋅ x3 * x = ( x1 + x2 ) ⋅ ( x2 + x3 )
+ +
x1 ⋅ x 2 + x 22 x1 ⋅ x3 + x 2 ⋅ x3 WNIOSEK:
+ Dla tego samego
x = ( x1 + x 2 )( x 2 + x 3 )
problemu może
AGS 2 istnieć wiele
T1 = 3 reprezentacji w
x1 x2 x3
T∞ = D = 2 postaci AGS
p∗ = 2 różniących się
wartościami T∞ oraz
x1 + x 2 + x 2 + x3 + p*.
x = ( x1 + x 2 )( x 2 + x3 )
*
Z.Tarapata, Obliczenia równoległe i rozproszone, wykład nr 2, http://tarapata.strefa.pl/p_obliczenia_rownolegle_i_rozproszone/ 40
Podstawowe pojęcia z teorii obliczeń równoległych
Wielkość
T p∗ = T p (G ∗ ) = min T p (G )
G∈ G
T ∗ (n )
S p (n ) = ≤p
T p (n )
a efektywnością algorytmu równoległego liczbę
S p (n ) T ∗ (n )
E p (n ) = = ≤1
p p ⋅ T p (n )
gdzie:
T *(n) – złożoność najlepszego sekwencyjnego algorytmu
na jednym procesorze (jeśli mamy AGS, to T *(n) = T1(n));
Tp(n) – złożoność algorytmu rozwiązywania problemu
o rozmiarze n na p procesorach.
Z.Tarapata, Obliczenia równoległe i rozproszone, wykład nr 2, http://tarapata.strefa.pl/p_obliczenia_rownolegle_i_rozproszone/ 42
Podstawowe pojęcia z teorii obliczeń równoległych
Przykład
n
Zadanie obliczeniowe ma postać: a = ∑ xi ⋅ yi , xi , yi ∈ ℜ
i =1
Przy użyciu n procesorów zadanie to można
rozwiązać w czasie Tn (n ) = log n + 1 dwuetapowo.
W pierwszym etapie każdy i-ty procesor oblicza
wartość xi ⋅ yi , a następnie w drugim etapie dodaje
n uzyskanych liczb w czasie log n .
Najlepszy algorytm dla jednego procesora wymaga
czasu T ∗ (n ) = 2n − 1 . Stąd przyspieszenie
i efektywność dla n procesorów:
2n − 1 2n − 1
S n (n ) = En (n ) =
log n + 1 n(log n + 1)
Z.Tarapata, Obliczenia równoległe i rozproszone, wykład nr 2, http://tarapata.strefa.pl/p_obliczenia_rownolegle_i_rozproszone/ 43
Podstawowe pojęcia z teorii obliczeń równoległych
Przykład, c.d.
T3 = 3 = log 3 + 1
x1 ⋅ y1 *
7 x2 ⋅ y2 *
x3 ⋅ y3 *
8 9 T∗ 5
S3 = = = 1,67
T3 3
+
x1 y1 + x2 y2 T∗ 5
10
E3 = = = 0,55
11 n ⋅ T3 3 ⋅ 3
+
x1 y1 + x2 y2 + x3 y3
T3 = min max ti (H (G )) = 3
H*(G)={(7,1,1),(8,2,1),(9,3,1),(10,1,2),(11,1,3)} H (G )∈H i∈W
Z.Tarapata, Obliczenia równoległe i rozproszone, wykład nr 2, http://tarapata.strefa.pl/p_obliczenia_rownolegle_i_rozproszone/ 44
Dziękuję za uwagę