Zadania jednorodne 5.A.Modele przetwarzania równoległego
description
Transcript of Zadania jednorodne 5.A.Modele przetwarzania równoległego
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 - procesor, pamięć, podsystem
komunikacyjny (sprzęt lub oprogramowanie) - węzeł przetwarzający. 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 przetwarzającym.
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ówró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ówró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 = x3{S1 +S2+(V-1)C1+(V-1-2)C2}+3A3
5. i(xi-1) 0
6. xi xi+1
7. i = V
8. i 0 całkowite
5 warunek uczestnictwa w przetwarzaniu, jeżeli i >0 to xi=16 warunek zapewniający, że tylko pierwsze i kolejne procesory uczestniczą w
przetwarzaniu
Model zadania jednorodnego 10
Łańcuch procesorówrównoczesne przetwarzanie i komunikacja - równania
Model matematyczny wersja dyskretna z liniowymi ograniczeniami (lp_solve):
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. .T4 = ....
6. i = V
7. i > 0 całkowiteOkreślenie liczby procesorów: znana, gdy wszystkie obliczają, a większa liczba
procesorów daje dłuższe czasy przetwarzania; musi być zmniejszona jeżeli część z procesorów nie jest wykorzystana.
Model zadania jednorodnego 11
Łańcuch procesorówbrak 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ówbrak równoczesnego lokalnego przetwarzania i komunikacjiModel - wersja dyskretna:Minimalizacja czasu pracy najdłużej pracującego procesora:Min T
1. T Ti
2. T1 = x2 S2 +(V-1)C2+ 1A1
3. T2 = x2( S2 +(V-1)C2+ x3 S3 +(V-1- 2)C3 + 2A2
4. Tm-1 = xm-1( S2 +(V-1)C2+ ..+ Sm + (m+m-1 )C m-1) + xmSm +mCm+m-1Am-1
5. Tm = xm( S2 +(V-1)C2+ ..+Sm) +mCm+mAm
6. i (xi-1) 0
7. xi xi+1
8. i = V
9. i 0 całkowite
6 warunek uczestnictwa w przetwarzaniu, jeżeli i >0 to xi=17 warunek zapewniający, że tylko pierwsze i kolejne procesory uczestniczą w
przetwarzaniu
Model zadania jednorodnego 13
Łańcuch procesorówbrak równoczesnego lokalnego przetwarzania i komunikacjiModel - wersja dyskretna z liniowymi ograniczeniami (lp_solve):
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
Określenie liczby procesorów: znana, gdy wszystkie obliczają, a większa liczba procesorów daje dłuższe czasy przetwarzania; musi być zmniejszona jeżeli część z procesorów nie jest wykorzystana.
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 gwiazdyró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 – założona zbyt duża liczba procesorów.
Model zadania jednorodnego 16
Architektura gwiazdyrównoczesne przetwarzanie i komunikacja
• W przypadku gwiazdy dla optymalizacji przetwarzania znaczenie ma kolejność, w jakiej do procesorów wysyłane są dane.
• Wysyłamy je w kolejności nie rosnących prędkości łączy komunikacyjnych - bez uwzględnienia prędkości procesorów.
• W przypadku braku równoczesności przetwarzania i komunikacji równanie 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” przesyłał 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 centralnegop – liczba cykli rozsyłania danychn – całkowita liczba paczek rozsyłanych n=m*p
i – wielkość i-tej paczki, i=n - 1. paczka do 1. procesora, i=1 - ostatnia paczka do ostatniego procesora
0- dane przetwarzane przez procesor centralny
ti- moment rozpoczęcia transmisji danych i
Ti- czas zakończenia przetwarzania procesora Pi
T* - czas przetwarzania systemuV – całość 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 - laboratoriumTemat: 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 ciągły i dyskretny) – modelujemy rzeczywisty systemu Parastation dostępny przez transputery.cs.put.poznan.pl.
2. Wyznaczenie parametrów maszyny równoległej Ai,Ci, Si - programy na transputery.
3. Rozwiązanie modeli analitycznie oraz programem optymalizującym: lp_solve (dostępny w sekcji pobierz serwera transputery.cs.put.poznan.pl)
4. Uruchomienie przetwarzania w systemie równoległym zgodnie z uzyskanym sposobem podziału zadania. Organizacja przetwarzania (zrównoleglenie komunikacji i przetwarzania) zgodnie z typem komunikacji – program na transputery.