Zadania jednorodne 5.A.Modele przetwarzania równoległego Rafał Walkowiak Przetwarzanie równoległe Politechnika Poznańska
Zadania jednorodne 5.A.Modele przetwarzania równoległego
Rafał Walkowiak
Przetwarzanie równoległe
Politechnika Poznańska
Model zadania jednorodnego 2
Zadanie podzielne
• Zadanie podzielne (ang. divisible task) – może
zostać podzielone na części o dowolnym
rozmiarze, które mogą być przetwarzane
współbieżnie i niezależnie od siebie.
• W aplikacjach równoległych mieszczących się w
kategorii zadań podzielnych nie występują
zależności kolejnościowe między zadaniami oraz
zadania mogą mieć niewielki rozmiar.
Model zadania jednorodnego 3
Parametry modelu (1)m - liczba komputerów – komputer (węzeł przetwarzający):
procesor, pamięć, podsystem komunikacyjny (sprzęt lub
oprogramowanie) . Komputer posiadający dedykowany układ komunikacyjny może równocześnie
realizować przetwarzanie i komunikację.
Komputery - węzły przetwarzające są oznaczone przez Pi. Jeżeli nie podano
inaczej P1 posiada wszystkie dane na początku przetwarzania.
V – dane do przetworzenia (miara pracy do wykonania)
znajdujące się w wyróżnionym jednym węźle.
i – wielkość danych przetwarzana na procesorze Pi –
i =V
Model zadania jednorodnego 4
Parametry modelu (2)
• Ai – czas przetwarzania jednostki danych -
odwrotność prędkości dla Pi
• Ai i – czas przetwarzania danych i na procesorze Pi
• Si+ i Ci – czas przesyłania i jednostek danych
pomiędzy dwoma procesorami, Si – czas
zainicjowania transmisji, Ci – współczynnik
prędkości transmisji – odwrotność prędkości.
Model zadania jednorodnego 5
Optymalizacja czasu przetwarzania
równoległego
• Minimalizacja czasu przetwarzania (obliczeń i
komunikacji) danych w systemie składającym się z
określonej liczby węzłów przetwarzających tworzących z
siecią połączeń komunikacyjnych określoną architekturę
systemu równoległego.
• Optymalizacja uwzględnia:
– możliwy, dowolny(optymalny) lub określony sposób rozsyłania
danych: kolejność przesłań, trasa komunikatu.
– jedno- lub wielo- krotne zrównoleglenie obliczeń i komunikacji,
– jedno- lub wielo- krotne rozsyłanie do każdego z węzłów.
Model zadania jednorodnego 6
Szeregowanie zadań jednorodnych w sieci
komputerów
1. Zakładamy, ze wyniki nie są zwracane do węzła
będącego źródłem danych. Rozszerzenie
uwzględniające zbieranie wyników może być
łatwo wprowadzone i nie wpływa znacząco na
złożoność metody.
2. Zakończenie przetwarzania poszczególnych
procesorów uczestniczących w obliczeniach
następuje możliwie równocześnie. Różnice
wynikają z ziarnistości danych.
Model zadania jednorodnego 7
Łańcuch procesorówrównoczesne przetwarzanie i komunikacja
Komunikacja i przetwarzanie w łańcuchu procesorów
Dane nieprzetwarzane przez pierwszy procesor są przesyłane do następnego, ten z kolei dzieli je na
przetwarzane lokalnie i przesyłane dalej, które przesyła do następnego wolnego procesora.
Przetwarzanie na wysyłającym dane procesorze trwa tak długo jak wysyłanie danych do następnego
i przetwarzanie danych na następnym procesorze.
Model zadania jednorodnego 8
Łańcuch procesorów
równoczesne przetwarzanie i komunikacja - równania
Model- wersja ciągła:
Optymalizacja czasu przetwarzania równoznaczna z jednoczesnym zakończeniem obliczeń na wszystkich biorących w przetwarzaniu procesorach – jeżeli któryś liczyłby dłużej ...
• iAi=Si+(i+1+...+ m)Ci+ i+1Ai+1 i=1,..,m
• V= 1+ 2+...+ m
• 1, 2,.., m 0
Jeśli brak rozwiązania to założona została zbyt duża liczba procesorów.
Model zadania jednorodnego 9
Łańcuch procesorów
równoczesne przetwarzanie i komunikacja - równania
Model matematyczny wersja dyskretna:
Minimalizacja czasu pracy najdłużej pracującego procesora:
Min T
1. T Ti
2. T1 = 1A1
3. T2 = x2 S1 +(V-1)C1+ 2A2
4. T3 = x2 S1 +(V-1)C1 + x3S2+3C2+3A3
5. Vx2 (V-1)
6. Vx3 (V-1- 2)
7. i = V
8. i 0 całkowite i=1..3
5-6 warunek uczestnictwa w przetwarzaniu kolejnych elementów łańcucha , jeżeli
>0 dla i k to xk=1w przeciwnym razie xk może być równe 1.
Model zadania jednorodnego 10
Łańcuch procesorów
równoczesne przetwarzanie i komunikacja - równania
Model matematyczny wersja dyskretna bez zmiennych binarnych:
Minimalizacja czasu pracy najdłużej pracującego procesora:
Min T
1. T Ti
2. T1 = 1A1
3. T2 = S1 +(V-1)C1+ 2A2
4. T3 = S1 +S2+(V-1)C1+(V-1-2)C2+3A3
5. . i = V
6. i > 0 całkowite i=1..3
Określenie optymalnej liczby procesorów: znana, gdy wszystkie obliczają, a większa i mniejsza liczba procesorów daje dłuższe czasy przetwarzania; liczbę procesorów w sformułowaniu należy zmniejszyć jeżeli część z procesorów nie jest
wykorzystana - i =0.
Model zadania jednorodnego 11
Łańcuch procesorów
brak równoczesnego lokalnego przetwarzania i komunikacji
Model matematyczny - wersja ciągła:
Optymalizacja czasu przetwarzania równoznaczna z jednoczesnym zakończeniem obliczeń na wszystkich biorących w przetwarzaniu procesorach.
• iAi=Si+1+(i+2+...+ m)Ci+1+ i+1Ai+1 i=1,..,m-1
• m-1Am-1=mAm
• V= 1+ 2+...+ m
• 1, 2,.., m 0
Jeśli brak rozwiązania to założona zbyt duża liczba procesorów.
Model zadania jednorodnego 12
Łańcuch procesorów
brak równoczesnego lokalnego przetwarzania i komunikacjiModel - wersja dyskretna:
Minimalizacja czasu pracy najdłużej pracującego procesora:
Min T
1. T Ti
2. T1 = x1 S2 +(V-1)C2+ 1A1
3. T2 = x1 S2 +(V-1)C2+ x2 S3 +(V-1- 2)C3 + 2A2
4. T3 = x1 S2 +(V-1)C2+ x2 S3 +(V-1- 2)C3 + 3A2
5. Vx1 (V-1)
6. Vx2 (V-1- 2)
7. i = V
8. i 0 całkowite i=1..3
5-6 warunek uczestnictwa w przetwarzaniu kolejnych elementów łańcucha , jeżeli
>0 dla i k to xk=1w przeciwnym razie xk może być równe 1.
Model zadania jednorodnego 13
Łańcuch procesorów
brak równoczesnego lokalnego przetwarzania i komunikacjiModel - wersja dyskretna bez zmiennych binarnych:
Minimalizacja czasu pracy najdłużej pracującego procesora:
Min T
1. T Ti
2. T1 = S2 +(V-1)C2+ 1A1
3. T2 = S2 +(V-1)C2+ S3 +(V-1- 2)C3 + 2A2
4. T3= ...
5. Tm-1 = S2 +(V-1)C2+ ..+Sm + mCm+m-1Am-1
6. Tm = S2 +(V-1)C2+ ..+Sm + mCm +mAm
7. i = V
8. i > 0 całkowite i=1..m
Określenie optymalnej liczby procesorów: znana, gdy wszystkie obliczają, a większa i mniejsza liczba procesorów daje dłuższe czasy przetwarzania; liczbę procesorów w sformułowaniu należy zmniejszyć jeżeli część z
procesorów nie jest wykorzystana - i =0.
Model zadania jednorodnego 14
Architektura gwiazdy
równoczesne przetwarzanie i komunikacja
Proces rozsyłania i obliczania danych w strukturze gwiazdy bez zwracania wyników. W przypadku równoczesnego zakończenia przetwarzania czas przetwarzania na procesorze i-1 jest równy czasowi przetwarzania na procesorze i i czasowi przesyłania danych do procesora i.
Powyższy sposób rozsyłania pod względem dostępności medium odpowiada magistrali. Możliwa także wersja rozsyłania komunikatów w gwieździe, gdy komunikacje są zrównoleglone.
Model zadania jednorodnego 15
Architektura gwiazdy
równoczesne przetwarzanie i komunikacja
Model- wersja ciągła:
Optymalizacja czasu przetwarzania równoznaczna z jednoczesnym zakończeniem obliczeń na wszystkich biorących w przetwarzaniu procesorach, założono (por. rysunek) równoczesność jednej komunikacji z przetwarzaniem
• iAi=Si+1+i+1(Ai+1 + Ci+1) i=1,..,m-1
• V= 1+ 2+...+ m
• 1, 2,.., m 0
Brak rozwiązania gdy założona zbyt duża liczba procesorów.
Model zadania jednorodnego 16
Architektura gwiazdy
równoczesne przetwarzanie i komunikacja
• W przypadku gwiazdy dla optymalizacji przetwarzania znaczenie ma kolejność, w jakiej do procesorów wysyłane są dane.
• Jeżeli prędkości łączy są różne (i można zaniedbać S), to dane wysyłamy w kolejności nie rosnących prędkości łączy komunikacyjnych - bez uwzględnienia prędkości procesorów.
• W przypadku równej prędkości łączy wpierw wysyłamy do szybszego procesora. Jeżeli gałąź struktury składa się z wielu węzłów to uwzględniamy całą moc obliczeniową, która może się zmieniać ze zmianą ilości przetwarzanych danych w gałęzi.
• W przypadku braku równoczesności przetwarzania i komunikacji równanie ze strony poprzedniej dla i =1 przyjmuje postać 1A1=mAm
Model zadania jednorodnego 17
Uwagi uzupełniające• Dalsza optymalizacja przetwarzania polega na skróceniu czasu oczekiwania na
rozpoczęcie przetwarzania przez poszczególne procesory.
• Jest to możliwe wtedy, gdy dane do każdego procesora nie będą przesyłane jednokrotnie, lecz w wielu paczkach. Pierwsza paczka pozwala na jak najwcześniejsze rozpoczęcie obliczeń. Kolejne dane docierają do węzłów w czasie, gdy te już obliczają. Podejście to nawet przy braku zrównoleglenia komunikacji i przetwarzania pozwala na zrównoleglenie
komunikacji w systemie (komunikacja potokowa).
• Dla optymalizacji przetwarzania (model dyskretny) wprowadza się zmienne określające momenty rozpoczęcia kolejnych komunikacji i rozpoczęcia przetwarzania kolejnej porcji danych na każdym procesorze. Praca nad kolejną partią danych jest możliwa po otrzymaniu jej i zakończeniu pracy nad poprzednią partią danych.
• W systemach ze zrównolegleniem obliczeń i komunikacji wcześniejsze rozpoczęcie przetwarzania na danym węźle możliwe, gdy wpierw wyślemy dane przeznaczone tylko dla niego, a następnie gdy już liczy, będzie „w tle” odbierał i przesyłał dalej dane do kolejnych procesorów.
• Dalsze informacje (opis, symulacje, obliczenia dla modelu ciągłego) na temat modelu zadań jednorodnych:
http://www.cs.put.poznan.pl/mdrozdowski/divisible/
• W wykładzie wykorzystano rysunki udostępnione na powyższej stronie www.
Model zadania jednorodnego 18
Wielokrotne rozsyłanie danychgwiazda, komunikacja i obliczenia szeregowo
komunikacja
obliczenia
P0
P1
P2
Model zadania jednorodnego 19
Wielokrotne rozsyłanie danychgwiazda, komunikacja i obliczenia szeregowo
Notacja:
m – liczba procesorów bez procesora centralnego
p – liczba cykli rozsyłania danych
n – całkowita liczba paczek rozsyłanych n=m*p
i – wielkość i-tej paczki, i=n to 1. paczka do n- tego procesora, i=1 to ostatnia paczka do pierwszego procesora
0- dane przetwarzane przez procesor centralny
ti- moment rozpoczęcia transmisji danych i
Ti- czas zakończenia przetwarzania procesora Pi
T* - czas przetwarzania systemu
V – ilość przetwarzanych danych
Model zadania jednorodnego 20
Wielokrotne rozsyłanie danychgwiazda, komunikacja i obliczenia szeregowo
Min T*
przy ograniczeniach:
1. ti-1>=ti+C i +S dla 1<i<=n – wysłanie każdej paczki po przesłaniu
wcześniejszej
2. ti-m>=ti+C i +S+A i dla m<i<=n – odebranie kolejnej paczki po obliczeniach wcześniejszej
3. i=0 mp i =V
4. Ti>= ti+ i (A+C)+S dla i=1..m – zakończenie obliczeń po obliczeniu ostatniej paczki dla tego procesora
5. T0=t1+S+C 1+A 0 – początek obliczeń po wysłaniu ostatniej paczki do pierwszego procesora
6. T*>=Ti dla i=0..m
7. Ti ,ti , i >= 0
8. i całkowite
Model zadania jednorodnego 21
Zadanie projektowe - laboratorium
Temat: optymalizacja przetwarzania równoległego za pomocą modelu zadania jednorodnego.
Zadania:
1. Sformułowanie równań dla określonej struktury maszyny równoległej i typu komunikacji (model dyskretny) – modelujemy rzeczywisty systemu Parastation dostępny przez transputery.cs.put.poznan.pl.
2. Rozwiązanie modeli programem optymalizującym: lp_solve (dostępny w sekcji pobierz serwera transputery.cs.put.poznan.pl)
3. Wyznaczenie parametrów maszyny równoległej Ai,Ci, Si za pomocą programów na transputery.
4. Uruchomienie przetwarzania w systemie równoległym zgodnie z optymalnym, uzyskanym z obliczeń sposobem podziału zadania. Organizacja przetwarzania zgodnie z określonym typem komunikacji –program na transputery.
5. Porównanie wyników dla modelu i dla systemu rzeczywistego, znalezienie przyczyny ewentualnych różnic.