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

Podobne dokumenty
Analiza efektywności przetwarzania współbieżnego

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

Analiza ilościowa w przetwarzaniu równoległym

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

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

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

Analityczne modelowanie systemów równoległych

Programowanie równoległe

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

Przygotowanie kilku wersji kodu zgodnie z wymogami wersji zadania,

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

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

Numeryczna algebra liniowa

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

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

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

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

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

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

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

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

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

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

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

Przetwarzanie równoległe Zadanie domowe III

Podstawy Informatyki Systemy sterowane przepływem argumentów

Materiały pomocnicze do laboratorium. 1. Miary oceny efektywności 2. Mnożenie macierzy 3. Znajdowanie liczb pierwszych

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

Nowoczesne technologie przetwarzania informacji

Zadania badawcze prowadzone przez Zakład Technik Programowania:

4. Procesy pojęcia podstawowe

4. Procesy pojęcia podstawowe

Matematyczne Podstawy Informatyki

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

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

Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi

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

Optymalizacja ciągła

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.

INFORMATYKA SORTOWANIE DANYCH.

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

Zadania na zaliczenie przedmiotu Przetwarzanie równoległe Zebrał dla roku.ak. 2015/2016 Rafał Walkowiak,

Symulacyjne metody wyceny opcji amerykańskich

Algorytmy i Struktury Danych

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,

3URJUDPRZDQLHZVSyáELH*QHZVWS

Optymalizacja skalarna. Piotr Bała. Wykład wygłoszony w ICM w czercu 2000

Podstawy Informatyki. Sprawność algorytmów

Wstęp do informatyki. Maszyna RAM. Schemat logiczny komputera. Maszyna RAM. RAM: szczegóły. Realizacja algorytmu przez komputer

dr inż. Jarosław Forenc

System plików warstwa fizyczna

System plików warstwa fizyczna

System plików warstwa fizyczna

O superkomputerach. Marek Grabowski

Programowanie równoległe

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

Zaawansowane algorytmy i struktury danych

Programowanie współbieżne Wykład 7. Iwona Kochaoska

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

PROBLEMY NIEROZSTRZYGALNE

Metody numeryczne. materiały do wykładu dla studentów. 1. Teoria błędów, notacja O

Transformata Fouriera. Sylwia Kołoda Magdalena Pacek Krzysztof Kolago

Pytania przykładowe (z ubiegłych lat) na zaliczenie przedmiotu Przetwarzanie równoległe Przygotował Rafał Walkowiak Poznań 3.01.

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

Przetwarzanie Rozproszone i Równoległe

Wprowadzenie do złożoności obliczeniowej

Teoretyczne podstawy informatyki

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

Task Parallel Library

Przetwarzanie równoległe

Algorytmy dla maszyny PRAM

Zasady analizy algorytmów

Optymalizacja harmonogramów budowlanych - szeregowanie zadań. Mgr inż. Aleksandra Radziejowska AGH Akademia Górniczo-Hutnicza w Krakowie

Algorytmy i struktury danych. Wykład 4 Tablice nieporządkowane i uporządkowane

Architektura komputerów

Algorytmy decyzyjne będące alternatywą dla sieci neuronowych

Algorytmy stochastyczne, wykład 02 Algorytmy genetyczne

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

Pamięci masowe. ATA (Advanced Technology Attachments)

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

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

Za pierwszy niebanalny algorytm uważa się algorytm Euklidesa wyszukiwanie NWD dwóch liczb (400 a 300 rok przed narodzeniem Chrystusa).

dr inż. Jarosław Forenc

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

dr inŝ. Jarosław Forenc

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

16. Taksonomia Flynn'a.

Architektura komputerów

koniec punkt zatrzymania przepływów sterowania na diagramie czynności

Temat 8. Zrobić to szybciej Sieci sortujące

System obliczeniowy laboratorium oraz. mnożenia macierzy

Algorytm i złożoność obliczeniowa algorytmu

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

Elementy składowe: Przenośność oprogramowania Model SPMD Szczegółowe wersje (bindings) dla różnych języków programowania

Technologie cyfrowe. Artur Kalinowski. Zakład Cząstek i Oddziaływań Fundamentalnych Pasteura 5, pokój 4.15

