Model przetwarzania równoległego

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

Transcript of Model 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 – 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.