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

Model przetwarzania równoległego

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

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.