Analiza ilościowa w przetwarzaniu równoległym

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

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

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

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

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

Numeryczna algebra liniowa

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

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

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

Nowoczesne technologie przetwarzania informacji

Algorytmy dla maszyny PRAM

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

Wprowadzenie do systemów operacyjnych. mgr inż. Krzysztof Szałajko

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

4. Procesy pojęcia podstawowe

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

4. Procesy pojęcia podstawowe

Podstawy Informatyki Systemy sterowane przepływem argumentów

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

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

Algorytmy i Struktury Danych

Analityczne modelowanie systemów równoległych

Budowa komputera. Lubię to! - podręcznik

Zegar - układ wysyłający regularne impulsy o stałej szerokości (J) i częstotliwości (f)

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

Przetworniki cyfrowo analogowe oraz analogowo - cyfrowe

Systemy rozproszone. na użytkownikach systemu rozproszonego wrażenie pojedynczego i zintegrowanego systemu.

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

xx + x = 1, to y = Jeśli x = 0, to y = 0 Przykładowy układ Funkcja przykładowego układu Metody poszukiwania testów Porównanie tabel prawdy

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

Technologie informacyjne - wykład 12 -

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

Przetwarzanie potokowe pipelining

Optymalizacja ciągła

Przetwarzanie równoległe

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

Technika audio część 2

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

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

Ćwiczenie M-2 Pomiar przyśpieszenia ziemskiego za pomocą wahadła rewersyjnego Cel ćwiczenia: II. Przyrządy: III. Literatura: IV. Wstęp. l Rys.

Matematyczne Podstawy Informatyki

Modelowanie procesów współbieżnych

Zadania badawcze prowadzone przez Zakład Technik Programowania:

Przygotowanie kilku wersji kodu zgodnie z wymogami wersji zadania,

Architektura mikroprocesorów TEO 2009/2010

Budżetowanie elastyczne

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

Transformata Fouriera. Sylwia Kołoda Magdalena Pacek Krzysztof Kolago

Ruch jednostajny prostoliniowy

Adam Korzeniewski - p. 732 dr inż. Grzegorz Szwoch - p. 732 dr inż.

Liczby zmiennoprzecinkowe i błędy

W wielu obliczeniach w matematyce bądź fizyce wykonanie niektórych kroków zależy od spełnienia warunku.

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

Przetwarzanie równoległe Zadanie domowe III

Rys. 1 Otwarty układ regulacji

16. Taksonomia Flynn'a.

SIEĆ NEURONOWA DO OCENY KOŃCOWEJ PRZEDSIĘWZIĘCIA (PROJEKTU)

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

Budżetowanie elastyczne

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

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

Planowanie przydziału procesora

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

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

Wykład I. Wprowadzenie do baz danych

Wykład 6. Planowanie (szeregowanie) procesów (ang. process scheduling) Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB

LEKCJA TEMAT: Zasada działania komputera.

1 Układy równań liniowych

Wprowadzenie do złożoności obliczeniowej

Kumulowanie się defektów jest możliwe - analiza i potwierdzenie tezy

Czujniki obiektowe Sterowniki przemysłowe

Uwaga: Funkcja zamień(a[j],a[j+s]) zamienia miejscami wartości A[j] oraz A[j+s].

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.

Programowanie równoległe

Systemy rozproszone System rozproszony

współbieżność - zdolność do przetwarzania wielu zadań jednocześnie

Modelowanie niezawodności prostych struktur sprzętowych

4. ZNACZENIE ROZKŁADU WYKŁADNICZEGO

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

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

3URJUDPRZDQLHZVSyáELH*QHZVWS

dr inż. Jarosław Forenc

Strefa pokrycia radiowego wokół stacji bazowych. Zasięg stacji bazowych Zazębianie się komórek

Regulacja dwupołożeniowa (dwustawna)

ALGORYTMY MATEMATYCZNE Ćwiczenie 1 Na podstawie schematu blokowego pewnego algorytmu (rys 1), napisz listę kroków tego algorytmu:

Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Elektroniki

Metody optymalizacji soft-procesorów NIOS

UKŁADY MIKROPROGRAMOWALNE

Systemy ekspertowe. Krzysztof Patan

PAMIĘCI. Część 1. Przygotował: Ryszard Kijanka

Planowanie przydziału procesora

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

Kryptografia na procesorach wielordzeniowych

CZĘŚĆ I. WARSTWA PRZETWARZANIA WSADOWEGO

Wykład 4 Przebieg zmienności funkcji. Badanie dziedziny oraz wyznaczanie granic funkcji poznaliśmy na poprzednich wykładach.

Programowanie liniowe

Przetwarzanie równoległesprzęt

WHILE (wyrażenie) instrukcja;

