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

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

Wydajność komunikacji grupowej w obliczeniach równoległych. Krzysztof Banaś Obliczenia wysokiej wydajności 1

Numeryczna algebra liniowa

Analiza ilościowa w przetwarzaniu równoległym

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

Analiza efektywności przetwarzania współbieżnego

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

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

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

Wykład 2 Podstawowe pojęcia systemów równoległych, modele równoległości, wydajność obliczeniowa, prawo Amdahla/Gustafsona

Równoległe algorytmy sortowania. Krzysztof Banaś Obliczenia równoległe 1

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

Wydajność systemów a organizacja pamięci, czyli dlaczego jednak nie jest aż tak źle. Krzysztof Banaś, Obliczenia wysokiej wydajności.

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

Numeryczna algebra liniowa. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1

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

Architektura komputerów

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

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

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

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

Analityczne modelowanie systemów równoległych

Pamięci masowe. ATA (Advanced Technology Attachments)

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

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

Algorytmy i Struktury Danych

Nowoczesne technologie przetwarzania informacji

Projekt struktury sieci neuronowej

Procesy i wątki. Krzysztof Banaś Obliczenia równoległe 1

Wydajność programów sekwencyjnych. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1

Wydajność obliczeń a architektura procesorów. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1

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

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

Literatura. 11/16/2016 Przetwarzanie równoległe - wstęp 1

Procesory wielordzeniowe (multiprocessor on a chip) Krzysztof Banaś, Obliczenia wysokiej wydajności.

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

PRZETWARZANIE RÓWNOLEGŁE I ROZPROSZONE. Mnożenie macierzy kwadratowych metodą klasyczną oraz blokową z wykorzystaniem OpenMP.

Cele RAID. RAID z ang. Redundant Array of Independent Disks, Nadmiarowa macierz niezależnych dysków.

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

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

ODWZOROWANIE RZECZYWISTOŚCI

Jak zrównolegla się algorytmy - projektowanie algorytmów równoległych

PROGRAMOWANIE WSPÓŁCZESNYCH ARCHITEKTUR KOMPUTEROWYCH DR INŻ. KRZYSZTOF ROJEK

Algorytmy dla maszyny PRAM

Sieci obliczeniowe poprawny dobór i modelowanie

Przetwarzanie równoległe Zadanie domowe III

Przykładem jest komputer z procesorem 4 rdzeniowym dostępny w laboratorium W skład projektu wchodzi:

Zadania jednorodne 5.A.Modele przetwarzania równoległego. Rafał Walkowiak Przetwarzanie równoległe Politechnika Poznańska 2010/2011

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

Dydaktyka Informatyki budowa i zasady działania komputera

Metody uporządkowania

Algorytmy Apriori i Partition C++, Linux

Przetwarzanie Rozproszone i Równoległe

MESco. Testy skalowalności obliczeń mechanicznych w oparciu o licencje HPC oraz kartę GPU nvidia Tesla c2075. Stanisław Wowra

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

Zrównoleglenie i przetwarzanie potokowe

Indeksy w bazach danych. Motywacje. Techniki indeksowania w eksploracji danych. Plan prezentacji. Dotychczasowe prace badawcze skupiały się na

CUDA Median Filter filtr medianowy wykorzystujący bibliotekę CUDA sprawozdanie z projektu

Przygotowanie kilku wersji kodu zgodnie z wymogami wersji zadania,

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

SUPERKOMPUTER OKEANOS BADAWCZE GRANTY OBLICZENIOWEWE

Serwery: testy wydajności

Macierze RAID MARCEL GAŃCZARCZYK 2TI 1

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

O superkomputerach. Marek Grabowski

Algorytm i złożoność obliczeniowa algorytmu

Internet kwantowy. (z krótkim wstępem do informatyki kwantowej) Jarosław Miszczak. Instytut Informatyki Teoretycznej i Stosowanej PAN

7. Podatki Podstawowe pojęcia

i3: internet - infrastruktury - innowacje

Wstęp. Historia i przykłady przetwarzania współbieżnego, równoległego i rozproszonego. Przetwarzanie współbieżne, równoległe i rozproszone

Rozwiązywanie układów równań liniowych metody dokładne Materiały pomocnicze do ćwiczeń z metod numerycznych

Programowanie procesorów graficznych GPGPU

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.

Zadania badawcze prowadzone przez Zakład Technik Programowania:

Podstawy Informatyki. Sprawność algorytmów

Równoległość i współbieżność

Równoległość i współbieżność

Literatura. 3/26/2018 Przetwarzanie równoległe - wstęp 1

Weryfikacja hipotez statystycznych, parametryczne testy istotności w populacji

Problemy rozwoju Internetu kwantowego

Stan globalny. Krzysztof Banaś Systemy rozproszone 1

Odchudzamy serię danych, czyli jak wykryć i usunąć wyniki obarczone błędami grubymi

Autor: inż. Wojciech Zatorski Opiekun pracy: dr inż. Krzysztof Małecki

