Przetwarzanie równoległe Zadanie domowe III

Podobne dokumenty
Układy równań i nierówności liniowych

Rozwiązywanie zależności rekurencyjnych metodą równania charakterystycznego

Matematyka dyskretna dla informatyków

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

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

FUNKCJA LINIOWA - WYKRES

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

Funkcje liniowe i wieloliniowe w praktyce szkolnej. Opracowanie : mgr inż. Renata Rzepińska

Co to jest wektor? Jest to obiekt posiadający: moduł (długość), kierunek wraz ze zwrotem.

2. DZIAŁANIA NA WIELOMIANACH

3. FUNKCJA LINIOWA. gdzie ; ół,.

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

Analiza efektywności przetwarzania współbieżnego

ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ NIELINIOWYCH PRZY POMOCY DODATKU SOLVER PROGRAMU MICROSOFT EXCEL. sin x2 (1)

Metoda eliminacji Gaussa. Autorzy: Michał Góra

TEORETYCZNE PODSTAWY INFORMATYKI

Znaleźć wzór ogólny i zbadać istnienie granicy ciągu określonego rekurencyjnie:

Programowanie dynamiczne

Rozkład materiału z matematyki dla II klasy technikum zakres podstawowy I wariant (38 tyg. 2 godz. = 76 godz.)

RACHUNEK PRAWDOPODOBIEŃSTWA WYKŁAD 3.

WYMAGANIA EDUKACYJNE Z MATEMATYKI KLASA I GIMNAZJUM Małgorzata Janik

Kształcenie w zakresie podstawowym. Klasa 2

FUNKCJA LINIOWA - WYKRES. y = ax + b. a i b to współczynniki funkcji, które mają wartości liczbowe

Wykład z równań różnicowych

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

Wymagania edukacyjne z matematyki dla klasy VII

Szukanie rozwiązań funkcji uwikłanych (równań nieliniowych)

Otrzymaliśmy w ten sposób ograniczenie na wartości parametru m.

Numeryczne rozwiązywanie równań różniczkowych ( )

MATEMATYKA Z PLUSEM DLA KLASY VII W KONTEKŚCIE WYMAGAŃ PODSTAWY PROGRAMOWEJ. programowej dla klas IV-VI. programowej dla klas IV-VI.

III. ZMIENNE LOSOWE JEDNOWYMIAROWE

Funkcje wymierne. Funkcja homograficzna. Równania i nierówności wymierne.

Ćwiczenia nr 7. TEMATYKA: Krzywe Bézier a

3. Macierze i Układy Równań Liniowych

WYMAGANIA EDUKACYJNE Z MATEMATYKI DLA KLASY 7SP. V. Obliczenia procentowe. Uczeń: 1) przedstawia część wielkości jako procent tej wielkości;

Szczegółowe wymagania edukacyjne na poszczególne oceny dla klasy I gimnazjum

WYRAŻENIA ALGEBRAICZNE

ZESTAWIENIE TEMATÓW Z MATEMATYKI Z PLUSEM DLA KLASY VIII Z WYMAGANIAMI PODSTAWY PROGRAMOWEJ WYMAGANIA SZCZEGÓŁOWE Z PODSTAWY PROGRAMOWEJ

LUBELSKA PRÓBA PRZED MATURĄ 2018 poziom podstawowy

Programowanie celowe #1

Wstęp do Informatyki zadania ze złożoności obliczeniowej z rozwiązaniami

5. Rozwiązywanie układów równań liniowych

VII. WYKRESY Wprowadzenie

2. Układy równań liniowych

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,

Matematyka dyskretna. Andrzej Łachwa, UJ, a/15

Wymagania edukacyjne z matematyki dla klasy I gimnazjum wg programu Matematyka z plusem

TWIERDZENIE TALESA W PRZESTRZENI

Dopuszczający. Opracowanie: mgr Michał Wolak 2

Elementy Modelowania Matematycznego

Spis treści. Przedmowa... XI. Rozdział 1. Pomiar: jednostki miar Rozdział 2. Pomiar: liczby i obliczenia liczbowe... 16

WYMAGANIA NA POSZCZEGÓLNE STOPNIE KLASA I GIMNAZJUM

