210 likes | 331 Views
Zadania jednorodne 5.A.Modele przetwarzania równoległego. Rafał Walkowiak Przetwarzanie równoległe Politechnika Poznańska. Zadanie podzielne.
E N D
Zadania jednorodne 5.A.Modele przetwarzania równoległego Rafał Walkowiak Przetwarzanie równoległe Politechnika Poznańska
Model zadania jednorodnego 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 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
Model zadania jednorodnego Parametry modelu (2) • Ai – czas przetwarzania jednostki danych -odwrotność prędkości dla Pi • Aii – czas przetwarzania danych i na procesorze Pi • Si+ iCi – 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 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 Szeregowanie zadań jednorodnych w sieci komputerów • 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. • 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 Ł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 Ł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.
Model zadania jednorodnego Ł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 • T Ti • T1 = 1A1 • T2 = x2 S1 +(V-1)C1+ 2A2 • T3 = x3{S1 +S2+(V-1)C1+(V-1-2)C2}+3A3 • i(xi-1) 0 • xi xi+1 • i = V • i 0 całkowite 5 warunek uczestnictwa w przetwarzaniu, jeżeli i >0 to xi=1 6 warunek zapewniający, że tylko pierwsze i kolejne procesory uczestniczą w przetwarzaniu
Model zadania jednorodnego Ł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 • T Ti • T1 = 1A1 • T2 = S1 +(V-1)C1+ 2A2 • T3 = S1 +S2+(V-1)C1+(V-1-2)C2+3A3 • .T4 = .... • i = V • 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.
Model zadania jednorodnego Ł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.
Model zadania jednorodnego Łańcuch procesorówbrak równoczesnego lokalnego przetwarzania i komunikacji Model - wersja dyskretna: Minimalizacja czasu pracy najdłużej pracującego procesora: Min T • T Ti • T1 = x2 S2 +(V-1)C2+ 1A1 • T2 = x2( S2 +(V-1)C2+ x3 S3 +(V-1- 2)C3 + 2A2 • Tm-1 = xm-1( S2 +(V-1)C2+ ..+ Sm + (m+m-1 )C m-1) + xmSm +mCm+m-1Am-1 • Tm = xm( S2 +(V-1)C2+ ..+Sm) +mCm+mAm • i (xi-1) 0 • xi xi+1 • i = V • i 0 całkowite 6 warunek uczestnictwa w przetwarzaniu, jeżeli i >0 to xi=1 7 warunek zapewniający, że tylko pierwsze i kolejne procesory uczestniczą w przetwarzaniu
Model zadania jednorodnego Łańcuch procesorówbrak równoczesnego lokalnego przetwarzania i komunikacji Model - wersja dyskretna z liniowymi ograniczeniami (lp_solve): Minimalizacja czasu pracy najdłużej pracującego procesora: Min T • T Ti • T1 = S2 +(V-1)C2+ 1A1 • T2 = S2 +(V-1)C2+ S3 +(V-1- 2)C3 + 2A2 • T3= ... • Tm-1 = S2 +(V-1)C2+ ..+Sm + mCm+m-1Am-1 • Tm = S2 +(V-1)C2+ ..+Sm + mCm +mAm • i = V • 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.
Model zadania jednorodnego 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 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.
Model zadania jednorodnego 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
Model zadania jednorodnego 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.
Model zadania jednorodnego Wielokrotne rozsyłanie danychgwiazda, komunikacja i obliczenia szeregowo P0 P1 P2 komunikacja obliczenia
Model zadania jednorodnego 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 - 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 systemu V – całość przetwarzanych danych
Model zadania jednorodnego Wielokrotne rozsyłanie danychgwiazda, komunikacja i obliczenia szeregowo Min T* przy ograniczeniach: • ti-1>=ti+C i +S dla 1<i<=n – wysłanie każdej paczki po przesłaniu wcześniejszej • ti-m>=ti+C i +S+A i dla m<i<=n – odebranie kolejnej paczki po obliczeniach wcześniejszej • i=0 mpi =V • Ti>= ti+ i (A+C)+S dla i=1..m – zakończenie obliczeń po obliczeniu ostatniej paczki dla tego procesora • T0=t1+S+C 1+A 0 – początek obliczeń po wysłaniu ostatniej paczki do pierwszego procesora • T*>=Ti dla i=0..m • Ti ,ti , i>= 0 • i całkowite
Model zadania jednorodnego Zadanie projektowe - laboratorium Temat: optymalizacja przetwarzania równoległego za pomocą modelu zadania jednorodnego. Zadania: • 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. • Wyznaczenie parametrów maszyny równoległej Ai,Ci, Si - programy na transputery. • Rozwiązanie modeli analitycznie oraz programem optymalizującym: lp_solve (dostępny w sekcji pobierz serwera transputery.cs.put.poznan.pl) • 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.