TEORETYCZNE PODSTAWY INFORMATYKI

Wstęp do programowania

Podstawy Informatyki Elementarne podzespoły komputera

Transkrypt:

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

Źródła kosztów przetwarzania współbieżnego interakcje między procesami komunikacja synchronizacja; bezczynność przyczyny: brak zrównoważenia obciążenia (brak możliwości oceny czasu przetwarzania zadań), obecność części sekwencyjnej przetwarzania, konieczność synchronizacji; dodatkowe obliczenia algorytm równoległy dla swej efektywności wymaga innej konstrukcji od optymalnego algorytmu sekwencyjnego, np. powielenie obliczeń zamiast kosztownej komunikacji; 2

Miary efektywności systemów współbieżnych System współbieżny - połączenie algorytmu (programu) i architektury równoległej, w której jest on implementowany Czas przetwarzania (ang. runtime) T p czas przetwarzania równoległego od momentu rozpoczęcia przetwarzania równoległego do momentu zakończenia przetwarzania przez ostatnią jednostkę przetwarzającą T s czas przetwarzania sekwencyjnego Koszt zrównoleglenia (ang. parallel overhead) czas wspólnie spędzony przez jednostki współbieżne nad rozwiązywaniem problemu ponad czas niezbędny do rozwiązania tego samego problemu przez najlepszy algorytm sekwencyjny przy użyciu jednej jednostki przetwarzającej tego samego typu T o = pt p -T s Przyspieszenie miara zysku wynikającego ze zrównoleglenia przetwarzania (realizowanego na p identycznych jednostkach przetwarzających) w stosunku do sekwencyjnego przetwarzania zrealizowanego przy użyciu najlepszego algorytmu sekwencyjnego S=T s /T p jednostki przetwarzające systemu równoległego są identyczne do wykorzystywanych w przetwarzaniu sekwencyjnym. 3

Przyspieszenie Wartość przyspieszenia zazwyczaj nie przekracza liczby jednostek przetwarzających. Jeżeli czas przetwarzania współbieżnego na p procesorach wynikający z równego podziału przetwarzania sekwencyjnego trwającego T s wynosi mniej niż T s /p (wtedy byłoby S>p) to emulując sekwencyjnie pracę p procesorów na jednej jednostce przetwarzającej uzyskalibyśmy czas emulacji < T s co jest sprzeczne z założeniem, że najszybsze przetwarzanie sekwencyjne trwa T s. W praktyce przyspieszenie większe od liczby procesorów występuje wynika ono z: struktury i sposobu wykorzystania zasobów systemu przetwarzającego - w systemie z identycznymi p procesorami więcej pamięci podręcznej wielkość pamięci przypadająca na wielkość wykorzystywanych danych decyduje o efektywności jej wykorzystania. Przykład: w systemie 2 procesorowym ilość danych wykorzystywanych przez procesor spadnie o połowę w stosunku do przetwarzania sekwencyjnego efekt: wzrost stosunku trafień do pamięci podręcznej gdyż więcej stosunkowo danych w tej pamięci efekt: obliczenia ograniczone prędkością dostępu do pamięci będą realizowane szybciej ze względu na szybszy średni dostęp do pamięci (zależne także od wielkości danych i prędkości dostępu do danych nielokalnych) innej kolejności przetwarzania w przypadku problemów przeszukiwania wielkość uzyskiwanego przyspieszenia wynika z lokalizacji poszukiwanego rozwiązania, sposobu podziału problemu i przydziału zadań do procesorów. 4

Efektywność i koszt Efektywność określa tę część czasu przetwarzania w jakiej procesory są efektywnie wykorzystane E=S/p W idealnym systemie równoległym E =1 Koszt (praca) określa ilość czasu wykorzystywania do rozwiązywania problemu procesorów systemu równoległego C=T p *p. System współbieżny jest kosztowo optymalny jeżeli koszt w funkcji rozmiaru problemu rośnie (asymptotycznie) tak samo szybko ( ) jak funkcja złożoności najlepszego algorytmu sekwencyjnego. rt s (n) <= C(p,n) <= t T s (n) dla stałych r,t : 1<=r<=t Zależność oznaczamy C= (T s (n) ) 5

