Przetwarzanie równoległe

Podobne dokumenty
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

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

Excel wykresy niestandardowe

Opis ćwiczenia. Cel ćwiczenia Poznanie budowy i zrozumienie istoty pomiaru przyspieszenia ziemskiego za pomocą wahadła rewersyjnego Henry ego Katera.

Laboratorium Telewizji Cyfrowej

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

KONSPEKT FUNKCJE cz. 1.

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

Powtórzenie wiadomości z klasy I. Temat: Ruchy prostoliniowe. Obliczenia

Analiza ilościowa w przetwarzaniu równoległym

Zastosowanie Excela w obliczeniach inżynierskich.

{H B= 6 kn. Przykład 1. Dana jest belka: Podać wykresy NTM.

METODY ROZWIĄZYWANIA RÓWNAŃ NIELINIOWYCH

Instytut Politechniczny Państwowa Wyższa Szkoła Zawodowa. Diagnostyka i niezawodność robotów

Podstawy programowania 2. Temat: Funkcje i procedury rekurencyjne. Przygotował: mgr inż. Tomasz Michno

Uwagi ogólne. 3. Użycie gwiazdki zamiast kropki na oznaczenie mnożenia: 4. Lepiej niż 6, F wyglądałby zapis: 69,539 pf.

Laboratorium Metrologii

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

Analiza efektywności przetwarzania współbieżnego

PORÓWNANIE WYBRANYCH SCHEMATÓW RÓŻNICO- WYCH NA PRZYKŁADZIE RÓWNANIA SELECTED DIFFERENTIAL SCHEMES COMPARISON BY MEANS OF THE EQUATION

b) Niech: - wśród trzech wylosowanych opakowań jest co najwyżej jedno o dawce 15 mg. Wówczas:

Pochodna i różniczka funkcji oraz jej zastosowanie do rachunku błędów pomiarowych

Pochodna i różniczka funkcji oraz jej zastosowanie do obliczania niepewności pomiarowych

Sieci Komputerowe 2 / Ćwiczenia 1

Ruch jednostajnie przyspieszony wyznaczenie przyspieszenia

Analiza wariancji - ANOVA

TRYGONOMETRIA. 1. Definicje i własności funkcji trygonometrycznych

Nr produktu Styczeń Luty Marzec Dochód za kwartał

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

Funkcje dwóch zmiennych

Średnie. Średnie. Kinga Kolczyńska - Przybycień

Przesyłania danych przez protokół TCP/IP

Test na koniec nauki w klasie trzeciej gimnazjum

(86) Data i numer zgłoszenia międzynarodowego: , PCT/DE01/02954 (87) Data i numer publikacji zgłoszenia międzynarodowego:

Sprawozdanie do 5. Projektu z Algorytmów i struktur danych 1

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

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

III. ZMIENNE LOSOWE JEDNOWYMIAROWE

Spacery losowe generowanie realizacji procesu losowego

Interpolacja. Marcin Orchel. Drugi przypadek szczególny to interpolacja trygonometryczna

FUNKCJA POTĘGOWA, WYKŁADNICZA I LOGARYTMICZNA

Stan globalny. Krzysztof Banaś Systemy rozproszone 1

Współpraca FDS z arkuszem kalkulacyjnym

Zarządzanie projektami

FUNKCJA LINIOWA. A) B) C) D) Wskaż, dla którego funkcja liniowa określona wzorem jest stała. A) B) C) D)

Sprawozdanie z zad. nr 4 Wahadło Matematyczne z Fizyki Komputerowej. Szymon Wawrzyniak / Artur Angiel / Gr. 5 / Poniedziałek 12:15

Funkcje wymierne. Jerzy Rutkowski. Działania dodawania i mnożenia funkcji wymiernych określa się wzorami: g h + k l g h k.

Diagramy związków encji. Laboratorium. Akademia Morska w Gdyni

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

Modelowanie niezawodności prostych struktur sprzętowych

Funkcja kwadratowa. f(x) = ax 2 + bx + c,

Analiza korelacyjna i regresyjna

Programowanie strukturalne i obiektowe. Funkcje

Ćw. nr 1. Wyznaczenie przyspieszenia ziemskiego za pomocą wahadła prostego

Egzamin maturalny z matematyki Poziom podstawowy ZADANIA ZAMKNIĘTE. W zadaniach 1-25 wybierz i zaznacz na karcie odpowiedzi poprawną odpowiedź.

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

System wspomagania harmonogramowania przedsięwzięć budowlanych

OBLICZANIE NASTAW DO STRZELANIA DLA ARTYLERII POLOWEJ W SYSTEMACH KIEROWANIA OGNIEM

