OBLICZENIA RÓWNOLEGŁE I ROZPROSZONE

Podobne dokumenty
Wprowadzenie. Klastry komputerowe. Superkomputery. informatyka +

Równoległy algorytm wyznaczania bloków dla cyklicznego problemu przepływowego z przezbrojeniami

Algorytmy i Struktury Danych

Podstawy Informatyki Systemy sterowane przepływem argumentów

Algorytmy równoległe: prezentacja i ocena efektywności prostych algorytmów dla systemów równoległych

Porównanie wydajności CUDA i OpenCL na przykładzie równoległego algorytmu wyznaczania wartości funkcji celu dla problemu gniazdowego

Projektowanie algorytmów równoległych. Zbigniew Koza Wrocław 2012

Algorytmy równoległe: ocena efektywności prostych algorytmów dla systemów wielokomputerowych

Algorytmy równoległe: ocena efektywności prostych algorytmów dla systemów wielokomputerowych

Zapoznanie z technikami i narzędziami programistycznymi służącymi do tworzenia programów współbieżnych i obsługi współbieżności przez system.

Architektura mikroprocesorów TEO 2009/2010

Architektura komputerów

Tworzenie programów równoległych cd. Krzysztof Banaś Obliczenia równoległe 1

Algorytmy równoległe. Rafał Walkowiak Politechnika Poznańska Studia inżynierskie Informatyka 2010

Analiza efektywności przetwarzania współbieżnego. Wykład: Przetwarzanie Równoległe Politechnika Poznańska Rafał Walkowiak Grudzień 2015

Programowanie równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz

Algorytmy Równoległe i Rozproszone Część V - Model PRAM II

Algorytmy Równoległe i Rozproszone Część IV - Model PRAM

Analiza ilościowa w przetwarzaniu równoległym

Struktury danych i złożoność obliczeniowa Wykład 7. Prof. dr hab. inż. Jan Magott

Porównanie czasów działania algorytmów sortowania przez wstawianie i scalanie

16. Taksonomia Flynn'a.

Numeryczna algebra liniowa

Nowoczesne technologie przetwarzania informacji

Część I. Uwaga: Akceptowane są wszystkie odpowiedzi merytorycznie poprawne i spełniające warunki zadania. Zadanie 1.1. (0 3)

Algorytmy dla maszyny PRAM

Sortowanie - wybrane algorytmy

Zaawansowane algorytmy i struktury danych

Obliczenia równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz

TEORETYCZNE PODSTAWY INFORMATYKI

Podstawy Informatyki. Sprawność algorytmów

Egzamin, AISDI, I termin, 18 czerwca 2015 r.

Efektywna metoda sortowania sortowanie przez scalanie

Analiza efektywności przetwarzania współbieżnego

Tworzenie programów równoległych. Krzysztof Banaś Obliczenia równoległe 1

Sortowanie przez scalanie

EGZAMIN MATURALNY W ROKU SZKOLNYM 2017/2018 INFORMATYKA

TEORETYCZNE PODSTAWY INFORMATYKI

Klasyfikacje systemów komputerowych, modele złożoności algorytmów obliczeniowych

Podstawy Techniki Mikroprocesorowej wykład 13: MIMD. Dr inż. Jacek Mazurkiewicz Katedra Informatyki Technicznej

Zadanie projektowe 1: Struktury danych i złożoność obliczeniowa

Tworzenie programów równoległych. Krzysztof Banaś Obliczenia równoległe 1

Wydajność obliczeń równoległych. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1

Obliczenia Wysokiej Wydajności

Komputery, obliczenia, algorytmy Tianhe-2 (MilkyWay-2), system Kylin Linux, Tflops, kw

Wykład 3. Złożoność i realizowalność algorytmów Elementarne struktury danych: stosy, kolejki, listy

Jeśli czas działania algorytmu zależy nie tylko od rozmiaru danych wejściowych i przyjmuje różne wartości dla różnych danych o tym samym rozmiarze,

Matematyczne Podstawy Informatyki

Skalowalność obliczeń równoległych. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1

ALGORYTMY I STRUKTURY DANYCH