Program Obliczeń Wielkich Wyzwań Nauki i Techniki (POWIEW)

Architektura potokowa RISC

GŁÓWNE CZYNNIKI WYTWÓRCZE w PROCESIE PRODUKCJI

Przykład MPI: zbiór Mandelbrota

Obliczenia równoległe na klastrze opartym na procesorze CELL/B.E.

5. Model komunikujących się procesów, komunikaty

Modyfikacja algorytmów retransmisji protokołu TCP.

Metody optymalizacji soft-procesorów NIOS

Zarządzanie pamięcią w systemie operacyjnym

Rozwiązywanie problemów z użyciem Solvera programu Excel

Programowanie procesorów graficznych GPGPU. Krzysztof Banaś Obliczenia równoległe 1

Programowanie Współbieżne. Algorytmy

Bezpieczne miasto. koncepcja i rozwiązania w projekcie Mayday Euro 2012

PRACA DYPLOMOWA STUDIA PIERWSZEGO STOPNIA. Łukasz Kutyła Numer albumu: 5199

Macierzowe algorytmy równoległe

TEORETYCZNE PODSTAWY INFORMATYKI

Transkrypt:

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

Wydajność obliczeń równoległych Podobnie jak w obliczeniach sekwencyjnych, gdzie celem optymalizacji wydajności było maksymalne skrócenie czasu wykonania, tak i w obliczeniach równoległych chodzi o ten sam cel Dla konkretnego programu obliczenie liczby wykonywanych w programie operacji i czasu wykonania pozwala na uzyskanie wydajności w MFLOPS W przypadku obliczeń równoległych można szczegółowo analizować czas wykonania, uwzględniając także komunikację międzyprocesorową, co prowadzi do otrzymania wielu charakterystyk realizacji równoległej Krzysztof Banaś Obliczenia Wysokiej Wydajności 2

Czas równoległego wykonania programu Czas wykonania na pojedynczym i tym procesorze T i = T i obl + T i kom + T i jałowy Całkowity czas wykonania równoległego T = max i (T i ) T = i T i /p (uzupełnienie czasem jałowym) Możliwe jest zmniejszenie czasu wykonania dla systemów, w których daje się osiągnąć nakładanie się obliczeń i komunikacji Krzysztof Banaś Obliczenia Wysokiej Wydajności 3

Czas równoległego wykonania programu Elementy składowe czasu wykonania: T i obl czas obliczeń na pojedynczym procesorze Najczęściej zakłada się, że algorytm równoległy wykonuje te same operacje co algorytm sekwencyjny, lub ewentualnie także pewne dodatkowe operacje wynikłe z realizacji równoległej i T i obl = T sekw + T plus W teorii (np. do analiz wydajności) często zakłada się idealny rozkład operacji pomiędzy procesory T i obl = (T sekw + T plus )/p W praktyce maksymalny czas obliczeń na pojedynczym procesorze jest zazwyczaj większy niż wynikający z założenia idealnego zrównoważenia obciążenia (chyba że ma miejsce przyspieszenie ponadliniowe) Krzysztof Banaś Obliczenia Wysokiej Wydajności 4

Czas równoległego wykonania programu Elementy składowe czasu wykonania: T i kom czas komunikacji przypadający na pojedynczy procesor Czas przesłania pojedynczego komunikatu o rozmiarze m bajtów t s +l*(m*t w +t h ) routing SF t s +m*t w +l*t h routing CT t s +m*t w wzór uproszczony, routing CT Dokładna analiza przesyłanych komunikatów umożliwia znalezienie wzorów na czasy realizacji operacji komunikacji grupowych Krzysztof Banaś Obliczenia Wysokiej Wydajności 5

Parametry sieci komunikacyjnych Ethernet 1Gb ts rzędu 10 000ns, t w rzędu 8ns (0.125GB/s) 10Gb ts rzędu 1000ns, t w rzędu 0.8ns (1.25 GB/s) Infiniband DDR, 4X ts rzędu 1000 ns, t w rzędu 0.5ns (2GB/s) wiele innych mniej popularnych, często już o znaczeniu tylko historycznym (Myrinet, QsNet, SCI itp.) http://en.wikipedia.org/wiki/list_of_device_bandwidths Krzysztof Banaś Obliczenia Wysokiej Wydajności 6

Czas równoległego wykonania programu Elementy składowe czasu wykonania: T i jałowy czas jałowy jest najtrudniejszy do oszacowania Występowanie czasu jałowego jest związane z niezrównoważeniem obciążenia procesorów, konieczną synchronizacją działania procesorów, występowaniem fragmentów sekwencyjnych itp. Miarą zrównoważenia obciążenia (load balance) może być stosunek maksymalnego czasu obliczeń i komunikacji dla pojedynczego procesora do średniego czasu obliczeń i komunikacji (czasem wyróżnia się osobno zrównoważenie obciążenia dla obliczeń i komunikacji): max i (T i obl + T i kom ) / ( i (T i obl + T i kom ) / P) Doskonałe zrównoważenie oznacza stosunek równy 1, zwiększanie stosunku oznacza coraz gorsze zrównoważenie obciążenia Krzysztof Banaś Obliczenia Wysokiej Wydajności 7