Wpływ granulacji obliczeń na efektywność Skalowanie w dół systemu równoległego oznacza używanie mniejszej niż wymagana liczby procesorów (symulują one pracę większej liczby jednostek przetwarzających). W systemach optymalnych kosztowo skalowanie w dół nie powinno powodować spadku efektywności (powoduje wzrost ziarna przetwarzania). Systemy nieoptymalne kosztowo mogą takimi pozostać. Może też powstać system optymalny kosztowo dzięki skalowaniu w dół np. zaleznie od zastosowanego algorytmu. 6

Skalowanie w dół systemu równoległego (metoda 1) sumowanie 16 liczb na 4 węzłach 12 13 14 15 8 9 10 11 4 5 6 7 0 1 2 3 zamiast 16 procesorów 4 Metoda: prześlij i dodaj (nieefektywna) T p2 = (n/p log p + n/p) - Komunikacja + sumowanie wykonywane n/p log p razy n/p przesłań i sumowań realizowane log p razy. - Sumowanie w docelowym węźle to n/p C 2 = T p2 * p = (n log p) C> (n) - system jest nieoptymalny kosztowo 12-13 14-15 8-9 10-11 4-5 6-7 0-1 2-3 12-15 8-11 4-7 0-3 7

Skalowanie w dół systemu równoległego (metoda 2) 3 7 11 15 2 6 10 14 1 5 9 13 0 4 8 12 0-3 4-7 8-11 12-15 Takie skalowanie systemu równoległego pozwala uzyskać system optymalny kosztowo. 0-7 8-15 1. T p = ( n/p + log p); C= (n+p logp) 2. jeżeli n asymptotycznie rośnie tak samo szybko jak plog p to C= (n), a system jest optymalny kosztowo 8

Skalowalność systemów współbieżnych System skalowalny umożliwia zachowanie stałej wielkości efektywności przy wzroście liczby procesorów dzięki wzrostowi rozmiaru przetwarzanego problemu. E= T s /(pt p ) T o =pt p -T s E = 1/(1+T o /T s ) koszt zrównoleglenia T o =f(p) np.t o > t serial (p-1), gdyż część sekwencyjna realizowana tylko przez jeden procesor, p-1 pozostałych czeka; 9

Skalowalność systemów współbieżnych Poprzedni przykład system optymalny kosztowo dodawania liczb (zakładamy czas komunikacji =czas sumowania - stąd 2 we wzorze): T p =n/p+2logp - n/p sumowań lokalnych oraz T 1 = n log p sumowań i przesłań E= T 1 / (pt p ) = n/(n+2p logp) = 1/(1+2p/n * logp) Przykład: jeśli E=0,8 to wtedy 2p/n * logp = ¼; zatem gdy p=4 to n=64, a gdy zwiększymy liczbę procesorów do 8 to n powinno wzrosnąć do 192 dla uzyskania stałej wielkości efektywności. 10

E Funkcja stałej efektywności - miara skalowalności W=const E p=const Typowe przebiegi E=f(p), E=f(W) T p =(W+T o (W,p))/p p zatem jeśli E = W/(pT p ) to E= 1/(1+T o (W,p)/W) a stąd W= E/(1-E) T o (W,p) czyli W= K T o (W,p) Funkcja stałej efektywności W=f(p) określa: jak łatwo system równoległy zachowa stałą efektywność i osiągnie przyspieszenie odpowiednie do wzrostu liczby procesorów. jak powinna rosnąć ilość pracy do wykonania w systemie równoległym, aby zapewnić, że przy wzroście liczby procesorów stałą zachowana zostanie wielkość przyspieszenia. W 11

Prawo Amdahla (1) Założenia: czas wykonania programu dla rozwiązania instancji problemu w sposób sekwencyjny ma dwa składniki: s możliwy do wykonania w sposób tylko sekwencyjny i r możliwy do wykonania w sposób równoległy. Daje się on zrównoleglić w dowolny sposób - czas przetwarzania maleje odwrotnie proporcjonalnie do użytej liczby procesorów. s+r =1 Rozpatrujemy przetwarzanie instancji problemu o stałym rozmiarze. 12