ĆWICZENIE 15 BADANIE WZMACNIACZY MOCY MAŁEJ CZĘSTOTLIWOŚCI

Wykład Centralne twierdzenie graniczne. Statystyka matematyczna: Estymacja parametrów rozkładu

Transkrypt:

Komputery i Systemy Równoległe Jędrzej Ułasiewicz 1 Analiza ilościowa w przetwarzaniu równoległym 10. Analiza ilościowa w przetwarzaniu równoległym...2 10.1 Kryteria efektywności przetwarzania równoległego...2 10.2 Przyspieszenie...3 10.3 Ziarnistość przetwarzania...5 10.4 Prawo Amhdala...6 10.5 Prawo Gustafsona...9

Komputery i Systemy Równoległe Jędrzej Ułasiewicz 2 10. Analiza ilościowa w przetwarzaniu równoległym 10.1 Kryteria efektywności przetwarzania równoległego Zadaniem projektanta jest wytworzenie aplikacji która byłaby efektywna i spełniała wymagania użytkownika. Kryteria efektywności nie są jednoznaczne. Kryteria efektywności aplikacji równoległych: Czas wykonania (ang. execution time) Skalowalność Przyspieszenie (ang. speedup) Zapotrzebowanie na pamięć Przepustowość (ang. throughput) Opóźnienie (ang. latency) Zapotrzebowanie na komunikację Zapotrzebowanie na operacje wejścia / wyjścia Powinny być uwzględnione także koszty projektu w każdej fazie cyklu życia oprogramowania. Koszty projektu Koszty implementacji Koszty weryfikacji i testowania Koszty utrzymania Powinny być uwzględnione także koszty sprzętu. Które z kryteriów powinny być zastosowane? - Zależy to od natury problemu. Przykłady: System prognozowania pogody Ważne kryteria: Czas wykonania prognozy musi być mniejszy od założonego, niezawodność, model skalowalny. System przetwarzania obrazu Małe opóźnienie tak aby możliwe było przetwarzanie w czasie rzeczywistym

Komputery i Systemy Równoległe Jędrzej Ułasiewicz 3 10.2 Przyspieszenie W każdym algorytmie występuje część która musi być wykonana sekwencyjnie i części które mogą być wykonane równolegle. Liczba procesorów wykonanie równolegle P=4 wyk. sekwencyjne P=1 t s t s czas Rys. 10-1 Rozwiązanie problemu sekwencyjne i równoległe Przyspieszenie definiuje się jako stosunek czasu t s wykonania zadania w systemie z jednym procesorem, do czasu t p wykonania w systemie z n procesorami. S p = t s / t p Przyspieszenie liniowe Najlepsze przyspieszenie jakie daje się osiągnąć przez zastosowanie p procesorów wynosi p. Jest to przyspieszenie liniowe. Argumentacja za przyspieszeniem liniowym: 1. Załóżmy że problem dzielimy na p procesów o jednakowym czasie wykonania. 2. Zakładamy że podział taki nie wprowadza żadnych narzutów (komunikacyjnych i innych). 3. Stąd czas t p równoległego przetwarzania problemu jest p razy mniejszy niż czas przetwarzania sekwencyjnego t s. 4. Tak więc przyspieszenie S p = t s / (t s /p) = p. czyli S p = p.

Komputery i Systemy Równoległe Jędrzej Ułasiewicz 4 Przyspieszenie realne jest mniejsze od idealnego przyspieszenia liniowego. Powody są następujące: 1. Nie zawsze problem daje się podzielić na p. procesów o jednakowym czasie wykonania. 2. W problemach nieraz występuje część która musi być wykonana sekwencyjnie. 3. Procesy nieraz muszą czekać na dane od innych procesów i pozostają bezczynne. 4. Występuje narzut na komunikację. Rys. 10-2 Rzeczywisty przebieg przetwarzania równoległego. Sp Idealne Rzeczywiste Rys. 10-3 Przyspieszenie liniowe i rzeczywiste P