Modelowanie rynków finansowych z wykorzystaniem pakietu R

A3 : Wzmacniacze operacyjne w układach liniowych

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

Wskazówki rozwiązania zadań#

EXCEL Prowadzący: dr hab. inż. Marek Jaszczur Poziom: początkujący

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

ROZKŁAD MATERIAŁU NAUCZANIA KLASA 1, ZAKRES PODSTAWOWY

LEKCJA TEMAT: Zasada działania komputera.

Sztuczna Inteligencja Tematy projektów Sieci Neuronowe

Laboratorium 7b w domu wykresy w Excelu

ALGORYTM UZUPEŁNIANIA BRAKUJĄCYCH DANYCH W ZBIORACH REJESTROWANYCH NA STACJACH MONITORINGU POWIETRZA

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

Regulacja dwupołożeniowa.

Bezpieczna komunikacja w sieci materiał pomocniczy

Modelowanie bilansu energetycznego pomieszczeń (1)

Następnie przypominamy (dla części studentów wprowadzamy) podstawowe pojęcia opisujące funkcje na poziomie rysunków i objaśnień.

ECDL ZARZĄDZANIE PROJEKTAMI

DOTACJE NA INNOWACJE

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

Wyznaczanie przyspieszenia ziemskiego za pomocą wahadła rewersyjnego (Katera)

KARTA INFORMACYJNA PRZEDMIOTU

Z1/1. ANALIZA BELEK ZADANIE 1

Technologia informacyjna. Semestr zimowy 2017/2018 Zajęcia nr 8 (LibreOffice)

Obsługa modułu. e-deklaracje. w programach WF-FaKir oraz WF-Gang. (opracował Przemysław Gola)

2. FUNKCJE. jeden i tylko jeden element y ze zbioru, to takie przyporządkowanie nazwiemy FUNKCJĄ, lub

Analiza ilościowa i jakościowa wyników egzaminu gimnazjalnego z matematyki 2017r

1. Cel ćwiczenia. 2. Podłączenia urządzeń zewnętrznych w sterowniku VersaMax Micro

Drugi sposób definiowania funkcji polega na wykorzystaniu polecenia:

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

INSTRUKCJA LABORATORIUM ELEKTROTECHNIKI

Różniczkowanie numeryczne

Porównanie wydajności popularnych skryptów forów internetowych vol. 2

Struktura terminowa rynku obligacji

FUNKCJA KWADRATOWA. Zad 1 Przedstaw funkcję kwadratową w postaci ogólnej. Postać ogólna funkcji kwadratowej to: y = ax + bx + c;(

Wprowadzenie do analizy korelacji i regresji

02. WYZNACZANIE WARTOŚCI PRZYSPIESZENIA W RUCHU JEDNOSTAJNIE PRZYSPIESZONYM ORAZ PRZYSPIESZENIA ZIEMSKIEGO Z WYKORZYSTANIEM RÓWNI POCHYŁEJ

EGZAMIN MATURALNY Z INFORMATYKI MAJ 2013 POZIOM PODSTAWOWY CZĘŚĆ I WYBRANE: Czas pracy: 75 minut. Liczba punktów do uzyskania: 20 WPISUJE ZDAJĄCY

Informacja w perspektywie obliczeniowej. Informacje, liczby i obliczenia

STATYSTYKA MATEMATYCZNA WYKŁAD 4. WERYFIKACJA HIPOTEZ PARAMETRYCZNYCH X - cecha populacji, θ parametr rozkładu cechy X.

Ćw. nr 31. Wahadło fizyczne o regulowanej płaszczyźnie drgań - w.2

Transkrypt:

Przetwarzanie równoległe Kostka równoległe przesyłanie i przetwarzanie Rafał Malinowski, Marek Musielak

1. Cel projektu: Celem projektu było stworzenie i przetestowanie oprogramowania działającego na serwerze transputerów Politechniki Poznańskiej. Architektura zbudowana z transputerów, na której działać miało oprogramowani, to kostka, a sposób komunikacji to przetwarzanie i komunikacja jednoczesna (1 przesłanie między sąsiednimi procesorami, przetwarzanie po odbiorze całości danych - dla siebie i dla sąsiadów; jednocześnie wysyłanie danych dla sąsiadów i obliczenia). 2. Architektura: Na serwerze transputerów zbudowano następującą architekturę: Rysunek 2.1 Architektura kostka zbudowana z transputerów Do transputerów przydzielono procesy połączone ze sobą w następujący sposób: Rysunek 2.2 Przydział procesów do transputerów

3. Model idealny: a) Wykres Gantt'a: Dla tak przygotowanej architektury stworzono wykres Gantt'a przedstawiający zależności czasowe między komunikacją a obliczeniami. Wykres ten, przy założeniu równych czasów przesyłania danych między transputerami i równych czasów obliczeń na transputerach, wyglada następująco: Wykres 3.1 Wykres Granta dla modelu idealnego. Liczby poprzedzone strzałkami oznaczają numer transputera, do którego przesyłane są dane.