Prawo Amdahla (2) czas przetwarzania w funkcji liczby procesorów s=30% 1 t- czas przetwarzania 0,8 0,6 0,4 0,2 0 1 2 3 4 5 6 7 8 9 10 p - liczba procesorów 13

Prawo Amdahla (3) s r S( p) s r p lim p S( p) 1/ s lim r 1 S ( p ) p 14

Prawo Amdahla (4) przyspieszenie w funkcji wielkości części sekwencyjnej s =<0%,5%> 1200 Przyspieszenie(p=1024) 1000 800 600 400 200 0 0 0,01 0,02 0,03 0,04 0,05 PRZYSPIESZENIE 1024 91 48 32 24 20 s 15

Prawo Amdahla (5) przyspieszenie w funkcji liczby procesorów (s=10%) Przyspieszenie(s=0,1) 10 8 6 4 2 0 1 5 10 15 20 25 30 35 40 45 50 Przyspieszenie 1 3,57 5,26 6,25 6,9 7,35 7,69 7,95 8,16 8,33 8,47 Liczba procesorów 16

Prawo Amdahla (6) Wnioski: Ograniczenie stosowalności przetwarzania równoległego ze względu na ograniczenie wielkości możliwego do osiągnięcia przyspieszenia. Silny spadek przyspieszenia z niewielkim wzrostem wielkości nie poddającej się zrównolegleniu części przetwarzania. 17

Prawo Gustafsona (1) Założenia: Badamy przetwarzanie dla szeregu instancji problemu dla których czas wykonania programu w sposób sekwencyjny ma dwa składniki: s możliwy do wykonania jedynie w sekwencyjnie i r*p (dla m = 1,2,3,...) możliwy do wykonania w sposób równoległy. s+r =1 Instancje o sekwencyjnym czasie przetwarzania równym s+r*p są przetwarzane przy użyciu p procesorów (dla p= 1,2,3,...). Rozpatrujemy przetwarzanie szeregu instancji problemu o rosnącym rozmiarze i stałym czasie przetwarzania równoległego w funkcji użytych procesorów. 18

Prawo Gustafsona (3) czas przetwarzania badanego szeregu instncji w funkcji liczby procesorów s=0,3 1 t- czas przetwarzania 0,8 0,6 0,4 0,2 0 1 2 3 4 5 6 7 8 9 10 p - liczba procesorów 19

Prawo Gustafsona (2) Wyznaczamy przyspieszenie dla powyższego szeregu instancji przetwarzanych na odpowiedniej liczbie procesorów s pr S( p) s pr p s( p 1) s r lim p S ( p ) 20

Prawo Gustafsona (4) przyspieszenie w funkcji wielkości części sekwencyjnej s =<0,0.05> 1200 Przyspieszenie(p=1024) 1000 800 600 400 200 0 0 0,01 0,02 0,03 0,04 0,05 PRZYSPIESZENIE 1024 1014 1004 993 983 973 s 21

Prawo Gustafsona (5) przyspieszenie w funkcji liczby procesorów s=0,1 50 Przyspieszenie(s=0,1) 40 30 20 10 0 1 5 10 15 20 25 30 35 40 45 50 Przyspieszenie 1 4,6 9,1 13,6 18,1 22,6 27,1 31,6 36,1 40,6 45,1 Liczba procesorów 22

Prawo Gustafsona (6) Wnioski: Przy wzroście złożoności przetwarzania ze wzrostem liczby procesorów możliwe jest efektywne przetwarzanie równoległe: Nie ma ograniczenia na wielkość możliwego do osiągnięcia przyspieszenia. Liniowy wzrost przyspieszenia w funkcji liczby procesorów. Mniejszy wpływ wielkości części niepodlegającej zrównolegleniu na przyspieszenie. Założono niezależność wielkości tej części od wielkości instancji problemu. W wielu przypadkach założenie to nie jest jednak prawdziwe np. wielkość części sekwencyjnej zależy od czasu trwania operacji wejścia-wyjścia, który to zazwyczaj rośnie z rozmiarem problemu. 23