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

Upload: dianne

Post on 07-Jan-2016

33 views

Category:

Documents


0 download

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

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.