Segmentacja obrazów cyfrowych z zastosowaniem teorii grafów - wstęp. autor: Łukasz Chlebda

High Performance Computers in Cyfronet. Andrzej Oziębło Zakopane, marzec 2009

PODSTAWY PRZETWARZANIA RÓWNOLEGŁEGO INFORMACJI

Złożoność algorytmów. Wstęp do Informatyki

Złożoność obliczeniowa algorytmu ilość zasobów komputera jakiej potrzebuje dany algorytm. Pojęcie to

Lista 0. Kamil Matuszewski 1 marca 2016

Zasady analizy algorytmów

Sortowanie. Bartman Jacek Algorytmy i struktury

Przetwarzanie równoległesprzęt. Rafał Walkowiak Wybór

Informatyka 1. Złożoność obliczeniowa

Struktury danych i złozoność obliczeniowa. Prof. dr hab. inż. Jan Magott

Programowanie Współbieżne. Algorytmy

Systemy wbudowane. Uproszczone metody kosyntezy. Wykład 11: Metody kosyntezy systemów wbudowanych

operacje porównania, a jeśli jest to konieczne ze względu na złe uporządkowanie porównywanych liczb zmieniamy ich kolejność, czyli przestawiamy je.

Programowanie współbieżne Wykład 2. Iwona Kochańska

USŁUGI HIGH PERFORMANCE COMPUTING (HPC) DLA FIRM. Juliusz Pukacki,PCSS

EGZAMIN - Wersja A. ALGORYTMY I STRUKTURY DANYCH Lisek89 opracowanie kartki od Pani dr E. Koszelew

Rekurencja. Dla rozwiązania danego problemu, algorytm wywołuje sam siebie przy rozwiązywaniu podobnych podproblemów. Przykład: silnia: n! = n(n-1)!

Algorytmy i struktury danych. Co dziś? Tytułem przypomnienia metoda dziel i zwyciężaj. Wykład VIII Elementarne techniki algorytmiczne

Algorytmy Równoległe i Rozproszone Część X - Algorytmy samostabilizujące.

Wstęp do programowania

Programowanie współbieżne Wstęp do obliczeń równoległych. Rafał Skinderowicz

Zofia Kruczkiewicz, Algorytmu i struktury danych, Wykład 14, 1

Programowanie współbieżne i rozproszone

Teoretyczne podstawy informatyki

Architektura Systemów Komputerowych. Architektura potokowa Klasyfikacja architektur równoległych

Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015

21 Model z pamięcią współdzieloną (model PRAM) - Parallel Random Access Machine

KARTA PRZEDMIOTU. 1. Informacje ogólne. 2. Ogólna charakterystyka przedmiotu. Algorytmy i struktury danych, C3

Kompletna dokumentacja kontenera C++ vector w -

Algorytmy i str ruktury danych. Metody algorytmiczne. Bartman Jacek

Automatyzacja procesu tworzenia sprzętowego narzędzia służącego do rozwiązywania zagadnienia logarytmu dyskretnego na krzywych eliptycznych

Reprezentacje grafów nieskierowanych Reprezentacje grafów skierowanych. Wykład 2. Reprezentacja komputerowa grafów

10/14/2013 Przetwarzanie równoległe - wstęp 1. Zakres przedmiotu

Programowanie w VB Proste algorytmy sortowania

Strategia "dziel i zwyciężaj"

Jeszcze o algorytmach

Architektury komputerów Architektury i wydajność. Tomasz Dziubich

Dr inż. hab. Siergiej Fialko, IF-PK,

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 13. Karol Tarnowski A-1 p.

KARTA PRZEDMIOTU. Algorytmy i struktury danych, C4

Przykładowe sprawozdanie. Jan Pustelnik

Wstęp do programowania INP001213Wcl rok akademicki 2018/19 semestr zimowy. Wykład 13. Karol Tarnowski A-1 p.

Podstawowe algorytmy i ich implementacje w C. Wykład 9

Technologie Informacyjne

Teoria obliczeń i złożoność obliczeniowa

WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA

Wydajność systemów a organizacja pamięci. Krzysztof Banaś, Obliczenia wysokiej wydajności. 1

Transkrypt:

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