Upload
others
View
0
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 2010/2011
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.
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
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.
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.
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)
Ł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.
Ł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
Ł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.
Ł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
Ł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
Ł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.
Ł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.
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.
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
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
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)
• 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.
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
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
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
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)
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
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
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ł.
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.