Aproksymacja funkcji a regresja symboliczna

PODSTAWY AUTOMATYKI. MATLAB - komputerowe środowisko obliczeń naukowoinżynierskich - podstawowe operacje na liczbach i macierzach.

WYMAGANIA EDUKACYJNE Z MATEMATYKI 2016/2017 (zakres podstawowy) klasa 3abc

Wymagania edukacyjne z matematyki dla uczniów klasy VII szkoły podstawowej

WYMAGANIA EDUKACUJNE Z MATEMATYKI Z PLUSEM DLA KLASY VIII WYMAGANIA SZCZEGÓŁOWE Z PODSTAWY PROGRAMOWEJ TEMAT

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

Algebra abstrakcyjna

KRYTERIA WYMAGAŃ Z MATEMATYKI NA POSZCZEGÓLNE OCENY

Przestrzenie wektorowe

Złożoność obliczeniowa zadania, zestaw 2

PLAN WYNIKOWY Z MATEMATYKI DLA I KL. GIMNAZJUM do podręcznika GWO Matematyka z plusem. PODSTAWOWE Uczeń zna:

Sumy kwadratów kolejnych liczb naturalnych

WYMAGANIA EDUKACYJNE NA POSZCZEGÓLNE OCENY W KLASIE I GIMNAZJUM

Wymagania edukacyjne z matematyki

Dokumentacja. Portal Mathfinance Wycena opcji paryskich metoda. Wiktor Madejski

Wymagania edukacyjne z matematyki

13 Układy równań liniowych

Rozdział 1. Wektory losowe. 1.1 Wektor losowy i jego rozkład

dr Mariusz Grządziel 15,29 kwietnia 2014 Przestrzeń R k R k = R R... R k razy Elementy R k wektory;

Teoretyczne podstawy informatyki

1. Wykład NWD, NWW i algorytm Euklidesa.

Układy równań liniowych. Krzysztof Patan

Wymagania eduka cyjne z matematyki

Definicje i przykłady

w analizie wyników badań eksperymentalnych, w problemach modelowania zjawisk fizycznych, w analizie obserwacji statystycznych.

I. Liczby i działania

1 Układy równań liniowych

Rozdział 1 PROGRAMOWANIE LINIOWE

II. Równania autonomiczne. 1. Podstawowe pojęcia.

WYMAGANIA na poszczególne oceny-klasa I Gimnazjum

Pochodne cząstkowe i ich zastosowanie. Ekstrema lokalne funkcji

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

WYMAGANIA EDUKACYJNE Z MATEMATYKI DLA KLASY I GIMNAZJUM

Kryteria oceniania z zakresu klasy pierwszej opracowane w oparciu o program Matematyki z plusem dla Gimnazjum

Zadanie 3 Oblicz jeżeli wiadomo, że liczby 8 2,, 1, , tworzą ciąg arytmetyczny. Wyznacz różnicę ciągu. Rozwiązanie:

TEORETYCZNE PODSTAWY INFORMATYKI

Definicja i własności wartości bezwzględnej.

Teoria. a, jeśli a < 0.

6. FUNKCJE. f: X Y, y = f(x).

FUNKCJA LINIOWA, RÓWNANIA I UKŁADY RÓWNAŃ LINIOWYCH

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

Podstawy Automatyki. Wykład 12 - synteza i minimalizacja funkcji logicznych. dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

Algebra Boole a i jej zastosowania

PRAWO OHMA DLA PRĄDU PRZEMIENNEGO

Metody przybliżonego rozwiązywania równań różniczkowych zwyczajnych

2) R stosuje w obliczeniach wzór na logarytm potęgi oraz wzór na zamianę podstawy logarytmu.

Rozwiązywanie układów równań liniowych

Transkrypt:

Przetwarzanie równoległe Zadanie domowe III Jarosław Marek Gliwiński #indeksu 7439 16 stycznia 010 1 Wstęp 1.1 Wykaz skrótów i oznaczeń W pierwszej kolejności przedstawione zostaną używane w pracy oznaczenia, następnie podstawowe definicje miar koniecznych do uzyskania rozwiązania d liczba wymiarów kostki p liczba węzłów (procesorów), z definicji hiperkostki równa d n liczba sumowanych liczb n i początkowa liczba liczb w i-tym węźle T sum, T comm odpowiednio czas sumowania dwóch liczb oraz przesłania liczby. W warunkach zadania T comm = 10T sum T seq (n), T par (n) odpowiednio czas działania algorytmu sekwencyjnego oraz równoległego dla n liczb S speed-up przyspieszenie obliczeń E efficiency efektywność wykorzystania procesorów C cost koszt zrównoleglenia (1) S = T seq T par () E = S p (3) C = pt par T seq 1

1. Założenia Przede wszystkim przyjęto równomierny 1 rozkład liczb w procesorach. Motywacja takiego warunku wynika z faktu, iż w przypadku rozkładu innego niż równomierny niemożliwe byłoby uzyskanie deterministycznych wyników, ponieważ system równoległy pracowałby z parametrami zależnymi od konkretnej wartości wektora losowego X(ω) = (X 1 (ω), X (ω),..., X p (ω)). Nie jest to jedyny mankament tego podejścia dodatkowo rozkłady zmiennych X i omega są nieznane, a same zmienne z pewnością nie są niezależne. Ewentualnie możliwe jest wyznaczenie przypadku teoretycznie najgorszego i najlepszego. Analiza Dokonamy teraz określenia zależności czasu przetwarzania systemu hiperkostkowego od ilości danych wejściowych mierzonej liczbą sumowanych wartości oraz rzędu struktury systemu, tj. liczby wymiarów. Poczynając od systemu jednowymiarowego pokażemy ogólne zalezności obowiązujące dla dowolnego D N, wykorzystując na każdym etapie wyniki i wnioski pośrednie otrzymane na etapie rozważania kolejnych przypadków..1 Kostka 0D Przypadek zerowymiarowy jest trywialny hiperkostka zerowymiarowa jest zdegenerowana do punktu, a zatem nieodróżnialna od systemu jednoprocesorowego. Jedyne przeprowadzane operacje nie różnią się niczym od tych przeprowadzanych w ramach algorytmu sekwencyjnego. Zatem (4) T 0D par = T seq. Kostka 1D Kostka jednowymiarowa przybiera postać odcinka przedstawiono to na rysunku 1b. Zatem przebieg algorytmu podanego w treści zadania będzie następujący: 1. Sumowanie liczb w każdym z węzłów, przy czym liczba sumowań w zależności od liczby liczb w węźle n i wynosi: (5) s(n i ) = { 0 ni < n i 1 n i. Wymiana sum częśćiowych między jedynymi dostępnymi sąsiednimi węzłami 1 i w jedynym dostępnym wymiarze poziomym 3. Dodawanie w każdym z węzłów otrzymanej i własnej sumy częściowej 1 z dokładnością ±1, w przypadkach, gdy n mod p 0 X 1(ω) + X (ω) + + X p(ω) = n

(a) Kostka 0D (b) Kostka 1D (c) Kostka D (d) Kostka 3D (e) Kostka 4D Rys. 1: Przykładowe realizacje d-wymiarowej hiperkostki dla rozważanych wartości d 3

Kroki i 3 składają się z pojedynczych operacji elementarnych trwających odpowiednio T sum i T comm. Nieco precyzyjniejszego omówienia wymaga krok pierwszy i wynikająca z niego synchronizacja systemu. Mianowicie punkt drugi równoległe dodawanie sum częściowych jest możliwy jedynie po zakończeniu dodawania początkowych n i liczb w każdym z węzłów. W praktyce oznacza to, że krok drugi może rozpocząć się dopiero po czasie max i s(n i ) Łatwo zatem wyciągnąć wniosek, że przypadek optymistyczny występuje, gdy liczby są rozdzielone równomiernie pomiędzy węzły a wartość wynikająca ze wzoru max i s(n i ) jest minimalna. Przypadkowi pesymistycznemu odpowiadałaby oczywiście sytuacja odwrotna maksymalne s(n i ) występujące w przypadku agregacji wszystkich liczb w jednym z węzłów. W tym wypadku pierwszy krok byłby powieleniem wykonania algorytmu sekwencyjnego, a w kolejnych krokach następowałaby jedynia propagacja wyniku do wszystkich węzłów 3. Dodatkowo możliwe jest kombinatoryczne wyznaczenie przypadku średniego. Jednakże, jako że jak wspomniano wcześniej przyjęto model z rozkładem równomiernym, nie będziemy zajmować się przypadkami innymi niż optymistyczny. W przypadku równomiernego rozkładu jego równomierność jest rzecz jasna umowna jak wspomniano wcześniej. Zależność na czas kroku pierwszego zamiast równania przybierze zatem w praktyce prostszą postać n p co oczywiście sprowadza się do tego samego wyniku dla n > d+1. Podsumowując, dla przypadku jednowymiarowego uzyskujemy zatem następują zależność: (6) T 1D par(n) =.3 Kostka D 1 T sum + T comm + T sum Kostka D to struktura o topologii pierścienia składająca się z czterech węzłów przedstawiono ją na rysunku 1c. Ponownie, pierwszym wykonanym krokiem bedzie sumowanie początkowych wartości w każdym z węzłów i synchronizacja w momencie uzyskania sumy częściowej o największej liczbie składników. Następnie nastąpi równoczesna wymiana sum częściowych w wymiarze poziomym kostki, a więc sumy częściowe będą równe odpowiednio w węzłach (1, ) oraz (3, 4). Na tym etapie przetwarzania w grafie systemu możemy wyróżnić dwa obszary według wartości przechowywanych w węzłach. Jeśli narysujemy graf połączeń tych obszarów uzyskamy kostkę jednowymiarową w wymiarze pionowym, z jedną liczbą w obydwu węzłach. Odpowiada to sytuacji w systemie, ponieważ operacje, jakie teraz pozostały do wykonania, to wymiana w wymiarze pionowym oraz dodanie sum częściowych, które kończy algorytm pozostawiając w każdym z węzłów tę samą wartość wyniku. Jak łatwo zauważyć, skonstruowana przed chwilą pionowa kostka 1D pozwala przez wykonanie algorytmu równoległego dokładnie zamodelować te kroki i uzyskać ten sam wynik w tym samym czasie. Czas działania w tym przypadku sprowadzi się zatem do sumy kroku pierwszego o czasie wykonania n 4 T sum i czasu wykonania algorytmu równoległego w systemie 1D dla dwóch liczb: (7) Tpar(n) D = 1 T sum + T 1D 4 par() 3 plus ewentualne obliczenia polegające na zsumowaniu zera z propagowaną sumą to już pozostaje kwestią implementacji algorytmu 4

.4 Kostka 3D Ogólnie znaną pod nazwą kostki strukturę kostki trójwymiarowej przedstawia w rzucie na płaszczyznę rysunek 1d. Kostkę tę można po wykonaniu sumowania początkowego i wymiany w wymiarze głębokości,nalogicznie do kostki D, k zredukować do dwóch kostek niższego rzędu a więc w tym przypadku dwuwymiarowych z czterema liczbami każda. Znamy zatem wszystkie informacje konieczne do sformuowania wzoru: () Tpar(n) 3D = T sum + T D par(4).5 Kostka 4D i przypadek ogólny Hiperkostkę 4D, o strukturze tesseraktu, przedstawiono w rzucie na płaszczyznę na rysunku 1e. Niemożność interpretacji przez ludzki wzrok właściwej struktury we właściwej ilości wymiarów przedstawionego grafu czyni jeszcze bardziej oczywistym niż w poprzednich przypadkach spostrzeżenie, iż tesserakt składa się z dwóch sześcianów. Postępujemy zatem analogicznie jak poprzednio: n (9) Tpar(n) 4D = T sum + T 16 par() 3D Ze względu na symetrię struktur i przekształceń składania oczywistym jest już, że ogólna zależność będzie postaci rekurencyjnej: Tpar(n) dd = d 1 T sum + T par (d 1)D ( d 1 ) Rekurencję tę można usunąć zauważając, że w każdym przypadku trzeba wykonać składanie hiperkostki do o wymiar mniejszej, a jest to operacja odpowiadająca wymianie sum częściowych i sumowaniu w każdym węźle sumy wymienionej z własną a więc o stałym czasie wykonania T comm +T sum 4. Pozwala to zamienić każde odwołanie rekurencyjne tą właśnie sumą. Rekurencja zatrzymuje się na d = 0, zatem ilość tych wywołań będzie równa liczbie wymiarów. Wzór w uproszczonej postaci będzie miał zatem postać (10) Tpar(n) dd = d 1 T sum + d(t comm + T sum ) co kończy rozważania w tej sekcji i pozwala przejść bezpośrednio do zadanych obliczeń. 4 ponieważ w ułamku n d zachodzi n = d 5

3 Rozwiązanie Na podstawie otrzymanych zależności uzyskamy teraz wyniki liczbowe wymagane przez zadanie. 3.1 Kostka 3D, 1000 liczb Pierwsze polecenie dotyczy obliczeń w systemie o topologii kostki trójwymiarowej dla n = 1000 liczb. Sprowadza się to do uzyskania wyników z równań 1 3. Niezbędne do tego wartości, poza wyznaczonym wyżej T par, należą do danych. Dla uproszczenia przyjmujemy T sum = 1. Zatem najpierw uzyskujemy czas przetwarzania systemu równoległego: T 3D par(1000) = ( 1000 ) 1 + 3 11 = 15 1 + 33 = 157 A następnie na tej podstawie obliczamy wymagane miary efektywności: (11) S = T seq(n) Tpar(n) 3D = 999 157 6.363 (1) E = S p = 6.363 = 0.795 (13) C = pt par T seq = 157 999 = 57 3. Porównanie z kostką 4D Kolejne polecenie dotyczy wymaganego n, które pozwoliłoby uzyskać systemowi 4D uzyskanie efektywności co najmniej takiej samej, jak w przypadku 3D. Sprowadza się to do porównania i sprawdzenia, czy istnieje n dla którego zachodzi: (14) T seq(n) T 3D par(n) T seq(n ) T 4D par(n ) 16 Można rozważyć dwie alternatywne interpretacje nierówności 14: 1. n = n. n 3..1 Interpretacja 1 Odpowiada na pytanie, który z systemów efektywniej wykorzystuje potencjalny czas przetwarzania węzłów w rozwiązywaniu tego samego problemu (tych samych danych wejściowych). W tym wypadku nierówność upraszcza się do postaci Tpar(n) 3D 1 Tpar(n) 4D 6

Rys. : Wizualizacja wyników interpretacji. na płaszczyźnie n n. Kolorem szarym oznaczono obszar, w którym nierówność 14 jest spełniona A następnie kolejno: T 4D par(n) T 3D par(n) n n 4 + 3 1 + 33 n n + 54 16 Użycie funkcji sufitu uniemożliwia proste uproszczenie do n 16 +54 n prowadzące do sprzeczności 54 0. Jednakże x x (0, 1, a zatem nawet skumulowane różnice w skali wszystkich składników nierówności nie są w stanie wprowadzić zmiany rzędu wielkości odpowiedniego do zmiany nierówności w niesprzeczną. 3.. Interpretacja Odpowiada na pytanie, jak dużo większy zbiór danych należy zapewnić w systemie 4D, aby jego efektywność co najmniej dorównała systemowi 3D. W tym wypadku konieczne jest rozważenie niezmienionej nierówności 14. Wobec występowania weń dwóch niewiadomych najprościej jest wykreślić na płaszczyźnie n n punkty, w których lewa i prawa strona są równe. Wykres wykonano numerycznie w środowisku Matlab, jest widoczny na rysunku. Wyznaczono także współczynniki regresji liniowej współczynnik kierunkowy krzywej wyniósł około 0.375. Oznacza to w praktyce, że system czterowymiarowy osiąga efektywność porównywalną z trójwymiarowym dla zbiorów danych około.667 razy większych. W szczególności oznacza to, że dla n = 1000 wymagane jest n 667. Potwierdza się to w sprawdzeniu za pomocą obliczeń numerycznych choć nie sposób tu uzyskać precyzyjną wynikającą z funkcji regresji odpowiedź ze względu na występowanie funkcji sufitu we wzorze 10. 7