b) Wyznaczenie parametrów systemu: W celu wyznaczenia parametrów systemu napisane zostały programy: badający czas przesyłania danych, badający czas obliczania danych. Przy obliczaniu czasu przesyłania danych założono, że każde łącze posiada tzw. startup time, czyli stały czas potrzebny na zainicjowanie łącza. Wyznaczając prędkość łączy przeprowadzono test polegający na przesłaniu przez łącza kolejno 10000, 15000,..., 100000 liczb. Wyniki otrzymane w ten sposób prezentuje następujący wykres (fakt, że wykres wygląda jakby znajdowały się na nim wyniki jedynie dwóch serii pomiarów, spowodowany jest faktem, że wszystkie łącza poziome (pionowe), mają jednakową prędkość) : Czas przesyłania liczb przez łącza: poziome i pionowe Czas w jednostkach zegara transputerowego 500000 450000 400000 350000 300000 250000 200000 150000 100000 50000 0 0 20000 40000 60000 80000 100000 120000 Liczba przesyłanych liczb Czas trwania przesyłania liczb przez łącze poziome Czas trwania przesyłania liczb przez łącze pionowe Wykres 3.2 Czasy przesyłania liczb przez łącza: poziome i pionowe Na podstawie wyników, metodą regresji obliczono sth i stv (startup time dla łącza poziomego i pionowego) oraz dth i dtv (czasy przesłania jednostki danych). Wyniosły one odpowiednio (w jednostkach procesora): sth 23,30, stv 25,47, dth 2,25, dtv 4,40.

Przy wyznaczaniu czasu obliczania danych na transputerach posłużono sie programami testującymi, które dla każdego transputera, dla liczby danych od 10000 do 100000 (z krokiem 5000), trzykrotnie wyznaczyły czas obliczania przez niego takiej liczby danych. Funkcja, jaką zastosowano, to y = x^10. Wyniki te następnie uśredniono i zebrano w tabeli: TR0 TR1 TR3 TR4 TR6 TR7 TR9 TR10 10000 408003 402210 406960 402210 408003 402210 408003 402211 15000 612003 603313 610439 603314 612003 603314 612003 603313 20000 816003 804417 813917 804417 816003 804417 816003 804417 25000 1020003 1005520 1017395 1005521 1020003 1005521 1020003 1005520 30000 1224004 1206624 1220873 1206624 1224003 1206624 1224003 1206624 35000 1428003 1407727 1424352 1407728 1428003 1407727 1428003 1407727 40000 1632004 1608831 1627830 1608831 1632003 1608831 1632003 1608831 45000 1836003 1809934 1831308 1809934 1836004 1809934 1836003 1809934 50000 2040003 2011037 2034786 2011038 2040003 2011038 2040003 2011037 55000 2244003 2212141 2238264 2212141 2244003 2212141 2244003 2212142 60000 2448003 2413245 2441742 2413245 2448003 2413245 2448004 2413244 65000 2652004 2614348 2645221 2614348 2652003 2614348 2652003 2614348 70000 2856003 2815451 2848699 2815451 2856003 2815451 2856003 2815451 75000 3060003 3016555 3052177 3016555 3060003 3016555 3060003 3016555 80000 3264003 3217658 3255656 3217659 3264003 3217658 3264003 3217658 85000 3468003 3418762 3459134 3418762 3468003 3418762 3468003 3418762 90000 3672003 3619865 3662613 3619865 3672003 3619866 3672003 3619865 95000 3876003 3820968 3866090 3820969 3876003 3820969 3876003 3820968 100000 4080003 4022072 4069569 4022072 4080003 4022072 4080003 4022072 Tabela 3.1 Średnie czasy obliczania funkcji y = x^10 na transputerach dla danej liczby zmiennych x Na podstawie zgromadzonych wyników, metodą regresji, obliczono dla każdego transputera cti (czasy obliczania funkcji y = x^10 dla jednej liczby). Wynoszą one: TR 0 1 3 4 6 7 9 10 ct 40,80 40,22 40,70 40,22 40,80 40,22 40,80 40,22