Czas równoległego wykonania programu Analizy wydajności obliczeń równoległych prowadzą najczęściej do oszacowania pewnej dolnej granicy czasu wykonania równoległego Dolna granica czasu wykonania pozwala odrzucić algorytmy, które na pewno są zbyt mało wydajne Precyzyjne określenie czasu wykonania jest trudne wymaga uwzględnienia nierównomierności obciążenia, nakładania się obliczeń i komunikacji, ewentualnej ponadliniowości przyspieszenia obliczeń, zatykania się kanałów komunikacyjnych itp.) Z tego względu ostateczna ocena wydajności programu równoległego opiera się zazwyczaj na eksperymentalnie zmierzonych czasach i obliczonych parametrach przyspieszenia obliczeń i efektywności zrównoleglenia dla konkretnej platformy Krzysztof Banaś Obliczenia Wysokiej Wydajności 8

Narzut równoległego wykonania programu Czas wykonania równoległego można porównać z czasem idealnego równoległego rozwiązania zadania, posługując się pojęciem narzutu wykonania równoległego, T narz Narzut wykonania równoległego jest miarą odejścia od idealnego, liniowego przyspieszenia obliczeń Narzut można rozważać dla pojedynczego procesora: T i narz = T i T sekw /p (inaczej: T i narz (p) = T i (p) T (1)/p ) jako sumaryczny dla wszystkich procesorów: T narz_total = p*t narz (= p*t T sekw = i T i T sekw, analogicznie dla T (1)) wreszcie jako średni przypadający na 1 procesor: T narz = T narz_total /p = T T sekw /p (inaczej: T narz (p) = T (p) T (1)/p ) Krzysztof Banaś Obliczenia Wysokiej Wydajności 9

Narzut równoległego wykonania programu Sumaryczny narzut wykonania równoległego składa się z: Udziału części sekwencyjnej (niedającej się zrównoleglić) Czasu realizacji dodatkowych obliczeń Czasu komunikacji/synchronizacji Czasu jałowego Czasu systemowego (uruchomienie procesów, alokacja pamięci itp.) Proporcje powyższych czynników w narzucie pojedynczego procesora są różne, choć narzut przypadający na pojedynczy procesor jest taki sam (po uzupełnieniu czasem jałowym tak że T i = T ) Krzysztof Banaś Obliczenia Wysokiej Wydajności 10

Narzut równoległego wykonania programu Narzut wykonania równoległego, dla stałego rozmiaru zadania, zazwyczaj rośnie, jako funkcja liczby procesorów (stąd prawo Amdahla) Narzut obliczeń równoległych dla stałej liczby procesorów i rosnącego rozmiaru zadania może stanowić coraz mniejszy procent całkowitego czasu wykonania programu, stąd mimo wszystko sensowność obliczeń równoległych Istnieją precyzyjne miary liczbowe określające jak powinien rosnąć narzut jako funkcja liczby procesorów i rozmiaru zadania, aby obliczenia równoległe miały sens (czyli aby były skalowalne) Krzysztof Banaś Obliczenia Wysokiej Wydajności 11

Ziarnistość obliczeń Inną istotną cechą przydatną w ocenie wydajności obliczeń równoległych jest ziarnistość obliczeń Ziarnistość można określać w sposób ujmujący jej istotę, ale trudny do wyrażenia liczbowego, jako ilość obliczeń wykonywanych niezależnie przez procesory pomiędzy punktami synchronizacji lub wymiany komunikatów Z tej perspektywy obliczenia dzielimy na: drobnoziarniste (fine grain) o częstych komunikatach gruboziarniste (coarse grain) o rzadkich komunikatach W sposób liczbowy, choć tylko pośrednio ujmujący specyfikę ziarnistości, możemy ziarnistość wyrażać poprzez stosunek czasu komunikacji do czasu obliczeń (computation to communication ratio) Krzysztof Banaś Obliczenia Wysokiej Wydajności 12

Ziarnistość obliczeń Obliczenia drobnoziarniste mogą pozwalać na bardziej precyzyjne równoważenie obciążenia pomiędzy procesorami Obliczenia gruboziarniste będą miały przewagę nad drobnoziarnistymi w przypadku połączeń międzyprocesorowych o dużej zwłoce (latency) Zazwyczaj obliczenia o wysokim stosunku czasu obliczeń do czasu komunikacji są dobrze skalowalne, zwłaszcza jeśli stosunek ten rośnie wraz z liczbą procesorów Przykładami obliczeń dobrze skalowalnych są np. te z symulacji technicznych, w których stosunek obliczeń do komunikacji ma charakter stosunku objętości do powierzchni (volume to surface ratio) Krzysztof Banaś Obliczenia Wysokiej Wydajności 13