26
Zadania jednorodne 5.A.Modele przetwarzania równoleglego Rafal Walkowiak Przetwarzanie równolegle Politechnika Poznańska 2010/2011

mod zad jed.ppt [tryb zgodno [ci]...dowolnym rozmiarze, które mog ą by ć przetwarzane współbie żnie i niezale żnie od Model zadania jednorodnego 2 siebie. • W aplikacjach

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: mod zad jed.ppt [tryb zgodno [ci]...dowolnym rozmiarze, które mog ą by ć przetwarzane współbie żnie i niezale żnie od Model zadania jednorodnego 2 siebie. • W aplikacjach

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

Rafał Walkowiak

Przetwarzanie równoległe

Politechnika Poznańska 2010/2011

Page 2: mod zad jed.ppt [tryb zgodno [ci]...dowolnym rozmiarze, które mog ą by ć przetwarzane współbie żnie i niezale żnie od Model zadania jednorodnego 2 siebie. • W aplikacjach

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

Model zadania jednorodnego 2

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 te mogą mieć niewielki rozmiar.

Page 3: mod zad jed.ppt [tryb zgodno [ci]...dowolnym rozmiarze, które mog ą by ć przetwarzane współbie żnie i niezale żnie od Model zadania jednorodnego 2 siebie. • W aplikacjach

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

Model zadania jednorodnego 3

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 i=1..m

Page 4: mod zad jed.ppt [tryb zgodno [ci]...dowolnym rozmiarze, które mog ą by ć przetwarzane współbie żnie i niezale żnie od Model zadania jednorodnego 2 siebie. • W aplikacjach

Parametry modelu (2)

• Ai – czas przetwarzania jednostki danych -odwrotność prędkości - dla Pi

• Ai αi – czas przetwarzania danych αi na procesorze Pi• S + α C – czas przesyłania α jednostek danych

Model zadania jednorodnego 4

• Si+ αi Ci – czas przesyłania αi jednostek danych pomiędzy dwoma procesorami,

• Si – czas zainicjowania transmisji, • Ci – współczynnik prędkości transmisji danych łączem

komunikacyjnym – odwrotność prędkości, zakładamy stałą wartość współczynnika i brak równoczesności transmisji jednym łączem.

Page 5: mod zad jed.ppt [tryb zgodno [ci]...dowolnym rozmiarze, które mog ą by ć przetwarzane współbie żnie i niezale żnie od Model zadania jednorodnego 2 siebie. • W aplikacjach

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ą

Model zadania jednorodnego 5

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: mod zad jed.ppt [tryb zgodno [ci]...dowolnym rozmiarze, które mog ą by ć przetwarzane współbie żnie i niezale żnie od Model zadania jednorodnego 2 siebie. • W aplikacjach

Szeregowanie zadań jednorodnych w systemie wielokomputerowym

1. 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 (jeśli jest uwzględniana).

Model zadania jednorodnego 6

uwzględniana).2. 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 zostać w modelu uwzględnione, lecz nie wpływa znacząco na złożoność metody.

3. ZADANIA JEDNORODNE (M.Drozdowski)

Page 7: mod zad jed.ppt [tryb zgodno [ci]...dowolnym rozmiarze, które mog ą by ć przetwarzane współbie żnie i niezale żnie od Model zadania jednorodnego 2 siebie. • W aplikacjach

Łańcuch procesorówrównoczesne obliczenia i komunikacja

Komunikacja i przetwarzanie w łańcuchu procesorów

Model zadania jednorodnego 7

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: mod zad jed.ppt [tryb zgodno [ci]...dowolnym rozmiarze, które mog ą by ć przetwarzane współbie żnie i niezale żnie od Model zadania jednorodnego 2 siebie. • W aplikacjach

Łańcuch procesorówrównoczesne obliczenia i komunikacja

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 ...

Model zadania jednorodnego 8

procesorach – jeżeli któryś liczyłby dłużej ...

αiAi = Si+(αi+1+...+ αm) Ci+ αi+1 A i+1 i=1,..,mV = α1+ α2+...+ αm

α1, α2,.., αm ≥ 0

Page 9: mod zad jed.ppt [tryb zgodno [ci]...dowolnym rozmiarze, które mog ą by ć przetwarzane współbie żnie i niezale żnie od Model zadania jednorodnego 2 siebie. • W aplikacjach

Łańcuch procesorówrównoczesne obliczenia i komunikacja

Model matematyczny wersja dyskretna bez zmiennych binarnych:

Minimalizacja czasu pracy najdłużej pracującego procesora:Min T1. T ≥ Ti i=1..32. T1 = α1A1

3. T2 = S1 +(V-α1)C1+ α2A2

Model zadania jednorodnego 9

3. T2 = S1 +(V-α1)C1+ α2A2

4. T3 = S1 +S2+(V-α1)C1+(V-α1-α2)C2+α3A3

5. . Σ αi = V6. αi >= 0 i całkowite dla 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. Uwaga! liczbę procesorów w modelu należy zmniejszyć jeżeli część z procesorów nie jest wykorzystana - αi =0.

Page 10: mod zad jed.ppt [tryb zgodno [ci]...dowolnym rozmiarze, które mog ą by ć przetwarzane współbie żnie i niezale żnie od Model zadania jednorodnego 2 siebie. • W aplikacjach

Łańcuch procesorówrównoczesne obliczenia i komunikacja

Min T1. T ≥ Ti i=1..32. T1 = α1A1

3. T = x S +(V-α )C + α A

Model matematyczny wersja dyskretna:

Minimalizacja czasu pracy najdłużej pracującego procesora:

Model zadania jednorodnego 10

3. T2 = x2 S1 +(V-α1)C1+ α2A2

4. T3 = x2 S1 +(V-α1)C1 + x3S2+α3C2+α3A3

5. Vx2 ≥ α2+ α3 -- ograniczenie wymusza x2=1 gdy dane są przesyłane (za względu na int xi i minimalizację)

6. Vx3 ≥ α3

7. Σ αi = V8. αi ≥ 0 , xi>0 i int5-6 ograniczenia dla wartości xi, minimalizacja powoduje dążenie do xi=0

Page 11: mod zad jed.ppt [tryb zgodno [ci]...dowolnym rozmiarze, które mog ą by ć przetwarzane współbie żnie i niezale żnie od Model zadania jednorodnego 2 siebie. • W aplikacjach

Łańcuch procesorówbrak równoczesnych lokalnych obliczeń 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.

Model zadania jednorodnego 11

αiAi = S i+1+(αi+2+...+ αm)C i+1+ α i+1 A i+1

i=1,..,m-1

αm-1 A m-1 = αm Am

V = α1+ α2+...+ αm

α1, α2,.., αm ≥ 0

Page 12: mod zad jed.ppt [tryb zgodno [ci]...dowolnym rozmiarze, które mog ą by ć przetwarzane współbie żnie i niezale żnie od Model zadania jednorodnego 2 siebie. • W aplikacjach

Łańcuch procesorówbrak równoczesnych lokalnych obliczeń i komunikacjiModel - wersja dyskretna bez zmiennych binarnych:Minimalizacja czasu pracy najdłużej pracującego procesora:Min T1. T ≥ Ti i=1..32. T1 = S2 +(V-α1)C2+ α1A1

3. T2 = S2 +(V-α1)C2+ S3 +(V-α1- α2)C3 + α2A2

4. T3= ...

Model zadania jednorodnego 12

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 = V8. αi > 0 i całkowite dla i=1..mOkreś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.

Page 13: mod zad jed.ppt [tryb zgodno [ci]...dowolnym rozmiarze, które mog ą by ć przetwarzane współbie żnie i niezale żnie od Model zadania jednorodnego 2 siebie. • W aplikacjach

Łańcuch procesorówbrak równoczesnych lokalnych obliczeń i komunikacji

Model - wersja dyskretna:

Minimalizacja czasu pracy najdłużej pracującego procesora:Min T1. T ≥ Ti i=1..32. T1 = x1 S2 +(V-α1)C2+ α1A1

3. T2 = x1 S2 +(V-α1)C2+ x2 S3 +(V-α1- α2)C3 + α2A2

Model zadania jednorodnego 13

2 1 2 1 2 2 3 1 2 3 2 2

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 = V8. αi ≥ 0 i całkowite dla i=1..35-6 warunek uczestnictwa w przetwarzaniu kolejnych elementów łańcucha ,

jeżeli Σ αi >0 dla i ≥ k to xk=1w przeciwnym razie xk może być równe 0.

Page 14: mod zad jed.ppt [tryb zgodno [ci]...dowolnym rozmiarze, które mog ą by ć przetwarzane współbie żnie i niezale żnie od Model zadania jednorodnego 2 siebie. • W aplikacjach

Architektura systamu: gwiazdarównoczesne obliczenia i komunikacja

Model zadania jednorodnego 14

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 (z proc. 1)

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 różnymi łączami są zrównoleglone.

Page 15: mod zad jed.ppt [tryb zgodno [ci]...dowolnym rozmiarze, które mog ą by ć przetwarzane współbie żnie i niezale żnie od Model zadania jednorodnego 2 siebie. • W aplikacjach

Architektura: gwiazda równoczesne obliczenia 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

Model zadania jednorodnego 15

biorących w przetwarzaniu procesorach, założono (por. rysunek) równoczesność jednej komunikacji z przetwarzaniem.

• αi Ai = S i+1+α i+1(A i+1 + C i+1) i=1,..,m-1• V = α1+ α2+...+ αm

• α1, α2,.., αm ≥ 0

Page 16: mod zad jed.ppt [tryb zgodno [ci]...dowolnym rozmiarze, które mog ą by ć przetwarzane współbie żnie i niezale żnie od Model zadania jednorodnego 2 siebie. • W aplikacjach

Architektura: gwiazdaróżne przypadki

• W przypadku gwiazdy dla optymalizacji przetwarzania znaczenie ma kolejność wysyłania danych do procesorów.

• 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.

Model zadania jednorodnego 16

procesorów.• W przypadku równej prędkości łączy wpierw wysyłamy dane

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 węzłów przetwarzających w gałęzi (funkcja ilości danych).

• W przypadku braku równoczesności obliczeń i komunikacji równanie ze strony poprzedniej dla i =1 przyjmuje postać α1A1=αmAm,, pozostałe równania bez zmian

Page 17: mod zad jed.ppt [tryb zgodno [ci]...dowolnym rozmiarze, które mog ą by ć przetwarzane współbie żnie i niezale żnie od Model zadania jednorodnego 2 siebie. • W aplikacjach

Uwagi uzupełniające do prostych modeli• 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 lokalnej równoległości komunikacji i obliczeń pozwala na zrównoleglenie komunikacji w systemie (komunikacja potokowa).

• Dla optymalizacji przetwarzania wprowadza się dodatkowe zmienneokreślające momenty rozpoczęcia kolejnych komunikacji i/lub rozpoczęcia

Model zadania jednorodnego 17

określające momenty rozpoczęcia kolejnych komunikacji i/lub rozpoczęcia przetwarzania kolejnej porcji danych na każdym procesorze. Praca nad kolejną partią danych jest możliwa po jej otrzymaniu i zakończeniu pracy nad poprzednią partią danych.

• W systemach ze zrównolegleniem obliczeń i komunikacji wcześniejsze rozpoczęcie przetwarzania w danym węźle jest możliwe również dzięki temu, że wpierw wyślemy dane przeznaczone tylko dla jednego procesora, a następnie gdy już liczy, będzie „w tle” odbierał i przesyłał dalej dane do kolejnych procesorów (jedno zadanie dla każdego procesora)

Page 18: mod zad jed.ppt [tryb zgodno [ci]...dowolnym rozmiarze, które mog ą by ć przetwarzane współbie żnie i niezale żnie od Model zadania jednorodnego 2 siebie. • W aplikacjach

• Dalsze informacje (opis, symulacje, obliczenia dla modelu ciągłego) na temat modelu zadań jednorodnych:

http://www.cs.put.poznan.pl/mdrozdowski/divisible/

Model zadania jednorodnego 18

http://www.cs.put.poznan.pl/mdrozdowski/divisible/

• W wykładzie wykorzystano rysunki udostępnione na powyższej stronie www.

Page 19: mod zad jed.ppt [tryb zgodno [ci]...dowolnym rozmiarze, które mog ą by ć przetwarzane współbie żnie i niezale żnie od Model zadania jednorodnego 2 siebie. • W aplikacjach

Wielokrotne rozsyłanie danychgwiazda, komunikacja i obliczenia szeregowo

α4 α2

α0P0

Model zadania jednorodnego 19

α3 α1

komunikacja

P2

P1

obliczenia

Przestoje: P0 nie wysyła bo czeka na koniec obliczeń P1, P2 czeka na zakończenie wcześniejszej komunikacji

Page 20: mod zad jed.ppt [tryb zgodno [ci]...dowolnym rozmiarze, które mog ą by ć przetwarzane współbie żnie i niezale żnie od Model zadania jednorodnego 2 siebie. • W aplikacjach

Wielokrotne rozsyłanie danychgwiazda, komunikacja i obliczenia szeregowo

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, paczki numerowane i

wysyłane „od końca”,

Model zadania jednorodnego 20

wysyłane „od końca”, αn to 1. paczka do m- tego procesora, α1 to ostatnia paczka

do pierwszego procesoraα0- dane przetwarzane przez procesor centralnyti- moment rozpoczęcia transmisji danych αi np. t2 >= t3Ti- czas zakończenia przetwarzania procesora Pi po obliczeniach αi

T* - czas przetwarzania systemuV – ilość przetwarzanych danych

Page 21: mod zad jed.ppt [tryb zgodno [ci]...dowolnym rozmiarze, które mog ą by ć przetwarzane współbie żnie i niezale żnie od Model zadania jednorodnego 2 siebie. • W aplikacjach

Wielokrotne rozsyłanie danychgwiazda, komunikacja i obliczenia szeregowo

Min T* przy ograniczeniach:

1. T*>=Ti dla i=0..m

2. tn=0;3. ti-1>=ti+C αi +S dla 1<i<=n – wysłanie/odebranie każdej paczki po

przesłaniu wcześniejszej (wysyłanie szeregowo różnymi łączami w węzła centralnego)

4. t >=t +C α +S+A α dla m<i<=n

Model zadania jednorodnego 21

4. ti-m>=ti+C αi +S+A αi dla m<i<=n – wysłanie/odebranie kolejnej paczki do tego samego procesora po obliczeniu wcześniejszej (szeregowo obliczenia i komunikacja lokalna)

5. Σi=0 n αi =V

6. Ti>= ti+ αi (A+C)+S dla i=1..m – zakończenie obliczeń po obliczeniu ostatniej paczki dla tego procesora (liczy po odebraniu danych)

7. T0=t1+S+C α1+A α0 – początek obliczeń 0 węzła po wysłaniu ostatniej paczki do pierwszego procesora

8. Ti ,ti , αi >= 09. αi całkowite dla i=0..n

Page 22: mod zad jed.ppt [tryb zgodno [ci]...dowolnym rozmiarze, które mog ą by ć przetwarzane współbie żnie i niezale żnie od Model zadania jednorodnego 2 siebie. • W aplikacjach

Problemy szczególne do rozwiązaniamodel i architektura aplikacji

• Struktura aplikacji w przypadku równoległego przetwarzania i komunikacji blokującej – liczba procesów obsługujących komunikację.(s)

• Odbiór danych z różnych źródeł (szeregowo lub równolegle) i przekazywanie części danych dalej.(s)

• Transmisja wielokrotna tym samym łączem.

Model zadania jednorodnego 22

• Transmisja wielokrotna tym samym łączem.• Obliczenia paczki danych po jej otrzymaniu i po

zakończeniu obliczeń wcześniej otrzymanej paczki danych.

• Usuwanie nieistniejących zależności czasowych –uniezależnienie zdarzeń od zdarzeń nie występujących.(s)

Page 23: mod zad jed.ppt [tryb zgodno [ci]...dowolnym rozmiarze, które mog ą by ć przetwarzane współbie żnie i niezale żnie od Model zadania jednorodnego 2 siebie. • W aplikacjach

Równoległe przetwarzanie i komunikacja blokująca, przesłania wielokrotne

Struktura aplikacji

KH

KHKH

SM KH

KHKH

SM

A B

Model zadania jednorodnego 23

A.Oczekiwanie na kolejną porcję danych procesu komunikacyjnego (cykliczne przeglądanie pamięci i przerywanie przetwarzania).

B.Proces zarządcy odbiera komunikaty o gotowości danych (od odbióry) i gotowości procesów (od nadawcy).Zezwala na komunikacje gdy jest ona możliwa. Proces zarządcy „zawsze gotowy” na odbiór komunikatu.

LL

KHKH

LL

KHKH

MH

Page 24: mod zad jed.ppt [tryb zgodno [ci]...dowolnym rozmiarze, które mog ą by ć przetwarzane współbie żnie i niezale żnie od Model zadania jednorodnego 2 siebie. • W aplikacjach

Usuwanie z modelu nieistniejących zależności czasowych

Uniezależnienie komunikacji od innej komunikacji (która nie zachodzi)

P1 P2ti-1 ti

tw

tk

Model zadania jednorodnego 24

tk>=ti+S+α1C równoległe odbieranie danych z tk>=tw+S+α2C dwóch źródeł,czasy rozpoczęciati>=ti-1+S+α3C- M(1-y) komunikacjiVy>=α3 , y binarne Przy minimalizacji czasu, jeżeli α3=0 to y=0 i ograniczenie

pierwsze staje się nieistotne i tk może się rozpocząć już po zakończeniu tw

Page 25: mod zad jed.ppt [tryb zgodno [ci]...dowolnym rozmiarze, które mog ą by ć przetwarzane współbie żnie i niezale żnie od Model zadania jednorodnego 2 siebie. • W aplikacjach

Sekwencyjne obliczanie dwóch porcji danych

tj ,ti momenty rozpoczęcia obliczeń paczek αj αiChcemy aby: tj>= ti+ αiA gdy tj>=ti

ti>=tj+ αj A gdy tj<tizamodelowane zostaje za pomocą równań:

tj>=ti+ αiA – M(1-y)ti>=tj+ αjA – M y

Model zadania jednorodnego 25

ti>=tj+ αjA – M y 0<=y <=1 i całkowite

dla odpowiednio dużego M gdy y=1 ograniczenie drugie jest spełnione i tylko pierwsze ograniczenie jest znaczące –zadanie i wykonuje się przed zadaniem j

Analogicznie można zamodelować sekwencyjne odbieranie danych z 2 źródeł.

Page 26: mod zad jed.ppt [tryb zgodno [ci]...dowolnym rozmiarze, które mog ą by ć przetwarzane współbie żnie i niezale żnie od Model zadania jednorodnego 2 siebie. • W aplikacjach

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 dyskretny) – modelujemy określoną przez wykładowcę architekturę.

2. Rozwiązanie modeli programem optymalizującym: lp_solve3. Prezentacja wyników optymalizacji za pomoc ą wykresów

Gantta.

Model zadania jednorodnego 26

Gantta.