c) Model matematyczny: Na podstawie wykresu Grantt'a (Wykres 3.1) oraz wyliczonych parametrów, sporządzono model matematyczny minimalizujący czas wyliczenia wszystkich danych (czyli innaczej mówiąc minimalizujący liczbę danych obliczanych na TR3), o następujących ograniczeniach: d0+d1+d3+d4+d6+d7+d9+d10 = data d10t0t1 + d10t0t9 + d10t4t1 + d10t4t7 + d10t6t7 + d10t6t9 = d10 d1t0 + d1t4 = d1 d7t4 + d7t6 = d7 d9t0 + d9t6 = d9 ct3*d3 >= stv + dtv * (d0 + d1t0 + d9t0 + d10t0t1 + d10t0t9) + ct0*d0 ct3*d3 >= sth + dth * (d4 + d1t4 + d7t4 + d10t4t1 + d10t4t7) + ct4*d4 ct3*d3 >= stv + dtv * (d6 + d7t6 + d9t6 + d10t6t7 + d10t6t9) + ct6*d6 ct0*d0 >= sth + dth * (d1t0 + d10t0t1) + ct1*d1 ct0*d0 >= stv + dtv * (d9t0 + d10t0t9) + ct9*d9 ct4*d4 >= stv + dtv * (d1t4 + d10t4t1) + ct1*d1 ct4*d4 >= stv + dtv * (d7t4 + d10t4t7) + ct7*d7 ct6*d6 >= sth + dth * (d7t6 + d10t6t7) + ct7*d7 ct6*d6 >= stv + dtv * (d9t6 + d10t6t9) + ct9*d9 ct1*d1 >= stv + dtv * (d10t0t1 + d10t4t1) + ct10*d10 ct7*d7 >= stv + dtv * (d10t4t7 + d10t6t7) + ct10*d10 ct9*d9 >= sth + dth * (d10t0t9 + d10t6t9) + ct10*d10 Oznaczenia przyjęte w powyższym modelu: data liczba danych do obliczenia na transputerach, di liczba danych do obliczenia na transputerze TRi, ditj liczba danych dla transputera TRi przesyłana przez transputer TRj, d10titj liczba danych dla transputera TR10 przesyłana najpierw przez transputer TRi, a następnie przez transputer TRj, cti czas obliczenia jednostki danych na transputerze TRi, stv startup time dla łącza pionowego, sth startup time dla łącza poziomego, dtv czas przesłania jednostki danych przez łącze pionowe, dth czas przesłania jednostki danych prze łącze poziome. Jako liczbę danych przyjęto data = 100000. Ponadto wprowadzono ograniczenia na całkowitoliczbowość dla wszystkich zmiennych d*. Pierwsze pięć równań modelu jest podziałem całości danych na części, które bedą później przesyłane daną drogą, bądź też liczone na danym transputerze. Kolejnych 12 ograniczeń zapewnia, że żaden z transputerów nie zacznie liczyć zanim nie otrzyma wszystkich niezbędnych danych, oraz że żaden z transputerów nie skończy liczyć później niż TR3.

4. Rozwiązanie modelu matematycznego: Powyższy model matematyczny rozwiązano przy użyciu progamu LPSolve IDE v5.5. Uzyskane wyniki prezentuje poniższa tabela: data 100000 d0 12251 d1 12082 d3 15007 d4 13251 d6 12251 d7 12083 d9 11514 d10 11561 d10t0t1 0 d10t0t9 2089 d10t4t1 4753 d10t4t7 0 d10t6t7 4719 d10t6t9 0 d1t0 6168 d1t4 5914 d7t4 10661 d7t6 1422 d9t0 4700 d9t6 6814 Tabela 4.1 Rozwiązanie modelu matematycznego cd0 499841 cd1 485938 cd3 610785 cd4 532955 cd6 499841 cd7 485978 cd9 469771 cd10 464983 t3t0s 110941 t3t4s 77826 t3t6s 110932 t0t1s 13901 t0t9s 29897 t4t1s 46960 t4t7s 46934 t6t7s 13841 t6t9s 30007 t1t10s 20939 t7t10s 20789 t9t10s 4723,6 Tabela 4.2 Czasy obliczeń (cdi) na transputerach i przesyłania między transputerami obliczone na bazie rozwiązania modelu matematycznego Na bazie powyższych tabel (Tabela 4.1, Tabela 4.2), stworzono wykres Gantt'a: Wykres 4.1 Wykres Gantt'a dla rozwiązania modelu matematycznego. Liczby poprzedzone strzałkami oznaczają numer transputera, do którego przesyłane są dane.

