OBLICZENIA RÓWNOLEGŁE I ROZPROSZONE emat 2: Projektowanie algorytmów równoległych - wprowadzenie Prowadzący: e-mail: http:// dr hab. inż. Zbigniew ARAPAA, prof. WA pok.225, tel.: 261-83-95-04 Zbigniew.arapata@wat.edu.pl tarapata.strefa.pl/p_obliczenia_rownolegle_i_rozproszone/
Plan wykładu Algorytmy i systemy równoległe wprowadzenie; Algorytmy i systemy równoległe własności; Algorytmy i systemy równoległe równoległość a współbieżność, równoległość a rozproszoność; Podstawowe pojęcia z teorii obliczeń równoległych graf AGS jako reprezentacja algorytmu równoległego; Podstawowe pojęcia z teorii obliczeń równoległych miary efektywności algorytmu równoległego; Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, http://tarapata.strefa.pl/p_obliczenia_rownolegle_i_rozproszone/ 2
Metody zwiększania efektywności algorytmów - przypomnienie Wyróżniamy dwie zasadnicze metody zwiększania efektywności algorytmów: umiejętne zaprojektowanie algorytmu poprzez stosowanie odpowiednich : - struktur danych (listy, drzewa, kolejki, itp.), - technik projektowania algorytmów (np. dziel i zwyciężaj, zrównoleglanie, derekursywacja, itp.); optymalizacja kodu programu realizującego algorytm (zmniejszanie liczby pętli, zastępowanie operacji arytmetycznych, eliminowanie zmiennych indeksowanych, umieszczanie wartownika na końcu tablicy, przekazywanie parametrów funkcji przez wskaźniki, itp.); Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, http://tarapata.strefa.pl/p_obliczenia_rownolegle_i_rozproszone/ 3
Umiejętne projektowanie algorytmów, przykład 1 - wykorzystanie odpowiednich struktur danych Przykład (sortowanie, n rozmiar tablicy) Nazwa algorytmu Złożoność Uwagi - przez proste wstawianie - bąbelkowe W (n) = (n 2 ) -- działa w miejscu (tzn. tylko stała liczba elementów tablicy jest przechowywana poza tablicą podczas działania algorytmu) -- dla małych tablic przez scalanie W (n) = (n log n) -- nie działa w miejscu -- oparty o technikę dziel i zwyciężaj przez kopcowanie (heapsort) szybkie (quicksort) W (n) = O(n log n) W (n) = (n 2 ) A (n) = (n log n) -- wykorzystywane są kopce binarne -- działa w miejscu -- dla dużych tablic -- oparty o technikę dziel i zwyciężaj Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, http://tarapata.strefa.pl/p_obliczenia_rownolegle_i_rozproszone/ 4
Umiejętne projektowanie algorytmów, przykład 2 - wykorzystanie wielu procesorów = zrównoleglanie Sortowanie bąbelkowe wykorzystując N/2 (=4) procesorów przyspieszamy porównywanie parami elementów tablicy 93 87 74 65 57 45 33 27 1 87 93 65 74 45 57 27 33 2 87 65 93 45 74 27 57 33 Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, http://tarapata.strefa.pl/p_obliczenia_rownolegle_i_rozproszone/ 5
Umiejętne projektowanie algorytmów, przykład 2, c.d. - wykorzystanie wielu procesorów = zrównoleglanie 3 4 5 6 65 87 45 93 27 74 33 57 65 45 87 27 93 33 74 57 45 65 27 87 33 93 57 74 45 27 65 33 87 57 93 74 7 27 45 33 65 57 87 74 93 8 27 33 45 57 65 74 87 93 Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, http://tarapata.strefa.pl/p_obliczenia_rownolegle_i_rozproszone/ 6
Umiejętne projektowanie algorytmów, przykład 2, c.d. - wykorzystanie wielu procesorów = zrównoleglanie WNIOSKI Sekwencyjny algorytm sortowania bąbelkowego tablicy N-elementowej potrzebuje w najgorszym przypadku N 2 czasu. Równoległy algorytm sortowania bąbelkowego tablicy N-elementowej potrzebuje w najgorszym przypadku N czasu (pomijamy aspekty komunikacyjne między procesorami). O(N) Alg. równoległ y Sortowanie bąbelkowe alg. sekwencyjny O(N 2 ) Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, http://tarapata.strefa.pl/p_obliczenia_rownolegle_i_rozproszone/ 7
Algorytmy i systemy równoległe - wprowadzenie CZAS NA BLIŻSZE PRZYJRZENIE SIĘ ALGORYMOM RÓWNOLEGŁYM Używamy wielu procesorów do rozwiązania pojedynczego zadania (ang. task). ISOA: Dzielimy zadanie na mniejsze kawałki ; Wykonujemy obliczenia na wielu procesorach (np. każdy kawałek obliczany jest na oddzielnym procesorze); Koordynujemy zadania cząstkowe i ich wyniki przekazujemy do zadania nadrzędnego (koordynującego). Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, http://tarapata.strefa.pl/p_obliczenia_rownolegle_i_rozproszone/ 8
Zadania Algorytmy i systemy równoległe - wprowadzenie, c.d. 4 3 2 1 1 2 3 4 Procesory Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, http://tarapata.strefa.pl/p_obliczenia_rownolegle_i_rozproszone/ 9
Algorytmy i systemy równoległe wprowadzenie, c.d. - struktura systemu obliczeń równoległych Interfejs sieciowy Pamięć CPU Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, http://tarapata.strefa.pl/p_obliczenia_rownolegle_i_rozproszone/ 10
Algorytmy i systemy równoległe - własności Korzystanie z systemów obliczeń równoległych nie wyprowadza nas poza klasyfikację opartą na złożoności obliczeniowej dla obliczeń sekwencyjnych. Używanie wielu procesorów przyspiesza (czasami ) rozwiązywanie problemów lecz nie zmienia ich przynależności do klasy złożoności obliczeniowej. Jakich korzyści dostarcza zrównoleglenie obliczeń? Mając algorytm działający w czasie O(N logn) i log N procesorów, algorytm równoległy będzie potrzebował co najmniej O(N) czasu. Mając algorytm działający w czasie O(N 3 ) i N procesorów, algorytm równoległy będzie potrzebował co najmniej O(N 2 ) czasu. Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, http://tarapata.strefa.pl/p_obliczenia_rownolegle_i_rozproszone/ 11
Algorytmy i systemy równoległe własności Liczba procesorów Liczba procesorów jest ograniczona sprzętowo; Zazwyczaj liczba procesorów jest potęgą 2; Wpływ dodawania nowych procesorów: Program na jednym procesorze Uruchamia się w czasie X; Dodając dodatkowy procesor Uruchamia się w czasie nie mniejszym niż X/2; W praktyce: w czasie X/2 + z powodu kosztów zrównoleglenia W skrajnych przypadkach, dodanie procesorów może nie pomóc, a wręcz spowolnić działanie programu!!! Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, http://tarapata.strefa.pl/p_obliczenia_rownolegle_i_rozproszone/ 12
Algorytmy i systemy równoległe własności Koszty zrównoleglenia obliczeń Zrównoleglenie niesie za sobą pewne koszty. Procesory muszą być sterowane i koordynowane. Musimy wskazać każdemu procesorowi, co w każdej chwili ma robić; to wymaga dodatkowego wysiłku (czasu, kosztu, itp.). Często program musi być napisany w specjalnym języku programowania dla systemów równoległych (np. w języku Modest). Często program równoległy (np. z 2 K procesorami) nie będzie pracował na innym komputerze (np. z 2 L procesorami). Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, http://tarapata.strefa.pl/p_obliczenia_rownolegle_i_rozproszone/ 13
Algorytmy i systemy równoległe Równoległość, a współbieżność Współbieżność polega na wykonywaniu wielu zadań w tym samym czasie, niezależnie od liczby użytych procesorów. Zrównoleglenie polega na wykonywaniu tego samego zadania na wielu procesorach. Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, http://tarapata.strefa.pl/p_obliczenia_rownolegle_i_rozproszone/ 14
Algorytmy i systemy równoległe Równoległość, a rozproszoność Cechy charakteryst. Rodzaj systemu Odległości między procesorami Struktura połączeń Niezawodność polączeń Opóźnienia komunikacyjne Ingerencja sterowania centralnego Syst. oblicz. równoległych małe Nie ulega zmianom w czasie duża Pomijalnie małe duża Syst. oblicz. rozproszonych Zazwyczaj duże Może ulegać zmianom w czasie mała Zazwyczaj nie do pominięcia mała Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, http://tarapata.strefa.pl/p_obliczenia_rownolegle_i_rozproszone/ 15
Algorytmy i systemy równoległe Podstawowe kryteria podziału systemów równoległych Liczba i rodzaj procesorów: - tysiące procesorów; - do 10-ciu procesorów; Obecność sterowania centralnego: - duża ingerencja systemu w pracę procesorów (system decyduje co każdy procesor ma wykonywać w każdej chwili); - mała ingerencja systemu w pracę procesorów; Obecność synchronizacji obliczeń: - systemy synchroniczne; - systemy asynchroniczne. Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, http://tarapata.strefa.pl/p_obliczenia_rownolegle_i_rozproszone/ 16
Algorytmy i systemy równoległe Podstawowe kryteria podziału systemów równoległych, c.d. Wymiana informacji między procesorami (komunikacja poprzez sieć połączeń wybór struktury połączeń jest zadaniem projektowym): - podział wspólnej pamięci między procesory oraz obecność systemu przełączającego; - każdy procesor ma własną pamięć. Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, http://tarapata.strefa.pl/p_obliczenia_rownolegle_i_rozproszone/ 17
Algorytmy i systemy równoległe Podstawowe kryteria podziału systemów równoległych, c.d. Rodzaj strumienia danych *) pojedynczy grupowy Rodzaj strumienia instrukcji pojedynczy SISD SIMD grupowy MISD MIMD *) S Single, M Multiple, I Instruction, D Data. Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, http://tarapata.strefa.pl/p_obliczenia_rownolegle_i_rozproszone/ 18
Algorytmy i systemy równoległe Podział komputerów typu MIMD Sposób komunikacji poprzez Wspólne Przesyłanie zmienne komunikatów Sposób organizacji pamięci globalna rozproszona GMSV Shared Memory DMSV Hybrid GMMP DMMP Message passing Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, http://tarapata.strefa.pl/p_obliczenia_rownolegle_i_rozproszone/ 19
Algorytmy i systemy równoległe Przykłady zastosowań Intel ASCI Red (Accelerated Strategic Computing Initiative) 1996-2010 r., do modelowania zjawisk związanych z zastosowaniem broni jądrowej (9632 procesory P II Xeon 333 MHz, moc: 2,3 FLOPS*); rozwiązanie układu 215 000 równań liniowych zajęło 100 min., ale użyto procesorów 200 MHz 7 000); *) dla porównania: - procesor PENIUM-IV 1 GHz ma moc 1,4 G FLOPS (1,410 9 FLOPS) - moc Deep Blue z 1997 r.: 10 G FLOPS. Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, http://tarapata.strefa.pl/p_obliczenia_rownolegle_i_rozproszone/ 20
Algorytmy i systemy równoległe Przykłady zastosowań IBM SP ASCI Blue Pacific (Lawrence Livermore National Laboratory) system RS/6 000, 4 1464 Power PC 332 MHz, moc: 2,1 FLOPS RAM: 2,6 B, koszt: 94 mln $, powierzchnia: 740 m 2, Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, http://tarapata.strefa.pl/p_obliczenia_rownolegle_i_rozproszone/ 21
Algorytmy i systemy równoległe Przykłady zastosowań IBM ASCI White: 8192 procesory IBM Power3-III 375 MHz, moc: 10 FLOPS, RAM: 6B (pamięć zewnętrzna: 160 B), koszt: 100 mln $, powierzchnia: ok. 1000m 2, waga: 106 ton, pobierany prąd: 1.2 MW Ciekawostka nr 1: wierne zasymulowanie wybuchu jądrowego zajmuje ASCI White miesiąc!!! Dla porównania Cray z 1995 roku liczyłby to samo przez 60 tys. lat!! Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, http://tarapata.strefa.pl/p_obliczenia_rownolegle_i_rozproszone/ 22
Algorytmy i systemy równoległe Przykłady zastosowań Najszybszy do niedawna system na świecie (od 2002r.- do2007r.): japoński Earth Simulator (do symulacji złożonych zjawisk geologicznych i pogodowych), moc: 40 FLOPS, koszt: 350 mln $. W ramach programu Blue Gene firmy IBM: powstał w 2007 r. (na bazie 212992 x PowerPC 440 770MHz); 73728 GB pamięci; maszyna o wydajności 0,5 PFLOPS (0,5*10 15 FLOPS) do analizy genomu ludzkiego*). *) Źródło: http://www.top500.org. Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, http://tarapata.strefa.pl/p_obliczenia_rownolegle_i_rozproszone/ 23
Algorytmy i systemy równoległe Przykłady zastosowań Najszybszy system na świecie w 11.2008 : Roadrunner BladeCenter QS22 Cluster, Miejsce: DOE/NNSA/LANL (Los Alamos, USA); 129600 x PowerXCell 8i 3.2 Ghz, OS Linux; moc: 1,1 PFLOPS (10 15 FLOPS)!!!!!!! Najszybszy w Polsce system w 11.2008 (łącznie z Polski 6 na liście top500, wówczas): Galera ACION Cluster Xeon E5345 Infiniband (67 miejsce. 11.2008); Politechnika Gdańska; Pamięć: 5376 GB; Procesory: 5336 x Intel EM64 Xeon 53xx (Clovertown) 2333 MHz (9.332 GFlops); OS: Linux; Moc: 38 FLOPs;????*) *) Źródło: http://www.top500.org Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, http://tarapata.strefa.pl/p_obliczenia_rownolegle_i_rozproszone/ 24
Algorytmy i systemy równoległe Przykłady zastosowań Najszybszy system na świecie w 11.2011: K computer, SPARC64 VIIIfx 2.0GHz, ofu interconnect, Miejsce: RIKEN Advanced Institute for Computational Science (AICS) (Kobe, Japan); Cores: 705024 x SPARC64 VIIIfx 2.0GHz, OS: Linux; Power: 12.7 MW; Memory: 1 410 048 GB (1,4 PB); Speed: 10 510 000 GFLOPS (10,5 PFLOPS)!!!!!!! Najszybszy w Polsce system (łącznie z Polski 6 na liście top500, 11.2011; np. system grupy Allegro na 348 miejscu): Zeus - Cluster Platform 3000 BL 2x220, Xeon X5650 6C 2.66 GHz, Infiniband (88 miejsce. 11.2011); Cyfronet Kraków, AGH; Cores: 15264 x Xeon X5650 6C 2.66 GHz, OS: Linux; Speed: 128 790 GFLOPS (128,7 FLOPS); *) *) Źródło: http://www.top500.org Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, http://tarapata.strefa.pl/p_obliczenia_rownolegle_i_rozproszone/ 25
Algorytmy i systemy równoległe Przykłady zastosowań Najszybszy system na świecie w 11.2014: ianhe-2, China s National University of Defense echnology, Miejsce: National Super Computer Center in Guangzhou, China; Cores: 3 120 000, 16 000 węzłów obliczeniowych, INEL XEON E5-2692 12C 2.2 GHZ; OS: Kylin Linux; Power: 17,8 MW; Memory: 16 000 x 88 GB (1,4 PB); Speed: 33.86 PFLOPS!!!!!!! Najszybszy w Polsce system (łącznie z Polski 2 na liście top500, 11.2014): Zeus - Cluster Platform 3000 BL 2x220, Xeon X5650 6C 2.66 GHz, Infiniband (211 miejsce. 11.2014); Miejsce: Cyfronet, Kraków, AGH; Cores: 25 468 x Xeon X5650 6C 2.66 GHz, OS: Linux; Speed: 266 7 FLOPS; *) *) Źródło: http://www.top500.org Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, http://tarapata.strefa.pl/p_obliczenia_rownolegle_i_rozproszone/ 26
Algorytmy i systemy równoległe Przykłady zastosowań, 11.2016r. Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, http://tarapata.strefa.pl/p_obliczenia_rownolegle_i_rozproszone/ 27
Podstawowe pojęcia z teorii obliczeń równoległych Przykład (problem doboru topologii sieci komunikacyjnej) opologie połączeń MIMD: a) pierścień b) siatka c) drzewo d) hipersześcian Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, http://tarapata.strefa.pl/p_obliczenia_rownolegle_i_rozproszone/ 28
Podstawowe pojęcia z teorii obliczeń równoległych Przykład (problem doboru topologii sieci komunikacyjnej), c.d. Liczba węzłów Siatka Hipersześcian 16 6 skoków 4 skoki 256 30 skoków 8 skoków 1024 62 skoki 10 skoków 2048 126 skoków 11 skoków 16384 254 skoki 16 skoków Łączność (długość najkrótszej z dróg między dowolną parą wierzchołków) w warunkach najgorszego przypadku Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, http://tarapata.strefa.pl/p_obliczenia_rownolegle_i_rozproszone/ 29
Podstawowe pojęcia z teorii obliczeń równoległych Przykład (problem doboru topologii sieci komunikacyjnej), c.d. Chcemy dodać do siebie 8 liczb x 1, x 2,...,x 8. (a) x 1 +x 2 x 3 +x 4 x 5 +x 6 x 7 +x 8 (b) Dwie możliwe topologie sieci komunikacyjnej: (a) i (b) Porównanie topologii (a) i (b): Dla topologii (a) uszkodzenie tylko jednego wierzchołka (procesora) może spowodować, że cała sieć rozpadnie się na dwie części nie mogące komunikować się między sobą. Graf z rysunku (b) może działać dalej nawet jeśli dwa procesory są uszkodzone; Największa odległość między parą wierzchołków (mierzona za pomocą liczby krawędzi w drodze je łączącej) w grafie (a) wynosi 4 (dla dwóch wierzchołków) podczas, gdy w grafie (b) ta odległość wynosi 3. Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, http://tarapata.strefa.pl/p_obliczenia_rownolegle_i_rozproszone/ 30
Podstawowe pojęcia z teorii obliczeń równoległych Przykład (problem doboru topologii sieci komunikacyjnej), c.d. Zanurzenie sieci (a) w sieć (b). Wierzchołki g, s, d są obrazami, odpowiednio, wierzchołków górnego, środkowych i dolnych grafu. s g d d d x 1 +x 2 x 3 +x 4 x 5 +x 6 x 7 +x 8 s d Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, http://tarapata.strefa.pl/p_obliczenia_rownolegle_i_rozproszone/ 31
Podstawowe pojęcia z teorii obliczeń równoległych AGS - acykliczny graf skierowany G, G W, A ( i, A W - zbiór wierzchołków oznaczających operacje wykonywane na danych, A - zbiór łuków oznaczających zależności między danymi, j) W 2 : operacja w wierzchol ku wykorzystuj e wynik operacji Głębokością D grafu AGS nazywamy długość najdłuższej drogi w G. j w wierzcholku i Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, http://tarapata.strefa.pl/p_obliczenia_rownolegle_i_rozproszone/ 32
Podstawowe pojęcia z teorii obliczeń równoległych Przykład 1 Weźmy zadanie obliczeniowe: Przykładowy graf AGS: 1 2 3 f 2 3 x x1 x1 x2 x2 x3 4 5 6 7 8 9 10 p potęgowanie * mnożenie + dodawanie Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, http://tarapata.strefa.pl/p_obliczenia_rownolegle_i_rozproszone/ 33
Podstawowe pojęcia z teorii obliczeń równoległych Przyjmijmy oznaczenia: x i - wynik operacji wykonywanej w wierzchołku i grafu AGS; f i - operacja związana z wierzchołkiem i; P i - numer procesora przyporządkowanego do wykonywania operacji w i-tym wierzchołku, i W \ (W 0 - zbiór wierzchołków wejściowych); W o t i - chwila zakończenia operacji w i-tym wierzchołku. Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, http://tarapata.strefa.pl/p_obliczenia_rownolegle_i_rozproszone/ 34
Podstawowe pojęcia z teorii obliczeń równoległych Założenia: wierzchołkom wejściowym nie są przyporządkowane żadne procesory; chwila t i zakończenia operacji w każdym wierzchołku wejściowym jest równa 0; każdy procesor wykonuje co najwyżej jedną operację w danej chwili, tzn. jeżeli i, j W \ W o, oraz t t, to P P ; i j i j A i j i t i, t 1 jeżeli, to j co oznacza, że operacja związana z wierzchołkiem j może być wykonana dopiero po wykonaniu operacji związanej z i-tym wierzchołkiem. j Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, http://tarapata.strefa.pl/p_obliczenia_rownolegle_i_rozproszone/ 35
Podstawowe pojęcia z teorii obliczeń równoległych Algorytm obliczeń równoległych jest zadany, gdy: 1 o zadany jest graf AGS; G 2 o zadany jest harmonogram, H H G i, P, t : i W i i o Dysponując np. dwoma procesorami jeden z możliwych harmonogramów może wyglądać następująco: H(G) 4,1,1, 5,2,1, 6,1,2, 7,2,2, 8,1,3, 9,2,3, 10,1,4 Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, http://tarapata.strefa.pl/p_obliczenia_rownolegle_i_rozproszone/ 36
Podstawowe pojęcia z teorii obliczeń równoległych Złożonością obliczeniową algorytmu Alg reprezentowanego przez AGS i wykorzystującego p procesorów nazywamy wielkość: p min HH max iw t i H gdzie: max iw t i H - czas realizacji harmonogramu H. H zbiór wszystkich harmonogramów realizujących rozpatrywany algorytm równoległy Alg; Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, http://tarapata.strefa.pl/p_obliczenia_rownolegle_i_rozproszone/ 37
Podstawowe pojęcia z teorii obliczeń równoległych Zdefiniujmy wielkość: min p1 p jest nierosnącą funkcją i ograniczoną od dołu przez 0. Istnieje taka liczba procesorów p *, że dla każdego *, zachodzi: p p p - złożoność obliczeniowa algorytmu reprezentowanego przez G, gdy dostatecznie duża liczba procesorów jest dostępna; 1 - złożoność obliczeniowa (czas) odpowiadająca algorytmowi sekwencyjnemu na jednym procesorze, przy czym. W \ 1 W o Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, http://tarapata.strefa.pl/p_obliczenia_rownolegle_i_rozproszone/ 38 p
Podstawowe pojęcia z teorii obliczeń równoległych wierdzenie Wielkość jest równa głębokości D grafu AGS. 1 p, p 1 wierdzenie Niech dla pewnego wierzchołka wyjściowego j istnieje droga z każdego wierzchołka wejściowego. Niech i W \ W0 zachodzi: ( i) 2 S w gdzie S w ( i) { j W : ( j, i) A} - stopień wewnętrzny wierzchołka i. Wówczas zachodzi: log 2 W 0 Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, http://tarapata.strefa.pl/p_obliczenia_rownolegle_i_rozproszone/ 39
Podstawowe pojęcia z teorii obliczeń równoległych Wnioski: Dla operacji arytmetycznych założenie, że S w ( i) 2 jest naturalne i dotyczy fizycznej realizowalności operacji. Głębokość AGS jest nie mniejsza niż logarytm przy podstawie 2 z liczby wierzchołków wejściowych w AGS. Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, http://tarapata.strefa.pl/p_obliczenia_rownolegle_i_rozproszone/ 40
Podstawowe pojęcia z teorii obliczeń równoległych wierdzenie Dla każdego p 1 zachodzi: 1 p p Dowód: Rozpatrzmy harmonogram H, którego realizacja trwa, tzn. optymalny harmonogram realizacji obliczeń dla zadanego grafu G, gdy dostatecznie duża liczba procesorów jest dostępna. Dla dodatniej liczby całkowitej k wykorzystując harmonogram H wprowadźmy zbiór: A k { i W : t k} i Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, http://tarapata.strefa.pl/p_obliczenia_rownolegle_i_rozproszone/ 41
Dowód, c.d. Zbudujemy etapowo dla tego samego grafu G harmonogram p, który wykorzystuje tylko p procesorów. W k-tym etapie tego nowego harmonogramu wykonamy operacje, które w harmonogramie H zakończyły się dokładnie w chwili k-tej. Ponieważ tylko p procesorów jest dostępnych, k-ty etap będzie zrealizowany w czasie A k p jednostek czasu. Czas p nie może być większy niż czas wymagany do zrealizowania harmonogramu H p. Stąd: gdzie Podstawowe pojęcia z teorii obliczeń równoległych p k 1 A k p 1 W k 1 k 1 Ak W \ 0 Ak p c.n.d. 1 Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, http://tarapata.strefa.pl/p_obliczenia_rownolegle_i_rozproszone/ 42 1 p H
AGS 1 Podstawowe pojęcia z teorii obliczeń równoległych Przykład (dwie alternatywne reprezentacje AGS dla zadania) x 1 x 2 2 2 x1 x2 x3 * x p * x 2 x 3 x 1 x 3 * 1 7 D 3 p * 4 Rozpatrzmy zadanie: x x x x 1 2 2 x3 x AGS 2 2 1 x2 x2 + x + x x x 1 2 2 x3 x1 x2 x3 x + 3 + 1 x 2 x 2 x + x 1 x3 x2 x3 1 p 3 D 2 2 WNIOSEK: Dla tego samego problemu może istnieć wiele reprezentacji w postaci AGS różniących się wartościami p*. oraz * x x x x 1 2 2 x3 Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, http://tarapata.strefa.pl/p_obliczenia_rownolegle_i_rozproszone/ 43
Podstawowe pojęcia z teorii obliczeń równoległych Niech G oznacza zbiór wszystkich możliwych AGS-ów dla ustalonego problemu i ustalonej liczby procesorów. Wielkość p p G min G GG nazywamy złożonością problemu, p nazywamy złożonością algorytmu równoległego przy p procesorach, a G* nazywamy optymalnym grafem reprezentującym algorytm rozwiązania danego problemu przy ustalonej liczbie p procesorów. p p G Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, http://tarapata.strefa.pl/p_obliczenia_rownolegle_i_rozproszone/ 44
Podstawowe pojęcia z teorii obliczeń równoległych Przyspieszeniem algorytmu równoległego nazywamy liczbę S p n n n a efektywnością algorytmu równoległego liczbę E p n S p gdzie: * (n) złożoność najlepszego sekwencyjnego algorytmu na jednym procesorze (jeśli mamy AGS, to * (n) = 1 (n)); p (n) złożoność algorytmu rozwiązywania problemu o rozmiarze n na p procesorach. Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, http://tarapata.strefa.pl/p_obliczenia_rownolegle_i_rozproszone/ 45 p n p p p n n p 1
Podstawowe pojęcia z teorii obliczeń równoległych Przykład Zadanie obliczeniowe ma postać: Przy użyciu n procesorów zadanie to można rozwiązać w czasie n logn dwuetapowo. n W pierwszym etapie każdy i-ty procesor oblicza wartość xi y i, a następnie w drugim etapie dodaje n uzyskanych liczb w czasie. Najlepszy algorytm dla jednego procesora wymaga czasu n 2n 1. Stąd przyspieszenie i efektywność dla n procesorów: S n n 2n 1 log n 1 Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, http://tarapata.strefa.pl/p_obliczenia_rownolegle_i_rozproszone/ 46 a n i1 1 E n logn n n x i y i, x 2n 1 log n 1 i, y i
Podstawowe pojęcia z teorii obliczeń równoległych Przykład Zadanie obliczeniowe ma postać: Przy użyciu n procesorów zadanie to można rozwiązać w czasie n logn dwuetapowo. n W pierwszym etapie każdy i-ty procesor oblicza wartość xi y i, a następnie w drugim etapie dodaje n uzyskanych liczb w czasie. Najlepszy algorytm dla jednego procesora wymaga czasu n 2n 1. Stąd przyspieszenie i efektywność dla n procesorów: S n n 2n 1 log n 1 Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, http://tarapata.strefa.pl/p_obliczenia_rownolegle_i_rozproszone/ 47 a n i1 1 E n logn n n x i y i, x 2n 1 log n 1 i, y i
Podstawowe pojęcia z teorii obliczeń równoległych Przykład, c.d. np. dla n=3, mamy następujący AGS x1 y 1 x2 y2 x3 y3 1 2 3 4 5 6 x 1 y 1 2 y 2 x x x 3 y 3 * * * 7 1y1 x2 y2 x + 10 1y1 x2 y2 x3 y3 8 9 H*(G)={(7,1,1),(8,2,1),(9,3,1),(10,1,2),(11,1,3)} + 11 Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, http://tarapata.strefa.pl/p_obliczenia_rownolegle_i_rozproszone/ 48 S 3 E 3 3 D 1 3 3 n 3 log3 3 W 5 3 \ W o 1 1,67 5 3 3 5 0,55 HG 3 3 min maxti H G H iw
Dziękuję za uwagę Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, http://tarapata.strefa.pl/p_obliczenia_rownolegle_i_rozproszone/ 49