Zadania jednorodne 5.A.Modele przetwarzania równoległego

21
Zadania jednorodne 5.A.Modele przetwarzania równoległego Rafał Walkowiak Przetwarzanie równoległe Politechnika Poznańska

description

Zadania jednorodne 5.A.Modele przetwarzania równoległego. Rafał Walkowiak Przetwarzanie równoległe Politechnika Poznańska. Zadanie podzielne. - PowerPoint PPT Presentation

Transcript of Zadania jednorodne 5.A.Modele przetwarzania równoległego

Page 1: 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

Page 2: Zadania jednorodne  5.A.Modele przetwarzania równoległego

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.

Page 3: Zadania jednorodne  5.A.Modele przetwarzania równoległego

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

Page 4: Zadania jednorodne  5.A.Modele przetwarzania równoległego

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.

Page 5: Zadania jednorodne  5.A.Modele przetwarzania równoległego

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.

Page 6: Zadania jednorodne  5.A.Modele przetwarzania równoległego

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.

Page 7: Zadania jednorodne  5.A.Modele przetwarzania równoległego

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.

Page 8: Zadania jednorodne  5.A.Modele przetwarzania równoległego

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.

Page 9: Zadania jednorodne  5.A.Modele przetwarzania równoległego

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

Page 10: Zadania jednorodne  5.A.Modele przetwarzania równoległego

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.

Page 11: Zadania jednorodne  5.A.Modele przetwarzania równoległego

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.

Page 12: Zadania jednorodne  5.A.Modele przetwarzania równoległego

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

Page 13: Zadania jednorodne  5.A.Modele przetwarzania równoległego

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.

Page 14: Zadania jednorodne  5.A.Modele przetwarzania równoległego

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.

Page 15: Zadania jednorodne  5.A.Modele przetwarzania równoległego

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.

Page 16: Zadania jednorodne  5.A.Modele przetwarzania równoległego

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

Page 17: Zadania jednorodne  5.A.Modele przetwarzania równoległego

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.

Page 18: Zadania jednorodne  5.A.Modele przetwarzania równoległego

Model zadania jednorodnego 18

Wielokrotne rozsyłanie danychgwiazda, komunikacja i obliczenia szeregowo

komunikacja

obliczenia

P0

P1

P2

Page 19: Zadania jednorodne  5.A.Modele przetwarzania równoległego

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

Page 20: Zadania jednorodne  5.A.Modele przetwarzania równoległego

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

Page 21: Zadania jednorodne  5.A.Modele przetwarzania równoległego

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.