5. Rozwiązanie rzeczywiste: a) Opis algorytmu: Program składa się z 27 procesów. Na każdym transputerze znajdują się osobne procesy odpowiedzialne za przesyłanie danych, procesy obliczające wartość funkcji, procesy zbierające informacje o wykonanych akcjach oraz 1 proces przeznaczony tylko i wyłącznie do komunikacji z użytkownikiem, przydzielony do transputera TR3. Początek programu to zebranie przez proces wejscia-wyjścia informacji o gotowości wszystkich procesów. Następnie, zgodnie z założeniami projektu, rozpoczyna się jednoczesne przesyłanie danych i obliczenia. Po skończeniu wykonywania każdej operacji, wiadomość o czasie jej wykonania zostaje przesłana do procesu wejścia-wyjścia. Na koniec działania programu, proces wejścia-wyjścia przekazuje użytkownikowi oprządkowane uprzednio dane. b) Wykres Gannt'a: Na podstawie zebranych danych stworzony został wykres Gannt'a: Wykres 5.1 Wykres Gantt'a dla rozwiązania rzeczywistego. Liczby poprzedzone strzałkami oznaczają numer transputera, do którego przesyłane są dane. Porównując wykres rozwiązania rzeczywistego (Wykres 5.1) z wykresem modelu teoretycznego (Wykres 4.1), dostrzec można, że w przypadku rzeczywistym, czasy zakończenia obliczeń na poszczególnych transputerach są różne. W celu znalezienia różnic wprowadźmy następujące wykresy:

Porównanie czasów obliczeń: według modelu matematycznego i rzeczywistego czasu 700000 Czas obliczeń [jednostki procesora] 600000 500000 400000 300000 200000 100000 model matematyczny czas rzeczywisty 0 TR0 TR1 TR3 TR4 TR6 TR7 TR9 TR10 Transputer Wykres 5.2 Porównanie czasów obliczeń: według modelu matematycznego i rzeczywistego czasu Wykres 5.3 Porównanie czasów obliczeń: według modelu matematycznego i rzeczywistego czasu błąd względny obliczony ze wzoru Błąd względny = rzeczywisty czasobliczeń czas obliczeń według modelu matematycznego czas obliczeń według modelu matematycznego

Porównanie czasów przesyłania danych: według modelu matematycznego i rzeczywistego czasu 120000 Czas przesyłania danych [jednostki procesora] 100000 80000 60000 40000 20000 model matematyczny czas rzeczywisty 0 t3t0s t3t4s t3t6s t0t1s t0t9s t4t1s t4t7s t6t7s t6t9s t1t10s t7t10s t9t10s Kolejne przesyłania danych Wykres 5.4 Porównanie czasów przesyłania danych: według modelu matematycznego i rzeczywistego czasu Wykres 5.5 Porównanie czasów przesyłania danych: według modelu matematycznego i rzeczywistego czasu błąd względny obliczony ze wzoru Błąd względny= rzeczywisty czas przesyłania czas przesyłania według modelumat. czas przesyłania według modelu matematycznego

model matematyczny czas rzeczywisty cd0 499841 523584 cd1 485938 504064 cd3 610785 647344 cd4 532955 555136 cd6 499841 520576 cd7 485978 504896 cd9 469771 488960 cd10 464983 464000 t3t0s 110941 110941 t3t4s 77826 77826 t3t6s 110932 110932 t0t1s 13901 13902 t0t9s 29897 29902 t4t1s 46960 46961 t4t7s 46934 46935 t6t7s 13841 13841 t6t9s 30007 30007 t1t10s 20939 21176 t7t10s 20789 20791 t9t10s 4724 4724 Tabela 5.1 Porównanie czasów obliczeń (cdi) na transputerach i przesyłania między transputerami, obliczone na bazie rozwiązania modelu matematycznego i rzeczywiste c) Patrząc na powyższe wykresy oraz tabelę (Tabela 5.1) dostrzec możemy, że rzeczywiste czasy przesyłania danych są praktycznie identyczne (poza jednym przypadkiem, gdzie błąd wynosi 1,13%) z czasami wyliczonymi na podstawie modelu matematycznego. Różnice natomiast (i to wyraźne - do 6%), widać między czasami obliczeń. Czas rzeczywisty jest (poza transputerem TR10) zawsze większy od czasu modelowego. Nasuwa się wniosek, że jednoczesne przesyłanie danych i liczenie, zwalnia tę drugą operację (co potwierdzałby przypadek transputera TR10, który już nic nie przesyła, zatem czas obliczeń na nim jest prawie taki sam jak w przypadku modelu matematycznego).