Komputery i Systemy Równoległe Jędrzej Ułasiewicz 5 Efektywność Efektywność przetwarzania równoległego E p jest stosunkiem przyspieszenia S p uzyskanego poprzez użycie p procesorów do liczby procesorów. E p = S p (p) / p Ep Idealna Rzeczywista P Rys. 10-4 Zależność pomiędzy efektywnością idealną a teoretyczną. 10.3 Ziarnistość przetwarzania Pomiędzy cyklami obliczeń wykonywanych przez algorytm przetwarzania równoległego, występują cykle komunikacyjne gdy konieczna jest wymiana informacji pomiędzy procesami przetwarzającymi. Algorytmy mogą różnić się istotnie ze względu na częstość cykli komunikacja / obliczenia. Własność tę nazywamy ziarnistością przetwarzania. Ziarnistość przetwarzania równoległego (ang. granurality) jest ilością obliczeń algorytmu równoległego wykonywanych pomiędzy procedurami komunikacyjnymi. Wyróżniamy ziarnistość: Małą - (ang. fine granularity) Średnią - (ang. intermediate granularity) Dużą - (ang. coarse granularity) Gdy ziarnistość rośnie to: Maleją koszty komunikacji Maleje liczba procesów Maleją koszty tworzenia procesów Ziarnistość przetwarzania a typy maszyn: Ziarnistość duża klastry Ziarnistość średnia - multikomputery Ziarnistość mała - komputery SIMD, multiprocesory

Komputery i Systemy Równoległe Jędrzej Ułasiewicz 6 10.4 Prawo Amhdala Ideą przewodnią jest założenie że każdy algorytm zawiera część która musi być wykonana sekwencyjnie. Założymy najpierw że cały algorytm wykonuje się sekwencyjnie i trwa to t s. Niech f (liczba z zakresu od 0 do 1) oznacza udział części która musi być wykonana sekwencyjnie w całym czasie wykonania algorytmu (w sposób sekwencyjny). f = (Czas wykonania części która musi być wykonana sekwencyjnie) / t s f t s - czas części która musi wykonać się sekwencyjnie (1 f) t s - czas części która potencjalnie może być zrównoleglona Gdy mamy n procesorów to czas wykonania tej części będzie: (1 f) t s /n Przyspieszenie S(n) algorytmu wykonywanego na n procesorach wynosi:

Komputery i Systemy Równoległe Jędrzej Ułasiewicz 7 Prawo Amhdala Przy dużej liczbie procesorów n przyspieszenie S(n) = 1/f. Tak więc przyspieszenie algorytmu jest ograniczone przez czas wykonania części jego sekwencyjnej. Rys. 10-5 Zależność przyspieszenia S(n) (os pionowa) od liczby procesorów n (oś pozioma) dla różnych wartości współczynnika f. Rys. 10-6 Zależność przyspieszenia S(n) (os pionowa) od wartości współczynnika f (oś pozioma) dla różnej liczby procesorów n

Komputery i Systemy Równoległe Jędrzej Ułasiewicz 8 Analiza praktycznych przypadków pokazuje że ograniczenia wynikające z prawa Amhdala są zbyt surowe. Przykładowo dla f = 0.01 S(n) = 100 tak więc dla tego f nie da się osiągnąć przyspieszenia powyżej 100 tak więc nie warto stosować komputera o więcej niż 100 procesorach. Przykład: 1000 robotników buduje autostradę, 999 czeka aż jeden wykona pracę uznaną za sekwencyjną. Czy taki przypadek jest realny?. Gdy wszyscy czekają aż gruszka z betonem zakończy wylewanie zawartości należy zmienić organizację pracy. Należy budować na wielu odcinkach jednocześnie.

Komputery i Systemy Równoległe Jędrzej Ułasiewicz 9 10.5 Prawo Gustafsona Opiera się na idei skalowalności. Czas przetwarzania części sekwencyjnej nie rośnie proporcjonalnie do rozmiaru problemu, ale pozostaje stały. Wymiar problemu powiększa się proporcjonalnie do liczby procesorów użytych do jego rozwiązania. Niech f będzie ułamkiem określającym czas wykonania części sekwencyjnej a t p czasem wykonania całości na maszynie równoległej. Dla algorytmu równoległego wykonywanego na n procesorach czas wykonania wynosi: część sekwencyjna: ft p część równoległa: (1 f) t p całość: ft p + (1 f) t p Jeżeli wykonywać by ten sam algorytm na hipotetycznej maszynie sekwencyjnej to czas wykonania części równoległej zwiększyłby się n razy co daje: część sekwencyjna: ft p część równoległa: n(1 f) t p całość: ft p + n(1 f) t p Tak więc przyspieszenie S(n) wynosi: t ftp + n(1 f ) t s p S( n) = = = n + f (1 n) t ft + (1 f ) t p W uproszczeniu S(n) dąży do n. p p Prawo Gustafsona Przyspieszenie S(n) rozwiązania problemu na maszynie z n procesorami jest proporcjonalne do liczby użytych procesorów i wyraża się wzorem S(n) = n.

Komputery i Systemy Równoległe Jędrzej Ułasiewicz 10 Rys. 10-7 Ilustracja prawa Gustafsona Przyspieszenie obliczone z prawa Gustafsona jest większe niż wynikające z prawa Amdhala. Żadne nie oddaje rzeczywistości gdyż obydwa prawa są tylko przybliżeniami.