Spis tresci - Katedra Inżynierii programowania

Transkrypt

Spis tresci - Katedra Inżynierii programowania
Spis tresci
1
Wstep......................................................................................................................... 4
1.1
Wprowadzenie................................................................................................... 4
1.2
Teza badawcza i cel pracy................................................................................. 7
1.3
Struktura pracy.................................................................................................. 8
2
Analiza metod statystycznych sluzacych opisowi zjawisk ....................................... 9
2.1
Pojecia podstawowe modelowania statystycznego ......................................... 10
2.2
Dobór wspólczynników równania................................................................... 13
2.3
Estymacja parametrów.................................................................................... 14
2.4
Weryfikacja otrzymanych wyników ............................................................... 16
2.5
Prognozowanie na postawie modelu............................................................... 18
2.6
Analiza statystyczna przy pomocy programów komputerowych................... 19
2.7
Podsumowanie ................................................................................................ 20
3
Srodowiska równolegle i rozproszone .................................................................... 22
3.1
Komputery równolegle.................................................................................... 22
3.2
Systemy rozproszone....................................................................................... 24
3.3
Srodowiska programowania równoleglego i rozproszonego .......................... 26
3.4
Dostepnosc charakterystyk wydajnosciowych aplikacji równoleglych i
rozproszonych............................................................................................................. 29
3.5
Efektywnosc zrównoleglenia .......................................................................... 30
3.5.1
Metryki wydajnosci aplikacji.................................................................. 30
3.5.2
Model Hockneya ..................................................................................... 32
3.5.3
Prawo Amdahla....................................................................................... 33
3.5.4
Prawo Gustafsona.................................................................................... 33
3.5.5
Sprawnosc systemu ................................................................................. 34
3.6
Podsumowanie ................................................................................................ 34
4
Metodyka postepowania przy budowie modeli opisujacych efektywnosc aplikacji
równoleglych................................................................................................................... 36
4.1
Okreslenie celu badan modelowych................................................................ 36
4.2
Specyfikacja elementów systemu i jego otoczenia ......................................... 37
4.2.1
Ilosc procesorów..................................................................................... 39
4.2.2
Ilosc i rozmiar watków............................................................................ 39
4.2.3
Sposób dostepu do zasobów wspóldzielonych........................................ 40
4.2.4
Rozmiar pamieci operacyjnej i dyskowej ............................................... 40
4.2.5
Indywidualne cechy aplikacji.................................................................. 41
4.3
Wybór klasy modelu ....................................................................................... 42
4.4
Estymacja wspólczynników i sprawdzenie poprawnosci modelu................... 43
4.5
Korzystanie z modelu...................................................................................... 44
4.6
Podsumowanie ................................................................................................ 45
5
Zastosowanie opracowanej metodyki do budowy modeli charakteryzujacych
efektywnosc aplikacji równoleglych.............................................................................. 48
5.1
Badanie efektywnosci rozwiazywania ukladów równan liniowych metoda
eliminacji Gaussa ........................................................................................................ 48
5.1.1
Zalozenia wstepne................................................................................... 48
5.1.2
Czas wykonania aplikacji........................................................................ 50
5.1.3
Analiza modelu efektywnosci aplikacji.................................................. 51
5.2
Czas i efektywnosc generacji fraktala Mandelbrota ....................................... 52
5.2.1
Zakres badan........................................................................................... 52
5.2.2
Weryfikacja modelu opisujacego zachowanie sie aplikacji.................... 54
1
5.3
Analiza efektywnosci zrównoleglenia metoda liniowego przeksztalcenia
petli ......................................................................................................................... 56
5.3.1
Warunki eksperymentu........................................................................... 56
5.3.2
Czas wykonania programu...................................................................... 57
5.3.3
Efektywnosc zrównoleglenia .................................................................. 62
5.3.4
Przyspieszenie wykonania programu równoleglego ............................... 65
5.4
Modele efektywnosci zastosowania metody Simpleks do rozwiazywania
zadan programowania liniowego ................................................................................ 67
5.4.1
Przedstawienie obszaru badan................................................................. 67
5.4.2
Wplyw czynników na czas generacji rozwiazania.................................. 68
5.4.3
Efektywnosc aplikacji równoleglej ......................................................... 70
5.5
Charakterystyka wydajnosci aplikacji obliczajacej calki................................ 72
5.5.1
Cel badan................................................................................................. 72
5.5.2
Model efektywnosci programu................................................................ 72
5.6
Modelowanie aplikacji okreslajacej stopien korelacji dwóch obrazów.......... 74
5.6.1
Przedmiot badan...................................................................................... 74
5.6.2
Model efektywnosci................................................................................ 75
5.6.3
Analiza czasu i przyspieszenia................................................................ 77
5.7
Wykorzystanie modeli do prognozowania wydajnosci aplikacji równoleglej79
5.8
Podsumowanie ................................................................................................ 83
6
Metodyka postepowania przy budowie modeli statystycznych dla potrzeb
srodowiska rozproszonego .............................................................................................. 85
6.1
Zalozenia podstawowe .................................................................................... 85
6.2
Glównie czynniki majace wplyw na aplikacje rozproszone ........................... 86
6.2.1
Ilosc komputerów polaczonych w siec.................................................... 87
6.2.2
Moc obliczeniowa komputerów.............................................................. 88
6.2.3
Liczba i rozmiar danych.......................................................................... 88
6.2.4
Homogenicznosc a heterogenicznosc srodowiska .................................. 88
6.2.5
Przepustowosc sieci................................................................................. 89
6.2.6
Lokalnosc programu................................................................................ 89
6.2.7
Cechy indywidualne aplikacji rozproszonych......................................... 89
6.3
Analiza i weryfikacja modeli........................................................................... 90
6.4
Podsumowanie ................................................................................................ 92
7
Zastosowanie opracowanej metodyki do prognozowania wydajnosci aplikacji
wykonywanych w srodowiskach rozproszonych............................................................ 95
7.1
Badanie wydajnosci aplikacji rozwiazujacej uklady równan rekurencyjnych...
......................................................................................................................... 95
7.1.1
Zakres danych do analizy........................................................................ 95
7.1.2
Modele statystyczne czasu wykonania aplikacji..................................... 97
7.1.3
Efektywnosc oraz przyspieszenie wykonania kodu................................ 99
7.2
Analiza wplywu wartosci wspólczynnika na czas generacji rozwiazania .... 100
7.2.1
Zalozenia wstepne................................................................................. 100
7.2.2
Modele czasu wykonania ...................................................................... 101
7.2.3
Opis matematyczny efektywnosci aplikacji.......................................... 103
7.3
Modele statystyczne aplikacji odpowiedzialnej za mnozenie macierzy....... 106
7.3.1
Charakterystyka srodowiska rozproszonego ......................................... 106
7.3.2
Modele efektywnosci dla rozproszonego mnozenia macierzy.............. 106
7.3.3
Przyspieszenie wykonania aplikacji w srodowisku rozproszonym....... 108
7.4
Charakterystyka wydajnosciowa programu rozwiazujacego uklady równan
metoda Gaussa-Seidla ............................................................................................... 109
2
7.4.1
Zakres badan......................................................................................... 109
7.4.2
Prognozowanie czasu wykonania programu......................................... 110
7.5
Modele statystyczne wydajnosci aplikacji w srodowisku .NET Remoting .. 112
7.5.1
Architektura aplikacji rozproszonej wykorzystywanej do badan......... 112
7.5.2
Zasada dzialania testowanych aplikacji................................................ 114
7.5.3
Badanie zaleznosci czasu i przyspieszenia obliczen rozproszonych od
rozmiaru problemu................................................................................................ 116
7.5.4
Analiza kosztów komunikacji w zaleznosci od protokolu i metody
dekompozycji dziedzinowej.................................................................................. 128
7.6
Wykorzystanie modeli do prognozowania wydajnosci aplikacji rozproszonej..
....................................................................................................................... 131
7.7
Podsumowanie .............................................................................................. 133
8
Wnioski................................................................................................................. 136
3
1 Wstep
1.1 Wprowadzenie
Postep w dziedzinie sprzetu i oprogramowania spowodowal, iz w ostatnich
latach obserwuje sie coraz wieksze zainteresowanie systemami wieloprocesorowymi
oraz rozproszonymi. Mimo nowoczesniejszych maszyn, szybszych i wydajniejszych
procesorów, dla niektórych zadan, moc obliczeniowa okazuje sie niewystarczajaca.
W
celu
zwiekszenia
wydajnosci
wykonywania
aplikacji
stosuje
sie
uwspólbieznienie procesów. Dwa procesy sa wspólbiezne, jezeli jeden z nich
rozpoczyna sie przed zakonczeniem drugiego [Weiss93]. Wspólbieznosc uzyskuje sie
poprzez rozproszone lub równolegle przetwarzanie danych z wykorzystaniem kilku
wspólpracujacych procesorów.
Dzieki równoleglemu, czyli jednoczesnemu wykonywaniu obliczen przez wiele
procesorów lub stanowisk w systemach rozproszonych, mozna uzyskac znaczne
przyspieszenie
w
stosunku
do
obliczen
wykonywanych
na
maszynie
jednoprocesorowej.
O atrakcyjnosci systemów równoleglych decyduja tkwiace w nich ogromne
mozliwosci koncentracji zasobów obliczeniowych (takich, jak np. procesory lub
pamiec) w celu rozwiazywania najbardziej zlozonych zagadnien obliczeniowych. Dazy
sie do skrócenia czasu wykonania programu, podniesienia efektywnosci, zmniejszenia
kosztów.
Nalezy odpowiedziec na pytanie, przy jakich warunkach wykonanie kodu
równoleglego jest oplacalne. Teoretycznie liczba procesorów okresla wielokrotnosc
przyspieszenia wykonywanych obliczen, w rzeczywistosci przyspieszenie jest mniejsze
ze wzgledu na ograniczenia w dostepie do wspóldzielonych zasobów, koniecznosc
synchronizacji watków, opóznienia w przesyle komunikatów, czy zaleznosci
wystepujace miedzy danymi. Wiadomym jest, iz istotny wplyw na wydajnosc aplikacji
ma rozmiar programu, ilosc operacji do wykonania, architektura sprzetowa, ilosc
procesorów, sposób dostepu do pamieci, sposób zrównoleglenia, ilosc i rozmiar
watków, ilosc synchronizacji, srodowisko operacyjne i wiele innych czynników.
Dlatego koniecznym jest stworzenie aparatu matematycznego za pomoca
którego mozna by bez uruchamiania programu odpowiedza na pytanie, jakie czynniki
4
nalezy dobrac, aby zadanie zostalo wykonane efektywnie i spelnialo zalozenia
uzytkowników systemu.
Rozwiazaniem tego problemu moze byc budowa modeli statystycznych, które
pozwalaja na badanie i przewidywanie zachowania sie systemu bez koniecznosci
uruchamiania aplikacji. Modele takie dolaczone do oprogramowania moga pomóc w
podjeciu decyzji, czy oplacalnym jest zrównoleglenie i z jakimi parametrami nalezy je
wykonac, aby otrzymac satysfakcjonujace wyniki.
Narzedziem pomocnym przy tworzeniu modeli jest analiza statystyczna. Przy
prowadzeniu analizy badanego zjawiska nalezy rozstrzygnac wzajemne zaleznosci
pomiedzy wplywajacymi na nie czynnikami. Zjawiska takie moga byc bardzo zlozone,
co wymusza zastosowanie do ich opisu duzej liczby zmiennych. Zmienne zmieniaja sie
pod wplywem róznorodnych czynników, w tym takze losowych, oraz pozostaja we
wzajemnych zaleznosciach. Aby znalezc czynniki, które w znaczacy sposób wplywaja
na badane zjawisko korzysta sie z metod estymacji statystycznej. Polega ona na
obliczeniu zaleznosci miedzy zestawem zmiennych niezaleznych, a zmienna zalezna.
Estymacja jest procedura dopasowania, która objasnia, czy i jak zmienna zalezna jest
zwiazana z lista zmiennych niezaleznych [Cuthbertson90]. Dzieki opisowi badanego
zjawiska przy pomocy metod regresji mozna wyjasniac, przewidywac i sterowac
zmiennymi, aby uzyskac satysfakcjonujaca wartosc zmiennej wyjsciowej.
W pracy przedstawiono metody implementacji modeli statystycznych na
komputery równolegle i rozproszone. Zostala dokonana analiza cech srodowisk, w
wyniku czego wybrane zostaly czynniki, które moga posluzyc do prognozowania
wartosci wydajnosci aplikacji. Pomimo ujecia w modelu tylko kilku z czynników
charakteryzujacych badane zjawisko, wartosci wskazników dopasowania modelu do
danych rzeczywistych sa zadawalajace, co swiadczy o odpowiednim wyborze
zmiennych objasniajacych oraz poprawnosci zaprezentowanej metodyki.
Z próbami tworzenia modeli mozna spotkac sie w pracach [Calahan79],
[Bucher88], [Hockney81], jednak w znacznej mierze dotycza one komputerów
wektorowych. O potrzebie tworzenia modeli matematycznych wspomina sie w
publikacjach [Foster94], [Karbowski01], [Wolfe95], gdzie znalezc mozna rozwazania
na poziomie implementacji algorytmów, a nie uruchamiania programów. Istnieje takze
szereg modeli statystycznych opisujacych zachowanie sie systemów informatycznych w
róznych dziedzinach zycia, [Stanisz98], [Czerwinski82], brak jest w nich jednak opisu
wplywu charakterystyk równoleglego wykonywania kodu.
5
Wyniki otrzymywane podczas badan prowadzonych w zakresie niniejszej pracy
zostaly przedstawione w nastepujacych publikacjach: [Berlinska02], [Berlinska03a],
[Berlinska03b], [Berlinska04a], [Berlinska04b], [Berlinska04c], [Berlinska04d].
Podczas pisania rozprawy skorzystano lacznie ze 116 pozycji literaturowych.
6
1.2 Teza badawcza i cel pracy
Teza badawcza niniejszej pracy zaklada, ze mozliwym jest opracowanie metod
tworzenia modeli statystycznych, które opisywac beda czas wykonania programu,
przyspieszenie oraz efektywnosc aplikacji równoleglych i rozproszonych, w zaleznosci
od parametrów sprzetowych i programowych z dokladnoscia prognozowania
odpowiednia do zastosowania w praktyce.
Celem pracy jest opracowanie i weryfikacja metod tworzenia modeli
regresyjnych charakteryzujacych programy równolegle i rozproszone pod wzgledem
czasu ich wykonywania, przyspieszenia oraz efektywnosci.
Stworzenie modeli pozwoli na badanie i przewidywanie zachowania sie systemu
bez koniecznosci uruchamiania aplikacji. Modele takie dolaczone do oprogramowania
moga pomóc w podjeciu decyzji, czy oplacalnym jest korzystanie z aplikacji
równoleglych badz rozproszonych, oraz z jakimi parametrami nalezy je wykonac, aby
otrzymac satysfakcjonujace wyniki.
Wynikiem praktycznym niniejszej pracy jest sformulowanie metodyki
postepowania przy tworzeniu modeli statystycznych charakteryzujacych wydajnosc
aplikacji dzialajacych w srodowiskach równoleglym oraz rozproszonym, a takze ich
weryfikacja pod katem poprawnosci prognozowania, odpowiedniej do zastosowania w
praktyce.
Sposób postepowania przy tworzeniu modeli dla aplikacji uruchamianych na
komputerach równoleglych przedstawiono w rozdziale 4, rozdzial 6 zawiera metodyke
dla systemów rozproszonych.
W ramach pracy przeanalizowano cechy srodowisk, w wyniku czego wybrane
zostaly czynniki, które moga posluzyc do prognozowania wartosci wydajnosci aplikacji.
Mimo ujecia w modelu tylko kilku czynników majacych wplyw na badane wielkosci,
wartosci wspólczynników dopasowania modelu do danych rzeczywistych sa bardzo
wysokie, co wskazuje na poprawnosc zaprezentowanej metodyki. Mozliwosc rezygnacji
z niektórych czynników podczas okreslania wartosci parametrów wyjsciowych, czyni
zaprezentowane podejscie elastycznym, prostym i mozliwym do wykorzystania przez
kazdego z uzytkowników systemu.
7
Modele zaprezentowane w rozdzialach 5 oraz
7 prognozuja wydajnosc
programów równoleglych oraz rozproszonych w zaleznosci od czynników sprzetowych
i programowych, które moga ulegac zmianie z poziomu uzytkownika aplikacji.
1.3 Struktura pracy
Niniejsza
praca
zawiera
osiem
rozdzialów.
Rozdzial
pierwszy
jest
wprowadzeniem do tematyki niniejszej pracy. Przedstawiono w nim teze badawcza,
uzasadnienie wyboru tematu i cele pracy.
W rozdziale drugim dokonano analizy metod sluzacych opisowi badanych
zjawisk, przedstawiono pojecia podstawowe z zakresu analizy statystycznej niezbedne
do prowadzenia dalszych rozwazan. Omówiono glówne etapy modelowania procesów.
Rozdzial trzeci poswiecono zaprezentowaniu cech komputerów równoleglych
oraz rozproszonych. Scharakteryzowano srodowiska programowania wspólbieznego
oraz wskazano metody pozyskiwania charakterystyk wydajnosciowych systemów.
Przedstawiono w nim takze podstawowe miary, modele i prawa dotyczace efektywnosci
zrównoleglenia.
Metodyke postepowania przy tworzeniu modeli statystycznych dla komputerów
równoleglych zaprezentowano w rozdziale czwartym. Dokonano analizy czynników
charakteryzujacych aplikacje oraz srodowisko równolegle, wskazano, które z nich moga
zostac uzyte do budowy modelu. Podano metody okreslania wartosci wspólczynników,
a takze weryfikacji modeli.
Weryfikacje metodyki poprzez utworzenie modeli i zbadanie mozliwosci
prognozowania na ich podstawie wydajnosci rzeczywistych srodowisk zawiera rozdzial
piaty. Dla aplikacji realizujacych rózne zadania zbudowano modele i przeanalizowano
je pod katem zmiennych w istotny sposób wplywajacych na charakterystyke
wykonywanych zadan.
W rozdziale szóstym podano metodyke postepowania przy budowie modeli
statystycznych dla aplikacji dzialajacych w srodowisku rozproszonym.
Rozdzial
siódmy
poswiecony
zostal
doswiadczalnej
weryfikacji
zaprezentowanej metodyki dla potrzeb srodowiska rozproszonego. Stworzono i
poddano analizie modele efektywnosci i czasu wykonania aplikacji w zaleznosci od
róznych parametrów sprzetowych i programowych.
Rozdzial ósmy zawiera wnioski dotyczace realizacji zagadnien niniejszej pracy.
8
2 Analiza
metod
statystycznych
sluzacych
opisowi
zjawisk
W literaturze [Czachórski83], [Lazowska84] spotkac mozna opis metod oceny
wydajnosci duzych systemów komputerowych, których podstawa sa modele teorii masowej
obslugi (modele kolejkowe), a zadaniem oszacowanie, dla calego systemu lub pewnych jego
elementów, takich cech jak przepustowosc (liczba programów lub zgloszen obslugiwanych w
jednostce czasu), czy wykorzystanie (procent czasu, przez jaki system realizuje obsluge
uzytkowników w stosunku do calego czasu pracy).
Metody oceny efektywnosci maszyn równoleglych koncentruja sie na pojedynczym
programie, realizujacym okreslony algorytm i zawierajacym duza liczbe operacji. Program
taki realizowany na pojedynczym procesorze jest bardzo czasochlonny.
Dla maszyny o
architekturze równoleglej metody ocen wydajnosci koncentruja sie na oszacowaniu czasu
pracy oraz szybkosci obliczen programu [Szczerbinski93].
Badanie efektywnosci funkcjonowania srodowisk równoleglych zalezy zarówno od
architektury komputera jak i od konkretnych zastosowan programowych. Najprostsza
charakterystyka komputera równoleglego jest charakterystyka jednoparametrowa [Smith88].
Definiuje sie ja czesto jako maksymalna szybkosc przetwarzania (ang. peak performance).
Jest to jednak szybkosc teoretyczna, praktycznie osiagana jedynie w warunkach absolutnie
optymalnych przez bardzo krótki okres [Szczerbinski93] .
Charakterystyke wydajnosci dla aplikacji równoleglej podaje sie takze jako
rzeczywista szybkosc przetwarzania dla konkretnego programu. Wartosci uzyskuje sie droga
doswiadczalna, wiec charakterystyka tworzona jest dla maszyny juz uzytkowanej. Aby opis
byl jak najpelniejszy przygotowuje sie cale zestawy testowe zwane benchmarkami
[Patterson96].
Istnieja takze charakterystyki uwzgledniajace niemal kazdy aspekt komputera
równoleglego. W takim przypadku liczba parametrów równania moze przekraczac 1000, a
zadanie matematyczne jest bardzo trudne do rozwiazania oraz czasochlonne. Dla wydajnego
planowania zadan do wykonania na komputerze równoleglym nalezy korzystac ze znacznie
prostszego modelu, z mozliwie mala liczba parametrów, przy jednoczesnym dobrym
uchwyceniu zaleznosci czasowych. Dokladnosc opisu dzialania komputera lub konkretnej
aplikacji w postaci modelu matematycznego proporcjonalna jest do liczby uzytych
parametrów, co narzuca koniecznosc rozsadnego kompromisu. Jednak nawet, gdy
9
parametrów bedzie kilka, zbudowany z nich uproszczony model moze byc bardzo uzyteczny,
gdyz pozwalac bedzie na szacowanie, który wariant uruchomienia bedzie najbardziej
korzystny dla danej architektury sprzetowej.
Za pomoca metod statystycznych mozna opisac wspólzaleznosci miedzy czynnikami
majacymi wplyw na badana wielkosc. Po dokonaniu analizy zwiazków pomiedzy zmiennymi,
nastepuje opis zjawiska, a otrzymane wyniki mozna wykorzystywac we wnioskowaniu
[Hozer98].
2.1 Pojecia podstawowe modelowania statystycznego
Modelowanie jest procesem poszukiwania formalnych struktur, które gwarantuja
zgodnosc teorii i danych statystycznych [Pawlowski76].
Kazdy model jest swoistym prototypem rzeczywistosci, którego zadaniem jest
odwzorowanie jak najlepiej tych wlasciwosci, które sa wazne z punktu widzenia prowadzonej
analizy, a zignorowanie czesciowo lub calkowicie tych, które sa nieistotne.
Modelowanie jest to przyblizone odtwarzanie najwazniejszych wlasciwosci oryginalu.
Podstawowym
celem
modelowania
w
nauce
jest
uproszczenie
zlozonej
rzeczywistosci, pozwalajace na poddanie jej procesowi badawczemu.
Dzieki modelowaniu [Zeigler00]:
− zmniejsza sie lub powieksza obiekt badan do dowolnej wielkosci,
− analizuje sie procesy trudne do uchwycenia ze wzgledu na zbyt szybkie lub zbyt wolne
tempo ich przebiegu,
− bada sie jeden wybrany aspekt zagadnienia pomijajac inne.
Statystyka opisowa zajmuje sie metodami statystycznymi, za pomoca których opisuje
sie i charakteryzuje w sposób sumaryczny badane zbiorowosci [Hozer98].
Statystyka matematyczna zajmuje sie metodami wnioskowania statystycznego, które
polegaja na tym, ze na podstawie wyników uzyskanych z próby formuluje sie wnioski o calej
zbiorowosci. Wnioskowanie statystyczne obejmuje estymacje i weryfikacje hipotez
statystycznych [Pawlowski76].
Teoria zbiorów przyblizonych stoi u podstaw syntezy zaawansowanych i efektywnych
metod analizy i redukcji zbiorów danych. W szczególnosci metody te moga byc stosowane w
eksploracji danych, rozwiazywaniu zlozonych zadan klasyfikacji i komputerowego
wspomagania róznorodnych procesów decyzyjnych [Mrózek99].
Metoda prób statystycznych umozliwia znajdowanie rozwiazan zlozonych problemów
poprzez wielokrotne badanie próbek dobieranych losowo. Obserwacja rezultatów uzyskanych
10
z odpowiednio duzej ilosci prób pozwola na osiagniecie wyników zblizonych do zadanych
[Twardochleb02].
Model matematyczny – opisuje zjawisko za pomoca równan matematycznych.
Model ekonometryczny - to formalny opis stochastycznej zaleznosci wyróznionej
wielkosci, zjawiska lub przebiegu procesu ekonomicznego (zjawisk, procesów) od
czynników, które je ksztaltuja, wyrazony w formie pojedynczego równania badz ukladu
równan [Zelias97].
Model
statystyczny
–
model,
w
którym
nie
jest
istotny
czynnik
czasu
[Bartoszewicz89].
Badanie zjawisk statystycznych obejmuje cztery etapy [Zajac94]:
-
przygotowanie badania;
-
zbieranie obserwacji;
-
opracowanie materialu statystycznego;
-
statystyczna analiza wyników obserwacji.
Podstawowe zadania modeli [Gajek94]:
-
Pozwalaja zrozumiec zachowanie badanego obiektu oraz zaleznosci wystepujacych
miedzy czynnikami ukladu.
-
Porzadkuja i systematyzuja informacje statystyczne. Dzieki modelom mozliwe staje
sie nadanie wlasciwej interpretacji obserwacjom.
-
Sluza testowaniu róznych hipotez i w wielu przypadkach pozwalaja wskazac, która z
teorii lepiej opisuje rzeczywistosc.
-
Umozliwiaja prognozowanie zjawisk w sposób zobiektywizowany i do maksimum
wykorzystujacy wiedze dotyczaca przeszlosci.
Analiza regresji jest uniwersalnym aparatem matematycznym sluzacych do badania
zaleznosci statystycznych i umozliwia wyznaczanie opisu matematycznego obiektów o
nieznanych charakterystykach na podstawie obserwacji wartosci wejsciowych i wyjsciowych
[Gajek94].
Proces analizy sprowadza sie do budowy opisowego modelu zjawiska, statystycznej
estymacji jego parametrów oraz wnioskowania na podstawie modelu. Kolejnym etapem jest
przeprowadzenie weryfikacji otrzymanej zaleznosci.
Utworzony model to równanie lub zbiór równan matematycznych, które w
przyblizony sposób przedstawiaja zasadnicze powiazania ilosciowe wystepujace miedzy
rozpatrywanymi czynnikami. Tak wiec model statystyczny jest sformalizowanym opisem
11
badanego fragmentu rzeczywistosci uwzgledniajacym tylko istotne czynniki,
a nieistotne
pomijajacym [Hozer98].
Poniewaz pomija sie pewne nie majace wiekszego wplywu czynniki wartosci
zmiennej objasnianej róznia sie nieco od wartosci uzyskanych z doswiadczenia. Przy
weryfikacji zaleznosci ocenia sie stopien dopasowania zaleznosci zawierajacej tylko wybrane
funkcje zmiennych niezaleznych do danych.
Dzieki opisowi badanego zjawiska przy pomocy metod regresji mozna wyjasniac,
przewidywac i sterowac zmiennymi, aby uzyskac satysfakcjonujaca wartosc zmiennej
wyjsciowej.
Model opisujacy badane zjawisko, mozna w ogólnej postaci zapisac nastepujaco
[Gajek94]:
Y = F(x1 , x 2 , ..., x n ),
( 2.1)
gdzie skladnik F(x...) oznacza, ze zmienna zalezna jest funkcja zmiennych niezaleznych.
Funkcja regresji przyporzadkowuje srednie wartosci zmiennej zaleznej konkretnym
wartosciom zmiennej niezaleznej. Najczesciej spotyka sie liniowe funkcje regresji, ale dane
moga czasem wymagac dopasowania funkcji nieliniowej. Decyzje o rodzaju funkcji
podejmuje sie po analizie wykresu rozrzutu.
Liniowy model regresji wielokrotnej jest okreslony równaniem [Pawlowski73]:
Y = b 0 + b1 X 1 + b 2 X 2 + ... + b κ X κ + ε
( 2.2)
gdzie:
bi - parametry modelu (wspólczynniki regresji) opisujace wplyw i-tej zmiennej,
ε - skladnik losowy.
Wspólczynniki bi sa wielkosciami teoretycznymi szacowanymi na podstawie n-elementowej
próby.
Ogólny przebieg procesu modelowania przedstawiony zostal na
Rys. 2.1.
12
Rys. 2.1 Etapy procesu badawczego
2.2 Dobór wspólczynników równania
Poprawnosc zbudowanego modelu w duzej mierze zalezy od odpowiedniego doboru
zmiennych, które maja wplyw na badane zjawisko.
Zmienne objasniajace powinny odznaczac sie nastepujacymi wlasnosciami [Gajek94]:
-
miec odpowiednio wysoka zmiennosc;
-
byc silnie skorelowane z zmienna objasniana;
-
byc slabo skorelowane miedzy soba.
Wybór zmiennych do modelu winien odbywac sie wedlug nastepujacej procedury
[Stanisz98]:
1. na podstawie wiedzy merytorycznej sporzadza sie zestaw potencjalnych zmiennych,
którymi sa wszystkie najwazniejsze wielkosci oddzialujace na zmienna objasniana;
2. sporzadza sie wektor Y obserwacji zmiennej zaleznej oraz macierz X obserwacji
zmiennych X1 , X2 , ..., Xn,
3. eliminuje sie zmienne odznaczajace sie zbyt niskim poziomem zmiennosci,
4. oblicza sie wspólczynniki korelacji miedzy wszystkimi rozpatrywanymi zmiennymi,
5. przeprowadza sie redukcje zbioru potencjalnych zmiennych objasniajacych.
Warunkiem wstepnym do uznania zmiennych za odpowiednie do budowy modelu jest ich
wysoka zmiennosc. Miara poziomu zmiennosci jest wspólczynnik zmiennosci okreslany jako:
13
νi =
Si
( 2.3)
Xi
gdzie Si jest odchyleniem standardowym zmiennej
Xi
,
Xi
- srednia arytmetyczna zmiennej.
Obiera sie krytyczna wartosc wspólczynnika zmiennosci ν * . Za zmienne nie wnoszace
istotnych informacji uznaje sie zmienne spelniajace nierównosc:
ν i ≤ν *
( 2.4)
Aby ocenic sile liniowej zaleznosci zmiennej Y od zmiennych X wyznacza sie wspólczynnik
korelacji wedlug wzoru:
n
ri =
∑(y
z =1
n
∑(y
z =1
z
− y ) ⋅ ( x zi − xi )
( 2.5)
n
− y) ⋅ ∑ ( x zi − xi )
2
z
2
z =1
Wspólczynniki miedzy potencjalnymi zmiennymi zaleznymi oblicza sie na podstawie wzoru:
n
rij =
∑(x
z =1
n
∑ (x
z =1
zi
− xi ) ⋅ ( x zj − x j )
( 2.6)
n
− xi ) ⋅ ∑ ( x zj − x j )
2
zi
2
z =1
Dazy sie do wyboru tych zmiennych, które sa silnie skorelowane ze zmienna
objasniana i jednoczesnie slabo skorelowane miedzy soba [Seber77].
Wyboru zmiennych do modelu mozna dokonac takze za pomoca metody wskazników
pojemnosci informacyjnej. Nalezy wtedy wyznaczyc wskazniki indywidualne oraz integralne.
Wartosci tych wskazników naleza do przedzialu [0,1] i przyjmuja tym wieksze wartosci, im
zmienne objasniajace sa silniej skorelowane ze zmienna objasniana oraz slabiej skorelowane
miedzy soba. Jako zmienne do modelu wybiera sie taka kombinacje zmiennych, której
odpowiada maksymalna wartosc wskaznika integralnej pojemnosci informacyjnej.
2.3 Estymacja parametrów
Estymacja to szacowanie wartosci parametrów lub postaci funkcji rozkladu
prawdopodobienstwa w populacji generalnej, na podstawie wyników próby [Pawlowski76].
Estymacja pozwala przy ustalonym z góry prawdopodobienstwie (zwanym poziomem
ufnosci) utworzyc dla nieznanej wartosci danej cechy populacji oszacowanie zwane
przedzialem ufnosci. Punktem wyjsciowym w estymacji jest wylosowanie z populacji nelementowej próby i poznanie w niej okreslonych cech, czyli zmiennych [Wickens82]. Na
14
podstawie uzyskanych wyników eksperymentalnych nalezy wyciagnac wnioski dotyczace
badanej cechy w calej populacji.
Estymator jest zmienna losowa i ma pewien rozklad. Mozna obliczyc jego wartosc
oczekiwana – E(Tn ) i odchylenie standardowe - D(Tn ) nazywane srednim bledem szacunku,
gdzie:
Θ - parametr - charakterystyka okreslajaca cala populacje,
Tn - estymator - pewna funkcja okreslona na próbie, która sluzy do oszacowania
nieznanej wartosci parametru Θ ,
T - ocena parametru Θ , jest to konkretna wartosc liczbowa, która przyjmuje
estymator.
Podstawowym narzedziem szacowania nieznanego parametru jest estymator
wyliczony
na
podstawie
próby.
Powinien
on
posiadac
nastepujace
wlasciwosci
[Bartoszewicz89], [Pawlowski76][Sekomski70][Seber77] [Gajek94]:
1. Nieobciazonosc: E(Tn ) = Θ
odchylenia wartosci estymatora od wartosci parametru nie maja tendencyjnego charakteru
(nie ma bledu systematycznego). Estymator nieobciazony to ten, którego przecietna wartosc
jest dokladnie równa wartosci szacowanego parametru. Innymi slowy, przy wielokrotnym
losowaniu próby srednia z wartosci przyjmowanych przez estymator nieobciazony jest równa
wartosci szacowanego parametru;
2. Zgodnosc: lim P { Tn − Θ < ε } = 1
n→ ∞
dla dowolnego ε > 0 wraz ze wzrostem liczby obserwacji wzrasta dokladnosc szacunku.
Zgodnosc oznacza, ze dla dostatecznie duzej próby blad w ocenie parametru przez estymator
jest mniejszy od dowolnie malej (z góry ustalonej) liczby.
3. Efektywnoscia estymatora nieobciazonego Tn parametru Θ nazywamy iloraz:
e(Tni ) =
D 2 (Tn* )
D 2 (Tni )
gdzie: Tn* - oznacza estymator najefektywniejszy, Tni - to estymator badany.
Estymator jest najefektywniejszy jezeli jest nieobciazony i ma najmniejsza wariancje.
Spelnienie wszystkich powyzszych wlasnosci zapewnia otrzymanie wyników z próby
zblizonych do rzeczywistosci.
W zaleznosci od sposobu dokonywania szacunku wartosci cechy, wyróznia sie:
•
estymacje punktowa - gdy nie znamy jednego lub kilku parametrów okreslajacych
rozklad analizowanej cechy w populacji i nalezy ustalic ich wartosci liczbowe na
15
podstawie wyników próby. Estymacja punktowa polega na tym, ze za ocene parametru
przyjmuje sie konkretna liczbe otrzymana na podstawie próby losowej:
Θ = T lub Θ = T ± D(Tn )
•
Estymacje przedzialowa, która polega na tym, ze konstruuje sie pewien przedzial
(zwany przedzialem ufnosci), o którym mozna powiedziec, iz z okreslonym
prawdopodobienstwem
(1- α )
pokryje
wartosc
szacowanego
parametru.
Prawdopodobienstwo (1- α ) jest nazywane wspólczynnikiem ufnosci.
P { kd < Θ < k g }= 1- α
gdzie: kd –jest to dolna granica przedzialu, k g – górna granica przedzialu ufnosci.
Przy estymacji nalezy ustalic przedzial ufnosci w celu oszacowania wartosci pewnej
cechy na podstawie próby. Przedzial ufnosci okresla prawdopodobny zasieg odchylenia
naszych wyliczen od wartosci rzeczywistej. Interpretacja przedzialu ufnosci jest nastepujaca:
im wezszy przedzial ufnosci, tym dokladniej obliczony estymator przybliza wartosc
rzeczywista. I odwrotnie: szeroki przedzial ufnosci oznacza mozliwosc duzych odchylen
wartosci - czyli mala wiarygodnosc wyników.
2.4 Weryfikacja otrzymanych wyników
Weryfikacja hipotez statystycznych ma na celu sprawdzenie sformulowanych hipotez
statystycznych, czyli wplywa na podjecie okreslonych decyzji.
Istnieje wiele miar umozliwiajacych okreslenie scislosci zwiazku badanych cech.
Szeroki opis miar zawarty jest w [Bartoszewicz89], [Oktaba86], [Seber77], [Welfe95],
[Krzysztofiak81].
Proces weryfikacji hipotez statystycznych przebiega w 4 etapach [Welfe95]:
1. Sformulowanie hipotezy zerowej (H0) oraz odpowiadajacej jej hipotezy alternatywnej
(H1).
2. Dobranie odpowiedniego dla hipotezy zerowej testu i obliczenie jego wartosci na
podstawie danych pochodzacych z próby. Jest to najwazniejsza decyzja podejmowana
w trakcie weryfikacji hipotez. Wybór niewlasciwego testu moze doprowadzic do
blednych rezultatów analizowania.
3. Przyjecie odpowiedniego poziomu istotnosci.
4. Przy ustalonym poziomie istotnosci znajdujemy obszary krytyczne i w oparciu o nie
podejmujemy decyzje o odrzuceniu lub nie hipotezy zerowej.
16
Sprawdzenie, czy zaleznosc jest poprawnie okreslona moze odbyc sie na jeden z nizej
przedstawionych sposobów [Pawlowski76], [Park89], [Nowak98]:
-
wspólczynnik R2 – jest traktowany jako miara stopnia dopasowania powierzchni
regresji do danych doswiadczalnych. Jest on kwadratem wspólczynnika korelacji
wielokrotnej z próby. Wartosc R2 nalezy do przedzialu domknietego [0,1].
Dopasowanie jest tym lepsze, im wspólczynnik blizszy jednosci;
n
R2 =
∑(y
Wspólczynnik
zmiennosci
losowej,
− y) 2
z
− y)
z =1
n
∑(y
z =1
-
z
( 2.7)
który
2
informuje
jaki
procent
sredniej
arytmetycznej zmiennej objasnianej modelu stanowi odchylenie standardowe reszt.
Mniejsze wartosci tego wspólczynnika wskazuja na lepsze dopasowanie modelu do
danych empirycznych;
We =
-
Se
y
⋅100%
( 2.8)
Wspólczynnik zbieznosci – informuje jaka czesc calkowitej zmiennosci
zmiennej
objasnianej nie jest wyjasniona przez model. Dopasowanie jest tym lepsze, im
wspólczynnik blizszy zeru;
n
ϕ2 =
∑e
z =1
n
∑( y
z =1
-
2
z
z
( 2.9)
− y)
2
statystyka F –Snedecora - hipoteze o nieistotnosci wspólczynników odrzuca sie, gdy
obliczona wartosc F przekracza wartosc krytyczna Fα, przy przyjetym poziomie
istotnosci α;
F=
-
R 2 n − k −1
⋅
1− R2
k
( 2.10)
Statystyka t-Studenta – hipoteze odrzuca sie, gdy obliczona wartosc |ti| przekracza
wartosc krytyczna tα/2,f, przy zadanym poziomie istotnosci α, w przeciwnym wypadku
nie ma podstaw do odrzucenia hipotezy.
17
Testy istotnosci sa takim rodzajem testów, w których na podstawie wyników próby
losowej podejmuje sie jedynie decyzje odrzucenia hipotezy sprawdzanej lub stwierdza sie, ze
brak jest podstaw do jej odrzucenia [Stanisz98].
Wyrózniamy parametryczne testy istotnosci (dotyczace wartosci parametrów
rozkladu) oraz nieparametryczne testy istotnosci.
Testy zgodnosci dotycza postaci rozkladu teoretycznego badanej zmiennej losowej
skokowej lub ciaglej. Weryfikuja one stawiane przez badaczy hipotezy dotyczace rozkladu
zmiennej losowej [Stanisz98].
We wszystkich testach, jesli statystyki okaza sie istotne (tzn. p <0,05), to odrzucamy
hipoteze zerowa o zgodnosci danych z rozkladem normalnym. Oznacza to, ze dana zmienna
(cecha) nie ma rozkladu normalnego.
Nieparametryczne testy istotnosci sluza do sprawdzania hipotez nieparametrycznych
(czyli takich, które nie dotycza parametrów). Mozna podzielic na trzy zasadnicze grupy:
- testy zgodnosci;
- testy losowosci - weryfikujace hipoteze, ze próba ma charakter losowy, np. test serii;
- testy niezaleznosci - sprawdzajace hipoteze o niezaleznosci dwóch zmiennych losowych, np.
test niezaleznosci χ 2 .
Do najczesciej stosowanych testów weryfikujacych normalnosc rozkladów naleza
[Cuthbertson90], [Intriligator71]:
-
Test Kolmogorowa i Smirnowa. Test ten opiera sie na porównaniu procentów
skumulowanych zaobserwowanych z oczekiwanymi. Jako wartosc testu podawana jest
maksymalna róznica bezwzgledna pomiedzy zaobserwowanymi i oczekiwanymi
procentami skumulowanymi. Wymaga on znajomosci parametrów rozkladu (sredniej i
odchylenia standardowego calej populacji). Kiedy parametry te nie sa znane stosuje
sie test Kolmogorowa i Smirnowa z poprawka Lillieforsa.
-
test W Shapiro i Wilka. Test ten jest najbardziej polecany, ze wzgledu na duza moc.
Mozna go równiez stosowac do malych prób.
-
test Pearsona. W celu weryfikacji hipotezy o normalnosci rozkladu wyniki próby
dzielone sa na rozlaczne klasy, a nastepnie porównuje sie liczebnosci: obserwowana i
oczekiwana w kazdej z tych klas.
2.5 Prognozowanie na postawie modelu
Interpretacja wyników otrzymanych po weryfikacji hipotez jest jednym z
najtrudniejszych i najwazniejszych kroków w przeprowadzanej analizie statystycznej.
18
Poprawna interpretacja nie moze byc niezalezna od wiedzy na temat charakteru i sposobu
otrzymywania danych.
Prognoze mozna zdefiniowac jako [Czerwinski82] sad, którego prawdziwosc jest
zdarzeniem losowym, przy czym prawdopodobienstwo zdarzenia jest nie mniejsze od
ustalonej z góry bliskiej jednosci liczby zwanej wiarygodnoscia prognozy. Inna z definicji
[Seber77] okresla, ze prognoza to konkretny wynik wnioskowania w przyszlosc na podstawie
znajomosci modelu opisujacego pewien wycinek badanych zjawisk.
Prognoza to racjonalne i naukowe przewidywanie zdarzen, które powinno zachowac
nastepujace zasady [Zelias97]:
-
prognoza powinna byc formulowana z wykorzystaniem dorobku nauki;
-
powinna byc weryfikowana empirycznie;
-
nie powinna byc stwierdzeniem stanowczym, ale akceptowalnym.
2.6 Analiza statystyczna przy pomocy programów komputerowych
W dzisiejszych warunkach analiza statystyczna wykonywana jest przy pomocy
komputerów. Daje to mozliwosc szybkiego otrzymywania wyników, wprowadzania wiekszej
ilosci zmiennych, poprawnego rozwiazywania ukladów. Na rynku znajduje sie szereg
oprogramowania wspomagajacego budowanie modeli statystycznych i ekonometrycznych.
Do najbardziej znanych zaliczyc mozna:
−
−
−
−
−
−
−
−
GAUSS (APTECH),
MATHCAD & S PLUS,
STATISTICA,
EVIEWS,
STATGRAPHICS,
MATHSTATICA,
MATLAB AND SIMULINK,
MATHEMATICA .
Do celów realizacji modeli w pracy wybrano program STATISTICA.
STATISTICA to uniwersalny, zintegrowany system do statystycznej analizy danych,
tworzenia wykresów oraz zarzadzania danymi. Obejmuje obszerny zestaw zaawansowanych
procedur analitycznych stosowanych w nauce, biznesie i technice. System ten zawiera
procedury statystyczne i graficzne ogólnego stosowania, oraz specjalistyczne techniki
analityczne. Znajduje zastosowanie przy opracowaniu i analizie statystycznej, pozwala
wydobyc istotne informacje i przedstawic je w formie wykresów lub tabel [Stanisz98].
Program udostepnia miedzy innymi [STATISTICA97]:
19
•
zarzadzanie danymi,
•
statystyki opisowe,
•
tabele wielowymiarowe (raporty prezentacyjne),
•
analizy nieparametryczne,
•
dopasowanie rozkladów,
•
regresje wielokrotna,
•
estymacje nieliniowa,
•
szereg statystyk, wykresów pomocnych w analizie zjawisk.
2.7 Podsumowanie
W rozdziale wykazano potrzebe wykorzystania modeli statystycznych do okreslania
efektywnosci aplikacji równoleglych i rozproszonych. Zaprezentowano przeglad metod
statystycznych wykorzystywanych przy budowie i weryfikacji modelu.
W rozdziale 2.1 na podstawie prac [Cuthbertson92], [Nowak98] oraz [Welfe95]
przedstawiono
zakres
stosowalnosci
statystyki
matematycznej,
definicje
modeli
statystycznych oraz ich podstawowe zadania. Omówiono takze zalozenia analizy regresji,
która jest uniwersalnym aparatem matematycznym sluzacych do badania zaleznosci
statystycznych oraz umozliwia wyznaczanie opisu matematycznego obiektów o nieznanych
charakterystykach, na podstawie obserwacji wartosci wejsciowych i wyjsciowych.
Scharakteryzowano etapy procesu badawczego.
Proces analizy statystycznej sprowadza sie do budowy opisowego modelu zjawiska,
statystycznej estymacji jego parametrów oraz wnioskowania na podstawie modelu.
Model statystyczny to równanie lub zbiór równan matematycznych, które w
przyblizony sposób przedstawiaja zasadnicze powiazania ilosciowe wystepujace miedzy
rozpatrywanymi czynnikami. Poprawnosc zbudowanego modelu w duzej mierze zalezy od
odpowiedniego doboru zmiennych, które maja wplyw na badane zjawisko. Na podstawie prac
[Seber77] i [Gajek94] w rozdziale 2.2 omówiono zasady jakie musza spelniac zmienne
zalezne i niezalezne wykorzystywane przy budowie modeli.
Rozdzialy 2.3 oraz 2.4 zawieraja opis metod estymacji wspólczynników linii regresji
oraz metody weryfikacji modelu. Przedstawiono etapy procesu weryfikacji modeli,
wspólczynniki, statystyki i testy istotnosci pozwalajace okreslic slusznosc utworzonych
równan. Korzystano tu glównie z publikacji [Blake84], [Cuthbertson92], [Park89], [Seber77]
oraz [Wickens82].
20
Interpretacja wyników otrzymanych po weryfikacji hipotez jest jednym z
najtrudniejszych i najwazniejszych kroków w przeprowadzanej analizie statystycznej. Na
postawie pracy [Zelias97] zaprezentowano w rozdziale 2.5 mozliwosci prognozowania na
postawie modelu, a rozdzial 2.6 przedstawia podstawowe programy komputerowe
wykorzystywane przy budowie i weryfikacji modeli statystycznych.
21
3 Srodowiska równolegle i rozproszone
Zamiast
zwiekszac
moc
obliczeniowa
pojedynczych
procesorów
bardziej
ekonomicznym i efektywnym rozwiazaniem okazalo sie zastosowanie wielu, relatywnie
tanich, standardowych procesorów. Dodatkowym bodzcem do rozwoju komputerów
równoleglych jest fakt, ze wiekszosc najpowazniejszych zadan obliczeniowych opiera sie na
modelach wektorowych i macierzowych, a dzialania na tego typu obiektach stosunkowo
latwo daja sie dzielic na niezalezne ciagi operacji. Doprowadzilo to w ostatnich latach do
popularyzacji komputerów wspólbieznie wykonujacych zadania.
Obliczenia rozproszone, to takie, w których dokonano dekompozycji zadania
obliczeniowego na procesy lub procesory [Brown94].
W [Catanzaro94] dokonano przegladu podstaw wieloprocesorów i szczególowo
omówiono ich cechy charakterystyczne. Opis systemów wieloprocesorowych znalezc mozna
takze w [Bielecki02], [Szczerbinski93]. Przeglad problemów zwiazanych ze spójnoscia
pamieci podrecznych w wieloprocesorach zawiera [Lilja93] oraz [Tomasevic93].
3.1 Komputery równolegle
System
wieloprocesorowy
(wieloprocesor)
(ang,
multiprocessor
system,
multiprocessor) zostal zdefiniowany w roku 1970 przez Amerykanski Panstwowy Instytut
Normalizacji (ANSI) jako maszyna cyfrowa zlozona z dwu lub wiecej jednostek
przetwarzania sterowanych centralnie [Kozielski93].
Rozwijajac powyzsza definicje mozna stwierdzic iz system wieloprocesorowy jest to
pojedynczy komputer, zawierajacy wiecej niz jeden procesor. Procesory te maja zazwyczaj
zblizone wlasciwosci i mozliwosci obliczeniowe. Komputer taki pracuje pod kontrola jednego
systemu operacyjnego, zapewniajacego wspólprace miedzy procesorami na róznych
poziomach w celu wspólnego rozwiazania okreslonego zadania [Kozielski93].
Podstawa wspóldzialania procesorów jest komunikacja miedzy nimi i mozliwa dzieki
niej synchronizacja pracy. Moze ona odbywac sie na dwa sposoby [Kozielski93]:
-
poprzez dostep do wspólnej pamieci operacyjnej (ang. common memory, shared
memory). Architektura sytemu przedstawiona jest na Rys. 3.1.
-
poprzez przesylanie komunikatów (ang. message passing). Schemat przedstawiono na
Rys. 3.2
22
Rys. 3.0 gg
PAMIEC
......................
SIEC POLACZEN
..........
Procesor 1
Procesor 2
Procesor P
Rys. 3.1: Architektura systemów wieloprocesorowych z pamiecia wspólna
PAMIEC
..........
Procesor 1
Procesor 2
Pamiec 1
Pamiec 2
Procesor P
..........
Pamiec P
Rys. 3.2: Architektura systemów wieloprocesorowych z pamiecia rozproszona
Systemy ze wspólna pamiecia cechuja sie teoretycznie stosunkowo szybkim
mechanizmem synchronizacji, czyli komunikacji miedzyprocesorowej. Czas ten moze ulegac
jednak wydluzeniu ze wzgledu na dostep wszystkich procesorów do jednej pamieci. Dlatego
minimalizuje sie dostep do wspólnej pamieci poprzez pamieci lokalne, a sieci polaczen
projektuje sie tak, aby zapewnialy duza przepustowosc [Karbowski01]. Zastosowanie pamieci
lokalnej powoduje odciazenie pamieci wspólnej tylko dla obliczen lokalnych, tzn. obliczen
nie korzystajacych z wyników pracy innych procesorów i nie generujacych wyników
bedacych danymi wejsciowymi dla innych procesorów.
W systemach wieloprocesorowych z pamiecia rozproszona kazdy procesor ma wlasna,
dostepna tylko jemu pamiec. Komunikacja miedzy procesorami odbywa sie za posrednictwem
komunikatów. Sa one przesylane przez siec polaczen. Jednakze mechanizmy synchronizacji i
komunikacji sa obarczone znacznym narzutem czasowym [Karbowski01]. W przypadku
rzadkich powiazan miedzy realizowanymi procesami obliczenia mozna przyspieszyc przy
uzyciu bardzo duzej liczby mikroprocesorów stosujac tak zwany paralelizm masowy.
Dla
systemów
wieloprocesorowych
ze
wspólna
pamiecia
wskazana
jest
gruboziarnistosc zrównoleglenia (coarse-grain), czyli kazdy watek powinien wykonac jak
23
najwieksza liczbe punktów z przestrzeni iteracji. Gruboziarnistosc zrównoleglenia uzyskuje
sie przez podzial miedzy watki dziedziny wartosci zmiennej indeksowej mozliwie jak
najbardziej zewnetrznej petli. Natomiast dla systemów z pamiecia rozproszona wskazana jest
drobnoziarnistosc zrównoleglenia (fine-grain), w celu zapewnienia lokalnosci obliczen
wykonywanych przez procesor. W celu uzyskania drobnoziarnistosci zrównoleglenia jest
stosowany specjalny rodzaj transformacji polegajacy na grupowaniu iteracji w male bloki
[Wolf96].
Najwazniejszymi zaletami obliczen równoleglych sa [Karbowski01]:
-
przyspieszenie obliczen;
-
zwiekszenie niezawodnosci dzialania lub dokladnosci;
-
stworzenie mozliwosci rozwiazywania zadan zbyt duzych dla maszyn sekwencyjnych.
3.2 Systemy rozproszone
Wspólczesne systemy informatyczne budowane sa w oparciu o gigantyczna siec
rozproszonych komputerów, w której miliony niezaleznych urzadzen komunikuja sie miedzy
soba za pomoca laczy komunikacyjnych, na przyklad Internetu. Systemy rozproszone ciesza
sie duza popularnoscia ze wzgledu na mozliwosc rozpraszania obliczen oraz wspóldzielenie
zasobów [Karbowski01].
Rozproszony system komputerowy okreslany jest jako zbiór samodzielnych
komputerów polaczonych za pomoca sieci, wyposazonych w oprogramowanie
zaprojektowane z mysla o tworzeniu zintegrowanego srodowiska obliczeniowego
[Coulouris99]. Kazda z jednostek wyposazona jest w procesor, pamiec lokalna i
podsystem we/wy. Wobec braku pamieci wspólnej, komunikacja miedzy wezlami odbywa
sie za posrednictwem wymiany wiadomosci (komunikatów).
System rozproszony to uklad niezaleznych komputerów, który sprawia, na jego
uzytkownikach wrazenie, ze jest jednym komputerem [Tanenbaum97].
Rozpraszanie obliczen polega na podzieleniu zadania obliczeniowego na kilka
niezaleznych czesci i w wyniku równoleglego ich wykonania nastepuje znaczne
przyspieszenie obliczen. W tej dziedzinie doskonale zastosowanie znajduja komputery
równolegle. Sa to jednak maszyny bardzo drogie i nie zawsze korzysci wynikajace z szybkich
obliczen równowaza koszt zakupu. Alternatywa dla maszyn równoleglych sa srodowiska
rozproszone. Koszt takiego rozwiazania jest znikomy, sieci komputerowe sa latwo dostepne,
istnieje jedynie potrzeba instalacji odpowiedniego oprogramowania [Wyrzykowski].
24
Istnieje duze podobienstwo pomiedzy architektura systemu rozproszonego i
architektura systemu równoleglego z pamiecia rozproszona (tj. multikomputera). W obu
strukturach procesory komunikuja sie poprzez pewien uklad komunikacyjny, a nie przez
wspólna pamiec. Róznice pomiedzy nimi sprowadzaja sie glównie do mniejszej szybkosci w
komunikacji miedzy procesami niz w przypadku systemów rozproszonych, które zwykle
charakteryzuja sie takze znacznie wieksza niejednorodnoscia wezlów.
Wspóldzielenie zasobów polega na rozpraszaniu danych w sieci komputerowej.
Srodowiska rozproszone pozwalaja na korzystanie z rozproszonych danych, ukrywajac przed
uzytkownikami szczególy ich fizycznego rozmieszczenia. Pozwala to na latwe rozszerzanie i
przemieszczanie zasobów [BenAri96].
Konstrukcja aplikacji rozproszonej musi zakladac pewien model wykonawczy,
co z kolei rzutuje na sposób jej implementacji. W wiekszosci srodowisk zaklada sie,
ze wykonanie aplikacji rozproszonej jest realizowane przez zbiór wykonan pojedynczych
programów sekwencyjnych (nazywanych procesami), przy czym programy te nie musza byc
wykonywane na jednej maszynie [Coulouris99].
Procesory w systemach rozproszonych moga sie róznic pod wzgledem rozmiaru i
przeznaczenia. Moga wsród nich byc male mikroprocesory, stacje robocze, minikomputery,
albo wielkie systemy komputerowe ogólnego przeznaczenia.
Wsród glównych cech srodowisk rozproszonych omówic nalezy [Coulouris99]:
•
Przezroczystosc,
rozproszonego,
czyli
to
zapewnienie
znaczy,
ukrycie
wrazenia
przed
jednolitosci
uzytkownikiem
oprogramowania
jej
rozproszenia.
Przezroczysta aplikacja rozproszona powinna umozliwiac jednolity dostep do
lokalnych i zdalnych obiektów informacji za pomoca identycznych dzialan oraz
umozliwiac rejestracje z dowolnej maszyny w systemie rozproszonym, dodatkowo
moze zapewniac ukrywanie operacji wysylania komunikatów lub przelaczania sie na
inny zasób.
•
Wydajnosc – wykonanie danego zadania przez aplikacje rozproszona nie powinno
przebiegac dostrzegalnie gorzej niz wykonanie tego samego zadania na jednym
procesorze. Istnieja rózne miary wydajnosci: czas odpowiedzi, przepustowosc,
wykorzystanie zasobów, systemu lub sieci. W przypadku tworzenia aplikacji
rozproszonych problem wydajnosci komplikuje fakt, ze wymiana danych przez siec
jest dosc wolna w porównaniu z czasem obliczen procesorów (w obliczeniach
sekwencyjnych nie istnieje problem komunikacji). Dlatego dazy sie do minimalizacji
liczby komunikatów. Wydajnosc pogarsza takze duza liczba punktów synchronizacji
25
procesów. Wówczas zadania zawieraja wiecej obliczen i wykazuja gruboziarnista
równoleglosc. Wielkosci zadan moga jednak znaczne sie róznic i wówczas wydajnosc
moze zostac obnizona przez wydluzenie czasów przestojów.
•
Skalowalnosc, czyli mozliwosc adaptacji aplikacji rozproszonej do rozrastajacych sie
potrzeb na jej uslugi. Powiekszanie skali systemu i oprogramowania nie powinno
pociagac za soba koniecznosci wykonywania w nim zmian.
•
Niezawodnosc jest waznym aspektem w trakcie projektowania zarówno aplikacji
rozproszonych jak i samych systemów rozproszonych. System niezawodny musi miec
dobra dostepnosc, dane nie moga zostac utracone czy przeklamane, a pomiedzy ich
kopiami
powinna
zostac
zachowana
spójnosc.
Niezawodnosc
to
równiez
bezpieczenstwo. Inna kwestia niezawodnosci jest zdolnosc tolerowanie awarii.
•
Elastycznosc – elastyczna aplikacja rozproszona wykazuje cechy rekonfiguracji,
skalowalnosci, otwartosci, niezawodnosci. Jest to zdolnosc oprogramowania
rozproszonego do dalszego dzialania w zmieniajacym sie srodowisku sprzetowym,
programowym i przy zmieniajacych sie wymaganiach. Zapewnienie elastycznosci
aplikacji czesto odbywa sie kosztem jej wydajnosci.
•
Wspóldzialanie, czyli zapewnienie mozliwosci wspóldzialania pomiedzy róznymi
aplikacjami, w szczególnosci mozliwosc komunikowania sie niezalezne napisanych
programów. Interoperacyjnosc oprogramowania to sposobnosc wspólpracy aplikacji z
róznych platform sprzetowych i programowych.
Systemy rozproszone odznaczaja sie wieloma zaletami, miedzy innymi dobrym
wspólczynnikiem cena/wydajnosc, zdolnoscia dopasowywania sie do rozproszonych
zastosowan, potencjalnie duza niezawodnoscia. Cechuje je bardziej zlozone oprogramowanie
oraz mozliwosc wystapienia waskich gardel [Tanenbaum97].
3.3 Srodowiska programowania równoleglego i rozproszonego
Na rynku oprogramowania znalezc mozna wiele srodowisk pozwalajacych na
wykorzystanie jednoczesnej pracy kilku procesorów lub komputerów. Programowanie na
maszynach z pamiecia wspólna realizuje sie
w oparciu o jezyk dyrektyw OpenMP,
programowanie wielowatkowe z wykorzystaniem watków Solarisa, POSIX’a oraz watków
jezyka Java. Programowanie na maszynach z pamiecia lokalna oraz w sieciach
komputerowych odbywa sie w srodowiskach MPI, PVM, a
realizacje rozproszonych
systemów z pamiecia wspólna wspomaga miedzy innymi Linda, dyrektywy HPF Fortranu 90,
RPC, RMI, Corba, DCOM.
26
W rozdziale zaprezentowane zostana najbardziej znane i najczesciej wykorzystywane
srodowiska programowania równoleglego oraz rozproszonego.
OpenMP jest interfejsem dla standardu programowania wielowatkowego. Sluzy do
programowania równoleglego, gdzie programista dba o tworzenie watków, ich synchronizacje
oraz zniszczenie. Zrównoleglenie kodu odbywa sie w oparciu o model fork-and-join. Polega
on na tworzeniu przez jeden watek grupy watków, które wykonuja prace, nastepnie wszystkie
sie synchronizuja i dalsza praca wykonana jest sekwencyjnie. Watek tworzacy grupe staje sie
watkiem typu master i równiez bierze udzial w przetwarzaniu. Po synchronizacji watek
master kontynuuje swoja prace, a pozostale watki zostaja zniszczone. Specyfikacja OpenMP
przewiduje zrównoleglenie zaglebione, to znaczy dopuszcza, by kazdy watek w grupie
utworzyl wlasna grupe watków.
W OpenMP kod jest zrównoleglony za pomoca dyrektyw kompilatora. Dyrektywy
definiuja blok równolegly. Instrukcje znajdujace sie w bloku sa wykonywane przez wiele
równoleglych watków. Ich liczba jest ustalona statycznie przez zmienna srodowiskowa lub
dynamicznie przez wywolanie w programie odpowiedniej procedury bibliotecznej, z
parametrem równym pozadanej liczbie watków [Karbowski01].
PVM to standard srodowiska do przetwarzania równoleglego i rozproszonego w
heterogenicznych sieciach maszyn sekwencyjnych i równoleglych. Komputery polaczone
przy pomocy sieci tworza tzw. maszyne wirtualna. Poszczególne komputery moga pracowac
pod nadzorem róznych systemów operacyjnych, komputery nawet moga miec rózna
architekture sprzetowa [Lundell96]. Na kazdym komputerze nalezacym do maszyny
wirtualnej uruchomiony jest program demon, który posredniczy w komunikacji i zapewnia
konwersje danych pomiedzy róznymi architekturami. Maszyna wirtualna konfigurowana jest
dla poszczególnych uzytkowników, tzn. ten sam wezel moze byc skladnikiem wielu maszyn
wirtualnych. Na poziomie maszyny wirtualnej jednostka elementarna reprezentujaca
wykonywany program jest zadanie. Najwazniejsza usluga udostepniana przez PVM jest
mozliwosc przesylania komunikatów. PVM zapewnia komunikacje asynchroniczna i dwie
formy odbioru: blokujaca i nieblokujaca [Geist96], [FengChao].
MPI (ang. Message Passing Interface) jest standardem biblioteki przesylania
komunikatów dla potrzeb programowania równoleglego w rzeczywistych i wirtualnych
maszynach równoleglych z pamiecia lokalna. Jest biblioteka procedur i funkcji wywolanych z
programów napisanych w jezykach C, C++ oraz Fortran, sluzacy do wysylania i odbierania
komunikatów, wyliczenia pewnych charakterystyk oraz synchronizacji zadan wykonujacych
najczesciej ten sam program [Gropp94], [Shir94].
27
W standardzie MPI komunikacja moze byc realizowana kilkoma sposobami poprzez
synchronizacje wzajemna (komunikacje synchroniczna i asynchroniczna) oraz warunek
powrotu z funkcji wysylanie/odbieranie (blokujacy i nieblokujacy). Oprócz standardowych
typów danych MPI pozwala na definiowanie i przesylanie wlasnych typów pochodnych.
Topologie wirtualne przyporzadkowane sa komunikatorom. Umozliwiaja one wygodne
indeksowanie procesów przy niektórych algorytmach np. traktujace procesy jako siatke
wezlów w przestrzeni wielowymiarowej Rn . Ogólnie topologia algorytmu jest okreslona przez
graf. Wezly grafu odpowiadaja procesom, a luki – drogom komunikacji.
Wersja MPI 2 rozszerzyla poprzednia biblioteke miedzy innymi o dynamiczne
tworzenie procesów, komunikacje jednostronna, operacje na plikach [MPIF97].
Porównujac pakiet PVM oraz MPI mozna wysnuc nastepujace wnioski [MPIF95],
[MPIF97], [Geist]:
-
MPI implementuje wszystkie mechanizmy oferowane przez PVM;
-
jako zalete MPI wyróznic mozna efektywnosc, zwlaszcza dla maszyn równoleglych z
pamiecia lokalna;
-
wada MPI jest brak heterogenicznosci;
-
zarówno MPI jak PVM ze wzgledu na swoja uniwersalnosc sa obciazone balastem,
który wynika z koniecznosci zachowania zgodnosci miedzy systemami pracujacymi
na róznych platformach;
-
staly rozwój MPI oraz wzrost popularnosci pakietu wypieraja pakiet PVM.
RPC sluzy do wywolywania operacji w odleglym komputerze sluzacym jako serwer.
Jest to narzedzie maksymalnie uproszczone, szybkie i o malych wymaganiach sprzetowych.
Znajduje zastosowanie przy projektach wymagajacych efektywnej komunikacji miedzy
obiektami.
RMI (ang. Remote Method Invocation) jest czescia jezyka Java. Umozliwia on
wywolanie metod obiektów w pewnej maszynie wirtualnej Javy przez obiekty znajdujace sie
w innej maszynie wirtualnej. Maszyny wirtualne moga dzialac na róznych komputerach
wspólpracujacych z protokolem TCP. Rozproszenie aplikacji jest niewidoczne: zarówno
obiekty lokalne, jak i odlegle, sa identyfikowane przez referencje, czyli standardowy sposób
dla Javy [Karbowski01]. Jest narzedziem prostym w programowaniu i konfiguracji. Zacznie
absorbuje pamiec oraz procesor. Znajduje zastosowanie do prototypowania oraz do projektów
nie wymagajacych czestego przesylania danych w duzych ilosciach. Wada RMI jest niska
wydajnosc, gdyz Java jest jezykiem interpretowanym i aplikacje wykonywane przez maszyne
wirtualna dzialaja zdecydowanie wolniej niz aplikacje skompilowane do kodu maszynowego.
28
Srodowisko Corba umozliwia wykonywanie zdalnych metod oraz dostep do zdalnych
pól obiektów. Obiekt stanowi jednostke dostarczajaca uslugi, których zada klient. Uslugi
oferowane przez obiekt definiuje interfejs. Do jego opisu uzywany jest jezyk IDL. Corba to
rozbudowana i dobrze udokumentowana technologia, choc zarzuca sie jej kilka wad, miedzy
innymi, brak bilansowania obciazen, brak rozpatrywania bezpieczenstwa (w nowszych
wersjach Corba dostarcza serwis Security), obnizona wydajnosc spowodowana duzym
narzutem komunikatów. Cechuje sie wysoka wydajnoscia, pozwala dostosowac obciazenie
maszyn do ich mocy. Nadaje sie do duzych, profesjonalnych systemów rozproszonych
[Mowbray73].
3.4 Dostepnosc
charakterystyk
wydajnosciowych
aplikacji
równoleglych i rozproszonych
Badanie zjawisk statystycznych obejmuje cztery etapy [Zajac94]:
-
przygotowanie badania;
-
zbieranie obserwacji;
-
opracowanie materialu statystycznego;
-
statystyczna analiza wyników obserwacji.
Najlepszym badaczem wydajnosci systemu komputerowego zarówno w sensie czasu
wykonania jak i przepustowosci jest operator, który w dluzszym okresie czasu wykonuje te
same codzienne, rutynowe zadania. Jednakze niemozliwym jest ciagle testowanie
oprogramowania i zatrudnianie do tego celu specjalistów. Istnieja wiec pakiety programowe
sluzace do testowania wydajnosci komputerów (ang. benchmark).
Mozna wyróznic co najmniej 4 klasy takich programów [Patterson96][Curnow76]:
1. Rzeczywiste programy, uzywane do realizacji konkretnych zadan (np. kompilatory,
programy do generacji scen 3D), majace konkretne dane wejsciowe i parametry.
2. Programy typu „rdzen” badz „jadro” (ang. kernel), czyli fragmenty rzeczywistych
programów, wyodrebnione dla celów okreslania wydajnosci wyizolowanych
elementów komputera. Jako przyklad wymienic mozna Linpack [Dongarra79].
3. Programy „zabawkowe” (ang. toy benchmark), czyli niewielkie programy, rzedu 100
linii kodu, których wyniki sa znane uzytkownikowi jeszcze przed uruchomieniem
programu.
4. Benchmarki syntetyczne, podobne w filozofii dzialania do kerneli, próbuja uchwycic
srednia czestotliwosc instrukcji i dostepów do danych na podstawie analizy duzych
29
zbiorów programów. Przykladem moga byc Whetstone [Curnow76] i Dhrystone
[Weicker91].
Nalezy przy tym zauwazyc, ze wyniki wszystkich testów zaleza nie tylko od rodzaju i
szybkosci wykonujacego je procesora, ale tez od organizacji i parametrów czasowych
systemu pamieci oraz jakosci i parametrów optymalizacyjnych kompilatorów, uzytych do
otrzymania testów.
Dane do modelowania statystycznego moga byc takze dostarczane przez producentów
oprogramowania. Systemy wraz z dolaczonymi modelami moga stac sie atutem dla osób
zainteresowanych zakupem aplikacji. Na ich podstawie mozna bowiem stwierdzic, jakiego
zysku czasowego mozna spodziewac sie w wyniku korzystania z aplikacji wspólbiezne
wykonujacej zadania.
Pozyskanie danych moze odbywac sie takze poprzez testowanie aplikacji i tworzenie
zestawów pomiarowych wewnatrz instytucji posiadajacej baze sprzetowa oparta o komputery
równolegle lub rozproszone, celem efektywnego wykorzystania zasobów podczas
uzytkowania.
3.5 Efektywnosc zrównoleglenia
3.5.1 Metryki wydajnosci aplikacji
Ocena wydajnosci funkcjonowania komputerów równoleglych stala sie istotnym
zagadnieniem wobec coraz czestszych zastosowan tej architektury. Dokonanie oceny jest
konieczne zarówno w fazie implementacji jak i wykonania, gdyz mozliwym jest, ze zysk
czasowy w dzialaniu programów jest nieznaczny mimo poniesienia znacznych nakladów na
sprzet.
Komputery oparte o przetwarzanie jednoczesnie na wielu procesorach zazwyczaj
wykorzystywane sa przy obsludze programów czasochlonnych, wiec z duza iloscia dzialan.
Na efektywnosc dzialania programu wplywa zarówno architektura komputera, jak i
konkretne zastosowania programowe.
W
rozwazaniach
teoretycznych
mozna
przyjac,
ze
maksymalna
szybkosc
przetwarzania równa jest iloczynowi liczby procesorów i maksymalnej szybkosci wykonania
sekwencyjnego. W definicji tej nie zostaly uwzglednione realne czynniki zaklócajace, takie
jak czasy synchronizacji, niemoznosc calkowitego zrównoleglenia kodu, warunki sprzetowe
[Stallings00].
30
Rzeczywista szybkosc przetwarzania uzyskuje sie droga doswiadczalna przez
podzielenie znanej liczy operacji w programie przez zmierzony czas. Charakterystyke taka
tworzy sie dla maszyny juz uzytkowanej, a miara wydajnosci zalezna jest w duzym stopniu od
realizowanego programu. Dlatego, aby charakterystyka byla jak najpelniejsza tworzy sie
zestawy programów testowych, z których kazdy bada efektywnosc procesora typowych
operacji [Szczerbinski93].
Charakterystyke wydajnosciowa w najprostszy sposób okreslic mozna poprzez
pomiary i analize czasu. Zgodnie z naturalnym pojmowaniem czasu wykonania zadania
przedmiotem pomiaru jest odcinek czasu miedzy uruchomieniem a zakonczeniem zadania,
wlaczajac w to takze czas odczytu danych z dysku czy czas potrzebny na wykonanie w tle
zadan systemu operacyjnego. Wezsze znaczeniowo jest pojecie czasu procesora, który nie
obejmuje na przyklad oczekiwania na zakonczenie operacji wejscia/ wyjscia. Czas procesora
moze dalej byc podzielony na czas procesora dla uzytkownika (ang. user CPU time), gdy
procesor wykonuje program uzytkownika i systemowy czas procesora (ang. system CPU
time), gdy procesor wykonuje zadania systemu operacyjnego, w tym równiez uslugi zlecone
przez program uzytkowy [Miktus00].
Przyspieszenie wykonania programu zdefiniowac mozna nastepujaco:
S = t s / tr
( 3.1)
Efektywnosc zrównoleglenia okreslona jest wzorem:
E = t s /( t r ⋅ p) ,
( 3.2)
gdzie,
ts - jest czasem wykonania programu na pojedynczym procesorze,
tr - czasem wykonania programu równolegle,
p – ilosc procesorów.
Aby uwzglednic aspekty architektury komputerów równoleglych stosuje sie
programowa symulacje, cykl po cyklu, realizacji przez komputer okreslonego algorytmu
obliczeniowego. Wada tej metody jest dlugi czas trwania pomiarów [Karbowski01].
Dlatego rozsadnym wydaje sie tworzenie modeli matematycznych uwzgledniajacych
tylko najwazniejsze parametry i oferujacych poprawne uchwycenie zaleznosci czasowych.
Model taki pozwala na szacowanie, czy programy beda wydajne w zaleznosci od profilu
sprzetowego oraz parametrów uruchomienia programu.
Z próbami tworzenia modeli mozna spotkac sie w literaturze [Fox87], [Hockney85],
[Shimasaki87], [Calahan79], [Bucher88] jednak w znacznej mierze dotycza one komputerów
31
wektorowych. Charakterystyke komputerów wektorowych, na których oparte sa modele
znalezc mozna w [Stone93], [Hwang93].
Model Calahana - Amesa opiera sie na zaleznosci czasu trwania operacji wektorowej t
od dlugosci wektora n, gdzie t0 jest czasem uruchomienia potokowej operacji wektorowej, a t
to czas uplywajacy miedzy generacja kolejnych wyników dzialan na elementach wektora
[Calahan79].
t = t0 + n ⋅ τ
( 3.3)
Model Bucher – Simmons dopasowuje poprzedni model do wymogów komputerów
wektorowych typu rejestr – rejestr. Dluzsze wektory musza byc dzielone na czesci o dlugosci
równej rozmiarowi rejestru wektorowego, a operacja wektora sklada sie z ciagu operacji
wykonywanych na czesciach wektora [Bucher88]. Opóznienie czasowe zwiazane jest z
koniecznoscia calkowitego opróznienia rejestru danych przed wczytaniem kolejnej czesci
wektora. Model matematyczny przyjmuje wiec postac:
t = tL +
[ ]⋅ t
n
lr
s
+ n ⋅τ ,
( 3.4)
gdzie lr jest dlugoscia wektora, tL czasem trwania inicjalizacji petli programowej, sterujacej
operacja podzialu wektora na czesci, ts – zwloka czasowa zwiazana z ladowaniem nowego
kawalka wektora, a t – czasem cyklu zegara.
3.5.2 Model Hockneya
Model Hockneya w poczatkowej wersji dotyczyl komputerów wektorowych, ale jego
pózniejsza wersja opierala sie na systemach wieloprocesorowych. Jest to obecnie
najpopularniejszy model charakteryzacji wydajnosciowej dla komputerów równoleglych.
Traktuje on program równolegly jako sekwencje tzw. segmentów pracy równoleglej.
W kazdym z segmentów wykonywane obliczenia dzielone sa miedzy szereg logicznie
niezaleznych strumieni rozkazów. Kazdy z tych strumieni wykonywany jest przez oddzielny
procesor. Przez logiczna niezaleznosc strumieni rozumie sie brak potrzeby komunikacji
miedzy nimi. Istota segmentu pracy równoleglej jest synchronizacja obliczen w momentach
jego rozpoczecia i zakonczenia. Wszystkie obliczenia w segmencie musza zostac zakonczone
zanim rozpoczna sie operacje dla kolejnego segmentu. Oznacza to, ze w ramach segmentu
nastapi opóznienie zwiazane z faktem czekania na zakonczenie wszystkich procesów
[Hockney81][Hockney86].
Zaleznosc czasowa i- tego segmentu przedstawiana jest nastepujaco:
32
t = ( r∞, i ) −1 ( s i + s 1 , i )
( 3.5)
2
gdzie:
si – calkowita liczba operacji w i-tym segmencie,
r∞,i – asymptotyczna szybkosc przetwarzania; r∞ jest iloczynem asymptotycznej szybkosci
przetwarzania w jednym procesorze i liczby procesorów aktywnych w i-tym segmencie,
s1/2,i – koszt synchronizacji w przeliczeniu na operacje zmiennoprzecinkowe.
3.5.3 Prawo Amdahla
Prawo Amdahl’a okresla korzysci z zastosowania architektury równoleglej od stopnia
paralelizmu w wykonywanym programie [Amdahl67]. Wyraza sie go wzorem (3.6), gdzie:
sp =
T
1
=
1− f s
1− fs
f sT +
T
fs +
p
p
( 3.6)
p – teoretyczne, idealne przyspieszenie obliczen wynikajace z paralelizmu architektury(liczba
procesorów),
fs – czesc obliczen w programie wykonywanych sekwencyjnie,
T – czas dzialania programu wykonywanego sekwencyjnie.
Z powyzszego prawa wynika [Karbowski01]:
-
maksymalne przyspieszenie dzialania programu przy wykorzystywaniu obliczen
równoleglych wynosi tylko
-
1
;
fs
aby efektywnosc wykorzystania architektury równoleglej byla istotna, procent kodu
wykonywany w trybie równoleglym musi byc bardzo wysoki. W przeciwnym
wypadku
na
obnizenie
efektywnosci
wplywa
zdominowanie
obliczeniami
sekwencyjnymi.
Analizujac prawo Amdahla mozna dojsc do wniosku, ze powodem stosowania
obliczen równoleglych jest chec rozwiazywania duzych (o duzej wymiarowosci) przykladów,
a nie wzrost szybkosci uzyskiwania wyników dla malego wymiaru [Karbowski01].
3.5.4 Prawo Gustafsona
Prawem przeciwnym do prawa Amdahla jest prawo Gustafsona, które mówi, ze jezeli
rozmiar czesci równoleglych programu jest odpowiedni, wtedy wymagana efektywnosc
mozna osiagnac na dowolnej liczbie procesorów [Gustafson88].
Przyspieszenie na P procesorach okreslic mozna wzorem:
33
S=
Tδ + T || ( N ,1)
Tδ + T || ( N , P)
( 3.7)
gdzie,
Tδ - jest czasem wykonania czesci sekwencyjnych programu,
T||(N,P) – czas równoleglego wykonania programu o rozmiarze N na P procesorach.
3.5.5 Sprawnosc systemu
Skalowalnosc jest to wlasnosc systemu (zarówno sprzetu jak i oprogramowania)
polegajaca
na
elastycznym
dopasowaniu
sie
do
zwiekszonej
liczby
procesorów
[Karbowski01]. Elastyczne dopasowanie oznacza zachowanie tej samej sprawnosci.
Sprawnosc programu równoleglego o wielkosci n realizowanego na p procesorach
wyraza sie wzorem
η ( n, p) =
w(n)
=
w ( n) + h( n, p)
1
h( n, p)
1+
w( n)
( 3.8)
gdzie;
w(n) – ilosc operacji zwiazanych z wykonaniem obliczen,
h(n,p) – ilosc narzutów na komunikacje.
Poniewaz narzuty na komunikacje rosna ze wzrostem liczby procesorów, jak widac ze
wzoru sprawnosc maleje, gdy nie zmieniajac wielkosci zadania zwiekszona zostaje liczba
wykorzystywanych procesorów. Gdy zwieksza sie wielkosc programu, narzuty h(n,p) rosna
wolniej niz liczba uzytecznych operacji w(n) i wówczas sprawnosc rosnie. Mozna wiec
wyznaczyc wielkosc zadania, przy której zachowana jest ta sama sprawnosc. Zwiazek ten
okresla rosnaca funkcje stalej sprawnosci [Karbowski01].
Architektura jest bardziej skalowalna (dla danego zadania obliczeniowego), kiedy
funkcja sprawnosci rosnie wolniej.
3.6 Podsumowanie
Rozdzial 3 jest omówieniem budowy i funkcjonowania komputerów równoleglych i
systemów rozproszonych na podstawie prac [Bielecki02], [Coulouris99], [Karbowski01] oraz
[Szczerbinski93].
W punkcie 3.1 dokonano przegladu komputerów równoleglych. Omówiono systemy
wieloprocesorowe z pamiecia wspólna oraz dzielona.
34
Cechy systemów rozproszonych zawiera rozdzial 3.2. Zaprezentowano w nim typy
architektur srodowisk rozproszonych oraz omówiono aspekty, takie jak wspólne uzytkowanie
zasobów, otwartosc systemu, wspólbieznosc, skalowalnosc, przezroczystosc.
Systemy do programowania równoleglego i rozproszonego omówiono w 3.3.
Scharakteryzowano PVM, który jest standardem srodowiska do przetwarzania równoleglego i
rozproszonego w heterogenicznych sieciach maszyn sekwencyjnych i równoleglych,
biblioteke przesylania komunikatów MPI, srodowisko programowania komputerów
równoleglych ze wspólna pamiecia OpenMP i inne.
Benchmarki zwierajace testy z wartosciami charakterystyk wydajnosci aplikacji
opisane zostaly w rozdziale 3.4. Wskazano w nim takze inne metody pozyskiwania danych,
które uzyte moga zostac do tworzenia modeli statystycznych charakteryzujacych aplikacje
równolegle i rozproszone.
Ocena wydajnosci funkcjonowania komputerów jest nieodlacznym elementem w
badaniach nad srodowiskami równoleglymi oraz rozproszonymi. Dokonanie oceny jest
konieczne zarówno w fazie implementacji, jak i wykonania, gdyz mozliwym jest, ze zysk
czasowy w dzialaniu programów jest nieznaczny mimo poniesienia znacznych nakladów na
sprzet. W rozdziale 3.5 na podstawie prac [Borowik01], [Foster94], [Bucher88], [Calahan79],
[Hockney91],
[Karbowski01]
przedstawiono
dotychczasowe
badania
efektywnosci
zrównoleglenia. W rozdziale 3.5.1 przedstawione zostaly znane miary wydajnosci, miedzy
innymi przyspieszenie, efektywnosc oraz modele tworzone dla komputerów wektorowych
(model Calahana- Amesa , model Bucher – Simmonsa). Rozdzial 3.5.2 poswiecony zostal
modelowi
Hocneya,
który
jest
obecnie
najpopularniejszym
model
charakterystyki
wydajnosciowej dla komputerów równoleglych.
W rozdziale 3.5.3 przedstawiono prawo Amdahl’a, które okresla korzysci z
zastosowania architektury równoleglej w zaleznosci od stopnia paralelizmu w wykonywanym
programie a w punkcie 3.5.4 zaprezentowano prawo Gustafsona, które mówi, ze jezeli
rozmiar czesci równoleglych programu jest odpowiedni, to wymagana efektywnosc mozna
osiagnac na dowolnej liczbie procesorów.
35
4 Metodyka
postepowania
przy
budowie
modeli
opisujacych efektywnosc aplikacji równoleglych
Celem pracy jest opracowanie metodyki postepowania przy budowie modeli
statystycznych opisujacych efektywnosc programu w srodowisku równoleglym.
Do utworzenia modelu potrzebna bedzie gotowa aplikacja oraz dodatkowe informacje
dostarczone przez producentów oprogramowania lub zaczerpniete z benchmarków
komputerowych.
Osoba tworzaca model bedzie traktowala aplikacje jako „czarna skrzynke”, wiec nie
bedzie rozstrzygac problemy budowy algorytmów zrównoleglenia, gdyz ich wybór powinien
byc dokonany w fazie projektowania systemów.
W modelu pominiete beda takze pewne czynniki, których nie mozna jednoznacznie
przedstawic w modelu i wyrazic ich w sposób liczbowy.
Model ma byc przyblizonym odtworzeniem najwazniejszych cech badanego obiektu.
Ogólny schemat budowy modelu sklada sie z kroków przedstawionych ponizej.
4.1 Okreslenie celu badan modelowych
Utworzony model ma opisywac zachowanie programu równoleglego. Z reguly
aplikacje takie maja do wykonania bardzo duzo instrukcji, wiec sa czasochlonne.
Zastosowanie modeli pozwoli bez koniecznosci uruchamiania systemu odpowiedziec
na pytanie czy zaangazowanie srodowiska równoleglego jest celowe. Moze okazac sie
bowiem, ze czasy synchronizacji, przesylu komunikatów, czy tez dostep do zasobów
wspóldzielonych, sa wieksze niz czas wykonania programu sekwencyjnego. Nie ma wtedy
potrzeby obciazania maszyn wieloprocesorowych, które moga zostac wykorzystane do innych
zadan.
Model charakteryzujacy zachowanie systemu moze byc pomocny przy wyborze
wariantu uruchomienia systemu ze wzgledu na ilosc procesorów, tryb pracy, ilosc oraz
rozmiar watków w programie, indywidualne cechy aplikacji.
36
4.2 Specyfikacja elementów systemu i jego otoczenia
Przed przystapieniem do budowy modelu nalezy dokladnie rozpoznac srodowisko, w
którym dziala program. Nalezy wyszczególnic wszystkie zmienne, które moga miec wplyw
na jakosc modelowania.
Model statystyczny budowany jest w oparciu o dane doswiadczalne. Odpowiednie
zgromadzenie informacji, ich przetworzenie, daje mozliwosc dalszej analizy przy uzyciu
komputera. Im wiecej doswiadczen bedzie przeprowadzonych, tym dokladnosc dopasowania
danych rzeczywistych do modelu bedzie wyzsza.
Zebrany material statystyczny powinien byc usystematyzowany i odpowiednio
zestawiony. Celem tego opracowania jest przejscie od indywidualnych danych do danych
zbiorowych.
Klasyfikacja musi spelniac stepujace warunki [Stanisz98]:
-
musi byc przeprowadzona w sposób rozlaczy, to znaczy, ze jednostki o okreslonych
cechach musza byc jednoznacznie przydzielone do okreslonych klas;
-
musi byc przeprowadzona w sposób zupelny, co oznacza, ze klasy musza objac
wszystkie wystepujace cechy danej zbiorowosci.
Zmienne mozna sklasyfikowac nastepujaco [Nowak98]:
-
Zmienne niezalezne glówne – opisuja przyczyny – wplywaja w zasadniczy sposób na
zmienna zalezna;
-
Zmienne zalezne – opisuja skutki dzialania zmiennej niezaleznej;
-
Zmienne niezalezne uboczne – warunkuja istnienie zwiazku pomiedzy zmiennymi,
wplywaja na zmienna zalezna;
-
Zmienne zaklócajace, towarzyszace, kontekstowe, kontrolne, itp.
Aby utworzyc model musimy dysponowac informacjami statystycznymi, uzyskanymi
w wyniku testowania programu. Dostarczeniem odpowiedniej ilosci pomiarów powinien
zajac sie producent oprogramowania. Przeprowadzenie wiekszej ilosci testów gwarantuje, ze
utworzone modele beda mogly lepiej opisac srodowisko pracy programów.
Pomocnym przy tworzeniu modeli statystycznych charakteryzujacych zachowanie sie
aplikacji moga okazac sie zestawy benchmarków. Benchmarki to zestawy pomiarów,
sporzadzone dzieki specjalnemu oprogramowaniu, które sluza mozliwosci wyboru warunków
uruchamiania programów [Weicker91].
Istnieja programy, które okreslaja wydajnosc podstawowych operacji wykonywanych
przez komputer. Wsród nich wymienic mozna:
37
•
Compuware Corporation;
•
Cyrano;
•
Empirix (dawniej RSW Software);
•
Mercury Interactive;
•
RadView Software;
•
Rational Software;
•
Caw Networks, Inc.;
•
Dieselpoint, Inc.;
•
Keynote Systems;
•
Parasoft Corporation;
•
Softlight Technologies, Inc.;
•
Web Performance, Inc.
Dzieki zgromadzonym danym oraz dostepnym parametrom sprzetowym, mozna
podjac sie budowy modelu opisujacego wplyw róznych mierzalnych wielkosci na badany
czynnik.
Po okresleniu zmiennej wyjsciowej (na przyklad czas, przyspieszenie, efektywnosc)
wyznacza sie zmienne niezalezne. Nalezy tu wybrac zmienne, które istotnie wplywaja na
wielkosc wyjsciowa, a przy tym sa mozliwe do zmierzenia i jednoznacznego okreslenia.
W przypadku programów równoleglych glównymi czynnikami niezaleznymi sa:
-
ilosc procesorów,
-
ilosc watków, czyli czesci programu wykonywanych na oddzielnych procesorach,
-
rozmiar watków, okreslanych jako porcja zadan do wykonania,
-
sposób dostepu do wspólnych zasobów,
-
rozmiar pamieci operacyjnej i dyskowej.
Niektórych ze zmiennych nie mozemy wykorzystac do budowy modelu, gdyz nie
mamy na nie wplywu z poziomu wykonania aplikacji. Do czynników takich naleza:
-
sposób podzialu przestrzeni iteracji,
-
algorytmy zrównoleglenia,
-
srodowisko operacyjne,
-
architektura komputerów i inne.
Czynniki uzywane do budowy modelu powinny byc mozliwe do zmiany z punktu
widzenia uzytkownika aplikacji. Dlatego lista zmiennych nie obejmuje parametrów, na które
38
wplyw maja tylko uprzywilejowani uzytkownicy, ani tez takich, które uniemozliwione zostaly
przez programistów systemów.
Zwiazek statystyczny polega na tym, ze okreslonym wartosciom jednej zmiennej
odpowiadaja scisle okreslone, srednie wartosci drugiej zmiennej. Na podstawie analizy
merytorycznej nalezy uzasadnic logiczne wystepowanie zwiazku, a dopiero potem przystapic
do okreslenia sily i kierunku zaleznosci [Stanisz98].
Nalezy rozstrzygnac, które ze wskazanych czynników w konkretnym przykladzie
mozna uznac za najbardziej istotne i majace najwiekszy wplyw na badany proces.
4.2.1 Ilosc procesorów
Przetwarzanie równolegle polega na podziale kodu na fragmenty mogace byc
wykonywane na innych procesorach w tym samym czasie i niezaleznie od siebie.
W literaturze [Karbowski01], [Miktus00] mozna sie spotkac z nastepujacymi
argumentami przemawiajacymi za zastosowaniem wiekszej ilosci procesorów:
− Podczas korzystania z wielozadaniowych systemów operacyjnych mozna wykonywac
wiecej niz jedna operacje w tym samym czasie.
− Szybkosc procesorów podwaja sie co kazde 18 miesiecy. Ale szybkosci pamieci i
dysku twardego nie rosna tak szybko, jak szybkosc CPU.
− Zaleznie od aplikacji, przetwarzanie równolegle moze przyspieszyc dzialanie od 2 do
500 razy (w pewnych przypadkach nawet wiecej). Taka wydajnosc nie jest dostepna
przy uzyciu pojedynczego procesora.
Wiadomym jest, iz przy odpowiednim przydziale procesów do poszczególnych
procesorów mozna uzyskac znaczne przyspieszenie wykonania programu. Jednak ilosc
procesorów powinna byc adekwatna do czasochlonnosci i równoleglosci programu, do
sposobu jego podzialu. Nie ma sensu uruchamiac na przyklad programu obslugiwanego przez
dwa watki na maszynie z czterema procesorami.
Wedlug prawa Amdahla [Amdahl67] nawet przy uzyciu dowolnie wielu procesorów,
obliczen nie da sie przyspieszyc bardziej, niz wynosi odwrotnosc udzialu czesci sekwencyjnej
w programie wykonywanym na jednym procesorze.
4.2.2 Ilosc i rozmiar watków
Idea obliczen równoleglych polega na podzieleniu obliczen na czesci-watki, z których
kazda jest wykonywana na oddzielnym procesorze. Po wykonaniu ciagu operacji,
wchodzacych w sklad kazdego z watków, nastepuje faza synchronizacji, w której wyniki
39
pracy poszczególnych watków laczone sa w rezultat koncowy. Mozliwa jest równiez
wymiana wyników pomiedzy watkami i kontynuacja pracy wielowatkowej.
Róznica miedzy procesem, a watkiem polega przede wszystkim na sposobie
wykorzystania dostepnych zasobów. Grupa równorzednych watków wspóldzieli przestrzen
adresowa, kod i zasoby systemu operacyjnego [Weiss93]. Pojecie i zasady tworzenia watków
wyjasnia [Goscinski91], [Nelson91], [Silberschatz91], [Tanenbaum92].
Program równolegly mozna uruchomic w zaleznosci od ilosci badz tez rozmiaru
watków.
Koniecznosc synchronizacji watków sprawia, ze jest bardzo pozadane, by wszystkie z
nich wymagaly takiego samego czasu obliczen. Duze zróznicowanie dlugosci poszczególnych
watków powodowaloby dla wielu procesorów znaczna strate czasu w oczekiwaniu na proces
synchronizacji watków. W programach równoleglych synchronizacja wystepuje z reguly
wielokrotnie, nierównomierne obciazenie procesorów zadaniami sprawia, ze czas, w którym
czesc procesorów czeka na zakonczenie obliczen przez inne bedzie dlugi, a co za tym idzie,
wydluzy sie czas wykonywania programu.
4.2.3 Sposób dostepu do zasobów wspóldzielonych
W przypadku, gdy zadanie obliczeniowe moze byc podzielone na kilka niezaleznych
czesci, równolegle ich wykonanie znacznie przyspiesza dzialanie aplikacji. W tej dziedzinie
doskonale zastosowanie znajduja komputery równolegle. Sa to jednak maszyny bardzo drogie
i nie zawsze korzysci wynikajace z szybkich obliczen równowaza koszt zakupu.
Obecnie producenci sprzetu komputerowego oferuja szereg komputerów opartych na
architekturze równoleglej. Na efektywnosc wykonywanych obliczen wplyw beda mialy nie
tylko modele i parametry procesora, ale takze rodzaje i pojemnosci pamieci, szybkosc
transmisji danych.
Odpowiednio dobrana architektura sprzetowa, gwarantujaca szybki dostep do
wspólnych zasobów znacznie poprawia efektywnosc wykonywania aplikacji.
4.2.4 Rozmiar pamieci operacyjnej i dyskowej
W architekturze równoleglej ze wspólna pamiecia, dzieki temu, ze wszystkie
procesory maja dostep do calej pamieci, nie ma problemu z dostepem do danych znajdujacych
sie w pamieci wspólnej dla wszystkich procesorów. Moga sie zdarzac jednak sytuacje, gdy
procesory beda próbowaly zapisywac do tego samego adresu pamieci lub jeden zmieni
wartosc zmiennej, mimo ze inny bedzie potrzebowal starej wartosci [Wyrzykowski].
40
Glównym problemem tego typu architektury jest to, ze program sklada sie z czesci
wykonywanych równolegle przez kilka procesorów (petle obliczeniowe) i czesci
wykonywanych przez jeden procesor (struktura logiczna programu). Po dojsciu do miejsca
obliczen równoleglych tworzone sa nowe watki i kazdy z nich rozpoczyna przypadajace mu
obliczenia. Po zakonczeniu obliczen równoleglych nastepuje zakonczenie utworzonych
watków, ale dopiero wtedy, gdy wszystkie watki zakoncza obliczenia.
Zaleta architektury o pamieci wspólnej jest fakt, ze kompilatory moga w sposób
automatyczny dokonywac podzialu na równolegle watki. Glówna wada jest ograniczona
skalowalnosc [Comer99].
Systemy o pamieci rozproszonej skladaja sie z komputerów polaczonych siecia o
duzej przepustowosci. W zwiazku z tym, ze kazdy z wezlów obliczeniowych dysponuje
wlasna pamiecia operacyjna, wymiana danych w fazie synchronizacji odbywa sie przez siec,
która wezly sa polaczone. Czesc obliczeniowa jest podzielona na zadania, ale kazdy z wezlów
ma w pamieci wlasne dane. W przeciwienstwie do komputerów o pamieci wspólnej, zadne
dane nie sa wspóldzielone pomiedzy wezlami [BenAri96].
4.2.5 Indywidualne cechy aplikacji
Oprócz
badania
wplywu
cech
sprzetowych
charakteryzujacych
srodowisko
równolegle, nalezy okreslic wplyw indywidualnych parametrów wykonywanych aplikacji.
Cechy te zaleza w glównej mierze od przeznaczenia programu. Moga nimi byc na przyklad
rzad macierzy wykorzystywanych do obliczen, dokladnosc obliczen, ilosc kolorów uzytych
do generacji obrazu, rozdzielczosc wyswietlania grafiki.
Parametry wewnetrzne (mozliwe do zmiany dla uzytkowników aplikacji) wraz z
cechami sprzetowymi srodowisk równoleglych, uzyte do generacji modeli, daja pelny obraz
ukladu zmiennej objasnianej.
Do budowy modelu nalezy uzyc tylko tych zmiennych, które osoba tworzaca model
uzna za najbardziej istotne w danym zastosowaniu. Pominiecie niektórych z cech nie powinno
wplywac na obraz zmiennej wyjsciowej podczas modelowania. W kolejnych etapach
modelowania, przy estymacji wspólczynników równania, zmienne, które nie oddzialuja w
sposób istotny na badane zjawisko zostana usuniete z modelu. Jednak zbyt duza liczba
parametrów wykorzystywanych do estymacji zmniejsza przejrzystosc modelu, a czasami
uniemozliwia poprawne jego utworzenie.
41
4.3 Wybór klasy modelu
Po zakonczeniu etapu obserwacji, czyli zbierania danych otrzymujemy material
statystyczny do dalszej analizy. Zebrany material powinien byc usystematyzowany i
odpowiednio zestawiony. Celem tego opracowania jest przejscie od indywidualnych danych
do danych zbiorowych [Stanisz98].
W zaleznosci od rozkladu zmiennych w modelu nalezy okreslic rodzaj regresji. W celu
ulatwienia wyboru mozna wykreslic linie trendu. Wskaze ona ogólny uklad danych i wstepna
postac funkcji aproksymujacej.
Modele regresji wielorakiej powinny uwzgledniac wszystkie lub wybrane kombinacje
zmiennych niezaleznych. Linia regresji powinna cechowac sie najwieksza wartoscia
statystyki R- kwadrat i najmniejsza wartoscia statystyki Mallowsa Cp [Czachórski83].
Funkcje regresji moga przyjmowac jedna z nizej wymienionych postaci:
-
liniowa,
-
wykladnicza,
-
potegowa,
-
logarytmiczna,
-
zdefiniowana przez uzytkownika w celu wlasciwego odwzorowania rzeczywistosci.
Przy budowie modeli, majacych na celu opis zmiennej wyjsciowej, która cechuje sie
niejednorodnym rozkladem, uzywa sie regresji segmentowej. Opisuje ona badane zjawisko za
pomoca sumy funkcji liniowych, badz wielomianów wyzszego rzedu. Podczas estymacji
okreslany jest punkt przelamania, czyli zmiany ukladu wartosci. Punkt ten traktowany jest
jako wartosc graniczna i w zaleznosci od jego wartosci do prognozowania uzywa sie
odpowiedniego czlonu modelu.
Odpowiedni wybór funkcji aproksymujacej znacznie przyspiesza analize. W
przypadku jej blednego okreslenia, istnieje koniecznosc badania innych rozkladów
oferowanych przez srodowiska matematyczne i ponowne okreslanie charakterystyk
poprawnosci.
Po zgromadzeniu danych, wstepnym wyborze funkcji aproksymujacej mozna posluzyc
sie narzedziami komputerowymi w celu sprawdzenia poprawnosci poczynionych zalozen.
Za pomoca pakietu STATISTICA wybiera sie algo rytm poszukiwan iteracyjnych
(Marquardta, Gaussa-Newtona lub metode krokowa). Kazdy ze wspólczynników wymaga
okreslenia wartosci poczatkowych oszacowanych parametrów. Niebezpieczenstwem tego
typu optymalizacji jest znalezienie przez program minimum ekstremum lokalnego zamiast
42
globalnego. Aby zapobiec tego typu sytuacjom proponuje sie kilkakrotne przeprowadzanie
analizy wspólczynników zastosowaniem róznych metod [Stanisz98].
4.4 Estymacja wspólczynników i sprawdzenie poprawnosci modelu
Poprzez estymacje okresla sposoby oszacowan parametrów zmiennych. Im wiecej
wskazników zostanie do tego celu uzytych tym jest wieksza pewnosc, ze dokonano slusznej
analizy, a wartosci uzyskane z modelu beda wiernie odzwierciedlaly dane rzeczywiste.
Statystyczna analiza wyników obserwacji to najwazniejszy etap w badaniu metodami
statystycznymi. Analiza wyników badania statystycznego oraz sformulowanie ocen i
wniosków otwieraja etap ich wdrazania do praktyki [Stanisz98].
Kazde badanie naukowe rozpoczyna sie od sformulowania problemu badawczego oraz
najbardziej prawdopodobnego ogólnego rozwiazania, czyli hipotezy badawczej. Poprawne
sformulowanie hipotezy w duzej mierze przesadza o sukcesie badawczym. Hipoteza powinna
byc tak sformulowana, by latwo mozna ja bylo przyjac lub odrzucic [Oktaba86].
Przy budowie modeli, w badaniu istotnosci wspólczynników oraz weryfikacji
uzyskanych funkcji pomocnym okazuje sie analiza komputerowa. Programem spelniajacym i
rozstrzygajacym powyzsze zagadnienia jest miedzy innymi STATISTICA.
Pozwala ona na szybkie uzyskanie wartosci statystyk dla badanych parametrów,
pokazuje zestawienia i tabele wartosci pomagajace w podjeciu decyzji.
Przy podjeciu decyzji odnosnie poprawnosci utworzonego modelu nalezy wykorzystac
testy i statystyki opisane w rozdziale 2.3 oraz 2.4.
Parametrami, na podstawie których okreslic mozna poprawnosc wyestymowanych
wspólczynników modelu oraz zweryfikowac slusznosc modelowania, generowanymi przez
program STATISTICA sa miedzy innymi:
•
Blad st. BETA jest to wartosc bledu szacunku dla (parametru) wspólczynnika
regresji, gdyby zostala ona wprowadzona do równania regresji jako zmienna
niezalezna.
•
Poziom
p
nazywany
jest
poziomem
istotnosci
statystycznej
dla
wspólczynników regresji.
•
Wspólczynnik korelacji wielorakiej wyjasnia, w jakim zwiazku pozostaje
zmienna objasniana z pozostalymi zmiennymi (objasniajacymi) w modelu.
•
Wspólczynniki determinacji, wskazuje jak model wyjasnia ksztaltowanie sie
zmiennej objasnianej.
43
O dobrym dopasowaniu modelu do danych empirycznych moga swiadczyc ponadto
wykresy rozkladu wartosci przewidywanych oraz obserwowanych. Punkty wyznaczone z
modelu oraz wyznaczone droga doswiadczalna powinny ukladac sie wzdluz linii prostej.
STATISTICA generuje szereg wskazników zestawionych tabelarycznie. Znalezc
mozna wsród nich miedzy innymi:
•
Odleglosc
Mahalanobisa
jest
to
uogólnienie
odleglosci
euklidesowej
uwzgledniajace skorelowanie zmiennych. Miara ta pozwala ustalic, czy dana
obserwacje mozna zaliczyc do odstajacych.
•
Usuniete wartosci resztowe jest to reszta dla danej obserwacji, obliczana tak,
jakby ten przypadek nie byl wlaczony do analizy regresji.
•
Odleglosc Cooka jest to miara stopnia zmiany wspólczynników regresji, gdyby
dany przypadek pominac w obliczeniach wspólczynników.
4.5 Korzystanie z modelu
Koncowym etapem analizy jest wykorzystanie zbudowanego i zweryfikowanego
modelu do prognozy zmiennej zaleznej [Stanisz98].
Wnioskowanie jest uogólnieniem wyników uzyskanych z próby losowej na cala
populacje, podejmowaniem decyzji o parametrach i rozkladach w zbiorowosci generalnej
przy wykorzystaniu regul wypracowanych przez rachunek prawdopodobienstwa [Zelias97].
Zasadniczym problemem jest mozliwosc okreslenia wielkosci popelnionych przy tym bledów.
Po utworzeniu modelu, jego weryfikacji, eliminacji bledów, mozna przystapic do
prognozowania zachowania sie aplikacji.
Utworzony model moze pomóc w podjeciu decyzji odnosnie warunków i parametrów
uruchamiania aplikacji. Moze wskazac najbardziej korzystny wariant uruchomienia ze
wzgledu na czas, przyspieszenie, efektywnosc lub inny badany czynnik.
Pomimo ujecia w modelach tylko wybranych czynników charakteryzujacych
srodowisko wykonania aplikacji, wartosci dopasowania modelu do danych empirycznych
wskazuja, ze zmienna wyjsciowa zostala prawidlowo odwzorowana. Daje to podstawe do
prognozowania
na
podstawie
modeli
wartosci
charakterystyk
wydajnosciowych
rzeczywistych aplikacji równoleglych.
Model moze wykazac, poczawszy od jakiej wielkosci parametru zrównoleglenie jest
celowym.
Za pomoca modelu mozna bez koniecznosci uruchamiania programu wybrac zmienna
najbardziej lub najmniej znaczaco wplywajaca na obiekt.
44
Korzystanie z modelu moze spowodowac oszczednosc czasu, kosztów, a takze
obciazenia komputerów równoleglych.
Model moze pomóc przy wyborze najbardziej korzystnego dla danej aplikacji
srodowiska pracy.
Wykorzystujac modele i zmieniajac w nich wartosci parametrów wejsciowych, mozna
przewidywac zmiany wydajnosci aplikacji równoleglych, bez ich uruchamiania w
rzeczywistych srodowiskach.
Oprogramowanie równolegle nie jest ogólnie dostepne. Majac do dyspozycji modele
statystyczne mozna wiec okreslac charakterystyki aplikacji i zdecydowac o ewentualnym
zbudowaniu lub wykorzystaniu takich systemów.
4.6 Podsumowanie
Efektem pracy wlasnej jest opracowanie metodyki postepowania przy tworzeniu modeli
statystycznych dla potrzeb aplikacji równoleglych, która zaprezentowano w rozdziale 4.
Pierwszym krokiem w zaprezentowanej metodyce jest okreslenie celu badan
modelowych (rozdzial 4.1). Osoba tworzaca model powinna zastanowic sie, czemu maja
sluzyc tworzone modele. Z definicji model jest prototypem rzeczywistosci. Opisuje
zachowanie systemu równoleglego pod wzgledem czasu wykonania, przyspieszenia,
efektywnosci. Stworzenie modeli pozwoli na badanie i przewidywanie wplywu pewnych
czynników na wydajnosc aplikacji, bez koniecznosci jej uruchamiania. Oprogramowanie
równolegle nie jest ogólnodostepne i jego cena jest wysoka. Uzywajac modeli
matematycznych
osoba
zainteresowana
zakupem
komputerów
równoleglych
moze
zorientowac sie w jakim stopniu, podczas korzystania z aplikacji wspólbieznie wykonujacych
obliczenia, zmienia sie wartosci charakterystyk wydajnosciowych w zaleznosci od posiadanej
bazy sprzetowej.
Drugi etap zaproponowanej metodyki dotyczy wyboru zmiennych wykorzystywanych
do budowy modelu (rozdzial 4.2). Dokladne rozpoznanie i wyszczególnienie wszystkich
zmiennych charakterystycznych dla danej aplikacji i srodowiska jej uruchomienia ma wplyw
na jakosc modelowania. Model statystyczny budowany jest w oparciu o dane doswiadczalne
uzyskane podczas testowania aplikacji, badz zaczerpniete z benchmarków komputerowych.
Material statystyczny powinien byc usystematyzowany i odpowiednio zestawiony.
Po okresleniu zmiennej wyjsciowej (czas wykonania programu, efektywnosc,
przyspieszenie) nalezy wyznaczyc zbiór zmiennych niezaleznych. Zmienne te powinny
istotnie wplywac na zmienna objasniana, a przy tym powinny byc mozliwe do zmierzenia i
45
jednoznacznego okreslenia. Do zmiennych takich dla srodowisk równoleglych naleza miedzy
innymi, ilosc procesorów zaangazowanych do wykonania aplikacji, ilosc watków, czyli czesci
programu wykonywanych na oddzielnych procesorach, ich rozmiaru, sposobu dostepu do
wspólnych zasobów, rozmiaru pamieci operacyjnej i dyskowej, indywidualne cechy aplikacji.
Do zmiennych, które ze wzgledu na niemozliwosc jednoznacznego wykonania badz brak
wplywu z poziomu wykonania aplikacji, pomija sie w modelach zaliczyc mozna algorytmy
zrównoleglenia, architekture komputerów, srodowisko operacyjne.
Model statystyczny powinien byc budowany w oparciu o kilka zmiennych
niezaleznych. Po ich odpowiednim doborze nalezy przystapic do kolejnego etapu, jakim jest
wybór klasy modelu (rozdzial 4.3). W zaleznosci od rozkladu wartosci otrzymanych droga
doswiadczalna nalezy okreslic rodzaj regresji. W celu ulatwienia wyboru nalezy, poslugujac
sie dostepnymi srodowiskami matematycznymi, wykreslic linie trendu, która wskaze ogólny
uklad danych i wstepna postac linii aproksymujacej. Zastosowanie przy budowie modelu
moga miec liniowe, wykladnicze, potegowe, logarytmiczne oraz segmentowe postaci funkcji
regresji.
Po zgromadzeniu danych, wstepnym wyborze funkcji aproksymujacej nalezy posluzyc
sie narzedziami komputerowymi w celu sprawdzenia poprawnosci poczynionych zalozen.
Metody estymacji wspólczynników oraz sprawdzania poprawnosci modelu opisane zostaly w
rozdziale 4.4. W pracy zaproponowano korzystanie z pakietu STATISTICA, który zawiera
moduly sluzace do estymacji wspólczynników oraz generujace wskazniki oszacowan
poprawnosci modelu. Program ten pozwala na szybkie uzyskanie wartosci statystyk dla
badanych parametrów, pokazuje zestawienia i tabele wartosci, pomagajace w podjeciu decyzji
o zgodnosci modelu z danymi doswiadczalnymi. Analiza wyników badania statystycznego
oraz sformulowanie ocen i wniosków jest przepustka do wdrazania modeli do praktyki.
W rozdziale 4.5 opisano koncowy etap analizy, jakim jest wykorzystanie zbudowanego
i zweryfikowanego modelu do prognozy zmiennej zaleznej.
Podczas opracowania metodyki postepowania przeanalizowano cechy srodowiska
równoleglego, w wyniku czego wybrane zostaly czynniki, które moga posluzyc do
prognozowania wartosci wydajnosci aplikacji.
Mimo pominiecia w modelu wielu z czynników charakteryzujacych badane zjawisko
wartosci wspólczynników dopasowania modelu do danych rzeczywistych sa bardzo wysokie,
co swiadczy o odpowiednim wyborze zmiennych objasniajacych oraz poprawnosci
zaprezentowanej metodyki.
46
Utworzony model moze pomóc w podjeciu decyzji odnosnie warunków i parametrów
uruchamiania aplikacji. Moze wskazac najbardziej korzystny wariant uruchomienia ze
wzgledu na czas, przyspieszenie, efektywnosc lub inny badany czynnik.
Model moze wykazac poczawszy od jakiej wielkosci parametru zastosowanie
przetwarzania równoleglego jest oplacalne. Za pomoca modelu mozna bez koniecznosci
uruchamiania programu wybrac zmienna najbardziej lub najmniej znaczaco wplywajaca na
obiekt. Korzystanie z modelu moze spowodowac oszczednosc czasu, kosztów, a takze
obciazenia komputerów równoleglych. Model moze pomóc przy wyborze najbardziej
korzystnego dla danej aplikacji srodowiska pracy.
47
5
Zastosowanie opracowanej metodyki do budowy
modeli
charakteryzujacych
efektywnosc
aplikacji
równoleglych
Na podstawie metodyki przedstawionej w rozdziale 4 opracowane zostaly modele
okreslajace czas wykonania programów, ich przyspieszenie oraz efektywnosc dla
przykladowych zadan. Doswiadczenia zostaly dobrane, aby wykazac zasadnosc tworzenia
matematycznego opisu badan w postaci modelu. Pokazano przyklady wskazujace zasadnosc
stosowania maszyn równoleglych, a takze przypadki, kiedy zaangazowanie ich nie jest
celowym. Pierwszy z modeli dotyczy obliczania ukladów równan metoda eliminacji Gaussa,
drugi opisuje zmienne wplywajace na efektywnosc generacji fraktala, kolejny opisuje
wykorzystanie metody simpleks do rozwiazywania zadan programowania liniowego.
Utworzono takze modele dla aplikacji liczacej podwójna calke oraz wspólczynniki
dwuwymiarowej korelacji fazowej i statycznej.
Do testowania wykorzystano programy napisane przez studentów PS kierunku
Informatyka jako prace zaliczeniowe w ramach przedmiotu: Przetwarzanie równolegle i
rozproszone.
5.1 Badanie
efektywnosci
rozwiazywania
ukladów
równan
liniowych metoda eliminacji Gaussa
5.1.1 Zalozenia wstepne
Badanie polega na obserwacji aplikacji odpowiedzialnej za rozwiazywanie ukladów
równan liniowych metoda eliminacji Gaussa [Gewert99], [Bertsekas89]. Na wejsciu
programu podawana jest ilosc równan oraz z pliku pobierane sa wspólczynniki równania.
Zadaniem programu jest okreslenie, czy uklad jest oznaczony, nieoznaczony, czy tez
sprzeczny. W przypadku ukladu oznaczanego sa obliczane i wyswietlane wartosci
niewiadomych.
Zgodnie z podana metodyka nalezy sformulowac cel badan modelowych, czyli
okreslic, czemu maja sluzyc tworzone modele. Zadaniem modelu jest oszacowanie wartosci
podstawowych charakterystyk bez koniecznosci uruchamiania aplikacji, z uwzglednieniem
czynników charakterystycznych dla srodowiska uruchomienia aplikacji. Podczas analizy
48
modelu statystycznego mozna wybrac najbardziej korzystny uklad parametrów wejsciowych,
gwarantujacy zadawalajacy poziom charakterystyki wyjsciowej.
Zadaniem modelu bedzie oszacowanie czasu wykonania aplikacji równoleglej,
przyspieszenia oraz efektywnosci pracy procesorów.
Z listy czynników podanych w rozdziale 4.2 jako istotne dla danej aplikacji
wyrózniono nastepujace czynniki:
•
ilosc watków – program byl uruchamiany z podzialem na 2, 4, 8, 16 oraz 32 watki. Juz
ze wstepnej analizy danych widac, ze róznice czasowe w analizowanym obszarze sa
nieznaczne. Powstaje wiec pytanie, czy przy wykonywaniu aplikacji koniecznym jest
ustawianie innej ilosci watków niz ilosci watków równej liczbie procesorów.
•
ilosc ukladów równan – odpowiada ilosci zmiennych do obliczenia. Okresla ona
wielkosc zadania obliczeniowego. Mala ilosc równan nie da satysfakcjonujacych
wartosci okreslajacych efektywnosc zrównoleglenia. Dopiero przekroczenie pewnej
granicy bedzie przeslanka do uruchamiania aplikacji na maszynie wieloprocesorowej.
Testowany program uruchamiano w od 100 do 2000 równan z krokiem co 100. Kazdy
z ukladów byl ukladem posiadajacym rozwiazania. Uzyskany czas dla danych
rozmiarów problemu przedstawia Rys. 5.1
230
2
180
4
130
8
16
80
30
1000
32
1200
1400
1600
1800
2000
Rys. 5.1 Czas wykonania programu o danym rozmiarze problemu w zaleznosci od ilosci watków
Wartosci czasu dla ukladów ponizej 1000 równan sa nieznaczne, dlatego pominieto je
w dalszej czesci rozwazan. Skupiono uwage dla tworzenia modeli obliczajacych uklady
równan z ponad 1000 niewiadomych.
Badania
zostaly
przeprowadzone
na
komputerze
czteroprocesorowym
http://jota.wi.ps.pl, wyposazonym w procesory P3 XEON 700 MHz, a wyniki testów
zamieszczone
zostaly
na
plycie
dolaczonej
do
pracy
w
folderze
WYNIKI\ROWNOLEGLY\GAUSS
49
5.1.2 Czas wykonania aplikacji
Po zgromadzeniu danych, nalezy przystapic do kolejnego etapu, jakim jest wybór
postaci funkcji aproksymujacej. Analiza danych, ich rozklad, wskazuja iz zmienna wyjsciowa
jaka jest czas wykonania zadania opisac mozna przy uzyciu funkcji liniowej. Po wstepnym
wyborze funkcji aproksymujacej, nalezy posluzyc sie narzedziami komputerowymi w celu
sprawdzenia poprawnosci poczynionych zalozen. Przy tworzeniu modeli wykorzystano pakiet
STATISTICA, który zawiera moduly sluzace do estymacji wspólczynników oraz generujace
wskazniki oszacowan poprawnosci modelu. Program ten pozwala na szybkie uzyskanie
wartosci statystyk dla badanych parametrów, pokazuje zestawienia i tabele wartosci
pomagajace w podjeciu decyzji o zgodnosci modelu z danymi doswiadczalnymi.
Za pomoca programu wygenerowano wspólczynniki modelu, podsumowanie regresji i
analize wariancji, gdzie zmienna zalezna byl czas wykonania programu. Wspólczynniki
wyestymowanego równania przyjmuja wartosci jak na Rys. 5.2.
Rys. 5.2 Podsumowanie regresji okreslajacej czas wykonania aplikacji
Dla badanej grupy wyników stworzono model regresji, który okresla zaleznosc
funkcyjna wartosci oczekiwanej zmiennej losowej Y = CZAS (czas wykonania programu
równoleglego) od nielosowych zmiennych X1 = ROZMIAR (rozmiar macierzy) oraz X2 =
WATEK (ilosc watków).
Po analizie w programie STATISTICA model postaci (5.1) zostal uproszczony.
E(Y/x) = b 0 + b 1X1 + b 2 X 2
( 5.1)
Juz pobiezna analiza wyników pozwala stwierdzic istotnosc zmiennej ROZMIAR i
nieistotnosc zmiennej WATEK. W wyniku przeprowadzonych obliczen do modelu regresji
zostala wybrana tylko jedna funkcja. Z tabeli wynika, ze tylko wspólczynnik przy zmiennej
ROZMIAR wyestymowanego równania postaci:
Y = -215,241 + 0,22 * ROZMIAR
( 5.2)
jest istotny. Swiadczy o tym wartosc poziomu p, który jest mniejszy od przyjetego poziomu
istotnosci α (α=0,05), wartosci rozkladu t-Studenta oraz statystyki F-Snedecora znacznie
50
przekraczaja wartosci krytyczne (t0,005/2,45=2,014, F0,05,3,45=2,85). Kwadrat wspólczynnika
determinacji R2 =0,9868 swiadczy o bardzo dobrym dopasowaniu linii regresji do danych
doswiadczalnych.
5.1.3 Analiza modelu efektywnosci aplikacji
Otrzymane wyniki efektywnosci zrównoleglenia w zaleznosci od ilosci watków oraz
rozmiaru problemu, czyli ilosci wspólczynników do wyliczenia (Rys. 5.3) pokazuja, iz mozna
posluzyc sie modelem funkcji regresji wielokrotnej postaci:
E(Y/x) = b 0 + b 1X1 + b 2 X 2 + b 3 X1 + b 4X 2
2
2
( 5.3)
0,8
2
4
8
0,75
0,7
16
32
0,65
0,6
1000
1100
1200
1300
1400
1500
1600
1700
1800
1900
Rys. 5.3 Efektywnosc aplikacji w zaleznosci od ilosci watków
Do utworzenia i weryfikacji modelu posluzono sie pakietem STATISTICA. Po
wykonaniu analizy w programie model, przy uwzglednieniu oznaczen: zmienna losowej Y =
E (efektywnosc wykonania aplikacji równoleglej) , X1 = ROZMIAR (rozmiar macierzy) oraz
X2 = WATEK (ilosc watków), zostal uproszony do postaci (5.4).
W wyniku przeprowadzonych obliczen do modelu regresji zostaly wybrane tylko dwa
wspólczynniki. Z tabeli wygenerowanej przez program wynika, ze wszystkie wspólczynniki
wyestymowanego równania postaci:
Y = 2,029031 − 0,001715 * ROZMIAR + 0,000001* ROZMIAR 2
( 5.4)
sa istotne. Wartosci statystki t-Studenta prowadza na poziomie istotnosci 0,05 do odrzucenia
hipotezy oraz o tym, ze
zmienna ROZMIAR nie wplywa na zmienna zalezna Y, czyli
efektywnosc zrównoleglenia. Swiadcza o tym wartosci poziomu p, które sa mniejsze od
przyjetego poziomu istotnosci α (α=0,05), wartosci rozkladu t-Studenta oraz statystyki FSnedecora znacznie przekraczaja wartosci krytyczne, a kwadrat wspólczynnika korelacji
wielokrotnej R2 =0,9576 swiadczy o dobrym dopasowaniu linii regresji do danych
doswiadczalnych. Wynika z tego, ze w ustabilizowanym przedziale wykonywania zadan
podzial na okreslona liczbe watków nie wplywa istotnie na wartosc efektywnosci.
51
Model opisujacy przyspieszenie przyjmuje postac (5.5).
Y = 8,1161125 − 0,006862 * ROZMIAR + 0,000002 * ROZMIAR 2
( 5.5)
Koncowym etapem analizy jest wykorzystanie zbudowanego i zweryfikowanego
modelu do prognozy zmiennej zaleznej. Utworzony model moze pomóc w podjeciu decyzji
odnosnie warunków i parametrów uruchamiania aplikacji. Za jego pomoca mozna okreslic
wplyw poszczególnych wielkosci wejsciowych na wydajnosc aplikacji.
Korzystanie z modelu moze spowodowac oszczednosc czasu, kosztów, a takze
obciazenia komputerów równoleglych.
Choc w modelu nie zostaly uwzglednione wszystkie czynniki charakteryzujace
aplikacje równolegle, opisane w rozdziale 4.2, to wspólczynniki dopasowania modelu do
danych rzeczywistych przyjmuja wartosci bardzo wysokie, wiec odpowiednio opisuja
rzeczywistosc. Mozliwosc rezygnacji z pewnych wartosci wejsciowych, jest mocna strona
zaprezentowanej metodyki, gdyz czyni mozliwym prognozowanie wartosci na podstawie
modelu. W rzeczywistych warunkach uzytkownik nie ma mozliwosci przebadania wszystkich
parametrów, wiec wybór tylko dostepnych czynników i sposobnosc prognozowania na ich
podstawie jest bardzo cenna.
5.2 Czas i efektywnosc generacji fraktala Mandelbrota
5.2.1 Zakres badan
Aplikacja generuje zbiór Mandelbrota zwany popularnie fraktalem Mandelbrota.
Fraktal jest to figura, dla której dwie wielkosci matematyczne, wymiar topologiczny oraz
wymiar Hausdorfa sa rózne [Martyn96]. W wyniku uruchomienia programu powstaje obraz
zlozony z figur samopodobnych, dajacy ciekawy efekt wizualny.
Okreslenie charakterystyki wydajnosci, czyli czasu wykonania programu, jego
przyspieszenia w stosunku do programu sekwencyjnego oraz efektywnosci ma sluzyc
prognozowaniu zachowania sie aplikacji bez koniecznosci jej uruchamiania. Dzieki prognozie
wartosci wydajnosci oprogramowania, na podstawie modelu statystycznego, mozna
zorientowac sie w jakim stopniu przy zainwestowaniu i zaangazowaniu systemów
równoleglych zmienia wartosci charakterystyk wydajnosciowych, w zaleznosci od posiadanej
bazy sprzetowej. Utworzone modele maja wskazac wplyw zmiennych i parametrów na czas
generacji i efektywnosc otrzymywanych obrazów.
52
Droga doswiadczalna uzyskano czasy i wartosci efektywnosci. Wyniki doswiadczen
zamieszczone
zostaly
na
plycie
dolaczonej
do
pracy
w
katalogu
\WYNIKI\ROWNOLEGLY\FRAKTAL.
Zgodnie z zaprezentowana metodyka, z listy czynników, które moga miec istotny
wplyw na wydajnosc aplikacji, nalezy wybrac zmienne charakteryzujace srodowisko
równolegle na dostepnym komputerze. Zmienne te powinny istotnie wplywac na zmienna
objasniana, a przy tym powinny byc mozliwe do zmierzenia i jednoznacznego okreslenia.
Do wielkosci takich dla srodowisk równoleglych naleza miedzy innymi: ilosc
procesorów zaangazowanych do wykonania aplikacji, ilosc watków, czyli czesci programu
wykonywanych na oddzielnych procesorach, ich rozmiaru, sposobu dostepu do wspólnych
zasobów, rozmiaru pamieci operacyjnej i dyskowej.
Jako zmienne majace wplyw na czas oraz efektywnosc generacji fraktala rozwazano:
-
liczbe procesorów w komputerze. Do przeprowadzenia testów wykorzystano dwa
komputery: epsilon – posiadajacy cztery procesory Pentium III Xeon 700 MHz oraz
koka – posiadajacy dwa procesory Pentium II 333 MHz. Otrzymane zakresy wartosci
przedstawia Rys. 5.4.
1,2
1
0,8
0,6
0,4
0,2
0
1
2
4
8
16
4 procesory
32
64
128
256
2 procesory
Rys. 5.4 Efektywnosc generacji fraktala uwzgledniajaca parametr chunk-size i liczbe procesorów
-
ilosc watków równolegle wykonujacych petle. Program podzielono na 2, 4, 8 i 16
watków;
-
wielkosc porcji do wykonania (parametr chunksize) – przetestowano wielkosc z
nastepujacego zbioru {1,2,4,8,16,32,64,128,256};
-
rozmiar okna zespolonego. Sprawdzono zachowanie aplikacji dla wymiarów okna
640x480, 800x600,1024x768;
-
ilosc kolorów – wykorzystano 256 oraz 65536 kolorów.
53
5.2.2 Weryfikacja modelu opisujacego zachowanie sie aplikacji
Tak przygotowane dane posluzyly do wykreslenia linii trendu w ukladzie wartosci. W
wyniku analizy okazalo sie, ze dopasowanie linii regresji do danych doswiadczalnych moze
byc dokonane za pomoca regresji wielokrotnej. Jednak bardziej celowym, ze wzgledu na
lepsze odwzorowanie wydaje sie zastosowanie regresji segmentowej. Dla ponizszego
przykladu przedstawione zostana obydwa rozwiazania.
Po zgromadzeniu danych, wstepnym wyborze funkcji aproksymujacej nalezy przejsc
do kolejnego etapu modelowania jakim jest tworzenie modelu, czyli estymacja i weryfikacja
jego poprawnosci, z wykorzystaniem srodowiska matematycznego.
W programie STATISTICA dokonano analizy przy pomocy regresji wielokrotnej.
Wynika z niej, iz wspólczynnik dopasowania równy jest 0,8573, a model przyjmuje postac:
CZAS = −47 ,0495 + 0,5904 * KOLOR − 0,0004 * P * KOLOR + 0,0001 * XY
( 5.6)
Jednak w celu znalezienia lepszego dopasowania (o wyzszym wspólczynniku)
dokonano analizy przy pomocy regresji segmentowej. Bardzo czesto zdarza sie, ze zaleznosc
miedzy zmiennymi niezaleznymi a zmienna zalezna zmienia sie wraz z wartosciami zmiennej
niezaleznej [Stanisz98]. W wyniku zastosowania regresji segmentowej funkcja opisujaca
model zostala podzielona na dwie czesci. Zgodnie z Rys. 5.5 linia regresji przyjmuje
nastepujaca postac ogólna:
E(Y/x) = b 0 + b 1X1 + b 2 X 2 + b 3 X 3 + b 4 + b 5 X1 + b 6 X 2 + b 7 X3 ,
( 5.7)
gdzie zmienna X1 = KOLOR okresla ilosc kolorów, X2 = P liczbe procesorów, a zmienna X3 =
XY jest iloczynem szerokosci i wysokosci okna zespolonego.
Rys. 5.5 Podsumowanie regresji – czas wykonania - fraktal
Korzystajac z Rys. 5.5
wplyw czynników na czas generacji fraktala za pomoca
liniowej funkcji regresji zapisac mozna nastepujaco:
CZAS = 0,266678 + 0,000369 * KOLOR − 0,119833 * P + 0,000001 * XY
+ 12209 ,06 − 0,185269 * KOLOR − 26,8961 * P + 0 ,000148 * XY
( 5.8)
54
Podczas estymacji okreslony zostal punkt przelamania. Dla wartosci wyjsciowej mniejszej i
równych punktowi przelamania nalezy przy szacowaniu wartosci wybrac czlon pierwszy
modelu. Dla wartosci wiekszych niz punkt przelamania modeluje sie na podstawie drugiego
czlonu równania.
Kwadrat wspólczynnika korelacji R2 =0,99370 jest bardzo wysoki i swiadczy o bardzo
dobrym dopasowaniu wartosci do danych doswiadczalnych.
Podsumowanie regresji dla efektywnosci wykonania aplikacji ze wzgledu na ilosc
procesorów i liczbe watków przedstawia Rys. 5.6. W wyniku badania efektywnosci
zrównoleglenia pod wplywem liczby procesorów i podzialu na okreslona ilosc watków model
(por. Rys. 5.6) mozna zapisac nastepujaco:
Rys. 5.6 Podsumowanie regresji – efektywnosc zrównoleglenia - fraktal
Y = 0,104825+ 0,114623* P − 0,022062*WATEK+ 0,235825+
0,370871* P − 0,000809*WATEK
( 5.9)
gdzie P okresla liczbe procesorów, a WATEK ilosc watków równolegle wykonujacych petle.
Takze w tym przypadku wspólczynnik R =0,98333 potwierdza poprawnosc modelu.
Mimo pominiecia w modelach wielu z czynników charakteryzujacych badane zjawisko,
czyli nie uwzgledniono w nich wszystkich zmiennych mogacych oddzialywac na wydajnosc
aplikacji, wartosci wspólczynników dopasowania modelu do danych rzeczywistych sa bardzo
wysokie, co swiadczy o fakcie, iz zaprezentowane równania oddaja ogólny trend dla czasu
wykonania programu, efektywnosci, przyspieszenia. Wartosci charakterystyk wskazuja na
odpowiedni wybór zmiennych objasniajacych oraz poprawnosci zaprezentowanej metodyki.
Opis zjawiska za pomoca modelu pomaga w podjeciu decyzji odnosnie warunków i
parametrów uruchamiania aplikacji rozproszonej, wskazuje zmienne najbardziej lub najmniej
istotnie wplywajace na wykonywany program. Na podstawie modelu bez koniecznosci
uruchamiania aplikacji mozna przewidywac wartosci podstawowych charakterystyk
wydajnosciowych.
55
5.3
Analiza efektywnosci
zrównoleglenia
metoda
liniowego
przeksztalcenia petli
5.3.1 Warunki eksperymentu
W celu sprawdzenia wplywu czynników na czas, przyspieszenie oraz efektywnosc
wykonania programu przeprowadzono doswiadczenia na komputerze czteroprocesorowym
EPSILON,
na nieobciazonym systemie komputerowym bez wplywu innych programów
zaklócajacych.
Komputer ten sklada sie z czterech procesów Pentium III Xeon 700 MHz.
Przy tworzeniu modeli wykorzystano metodyke zaproponowana w rozdziale 4.
Zgodnie z zaprezentowanym sposobem postepowania pierwszym krokiem jest okreslenie celu
badan modelowych.
Oszacowanie czasu wykonania programu, jego przyspieszenia w stosunku do
programu sekwencyjnego oraz efektywnosci ma sluzyc prognozowaniu zachowania sie
aplikacji bez koniecznosci jej uruchamiania. Okreslenie wydajnosci oprogramowania
równoleglego, z zasady drogiego i rzadko dostepnego, pozwala zorientowac sie w jakim
stopniu przy zainwestowaniu i zaangazowaniu systemów równoleglych zmienia sie wartosci
charakterystyk wydajnosciowych, w zaleznosci od posiadanej bazy sprzetowej.
Material statystyczny uzyskany zostal w wyniku testowania aplikacji. Wyniki
doswiadczen
zamieszczone
zostaly
na
plycie
dolaczonej
do
pracy
w
katalogu
WYNIKI\ROWNOLEGLY\MNOZENIE_MACIERZY.
Zgodnie z etapem drugim zaprezentowanej metodyki (rozdzial 4.2) z listy czynników,
które moga miec istotny wplyw na wydajnosc aplikacji, wybrano zmienne charakteryzujace
srodowisko równolegle na dostepnym komputerze.
Zmiennymi objasnianymi dla rozpatrywanego przypadku sa wymienione wczesniej
wartosci charakterystyk wydajnosciowych. W rozdziale 5.3.2 zaprezentowano weryfikacje
modeli do prognozowania czasu wykonania programu w srodowisku równoleglym, w
rozdziale 5.3.3 przyspieszenie, a w 5.3.4 efektywnosc zrównoleglenia.
Zmienne te powinny istotnie wplywac na zmienna objasniana, a przy tym powinny
byc mozliwe do zmierzenia i jednoznacznego okreslenia. Do zmiennych takich dla srodowisk
równoleglych naleza miedzy innymi: ilosc procesorów zaangazowanych do wykonania
aplikacji, ilosc watków, czyli czesci programu wykonywanych na oddzielnych procesorach,
56
ich rozmiaru, sposobu dostepu do wspólnych zasobów, rozmiaru pamieci operacyjnej i
dyskowej.
Aplikacje przetestowano pod katem wplywu nastepujacych czynników:
-
ilosc watków, przy uwzglednieniu podzialu na 2, 4, 8,16,32 oraz 64 watki.
-
rozmiar macierzy z zakresu od 100 do 3000.
Utworzone modele charakteryzuja aplikacje, ze wzgledu na podzial przestrzeni
iteracji. Rozwazono podzial przestrzeni iteracji miedzy
hiperplaszczyzny oraz podzial
dziedziny wartosci zmiennej indeksowej najbardziej zewnetrznej petli.
Opis
problemu
znajduje
sie
w
publikacjach
[Berlinska02],
[Poliwoda02],
[Babitchev83], [Lewis92].
W doswiadczeniu przyjeto nastepujaca symbolike:
•
MACIERZ_O – srednia efektywnosc zrównoleglenia petli zewnetrznej, gdzie watek
wykonuje wskazane iteracje;
•
MACIERZ_O_A – srednia efektywnosc zrównoleglenia petli zewnetrznej, gdzie
watek wykonuje ciagly zbiór iteracji;
•
MACIERZ_H – srednia efektywnosc zrównoleglenia petli, której przestrzen iteracji
zostala podzielona miedzy hiperplaszczyzny, gdzie watek wykonuje wskazane
iteracje;
•
MACIERZ_H_A – srednia efektywnosc zrównoleglenia petli, której przestrzen iteracji
zostala podzielona miedzy hiperplaszczyzny, gdzie watek wykonuje ciagly zbiór
iteracji.
5.3.2 Czas wykonania programu
W wyniku przeprowadzonych badan otrzymano czas wykonania programów (dla
podzialu przestrzeni iteracji miedzy
hiperplaszczyzny [Babitchev83] (Rys. 5.7.) oraz
podzialu dziedziny wartosci zmiennej indeksowej najbardziej zewnetrznej petli [Bik94]) przy
uwzglednieniu podzialu na 2, 4, 8,16,32 oraz 64 watki.
57
1000
2
800
4
600
8
400
16
200
32
0
64
0
1000
2000
3000
4000
Rys. 5.7 Czas wykonania programu przy zrównolegleniu metoda hiperplaszczyzn
Czas wykonania programu dla dwóch watków jest istotnie rózny niz dla wiekszej
ilosci watków. Ma to zwiazek z faktem, ze doswiadczenie bylo wykonane na komputerze
czteroprocesorowym, wiec nie wszystkie procesory byly wykorzystywane. Dla pozostalej
liczby watków mozna zaobserwowac taki sam trend w rozkladzie wyników.
Zrównoleglenie ma sens dla duzej ilosci obliczen dlatego do dalszych rozwazan
przyjeto rozmiar macierzy powyzej 1000.
Obraz danych sluzacy do dalszej analizy przedstawia Rys. 5.8.
500
4
8
16
32
64
400
300
200
100
0
1000
1500
2000
2500
3000
Rys. 5.8 Czas wykonania programu zrównoleglonego metoda hiperplaszczyzn – zakres danych do
analizy
Powyzsze dane sluzyc beda do utworzenia modeli statystycznych. Zgodnie z trzecim
krokiem podanym w metodyce postepowania (rozdzial 4.3) nalezy okreslic ogólny trend
rozkladu wartosci. W tym celu do zestawienia wartosci na Rys. 5.8 dodano linie trendu. Po jej
analizie wybrano funkcje wielomianowa drugiego rzedu, jako podstawe do budowania
modelu.
Rozklad danych daje mozliwosc zastosowania takze regresji liniowej. Ponizej
przedstawione zostana obydwa rozwiazania.
58
Zgodnie z kolejnym krokiem metodyki (rozdzial 4.4) przystapiono do estymacji
wspólczynników modelu oraz jego weryfikacji.
Funkcja postaci:
E(Y/x) = b 0 + b 1X1 + b 2 X 2 + b 3 X1 + b 4X 2
2
2
( 5.10)
gdzie X1 okresla liczbe watków, a X2 oznacza rzad macierzy zostala poddana analizie w
programie STATISTICA. Juz pobiezna analiza wyników pozwala stwierdzic istotnosc
zmiennej ROZMIAR
i
nieistotnosc
zmiennej WATEK.
Na
wskutek
nieistotnosci
wspólczynnika zwiazanego z liczba watków model koncowy przyjal postac:
Y = 122,3993 − 0,218476 * X 2 + 0 ,00012024 * X 22
( 5.11)
Rys. 5.9 Podsumowanie regresji – czas wykonania przy zrównolegleniu metoda hiperplaszczyn
W wyniku analizy, przy pomocy programu STATISTICA [STATISTICA97], do
modelu wprowadzone zostaly tylko zmienne okreslajace rozmiar macierzy, a pominiete
zostaly zmienne zwiazane z liczba watków. Z tabeli Rys. 5.9 wynika, ze poziom p dla
kombinacji zmiennej WATEK jest wiekszy od zadanego poziomu α=0,05, co swiadczy o
nieistotnosci czynników.
Wartosc bezwzgledna statystyki |t| dla wyrazu wolnego oraz zmiennych zwiazanych w
rozmiarem macierzy sa duzo wieksze od wartosci krytycznej, co potwierdza hipoteze o ich
istotnosci. Podobnie statystka F=13748 jest duzo wieksza od granicznej.
Kwadrat wspólczynnika korelacji R2 =0,99829346 jest bardzo wyskoki i swiadczy o
bardzo dobrym dopasowaniu wartosci do danych doswiadczalnych. Wspólczynnik
determinacji informuje, ze przyjety model w ponad 99% wyjasnia Y, czyli czas wykonania
programu równoleglego.
Juz model regresji liniowej postaci:
Y = −322,7243778 − 0,2624979 * X 2
( 5.12)
59
wykazuje ze zmienna zwiazana z liczba watków mozna pominac. Jednak w tym przypadku
wspólczynnik dopasowania jest nizszy i wynosi 0,9498, dlatego do celów dalszej analizy
pozostawiono zaleznosc (5.11).
Dla potwierdzenia slusznosci modelu na Rys. 5.10 przedstawiono rozklad wartosci
obserwowanych (wedlug doswiadczenia) od przewidywanych (obliczonych z modelu).
Punkty ukladaja sie wzdluz linii prostej, co swiadczy o dopasowaniu modelu do danych
rzeczywistych.
Rys. 5.10 Wykres rozrzutu wartosci oczekiwanych i przewidywanych
Model (5.11) dotyczyl MACIERZY H, modele dla pozostalych doswiadczen oraz
wspólczynniki mówiace o ich dopasowaniu zawiera Tabela 5.1.
Tabela 5.1 Modele statystyczne dla aplikacji odpowiedzialnej za mnozenie macierzy
SPOSÓB
PODZIALU
PRZESTRZE
NI
OPERACJI
MACIERZ
H_A
POSTAC MODELU
WSPÓLCZYNNIK
DETERMINACJI
Y = 156,1777 − 0,2570649 * X 2 + 0,0001319 * X 2
2
R2 = 0,98752405
( 5.13)
MACIERZ
O
Y = 216,0153 − 0,31963012 * X 2 + 0,01024532 * X 2
2
R2 = 0,98355009
( 5.14)
MACIERZ
O_A
Y = 187,7862 − 0, 29153408 * X 2 + 0,00014387 * X 2
2
R2 = 0,98739496
( 5.15)
Na Rys. 5.11 zawarte jest porównanie czasu prognozowanego na podstawie
utworzonego modelu z czasem, jaki otrzymano w wyniku doswiadczenia dla metody
60
hiperplaszczyzn. Róznice sa bardzo nieznaczne, co oznacza, ze z powodzeniem mozna
uzywac przedstawionego równania matematycznego do opisu rzeczywistej zaleznosci.
600
500
400
300
200
100
0
1000
1500
2000
wartosci obserwowane
2500
3000
wartosci przewidywane
Rys. 5.11 Obserwowany i prognozowany czas wykonania programu równoleglego dla metody
hiperplaszczyzn
Na Rys. 5.12 przedstawiony zostal blad standardowy, czyli odchylenie standardowe
sredniej, obliczany ze wzoru (5.7):
δ =
s2
n
( 5.16)
Na wykresie przedstawiono bledy dla calego badanego obszaru sortujac je wedlug
rozmiaru macierzy oraz ilosci watków.
Najmniejsze odchylenia mozna zaobserwowac dla MACIERZY_H. To dla niej
wspólczynnik dopasowania byl najwyzszy. Dla wszystkich czterech metod wystepuje taka
sama tendencja, co do ekstremum. Maksima dotycza maksymalnych z badanych rozmiarów
macierzy i dla nich wystepuja najwieksze bledy, co zwiazane jest najwiekszymi wartosciami
czasu.
8
7
6
5
4
3
2
1
0
MACIERZ_H
MACIERZ_O
MACIERZ_H_A
MACIERZ_O_A
4
8
16
32
64
Rys. 5.12 Blad standardowy wartosci przewidywanej dla poszczególnej ilosci watków
61
Weryfikacja utworzonych modeli wskazuje na poprawnosc doboru wspólczynników i
mozliwosc prognozowania czasu wykonania aplikacji równoleglej. Okreslenie czasu
wykonania bez koniecznosci uruchamiania aplikacji moze wskazac oplacalnosc korzystania
ze srodowiska równoleglego. Wybrane cechy aplikacji i srodowiska jej uruchomienia
zastosowane jako wspólczynniki w modelu statystycznym poprawnie opisuja zachowanie
uruchamianej aplikacji. Mimo pominiecia w modelu wielu z czynników charakteryzujacych
badane zjawisko wartosci wspólczynników dopasowania modelu do danych rzeczywistych sa
bardzo wysokie, co swiadczy o odpowiednim wyborze zmiennych objasniajacych oraz
poprawnosci zaprezentowanej metodyki.
5.3.3 Efektywnosc zrównoleglenia
Kolejnym etapem w badaniu aplikacji jest stworzenie modeli, na podstawie których
prognozowac
mozna
efektywnosc
programu.
Wartosci
okreslajace
efektywnosc
zrównoleglenia procesów otrzymano na podstawie zaleznosci (5.17),
efektywnosc = t s /( t r ⋅ p)
( 5.17)
gdzie
ts – czas wykonania programu sekwencyjnie,
tr – czas wykonania programu równolegle,
p – ilosc procesorów.
Otrzymane wyniki podzielono na 3 grupy. Pierwsza z nich zgodnie z Rys. 5.13 to faza
wzrostu efektywnosci która obejmuje zakres rozmiaru macierz <0;800>. Dla drugiej fazy
<800;1700> nie udalo sie stworzyc modelu, który w jednoznaczny sposób opisalby
przedstawione zaleznosci. W trzeciej fazie dotyczacej rozmiaru macierzy z zakresu
<1800;2900> obserwuje sie ustabilizowana prace systemu. Dla tej wlasnie grupy
skoncentrowano sie na analizie wplywu czynników na
efektywnosc zrównoleglenia
procesów.
62
140
120
2
100
4
8
16
32
64
80
60
-
40
20
0
0
500
1000
1500
2000
2500
3000
Rys. 5.13 Efektywnosc zrównoleglenia programu metoda hiperplaszczyzn
Dla parametrów charakteryzujacych aplikacje, czyli dla podzialu na okreslona ilosc
watków oraz ze wzgledu na rzad macierzy, podobnie jak w przypadku badania czasu
wykonania aplikacji, podjeto sie budowy modelu statystycznego.
W wyniku analizy rozkladu zmiennych okazalo sie, iz postac wielomianu trzeciego
stopnia prawidlowo oddaje uklad danych uzyskanych w wyniku przeprowadzenia
doswiadczen.
E(Y/x) = b 0 + b 1X1 + b 2 X 2 + b 3 X1 + b 4 X 2 + b 5 X1X 2 + b6 X 2
2
2
3
( 5.18)
W oparciu o postac ogólna (5.18) funkcji regresji przeprowadzono analize statystyczna
i stworzono model, który okresla zaleznosc funkcyjna wartosci oczekiwanej zmiennej losowej
Y (efektywnosc) od nielosowych zmiennych X1 (rozmiar macierzy) oraz X2 (ilosc watków).
Po analizie w programie STATISTICA, na wskutek nieistotnosci dla linii regresji
wspólczynników okreslajacych rozmiar macierzy model, zostal uproszony.
Rys. 5.14 Podsumowanie regresji – efektywnosc dla metody hiperplaszczyzn
W wyniku przeprowadzonych obliczen do modelu regresji zostaly wybrane tylko trzy
funkcje. Z tabeli Rys. 5.14 wynika, ze wszystkie wspólczynniki wyestymowanego równania
postaci:
Y = -37,1524 + 57 ,1452 * X 2 − 7,3449 * X 2 + 0,2664 * X 2
2
3
( 5.19)
63
sa istotne. Swiadcza o tym wartosci poziomu p, które sa mniejsze od przyjetego poziomu
istotnosci α (α=0,05) oraz wartosci rozkladu t-Studenta oraz statystyki F-Snedecora, które
znacznie
przekraczaja
wartosci
krytyczne
(t0,005/2,45=2,014, F0,05,3,45=2,85). Kwadrat
wspólczynnika korelacji wielokrotnej R2 =0,9959 informuje o bardzo dobrym dopasowaniu
linii regresji do danych doswiadczalnych.
Wartosc bledu standardowego estymacji (1,07), czyli ocena wielkosci losowych
odchylen modelu, interpretowany jest jako przecietne odchylenie wagi obserwowanej w
próbie od wagi teoretycznej, czyli wyznaczonej z modelu.
Dla pozostalych metod zrównoleglenia wnioski odnosnie istotnosci wspólczynników
byly analogiczne. Wynika z tego, ze w ustabilizowanym przedziale wykonywania zadan
rozmiar macierzy nie wplywa istotnie na wartosc efektywnosci. Dlatego do dalszej analizy
uzyto wartosci sredniej efektywnosci zrównoleglenia dla okreslonej liczby watków.
Za pomoca stworzonego modelu mozna wyciagac wnioski na temat dzialania systemu,
a takze
wyjasniac i przewidywac jego zachowanie. Moze sie on okazac skutecznym
narzedziem do oceny efektywnosci wykonania aplikacji bez potrzeby jej uruchamiania.
100
90
80
MACIERZ_O
MACIERZ_H
MACIERZ_H_A
MACIERZ_O_A
70
60
50
40
2
4
8
16
32
64
Rys. 5.15 Srednia efektywnosc zrównoleglenia dla okreslonej liczby watków
Dla kazdej ilosci watków efektywnosc zrównoleglenia dla podzialu przestrzeni iteracji
miedzy hiperplaszczyzny jest wyzsza od efektywnosci zrównoleglenia petli zewnetrznej.
Efektywnosc dla dwóch watków jest duzo nizsza niz w pozostalych przypadkach. Wynika to
z faktu, iz doswiadczenia byly przeprowadzane na komputerze czteroprocesorowym i nie
wszystkie procesory byly obciazone.
Sposób podzialu iteracji miedzy niezaleznie pracujace watki nie ma znacznego wplywu
na efektywnosc zrównoleglenia dla wybranej metody podzialu przestrzeni iteracji.
Wskazniki dopasowania wartosci uzyskanych na podstawie modelu do wartosci
doswiadczalnych sa odpowiednie, co potwierdza poprawnosc modelu i daje mozliwosc
prognozowania na ich podstawie wartosci efektywnosci rzeczywistych aplikacji. Utworzony
64
model moze pomóc w podjeciu decyzji odnosnie warunków i parametrów uruchamiania
programu,
uwzgledniajac parametry uruchomienia dostepne z poziomu uzytkownika
systemu. Model moze wykazac poczawszy od jakiej wielkosci parametru zrównoleglenie jest
celowym. Wskaze, które z parametrów istotnie oddzialuja na charakterystyke wykonywanego
zadania. Oprogramowanie równolegle jest drogie i nie zawsze dostepne. Korzystanie z
modelu pozwoli na zorientowanie sie jak wygladac bedzie efektywnosc zrównoleglenia danej
aplikacji, w przypadku zastosowania sprzetu o architekturze równoleglej.
5.3.4 Przyspieszenie wykonania programu równoleglego
W ponizszym punkcie zaprezentowano modele statystyczne, które sluza do okreslania
przyspieszenia wykonania programu równoleglego, definiowanego jako:
przyspiesz enie = t s / t r ,
( 5.20)
gdzie:
ts – czas wykonania programu sekwencyjnie,
tr – czas wykonania programu równolegle.
Analizujac obszar ustabilizowanej pracy systemu, czyli zakres rozmiaru macierzy
powyzej 1800 przyspieszenie wykonania programu ksztaltuje sie jak na
Rys. 5.16. Po
dodaniu linii trendu okazalo sie iz do prognozowania przyspieszenia uzyc mozna regresji
wielokrotnej stopnia drugiego.
Zgodnie z zaproponowana metodyka po wyborze funkcji
aproksymujacej nalezy posluzyc sie narzedziami komputerowymi w celu sprawdzenia
poprawnosci poczynionych zalozen. Do tego celu uzyto programu STATISTICA, w którym
wykorzystano model regresji wielokrotnej.
Dla ponizej przedstawionych danych zbudowano model regresji wielokrotnej, z
której wynika, iz podobnie jak w przypadku efektywnosci znaczacym czynnikiem jest ilosc
watków.
65
3,75
3,7
3,65
3,6
3,55
3,5
3,45
3,4
3,35
1800
4
8
16
64
32
2300
2800
Rys. 5.16 Przyspieszenie wykonania programu dla ustabilizowanej pracy systemu
W wyniku analizy model opisujacy przyspieszenie przyjmuje nastepujaca postac:
Y = 3,935908 − 1,05509 * X 2 + 0,004716 * X 2
2
( 5.21)
Po analizie okazalo sie, ze wszystkie zmienne zwiazane z rozmiarem macierzy zostaly
wyeliminowane, a za istotne dla modelu wskazane zostaly wspólczynniki zwiazane z iloscia
watków. Decyduja o tym wartosci poziomu p równe zeru lub bardzo bliskie zeru, które sa
mniejsze od przyjetego poziomu istotnosci α (α=0.05). Z przedstawionego rysunku wynika,
iz nieznaczny wplyw moze miec wartosc wspólczynnika przy rozmiarze macierzy
podniesionym do kwadratu. Jednak jest to tak mala wartosc, ze dla celów analizy zostala
pominieta. Wartosci rozkladu t-Studenta oraz statystyki F-Snedocora znacznie przekraczaja
wartosci krytyczne, co swiadczy o poprawnym doborze wspólczynników modelu. Kwadrat
wspólczynnika korelacji wielorakiej R2 =0,9233 potwierdza poprawnosc dopasowania linii
regresji do danych doswiadczalnych. Wspólczynnik determinacji informuje, ze przyjety
model w ponad 92% wyjasnia zmienna wyjsciowa, która jest przyspieszenie wykonania kodu
równoleglego w stosunku do wykonania sekwencyjnego.
Dla pozostalych metod zrównoleglenia wnioski odnosnie istotnosci wspólczynników
sa analogiczne. Na Rys 5.11 przedstawiono podsumowanie regresji dla zrównoleglenia
najbardziej zewnetrznej petli (MACIERZ_O). Wynika z niego, ze w ustabilizowanym
przedziale wykonania zadan rozmiar macierzy równiez nie wplywa istotnie na przyspieszenie
wykonania programu.
66
Rys. 5.17 Podsumowanie regresji dla zrównoleglenia najbardziej zewnetrznej petli
Model statystyczny moze byc w takim przypadku opisany równaniem (5.13).
Y = 3,935908 − 1,05509 * X 2 + 0,004716 * X 2
2
( 5.22)
O istotnosci tylko ponizej wskazanych wspólczynników swiadcza poziomy p równe zero,
wartosci rozkladu t-Studenta oraz statystyki F-Snedecora, które przekraczaja wartosci
krytyczne. Kwadrat wspólczynnika korelacji wielokrotnej R2 =0,9573 mówi o odpowiednim
dopasowaniu linii regresji do danych doswiadczalnych.
Utworzone
modele
opisujace
przyspieszenie
wykonania
kodu
równoleglego
jednoznacznie wykazuja, iz problem ten nie zalezy istotnie od rozmiaru macierzy, czyli od
wielkosci zadania. Waznym jest natomiast podzial na odpowiednia liczbe niezaleznie
pracujacych watków. Z analizy wynika, ze program osiagnal najwyzsze wartosci
przyspieszenia dla 4 watków, czyli dla liczby równej ilosci procesorów.
5.4 Modele efektywnosci zastosowania metody Simpleks do
rozwiazywania zadan programowania liniowego
5.4.1 Przedstawienie obszaru badan
Zadaniem programu jest rozwiazywanie zadan programowania liniowego metoda
simpleks. Jest to iteracyjna procedura, która polega na analizie tylko niektórych
dopuszczalnych rozwiazan bazowych [Nelder65].
Algorytm metody simpleksowej dotyczy wyboru dopuszczalnego rozwiazania
bazowego, a nastepnie kolejno na przechodzeniu do kolejnego dopuszczalnego rozwiazania
bazowego o lepszej wartosci funkcji celu, az do uzyskania wielkosci optymalnej
[Freeman92].
W rozdziale utworzone zostano modele statystyczne, na podstawie których bez
koniecznosci uruchamiania aplikacji, prognozowac bedzie mozna charakterystyki wydajnosci.
67
Na podstawie modeli bedzie mozna szacowac wartosci czasu wykonania zadania,
przyspieszenia, efektywnosci.
Stworzenie modeli pozwoli na badanie wplywu pewnych
czynników na okreslona zmienna wyjsciowa.
Aby utworzyc model nalezy dysponowac informacjami statystycznymi, uzyskanymi w
wyniku testowania programu. Osoba tworzaca model bedzie traktowala aplikacje jako „czarna
skrzynke”, bedzie miala wplyw na zmiane czynników dostepnych tylko z poziomu
uzytkownika systemu. Pewne czynniki nie znajda swojego odzwierciedlenia w modelu
matematycznym opisujacym wydajnosc aplikacji. Glównym powodem nie rozpatrywania w
modelu jest niemozliwosc dokladnego okreslenia
oraz przedstawienia ich w sposób
liczbowy.
Rozwazana aplikacja testowana byla na komputerze czteroprocesorowym, dostepnym
sie na Wydziale Informatyki o architekturze 4 x P3 XEON 700 MHZ.
Jako glówna zmienna niezalezna w programie wybrano ilosc watków miedzy które
zostaly podzielone zadania do niezaleznego wykonania. Przy testowaniu aplikacji
uwzgledniono podziala na 2, 4, 6 oraz 10 watków. Rozwazono takze wplyw zmiennych,
mozliwych do zmiany przez uzytkownika aplikacji, dotyczacych:
-
liczby zmiennych opisujacych funkcje celu,
-
liczby ograniczen.
Wyniki testów, które posluzyly do budowy modelu zawarte sa na plycie dolaczonej do pracy
w folderze \WYNIKI\ROWNOLEGLY\SIMPLEX.
5.4.2 Wplyw czynników na czas generacji rozwiazania
Na rysunku przedstawiono uzyskane wartosci czasu dla poszczególnej ilosci watków.
Na osi rzednych zaznaczone sa ilosc zmiennych w funkcji celu oraz ilosc ograniczen.
3
2,5
2
1,5
1
0,5
0
10-15
17-20
20-20
25-25
2 watki
4 watki
6 watków
25-30
30-30
10 watków
Rys. 5.18 Czas wykonania zadan programowania liniowego metoda Simpleks
68
Po dokonaniu pomiarów czasu wykonania nalezy ustalic klase modelu. Badania tego
dokonac mozna na podstawie analizy rozkladu zmiennych poprzez okreslanie linii trendu. Ze
wstepnej analizy wartosci uzyskanych z
doswiadczen wynika, iz celowym okaze sie
zastosowanie regresji segmentowej, gdzie ogólna linia regresji opisana bedzie za pomoca
sumy dwóch funkcji obrazujacych zachowanie sie modelu.
Nastepnie za pomoca narzedzi komputerowych nalezy przystapic do estymacji
wspólczynników. Estymacja to szacowanie wartosci parametrów lub postaci funkcji rozkladu
prawdopodobienstwa w populacji generalnej na podstawie wyników próby.
Na Rys. 5.19 przedstawiono podsumowanie regresji, gdzie zmienna zalezna jest czas,
a badanymi czynnikami majacymi na nia wplyw jest ilosc zmiennych, ilosc ograniczen oraz
podzial na odpowiednia ilosc watków.
Rys. 5.19 Podsumowanie regresji - czas wykonania - metoda Simpleks
Stworzony model regresji segmentowej dla zmiennej zaleznej Y = CZAS uwzglednia
wplyw nastepujacych zmiennych niezaleznych: ilosc ograniczen X1 = OGRANICZ, ilosc
zmiennych wykorzystywanych w funkcji celu X2 = ZMIENNE oraz ilosc watków X3 =
WATEK.
Ogólna postac równania okreslona zostala nastepujaco:
E(Y/x) = b 0 + b 1X1 + b 2 X 2 + b 3 X 3 + b 4 + b 5 X1 + b 6 X 2 + b 7 X3
( 5.23)
Z 5.19 wynika, ze model koncowy przyjal postac:
Y = 0,004747 * ZMIENNA + 0,006598 * OGRANICZ + 0,274794 * WATEK −
− 0,10319 + 0,14514 * ZMIENNA + 0,015739 * OGRANICZ + 0,192664 * WATEK
( 5.24)
Kwadrat wspólczynnika korelacji R2 =0,99758 jest bardzo wysoki, co wskazuje na
bardzo dobre dopasowanie wartosci do danych doswiadczalnych.
Rys. 5.20 przedstawia zestawienie wartosci obserwowanych podczas doswiadczenia i
przewidywanych za pomoca utworzonego modelu. Jak widac wartosci te nie wiele róznia sie
od siebie, co potwierdza poprawne dopasowanie modelu matematycznego do badanego
zjawiska.
69
WARTOSCI PRZEWIDYWANE
30-30
25-30
25-25
20-20
17-20
10-15
30-30
25-30
25-25
20-20
17-20
10-15
30-30
25-30
25-25
20-20
17-20
10-15
30-30
25-30
25-25
20-20
17-20
10-15
3
2,5
2
1,5
1
0,5
0
WARTOSCI OBSERWOWANE
Rys. 5.20 Porównanie wartosci obserwowanych i przewidywanych dla zmiennej CZAS.
Stworzone modele daja podstawe do prognozowania wartosci czasów wykonania
aplikacji w rzeczywistych srodowiskach równoleglych. Za ich pomoca mozna wskazac
odpowiednie wielkosci parametrów wejsciowych, dzieki którym zmienna wyjsciowa przyjmie
oczekiwane wartosci. Do budowy modeli wykorzystano tylko kilka (nieliczne) parametrów,
które maja wplyw na charakterystyke wydajnosci. Mimo tego faktu odwzorowanie danych
otrzymanych w wyniku przeprowadzenia testów, do danych otrzymanych na podstawie
modeli jest zadawalajace. Daje to podstawe do prognozowania z dokladnoscia akceptowalna
do zastosowania w praktyce.
5.4.3 Efektywnosc aplikacji równoleglej
Na Rys. 5.21 przedstawiono efektywnosc zrównoleglenia dla ilosci watków wiekszej
lub równej liczbie procesorów. Mozna zauwazyc, iz wartosci efektywnosci sa bliskie zeru,
wiec przyklad (dla testowanego rozmiaru problemu) nie jest dobrym kandydatem do
zrównoleglenia. Po utworzeniu modelu bedzie mozna bez koniecznosci uruchamiania
programu okreslic wartosc efektywnosci przy odpowiednich zmiennych wejsciowych.
0,05
0,04
0,03
0,02
0,01
0
10-15
17-20
4 watki
20-20
25-25
6 watków
25-30
30-30
10 watków
Rys. 5.21 Efektywnosc zrównoleglenia dla metody simpleks
70
Analiza rozkladu zmiennych wykazala, iz nie mozna opisac jednym równaniem
rozkladu wartosci na Rys. 5.21. Dlatego zdecydowano sie na zastosowania regresji
segmentowej, za pomoca której linia regresji bedzie suma dwóch funkcji liniowych. Po
okresleniu rodzaju regresji uzytej do tworzenia modelu nalezy przystapic do estymacji
wspólczynników, wykorzystujac do tego celu narzedzia komputerowe w postaci systemów
zawierajacych moduly z funkcjami statystycznymi.
Rys. 5.22 przedstawia podsumowanie regresji dla efektywnosci zrównoleglenia
wygenerowane w programie STATISTICA.
Rys. 5.22 Podsumowanie regresji - efektywnosc - metoda Simpleks
Dla zmiennej zaleznej Y = EFEKTYWNOSC postac równania okreslona zostala
nastepujaco (Rys. 5.22):
Y = 0,000256 + 0,000402 * ZMIENNA + 0,000776 * OGRANICZ
− 0,000758 * WATEK + +0,112193 − 0,008758 * ZMIENNA
− 0,000317 * OGRANICZ + 0,12342 * WATEK
( 5.25)
Przy weryfikacji modelu okreslony zostal wspólczynnik korelacji R=0,99745. Jest on
wysoki i swiadczy o bardzo dobrym dopasowaniu wartosci do obserwowanych podczas
doswiadczenia. Takze analiza pozostalych wskazników i statystyk generowanych przez
program STATISTICA daje podstawe do przyjecia hipotezy o istotnosci wygenerowanego
modelu. Mimo pominiecia w modelu wielu z czynników charakteryzujacych badane
zjawisko, wartosci wspólczynników dopasowania modelu do danych rzeczywistych sa bardzo
wysokie, co swiadczy o odpowiednim wyborze zmiennych objasniajacych oraz poprawnosci
zaprezentowanej metodyki.
Jak wczesniej wspomniano zrównoleglony program nie daje zadawalajacej
efektywnosci dla badanej próbki. Za pomoca modelu mozna natomiast okreslic, ze na
przyklad przy 100 zmiennych uzytych w funkcji celu, 100 ograniczeniach i przy podziale na 8
71
watków efektywnosc wyniesie 0,304045, a dla 200 zmiennych w funkcji celu, 200 ograniczen
i przy podziale na 16 watków efektywnosc zrównoleglenia wzrosnie do 0,495641.
Utworzony model moze wskazac najbardziej korzystny wariant uruchomienia ze
wzgledu na czas oraz efektywnosc aplikacji. Opis zjawiska za pomoca modelu pomaga w
podjeciu decyzji odnosnie warunków i parametrów uruchamiania programu, wskazuje
zmienne najbardziej lub najmniej istotnie wplywajace na aplikacje.
5.5 Charakterystyka wydajnosci aplikacji obliczajacej calki
5.5.1 Cel badan
Aplikacja odpowiedzialna jest za obliczenie calki podwójnej dla dwóch zmiennych.
Calka oznaczona f(x) w granicach od a do b nazywa sie wyrazenie: a? b f (x)dx = F(b) - F(a),
gdzie F(x) jest funkcja pierwotna funkcji f(x). Interpretacja geometryczna calki oznaczonej
jest pole powierzchni ograniczonej prostymi x=a i x=b, krzywa wykresu y=f(x) oraz prosta
y=0 [Gewert99], [Marciniak97].
Model statystyczny jest prototypem rzeczywistosci, moze byc stosowany do opisu
efektywnosci systemu. Stworzenie modeli pozwoli na badanie i przewidywanie wplywu
pewnych czynników na wydajnosc aplikacji, bez koniecznosci jej uruchamiania. Korzystajac
z modeli matematycznych osoba zainteresowana uzywaniem takich systemów moze
zorientowac sie, w jakim stopniu podczas korzystania z programów równoleglych zmienia
wartosci charakterystyk wydajnosciowych w zaleznosci od posiadanej bazy sprzetowej.
W
celu
utworzenia
modeli
przetestowano
aplikacje
na
stanowisku
czteroprocesorowym dostepnym na WI PS, o nastepujacej architekturze sprzetowej: 4 x P4
XEON
2,6
GHz.
Wyniki
testów
zawarte
zostaly
w
folderze
\WYNIKI\ROWNOLEGLY\CALKA na plycie dolaczonej do pracy.
Z listy parametrów, okreslonych w metodyce zaprezentowanej w rozdziale 4.2 do
budowy modelu wybrano podzial przestrzeni iteracji na okreslona liczbe watków (2, 3, 4, 5
watków) oraz dokladnosc obliczen, czyli ilosc obszarów, na jakie zostaly podzielone
przedzialy do calkowania. Pozostale parametry nie zostaly wybrane do budowy modelu ze
wzgledu na niemozliwosc jednoznacznego okreslenia ich w warunkach testowania programu.
5.5.2 Model efektywnosci programu
Na Rys. 5.23 przedstawiono efektywnosc wykonania programu równoleglego
realizujacego opisane zadanie z uwzglednieniem podzialu na okreslona liczbe niezaleznie
72
pracujacych watków. W wyniku analizy mozna stwierdzic, iz podzial przestrzeni iteracji na 5
watków, czyli liczbe wieksza od ilosci procesorów nie przynosi wymiernych korzysci.
Zauwazyc mozna takze, ze wraz ze wzrostem rozmiaru problemu, czyli zwiekszeniem
dokladnosci obliczen wyraznie wzrasta efektywnosc aplikacji obslugiwanej przez 4 watki.
120
100
2 watki
80
3 watki
60
4 watki
40
5 watków
20
0
0
200
400
Rys. 5.23 Efektywnosc aplikacji liczacej calki
Po dodaniu linii trendu okazalo sie, iz uklad zmiennych odwzorowany moze zostac za
pomoca funkcji wielomianowej drugiego stopnia. Stad tez do budowy funkcji aproksymujacej
posluzono sie regresja wielokrotna, gdzie oprócz wartosci wspólczynników uzyto takze ich
kwadraty.
W wyniku analizy komputerowej otrzymano podsumowanie regresji jak na Rys. 5.24.
Wynika z niego, ze ogólna postac linii regresji (5.26) zostala uproszczona i przyjela postac
(5.27).
Rys. 5.24 Podsumowanie regresji – zmienna efektywnosc
E(Y/x) = b 0 + b 1X1 + b 2 X 2 + b 3 X1 + b 4X 2
2
2
Y = 95,5808246 + 0,03111973 * WATEK * ROZMIAR
+ -4,462656327 * WATEK 2
( 5.26)
( 5.27)
Z powyzszego modelu mozna wywnioskowac, ze przy opisie efektywnosci wykonania
aplikacji najwieksza role odgrywa zmienna zwiazana z liczba watków. Niemniej jednak
istotna jest dokladnosc obliczen zawarta w modelu jako iloczyn wraz z iloscia watków.
73
O poprawnym dopasowaniu zmiennym i odwzorowaniu modelu w stosunku do
danych rzeczywistych swiadcza wartosci odpowiednich wspólczynników i statystyk.
Wartosc bezwzgledna statystyki |t| dla wyrazu wolnego oraz zmiennych zwiazanych w
iloscia watków, a takze wspominanego iloczynu dokladnosci obliczen i ilosci watków sa
duzo wieksze od wartosci krytycznej, co potwierdza hipoteze o ich istotnosci. Podobnie
statystka F=30 jest duzo wieksza od granicznej.
Wspólczynnik determinacji R2 =0,86437678 swiadczy o akceptowalnosci dopasowania
uzyskanych wartosci do danych doswiadczalnych. Wspólczynnik determinacji informuje, ze
przyjety model w ponad 86% wyjasnia zmienna zalezna Y.
Wartosc bledu standardowego estymacji równy 10,14, bedacy ocena wielkosci
losowych odchylen modelu, interpretowany jest jako przecietne odchylenie wagi
obserwowanej w próbie od wagi teoretycznej, czyli wyznaczonej z modelu.
Analiza wyników badania statystycznego oraz sformulowanie ocen i wniosków jest
przepustka do wdrazania modeli do praktyki. Mimo pominiecia w modelu wielu z czynników
charakteryzujacych badane zjawisko wartosci wspólczynników dopasowania modelu do
danych rzeczywistych sa bardzo wysokie, co swiadczy o odpowiednim wyborze zmiennych
objasniajacych oraz celowosci stosowania zaprezentowanej metodyki. Model moze pomóc
przy wyborze najbardziej korzystnego dla danej aplikacji srodowiska pracy, bez koniecznosci
uruchamiania programu i angazowania komputera równoleglego.
5.6 Modelowanie aplikacji okreslajacej stopien korelacji dwóch
obrazów
5.6.1 Przedmiot badan
Zadaniem aplikacji jest obliczenie wspólczynników dwuwymiarowej korelacji fazowej
i statycznej. Badany program sluzy do okreslania stopnia korelacji dwóch obrazów czarnobialych o rozdzielczosci n x n. Obliczone zostaja dwa wspólczynniki – wspólczynnik
korelacji fazowej i wspólczynnik korelacji statycznej. Korelacja okresla stopien zwiazku
pomiedzy losowymi zmiennymi. Dla otrzymanego wspólczynnika korelacji statycznej mozna
okreslic stopien podobienstwa obrazów (slaby, sredni, silny, bardzo silny). Wspólczynnik
korelacji fazowej opiera sie na szybkiej transformacie Fouriera FFT [Gewert99],
[Freeman92].
74
W rozdziale zostana zaprezentowane modele statystyczne, na podstawie których
mozliwe bedzie prognozowanie czasu wykonania, przyspieszenia oraz efektywnosci dla
aplikacji okreslajacej stopien korelacji dwóch obrazów. Poniewaz dostep do komputerów oraz
aplikacji opartych na przetwarzaniu równoleglym jest utrudniony, sa to systemy drogie i
rzadko wykorzystywane, korzystanie z modeli regresyjnych moze wskazac zasadnosc, lub
nie, wykorzystania takich srodowisk. Na podstawie modelu, bez koniecznosci uruchamiania
aplikacji mozna prognozowac wartosci charakterystyki wydajnosciowej w zaleznosci od
dostepnych, sprzetowych lub programowych, czynników. Modele z zalozenia maja byc
tworzone przez uzytkowników aplikacji, wiec ich parametrami moga byc tylko czynniki
mozliwe do zmiany i jednoznacznego okreslenia z poziomu wykonywania programów.
W celu zebrania materialu statystycznego potrzebnego do utworzenia modeli
przeprowadzono doswiadczenia na komputerze czteroprocesorowym na hoscie jota.wi.ps.pl.
Komputer ten charakteryzuje sie nastepujaca architektura 4 x P3 XEON 700 MHz. Wyniki
przeprowadzonych testów dostepne sa na plycie dolaczonej do pracy w katalogu
\WYNIKI\ROWNOLEGLY\KORELACJA.
Przed przystapieniem do testowania aplikacji równoleglej dokonano wyboru zmiennych.
Jako zmienne wyjsciowe wybrano czas wykonania programu na komputerze równoleglym,
efektywnosc wykorzystania dostepnych procesorów oraz przyspieszenie wykonania programu
w stosunku do programu wykonanego sekwencyjnie.
Przeanalizowano takze liste zmiennych, które moga istotnie wplywac na modelowanie
zachowania sie aplikacji równoleglych podana w metodyce postepowania (rozdzial 4.2) W
przypadku omawianej aplikacji wybrano nastepujace czynniki:
•
ilosc procesorów zaangazowanych do wykonania zadania. Aplikacje testowano przy
wykorzystaniu 2, 3 oraz 4 procesorów, a takze przy sekwencyjnym wykonaniu kodu;
•
wielkosc problemu, czyli ilosc punktów (rozdzielczosci n x n)
5.6.2 Model efektywnosci
Efektywnosc wykonania aplikacji przedstawia Rys. 5.25. Wartosci efektywnosci nie
sa wysokie, gdyz w badanym przedziale dochodza do 25%. Jednakze wraz ze wzrostem
rozmiaru problemu obserwowac mozna zwiekszenie efektywnosci.
Do wykresu efektywnosci, dla róznej ilosci procesorów dodano linie trendu i na jej
podstawie wybrano postac funkcji aproksymujacej. Z wykorzystaniem pakietu STATISTICA
utworzono model regresji wielorakiej stopnia drugiego. Estymacja wspólczynników modelu
wykazala, ze efektywnosc zrównoleglenia aplikacji zalezna jest zarówno od ilosci procesorów
75
(zmienna P), które obsluguja program jak i od rozmiaru analizowanego obszaru (zmienna
ZM) , czyli model statystyczny opisany zostanie z uzyciem obydwu zmiennych.
25
20
15
10
5
0
2500
2 procesory
3 procesory
4 procesory
7500
12500 17500 22500 27500 32500 37500
Rys. 5.25 Efektywnosc aplikacji okreslajacej stopien korelacji dwóch obrazów
Z analizy wykonanej przy uzyciu programu STATISTICA wynika, ze wszystkie
wspólczynniki wyestymowanego równania postaci:
Y = 154,7201618 - 38,65364412 * P + 0,000504541 * ZM +
3,745178342 * P 2 + -8,12004E - 09 * ZM
2
( 5.28)
sa istotne. Swiadcza o tym wartosci poziomu p, które sa mniejsze od przyjetego poziomu
istotnosci α (α=0,05), wartosc statystyki F-Snedecora znacznie przekracza wartosc krytyczna
(F0,05,4,10 =2,85). Kwadrat wspólczynnika korelacji wielokrotnej R2 =0,9903 swiadczy o bardzo
dobrym dopasowaniu linii regresji do danych doswiadczalnych.
O wiarygodnosci i
akceptowalnosci zaprezentowanego modelu swiadczy takze rozrzut odchylen (rozklad
prawdopodobienstwa reszt) ukladajacy sie wzdluz linii prostej przedstawiony na Rys. 5.26.
Rys. 5.26 Zestawienie wartosci oczekiwanych obserwowanych
Odpowiednie wartosci wspólczynników i statystyk wygenerowanych dla utworzonego
modelu daja podstawe do prognozowania na jego podstawie efektywnosci w rzeczywistym
srodowisku wykonywania aplikacji. Wykorzystujac model mozna wskazac, jakie parametry
uruchamiania aplikacji sa najbardziej korzystne dla dostepnych warunków sprzetowych.
Mimo wykorzystania w modelu tylko dwóch parametrów, dopasowanie wartosci
76
otrzymanych na jego podstawie do wartosci rzeczywistych jest odpowiednie, co swiadczy o
poprawnosci modelowania, opracowanego w oparciu o metodyke zaprezentowana w pracy.
5.6.3 Analiza czasu i przyspieszenia
Czas wykonania programu dla poszczególnej liczby procesorów z uwzglednieniem
wielkosci zadan do wykonania przedstawia Rys. 5.27.
110
2 procesory
90
3 procesory
70
4 proceory
50
2500
12500
22500
32500
Rys. 5.27 Czas wykonania programu dla róznej liczby procesorów
Po analizie rozkladu wartosci okazalo sie, ze zarówno czas wykonania programu, jak i
przyspieszenie w stosunku do programu sekwencyjnego, opisac mozna korzystajac z modelu
regresji liniowej o nastepujacej postaci:
Y = b0 + b1 * x 1 + b2 * x 2
( 5.29)
Po okresleniu rodzaju funkcji aproksymujacej nalezy przystapic do kolejnego punktu
opisanego w metodyce zaproponowanej w rozdziale 4, a mianowicie do estymacji i
weryfikacji wspólczynników modelu z wykorzystaniem srodowisk matematycznych. W
przypadku omawianej aplikacji posluzono sie pakietem STATISTICA, która generuje
statystyki i wskazniki, na podstawie których mozna zweryfikowac poprawnosc otrzymanych
równan matematycznych.
Na Rys. 5.28 przedstawiono podsumowanie regresji, gdzie zmienna zalezna jest czas,
a badanymi czynnikami majacymi na nia wplyw jest rozmiar obrazu oraz wykorzystanie
odpowiedniej liczby procesorów w komputerze. Na podstawie wygenerowanego ekranu
opisano model czasu wykonania programu nastepujacej postaci:
Y = 1,859075138 + 0,000533702 * ZM - 1,3657 * P
( 5.30)
Do modelu wprowadzone zostaly obydwie zmienne: okreslajace stopien dopasowania
oraz liczbe procesorów. Poziomy p dla zmiennych sa mniejsze od zadanego poziomu α=0,05,
co swiadczy o istotnosci czynników.
77
Wartosc bezwzgledna statystyki |t| dla wyrazu wolnego oraz zmiennych zwiazanych w
rozmiarem macierzy sa duzo wieksze od wartosci krytycznej, co potwierdza hipoteze o ich
istotnosci. Podobnie statystka F=153,19 jest duzo wieksza od wartosci granicznej.
Kwadrat wspólczynnika korelacji R2 =0,96230 jest bliski jednosci i swiadczy o dobrym
dopasowaniu wartosci do danych doswiadczalnych.
Rys. 5.28 Podsumowanie regresji – zmienna czas
Przecietne odchylenie wartosci obserwowanej w próbie od wartosci teoretycznej, czyli
wyznaczonej z modelu (na Rys. 5.28 blad std. estymacji) równe jest 1,6, czyli o te wartosc
moze róznic sie czas prognozowany od otrzymanego w drodze doswiadczenia.
Dla potwierdzenia slusznosci modelu na Rys. 5.29 przedstawiono rozklad wartosci
obserwowanych (wedlug doswiadczenia) od przewidywanych (obliczonych z modelu).
Punkty ukladaja sie wzdluz linii prostej, co swiadczy o dopasowaniu modelu do danych.
Rys. 5.29 Zestawienie wartosci oczekiwanych obserwowanych
W wyniku badania przyspieszenia wykonania programu pod katem rozmiaru
problemu i wykorzystania okreslonej ilosci procesorów stworzono model, który mozna
zapisac nastepujaco:
Y = 1,85908 + 0,00053 * ZM − 1,508432 * P
( 5.31)
gdzie P okresla liczbe procesorów, a ZM to zmienna zwiazana z dokladnoscia wykonania
obliczen. Takze w tym przypadku wspólczynnik R2 =0,9393 potwierdza poprawnosc modelu.
78
Utworzone modele ze wspólczynnikiem dopasowania przekraczajacym wartosc 0,9
opisuja zachowanie sie aplikacji w srodowisku równoleglym Daje to podstawe do
zastosowania modelowania i okreslania na podstawie modeli wartosci charakterystyk
rzeczywistych systemów równoleglych. Mimo wykorzystania do budowy modelu niewielu
wielkosci wejsciowych, zmienna wyjsciowa odwzorowana zostala prawidlowo, co potwierdza
zasadnosc postepowania opisanego w metodyce zaprezentowanej w pracy.
5.7 Wykorzystanie modeli do prognozowania wydajnosci aplikacji
równoleglej
Modele zaprezentowane w pracy sluza prognozowaniu wydajnosci programów
równoleglych. Na ich podstawie mozna oszacowac czas wykonania aplikacji, efektywnosc
oraz przyspieszenie w zaleznosci od dostepnych czynników sprzetowych i programowych. W
rozdziale na podstawie wczesniej omówionych modeli dokonano prognozy parametrów
aplikacji dla przykladowych wartosci zmiennych wejsciowych.
W punkcie 5.3.2 zaprezentowano modele statystyczne sluzace do opisu czasu
wykonania aplikacji odpowiedzialnej za mnozenie macierzy. Jako zmienne istotne dla modelu
wybrano rozmiar macierzy oraz podzial na odpowiednia ilosc watków. Podczas tworzenia
modelu z równania wyeliminowano parametr wejsciowy zwiazany z iloscia watków, w
wyniku czego równanie przyjelo postac (5.11).
Tabela 5.2 Prognozy czasu wykonania aplikacji na podstawie modelu 5.11
Y = 122,3993 − 0,218476 * X 2 + 0 ,00012024 * X 22
Rozmiar macierzy
Czas wykonania aplikacji równoleglej
2000
166,41
2500
327,71
3000
549,13
W Tabela 5.2 przedstawiono prognozowany czas wykonania programu równoleglego
dla przykladowego rozmiaru macierzy. Z powyzszej tabeli widac, jak ksztaltuja sie jego
wartosci przy zwiekszajacym sie rozmiarze problemu.
W rozdziale 5.1 przedstawiono modele statystyczne na podstawie których mozna
szacowac parametry wykonania programu odpowiedzialnego za rozwiazywanie ukladów
równan metode eliminacji Gaussa. Model (5.2) sluzy okreslaniu czasu wykonania aplikacji.
79
Na jego podstawie okreslono czas wykonania programu, przedstawiony w Tabela 5.3 dla
1000, 1200, 1400, 1600 1800 oraz 2000 równan.
Tabela 5.3 Oszacowany czas wykonania aplikacji odpowiedzialnej za rozwiazywanie ukladów równan
Ilosc równan
Czas szacowany na
podstawie modelu
Rzeczywiste wartosci
uzyskane w wyniku
testowania aplikacji
1000
1200
1400
1600
1800
2000
26,759
48,759
92,759
136,759
180,759
224,759
nie testowano
49,999
86,321
131,66
187,693
nie testowano
Na podstawie modelu (5.5) dokonac mozna oceny przyspieszenia wykonania
programu w srodowisku równoleglym. Aplikacja uruchamia byla na komputerze
czteroprocesorowym. Korzystajac z modelu stwierdzic mozna, ze dla 1000 równan
przyspieszenie wynosi 2,98, dla 1600 równan - 2,25, a dla 2000 równan przyspieszenie
wynosi 2,39. Analizujac powyzsze wartosci okazuje sie, iz badana aplikacja moze byc
wykonana ponad dwa razy szybciej, przy zastosowaniu komputera równoleglego. Nalezy
postawic pytanie, czy przyspieszenie takie bedzie satysfakcjonujace w stosunku do nakladów
poniesionych na stworzenie srodowiska. Tak wiec, korzystajac z modelu, mozna okreslic
celowosc zaangazowania komputera równoleglego w warunkach charakterystycznych dla
uzytkownika.
Modele zaprezentowane w rozdziale 5.2 sluza do okreslania
charakterystyki
wydajnosciowej aplikacji generujacej fraktal. Na postawie modeli (5.6) oraz (5.8) mozna
okreslic czas wykonania programu w zaleznosci od rozdzielczosci obrazu, ilosci kolorów oraz
ilosci zaangazowanych procesorów.,
Model (5.6) utworzony zostal przy pomocy regresji wielorakiej. Przy wartosciach
parametrów wejsciowych: rozdzielczosc 800x600 oraz ilosci kolorów 65536, zadanie przy
uzyciu komputera dwuprocesorowego zostanie wykonane w 83,436 jednostek. Ta sama
aplikacja na komputerze czteroprocesorowym wykonana zostanie w 41,38039 jednostek.
Równanie (5.8) jest modelem
regresji segmentowej, a wartosc czasu z tymi samymi
wartosciami parametrów wejsciowych wynosi odpowiednio 85,37949 oraz 38,52639.
Poniewaz równanie (5.8) cechuje sie wyzszym wskaznikiem dopasowania, wartosci sa
bardziej zblizone do danych doswiadczalnych. Podstawiajac do modelu parametry wejsciowe:
rozdzielczosc 1024x768 oraz 256 kolorów, z wykorzystaniem komputera dwuprocesorowego,
czas wykonania zadania wynosi 0,663, a na komputerze czteroprocesorowym wynosi 0,297.
80
Efektywnosc wykonania aplikacji w zaleznosci od ilosci procesorów oraz podzialu na
okreslona ilosc watków prognozowac mozna w oparciu o model (5.9). Utworzony on zostal z
wykorzystaniem regresji segmentowej, która opisuje rozklad wartosci za pomoca sumy
funkcji liniowych. Podczas estymacji szacowany jest punkt przelamania, dzieki któremu
nalezy wybrac odpowiedni czlon modelu. Dla przedstawionego modelu punkt przelamania
wynosi 0,684. Wartosci efektywnosci mniejsze od punktu przelamania opisane sa przy
pomocy pierwszego czlonu równania, a wartosci wieksze niz 0,684 opisuje drugi czlon
modelu. Prognozowanie na podstawie modelu (5.9) przedstawia Tabela 5.4. Wartosci
odpowiednie dla modelowania wyróznione zostaly szarym tlem.
Tabela 5.4 Korzystanie z modelu efektywnosci dla aplikacji generujacej fraktal
0,289947
0,245823
0,157575
-0,01892
0,519193
0,475069
0,386821
0,210325
ilosc
ilosc
procesorów watków
0,975949
2
0,974331
2
0,971095
2
0,964623
2
1,717691
4
1,716073
4
1,712837
4
1,706365
4
2
4
8
16
2
4
8
16
W rozdziale 5.4 przedstawiono modele charakteryzujace program oparty na metodzie
simplex. Jak wczesniej wspomniano zrównoleglony program nie daje zadawalajacej
efektywnosci dla badanej próbki. Za pomoca modelu (2.25) mozna natomiast okreslic, ze przy
100 zmiennych uzytych w funkcji celu, 100 ograniczeniach i przy podziale na 8 watków
efektywnosc wyniesie 0,304045, a dla 200 zmiennych w funkcji celu, 200 ograniczen i przy
podziale na 16 watków, efektywnosc zrównoleglenia wzrosnie do 0,495641.
Efektywnosc aplikacji sluzacej do liczenia calki opisuje model (5.27). Jako zmienne
wejsciowe w modelu uwzgledniono ilosc przedzialów calkowania oraz podzial a okreslona
ilosc watków niezaleznie wykonujacych kod. Podstawiajac do modelu odpowiednie pary
parametrów uzyskuje sie wartosc wyjsciowa. Zestawienie wartosci prognozowanych
przedstawia Tabela 5.5.
Tabela 5.5 Prognozowanie wartosci efektywnosci dla aplikacji liczacej calke
Ilosc watków
Przedzialy
efektywnosc
81
calkowania
2
4
2
3
4
2
3
4
5
2
3
4
5
50
50
100
100
100
200
200
200
200
400
400
400
400
80,84217
30,40227
83,95415
64,75284
36,6262
90,17809
74,08876
49,07411
15,13415
102,626
92,76059
73,96989
46,25388
Na podstawie Tabela 5.5 mozna wyciagnac wnioski odnosnie parametrów
uruchomienia aplikacji w celu efektywnego wykorzystania komputera równoleglego.
Zwiekszenie ilosci watków zaangazowanych do wykonania zadania pogarsza efektywnosc
wykonania aplikacji. Ma to zwiazek z synchronizacja obliczen. Dysponujac modelem mozna
wybrac wariant zastosowania parametrów wejsciowych dajacy najbardziej korzystna wielkosc
szacowanej wartosci.
W rozdziale 5.6 przedstawiono modele charakteryzujace aplikacje odpowiedzialna za
okreslanie stopnia korelacji dwóch obrazów. Jako parametry wejsciowe wybrano ilosc
procesorów oraz wielkosc zadania, czyli rozdzielczosc obrazu.
Na podstawie modelu (5.28) wyliczyc mozna, iz efektywnosc aplikacji 50x50
uruchamianej na dwóch procesorach siega 93%, natomiast przy wykorzystaniu czterech
procesorów wynosi 61%. Dla rozmiaru problemu 200x200 efektywnosc przy dwóch
procesorach wynosi 99%, przy trzech 79%, a przy czterech procesorach spada do 67%.
Przyszly uzytkownik aplikacji moze wiec odpowiedziec na
pytanie, czy wskazniki
wykorzystania aplikacji sa akceptowalne. Za pomoca modelu (5.30) prognozowac mozna
czas wykonania aplikacji w zaleznosci od wyzej wymienionych czynników. Przy rozmiarze
200x200 na maszynie dwuprocesorowej czas wynosi 20,47 s, na maszynie trzyprocesorowej
19,11, a dla czterech procesorów 17,74.
Wykorzystujac modele statystyczne mozna szacowac wartosci wydajnosci aplikacji
równoleglych. Mozna wybierac najbardziej korzystny wariant uruchomienia, a takze
zorientowac sie, czy przy posiadanej bazie sprzetowej zastosowanie aplikacji równoleglych
jest oplacalne pod wzgledem wykorzystania zasobów.
82
Nalezy zwrócic uwage, iz program STATISTICA wyswietla wartosci parametrów
modelu z szescioma miejscami po przecinku. Rzeczywista wartosc ma czesto wieksza
dokladnosc. Dlatego celowym jest przekopiowanie wartosci otrzymanych w programie
STATISTICA do srodowisk matematycznych, lub do programu EXCEL, a nastepnie
podstawianie konkretnych wartosci zmiennych wejsciowych.
5.8 Podsumowanie
W rozdziale 5, na podstawie metodyki przedstawionej w punkcie 4, opracowane
zostaly modele okreslajace czas wykonania programów, ich przyspieszenie oraz efektywnosc
dla przykladowych zadan, czyli charakteryzujace aplikacje równolegle. Doswiadczenia
zostaly tak dobrane, aby wykazac zasadnosc tworzenia matematycznego opisu badan w
postaci
modelu.
Pokazano
przyklady
wskazujace
zasadnosc
stosowania
maszyn
równoleglych, a takze przypadki, kiedy zaangazowanie ich nie jest celowym.
Rozdzial 5.1 zawiera model opisujacy aplikacje obliczajaca uklady równan metoda
eliminacji Gaussa. Badaniu poddano wplyw ilosci ukladów równan ilosci i rozmiaru watków,
a takze ilosci wykorzystywanych procesorów na czas wykonania programu, przyspieszenie
oraz efektywnosc zrównoleglenia.
W rozdziale 5.2 opisano zmienne istotnie wplywajace na efektywnosc i czas generacji
fraktala oraz utworzono odpowiednie modele dla aplikacji. Czynnikami uwzglednionymi w
modelach byly: liczba procesorów w komputerze, rozmiar okna zespolonego, ilosc kolorów,
ilosc watków równolegle wykonujacych petle oraz wielkosc porcji do wykonania (parametr
chunksize).
Model utworzony i przeanalizowany w rozdziale 5.3 charakteryzuje zrównoleglony
program mnozenia macierzy. Rozwaza wplyw rozmiaru macierzy oraz podzialu na okreslona
ilosc niezaleznie pracujacych watków na parametry wykonania programu.
Model wykorzystania metody simpleks do rozwiazywania zadan programowania
liniowego z uwzglednieniem wplywu liczby zmiennych opisujacych funkcje celu, liczby
ograniczen, oraz ilosci watków zawiera rozdzial 5.4.
Utworzono takze modele dla aplikacji liczacej podwójna calke (rozdzial 5.5) z
uwzglednieniem podzialu przestrzeni iteracji na okreslona liczbe watków oraz dokladnosc
obliczen.
Rozdzial 5.6 opisuje model dla aplikacji generujacej wspólczynniki dwuwymiarowej
korelacji fazowej i statycznej sluzace do okreslenia stopnia korelacji dwóch obrazów, przy
83
uwzglednieniu ilosci procesorów zaangazowanych do wykonania zadania oraz wielkosci
problemu, czyli ilosci punktów.
W
rozdziale
5.7
przedstawiono
prognozowanie
wartosci
na
podstawie
zaprezentowanych modeli. Przy uwzglednieniu róznych kombinacji czynników wejsciowych
modelu szacowano parametry charakterystyki wydajnosciowej aplikacji.
Modele dla róznego rodzaju zadan, ich analiza, weryfikacja dokonane zostaly w
oparciu o metodyke postepowania zaprezentowana w rozdziale 4.
Zaprezentowane w rozdziale 5 modele wskazuja, które z parametrów uruchamiania w
najbardziej znaczacy sposób wplywaja na wydajnosc aplikacji. Za pomoca modelu mozna
wybrac najbardziej korzystny wariant uruchomienia ze wzgledu na czas, przyspieszenie,
efektywnosc lub inny badany czynnik.
Majac gotowy model mozliwym jest, bez koniecznosci uruchamiania aplikacji,
okreslenie, poczawszy od jakiej wielkosci parametru zrównoleglenie jest celowym.
Dzieki modelowi statystycznemu traktowanemu jako opis zachowania sie programu,
mozna spowodowac oszczednosc czasu, kosztów, a takze obciazenia komputerów
równoleglych.
Przy uzyciu modelu mozna okreslic najbardziej korzystne dla danej aplikacji
srodowisko pracy.
Pomimo
wykorzystania
do
budowy
modeli
tylko
kilku
z
czynników
charakteryzujacych aplikacje, wspólczynniki dopasowania modeli do danych empirycznych
sa bardzo wysokie, co potwierdza slusznosc modelowania na podstawie zaprezentowanej
metodyki. Rezygnacja z ujecia w modelu wszystkich czynników, powoduje, iz modele moga
byc tworzone przez uzytkowników aplikacji, którzy nie maja mozliwosci wplywu na
wszystkie parametry sprzetowe i programowe aplikacji.
Dzieki modelom zaprezentowanym w rozdziale 5 oraz ich weryfikacji, potwierdzona
zostala slusznosc i poprawnosc, zaprezentowanej w pracy metodyki postepowania przy
okreslaniu modeli statystycznych charakteryzujacych aplikacje równolegle. Tym samym
udowodniono teze postawiona w pracy, iz mozliwe jest opracowanie metod tworzenia modeli
statystycznych, które opisywac beda czas wykonania programu, przyspieszenie oraz
efektywnosc aplikacji równoleglych, w zaleznosci od parametrów sprzetowych i
programowych z dokladnoscia prognozowania odpowiednia do zastosowania w praktyce.
84
6 Metodyka
postepowania
przy
budowie
modeli
statystycznych dla potrzeb srodowiska rozproszonego
W tworzonych ostatnio systemach komputerowych zauwazalna jest tendencja do
rozdzielania obliczen miedzy wiele procesorów. W porównaniu ze scisle powiazanymi
systemami, procesory te nie dziela pamieci ani zegara. Kazdy procesor ma wlasna pamiec
lokalna. Procesory komunikuja sie za pomoca róznych linii komunikacyjnych, na przyklad
szybkich szyn danych lub linii telefonicznych. Systemy takie nazywaja sie luzno
powiazanymi (ang. loosely coupled) lub rozproszonymi (ang. distributed systems)
[Cormen94].
W rozdziale 4 przedstawiono metodyke postepowania przy budowie modeli
statystycznych opisujacych efektywnosc równoleglego wykonywania programu. Celem
biezacego rozdzialu jest opisanie sposobu budowy modeli statystycznych dla potrzeb
srodowiska rozproszonego.
6.1 Zalozenia podstawowe
Ogólny schemat budowy modelu jest analogiczny jak w przypadku systemów
równoleglych i sklada sie z nastepujacych kroków:
-
okreslenie celu badan modelowych,
-
specyfikacja elementów systemu i jego otoczenia,
-
wybór klasy modelu,
-
estymacja wspólczynników i sprawdzenie poprawnosci modelu,
-
korzystanie z modelu.
Przed przystapieniem do budowy modelu nalezy okreslic cel badan modelowych.
Model statyczny powinien sluzyc prognozowaniu wartosci charakteryzujacych wydajnosc
aplikacji w zaleznosci od parametrów, które moga ulegac zmianie z poziomu uzytkownika
aplikacji.
Aby utworzyc model musimy dysponowac informacjami statystycznymi, uzyskanymi
w wyniku testowania programu. Dostarczeniem odpowiedniej ilosci pomiarów powinien
zajac sie producent oprogramowania. Im wiecej testów zostanie przeprowadzonych tym
utworzone modele beda mogly lepiej opisac srodowisko pracy programów.
85
Pomocnym przy tworzeniu modeli statystycznych charakteryzujacych zachowanie sie
aplikacji moga okazac sie zestawy benchmarków. Benchmarki to zestawy pomiarów,
sporzadzone
dzieki
specjalnemu
oprogramowaniu,
które
zawieraja
wyniki
testów
charakteryzujacych srodowisko uruchamiania programów [Patterson96].
Nalezy zastanowic sie nad lista zmiennych zaleznych oraz niezaleznych, czyli
parametrów za pomoca których zostanie opisana charakterystyka wydajnosciowa systemu
rozproszonego. Nalezy wyszczególnic wszystkie zmienne, które moga miec wplyw na jakosc
modelowania.
W przypadku aplikacji równoleglej jako zmienne istotne przy budowie modelu
rozwazano miedzy innymi ilosc procesorów, podzial na okreslona ilosc i wielkosc watków,
sposób dostepu do zasobów wspóldzielonych oraz cechy zadan wykonywanych przez
aplikacje. Dla aplikacji rozproszonych nalezy rozstrzygnac wplyw takich czynników jak ilosc
komputerów w systemie, moc obliczeniowa jednostek, wplyw homogenicznosci lub
heterogenicznosci wspólpracujacych komputerów, liczbe i rozmiar zadan, lokalnosc
programu, skalowalnosc programu, ilosc przesylanych danych, przepustowosc sieci
komputerowej.
Osoba tworzaca model podobnie jak w przypadku systemów równoleglych bedzie
traktowala aplikacje jako „czarna skrzynke”, wiec nie bedzie rozstrzygac problemu budowy
algorytmów, gdyz ich wybór powinien byc dokonany w fazie projektowania systemów.
W modelu pominiete beda takze pewne czynniki, których nie mozna jednoznacznie
przedstawic w równaniu i wyrazic ich w sposób liczbowy.
Model ma byc przyblizonym odtworzeniem najwazniejszych cech badanego obiektu.
Powinien pozwolic na okreslenie charakterystyki pracy systemu bez koniecznosci
uruchamiania aplikacji.
Przedstawiony sposób postepowania udzieli odpowiedzi na pytanie, jakie czynniki
powinny byc uwzglednione w modelach okreslajacych czas wykonania, przyspieszenie
wzgledem programu uruchamianego na pojedynczym komputerze oraz efektywnosci pracy
aplikacji w zaleznosci od dostepnych czynników programowych i sprzetowych.
6.2 Glównie czynniki majace wplyw na aplikacje rozproszone
Przy dostosowaniu metodyki przytoczonej w rozdziale 4 do potrzeb systemów
rozproszonych nalezy uzupelnic etap specyfikacji elementów systemu i jego otoczenia o
czynniki charakterystyczne dla tych srodowisk, które moga miec istotny wplyw na jakosc
modelowania i poprawne odzwierciedlenie badanych wlasnosci.
86
Do najistotniejszych czynników mogacych charakteryzowac zachowanie sie aplikacji
rozproszonej zaliczyc mozna:
-
ilosc komputerów w sieci zaangazowanych do wykonania zadania;
-
moc obliczeniowa jednostek, ze szczególnym uwzglednieniem ilosci zainstalowanej
pamieci RAM;
-
liczbe i rozmiar zadan wykonywanych poszczególnych stanowiskach;
-
lokalnosc programu;
-
ilosc przesylanych danych;
-
wplyw homogenicznosci lub heterogenicznosci wspólpracujacych komputerów;
-
przepustowosc sieci komputerowej;
-
cechy zadan wykonywanych przez aplikacje, czyli przeznaczenie programu, zakres
danych wejsciowych oraz inne elementy charakterystyczne dla danego zadania.
Pewne czynniki nie znajda swojego odzwierciedlenia w modelu matematycznym
opisujacym wydajnosc aplikacji rozproszonej. Glównym powodem nie rozpatrywania ich jest
niemozliwosc dokladnego okreslenia oraz przedstawienia ich w sposób liczbowy. Utworzone
modele beda sluszne w srodowiskach utworzonych przez te czynniki Do czynników tych
mozna zaliczyc miedzy innymi:
-
system operacyjny,
-
topologie polaczen sieciowych,
-
protokól transmisji danych.
6.2.1 Ilosc komputerów polaczonych w siec
W
przypadku
komputerów
równoleglych
istotnym
czynnikiem
opisujacym
charakterystyke wydajnosciowa aplikacji byla ilosc procesorów. W przypadku systemów
rozproszonych znaczaco na badany obiekt wplywa ilosc komputerów w sieci. Wiadomym
jest, iz przy odpowiednim przydziale zadan do poszczególnych komputerów mozna uzyskac
znaczne przyspieszenie wykonania programu. Jednak ilosc zaangazowanych komputerów
powinna byc adekwatna do czasochlonnosci i ilosci zadan do wykonania w programie.
Idea sieci komputerowej to zapewnienie dostepu do jak najwiekszej ilosci danych
przez jak najwieksza liczbe uzytkowników. Polaczenie komputerów powoduje zwiekszenie
zasobów i mozliwosc korzystania z nich przez wielu uzytkowników jednoczesnie [Comer99].
87
6.2.2 Moc obliczeniowa komputerów
Na efektownosc wykonywanych obliczen wplyw beda mialy nie tylko modele i
parametry procesora, ale takze rodzaje i pojemnosci pamieci. Odpowiednio dobrana
architektura sprzetowa, gwarantujaca szybki dostep do wspólnych zasobów znacznie
poprawia efektywnosc wykonania aplikacji.
Model statystyczny mozna utworzyc w oparciu o konkretna architekture sprzetowa,
wiec jako zmienne niezalezne nie beda wystepowaly parametry zwiazane z wydajnoscia
sprzetu. Modele tworzone moga byc takze w oparciu o takie parametry jak: ilosc pamieci
RAM, moc procesora, taktowanie zegara które beda zmiennymi i wystapia w modelu.
Procesory moga sie róznic miedzy soba szybkoscia taktowania. Jeden megaherc
(MHz) to milion cykli pracy procesora, czyli elementarnych operacji na sekunde. Przy
porównywaniu dwóch procesorów o jednakowej konstrukcji mozna przyjac, ze szybkosc
procesora jest proporcjonalna do szybkosci taktowania. Zwykle uwaza sie, ze szybszy
procesor jest lepszy. Jest to prawda jesli dysponuje sie nieograniczonym budzetem, jednak w
przypadku prawdziwych systemów powinno sie minimalizowac koszty. Dla problemów
ograniczonych przez wejscie/wyjscie istnieje zasada zwana prawem Eadline'a-Dedkova,
wedlug której z dwóch komputerów równoleglych o tej samym zsumowanym wskazniku
wydajnosci CPU lepsza wydajnosc dla aplikacji z dominujacymi operacjami wejscia/wyjscia
bedzie mial ten, który posiada wolniejsze procesory [Smith88].
Jako parametr modelu statystycznego mozna ujac ilosc dostepnej pamieci operacyjnej.
6.2.3 Liczba i rozmiar danych
Program podlega podzieleniu na obliczen na fragmenty, z których kazdy jest
wykonywany na oddzielnym komputerze. Po wykonaniu ciagu operacji, wchodzacych w
sklad kazdej z czesci, nastepuje faza synchronizacji, w której wyniki pracy poszczególnych
fragmentów laczone sa w rezultat koncowy.
Waznym elementem, który moze wplywac na wydajnosc aplikacji jest ilosc
przesylanych danych, czyli wielkosc paczki.
6.2.4 Homogenicznosc a heterogenicznosc srodowiska
W badaniach nalezy rozstrzygnac z jakich komputerów sklada sie srodowisko
rozproszone. Czy komputery sa porównywalnej klasy, czy tez siec sklada sie z komputerach o
róznej mocy obliczeniowej. W przypadku heterogenicznego srodowiska rozproszonego moze
zdarzyc sie iz czasy synchronizacji zadan wykonywanych na róznych wezlach sa bardzo duze,
88
co zwiazane jest z róznym czasem potrzebnym na wykonanie podobnej porcji zadan na
komputerach róznej klasy.
6.2.5 Przepustowosc sieci
Sposób dostepu do wspólnych zasobów odgrywa istotna role dla czasu wykonania, czy
przyspieszenia aplikacji. Srodowiska rozproszone cechuja sie dostepnoscia i minimalizacja
kosztów.
Pomiedzy poszczególnymi komputerami w sieci istnieje mozliwosc wymiany
informacji oraz dzielenie jej zasobów. Transmisja danych pomiedzy wszystkimi urzadzeniami
odbywa sie przy wykorzystaniu przewodów lub systemów zapewniajacych transmisje
bezprzewodowa (podczerwien, fale radiowe, mikrofale, transmisja satelitarna).
Przepustowosc, czyli wydajnosc okresla ile danych mozemy w sieci przekazac w
jednostce czasu. Jednostka jest liczba bitów na sekunde lub liczba bajtów na sekunde.
6.2.6 Lokalnosc programu
Do wykonania aplikacji w srodowisku rozproszonym wskazane jest uzycie wiekszej
ilosci komputerów. W takich przypadkach ogromna role odgrywa lokalnosc programu.
Odpowiedni przydzial zadan do poszczególnych komputerów wyeliminowac moze zbyt duze
czasy przesylu danych miedzy stanowiskami, wiec znaczaco wplywac moze na efektywnosc
wykonania kodu.
Lokalnosc czasowa [Bielecki02] jest cecha programów komputerowych, która polega
na tym, ze jezeli nastapilo odwolanie do pewnego elementu programu, to istnieje duze
prawdopodobienstwo, ze wkrótce nastapi nastepne odwolanie do tego samego elementu.
Lokalnosc
przestrzenna
[Bielecki02]
definiowana
jako
cecha
programów
komputerowych polegajaca na tym, ze jesli nastapilo odwolanie do pewnego elementu
programu, to istnieje duze prawdopodobienstwo, ze niedlugo nastapi odwolanie do elementu
sasiedniego (sekwencje instrukcji, liniowe struktury danych).
6.2.7 Cechy indywidualne aplikacji rozproszonych
Po zbadaniu wplywu cech sprzetowych charakteryzujacych srodowiska rozproszone,
nalezy przeanalizowac wplyw indywidualnych parametrów wykonywanych aplikacji. Cechy
te zaleza w glównej mierze od przeznaczenia programu. Moga nimi byc na przyklad: rzad
macierzy wykorzystywanych do obliczen, dokladnosc obliczen, ilosc kolorów uzytych do
generacji obrazu, rozdzielczosc wyswietlania grafiki.
89
Parametry wewnetrzne (mozliwe do zmiany dla uzytkowników aplikacji) wraz z
cechami sprzetowymi srodowisk rozproszonych, uzyte do generacji modeli, daja pelny obraz
ukladu zmiennej objasnianej.
Do budowy modelu nalezy uzyc tylko tych zmiennych, które osoba tworzaca model
uzna za najbardziej istotne w danym zastosowaniu. Pominiecie niektórych z cech nie powinno
wplywac na obraz zmiennej wyjsciowej podczas modelowania. W kolejnych etapach
modelowania, przy estymacji wspólczynników równania, zmienne, które nie oddzialuja w
sposób istotny na badane zjawisko zostana usuniete z modelu. Jednak zbyt duza liczba
parametrów wykorzystywanych do estymacji zmniejsza przejrzystosc modelu, a czasami
uniemozliwia poprawne jego utworzenie.
Pewne czynniki nie beda zawarte w modelach, jednak modelowanie bedzie odbywalo
sie w ich otoczeniu. Mowa tu o rozproszonych srodowiskach sieciowych, topologii polaczen
sieciowych, protokolach transmisji danych, czy skalowalnosci systemu okreslanej jako jego
zdolnosc elastycznego dopasowania sie do zwiekszonej liczby procesorów. Nalezy tak
dobierac parametry uruchamiania programu, aby nie stracic na skalowalnosci aplikacji.
6.3 Analiza i weryfikacja modeli
Analiza i weryfikacja modeli tozsama jest ze sposobem postepowania opisanym w
rozdziale 4. Po zbadaniu rozkladu zmiennych nalezy dokonac wyboru klasy modelu (rozdzial
4.3). Badania tego dokonac mozna na podstawie analizy rozkladu zmiennych poprzez
okreslanie linii trendu, badz przy pomocy narzedzi komputerowych. Do najczesciej
wystepujacych postaci linii regresji zaliczyc mozna: liniowa, potegowa, wykladnicza,
logarytmiczna lub zdefiniowana przez uzytkownika w celu wlasciwego odwzorowania
rzeczywistosci. Mozna takze skorzystac z regresji segmentowej, która badana zmienna
wyjsciowa opisuje z wykorzystaniem sumy funkcji liniowych. Nastepnie za pomoca narzedzi
komputerowych przystapic do estymacji wspólczynników modelu (rozdzial 2.3 oraz 4.4).
Estymacja to szacowanie wartosci parametrów lub postaci funkcji rozkladu
prawdopodobienstwa w populacji generalnej na podstawie wyników próby. Im wiecej
wskazników zostanie do tego celu uzytych tym jest wieksza pewnosc, ze dokonano slusznej
analizy, a wartosci uzyskane z modelu beda wiernie odzwierciedlaly dane rzeczywiste.
Estymacja parametrów modelu statystycznego powinna odbywac sie z wykorzystaniem
narzedzi komputerowych. Istnieje wiele srodowisk matematycznych oferujacych moduly
statystyki matematycznej. Do tworzenia modeli proponuje sie korzystanie z pakietu
90
STATISTICA, który generuje wartosci parametrów modelu, a takze szereg wskazników i
statystyk pozwalajacych zweryfikowac utworzone równania.
Po uzyskaniu postaci modelu statystycznego opisujacego zachowanie sie aplikacji
nalezy przystapic do weryfikacji hipotez statystycznych, czyli sprawdzenia ich poprawnosci.
Weryfikacja hipotez statystycznych to sprawdzanie pewnych zalozen wysunietych w
odniesieniu do parametrów lub rozkladów populacji generalnej na podstawie wyników próby
[Oktaba86]. Rozstrzygniecie miedzy przynajmniej dwiema konkurencyjnymi hipotezami
dotyczacymi zjawisk dokonywane jest w oparciu o hipotezy statystyczne. W problemie
dwudecyzyjnym weryfikacja hipotezy zerowej H0 polega na wyborze odpowiedniej zmiennej
losowej, tzw. testu, obliczeniu jego wartosci obserwowanej oraz sprawdzeniu, do jakiego
obszaru wartosc ta nalezy. Obszar wartosci, jakie test moze przyjmowac dzieli sie na dwa
rozlaczne podzbiory: obszar krytyczny i obszar akceptacji, wyznaczane przy ustalonym z
góry poziomie istotnosci α. Gdy wartosc obserwowana nalezy do obszaru krytycznego
hipoteza H0 jest odrzucana, jednoczesnie akceptowana jest hipoteza alternatywna H1
[Stanisz98].
Parametrami, na podstawie których okreslic mozna poprawnosc wyestymowanych
wspólczynników modelu oraz zweryfikowac slusznosc modelowania, generowanymi przez
program STATISTICA sa miedzy innymi:
•
Blad st. BETA jest to wartosc bledu szacunku dla (parametru) wspólczynnika
regresji, gdyby zostala ona wprowadzona do równania regresji jako zmienna
niezalezna.
•
Poziom
p
nazywany
jest
poziomem
istotnosci
statystycznej
dla
wspólczynników regresji.
•
Wspólczynnik korelacji wielorakiej wyjasnia, w jakim zwiazku pozostaje
zmienna objasniana z pozostalymi zmiennymi (objasniajacymi) w modelu.
•
Wspólczynniki determinacji, wskazuje jak model wyjasnia ksztaltowanie sie
zmiennej objasnianej.
O dobrym dopasowaniu modelu do danych empirycznych moga swiadczyc ponadto
wykresy rozkladu wartosci przewidywanych oraz obserwowanych. Punkty wyznaczone z
modelu oraz wyznaczone droga doswiadczalna powinny ukladac sie wzdluz linii prostej.
Pozostale miary oceny poprawnosci wygenerowanych modeli zawiera rozdzial 2.4.
91
Po utworzeniu modelu, jego weryfikacji, eliminacji bledów mozna przystapic do
prognozowania zachowania sie aplikacji.
Utworzony model moze wskazac najbardziej korzystny wariant uruchomienia ze
wzgledu na czas, przyspieszenie, efektywnosc lub inny badany czynnik. Opis zjawiska za
pomoca modelu pomaga w podjeciu decyzji odnosnie warunków i parametrów uruchamiania
aplikacji rozproszonej, wskazuje zmienne najbardziej lub najmniej istotnie wplywajace na
aplikacje.
Róznica
miedzy
metodyka
postepowania
dla
sytemu
równoleglego
oraz
rozproszonego dotyczy glównie specyfikacji elementów systemu i jego otoczenia.
W przypadku systemów rozproszonych wieksza jest liczba czynników, które maja
wplyw na postac modelu. Wyróznic mozna takze wiecej cech, których nie da sie przedstawic
w sposób liczbowy i umiescic jako parametry modelu, tylko modele tworzone sa dla
konkretnych ukladów tych czynników. Mowa tu o takich czynnikach jak: rozproszone
srodowisko operacyjne, protokoly transmisji danych, ustalenie priorytetów wykonania
programu itp.
6.4 Podsumowanie
W rozdziale 6 przedstawiono metodyke postepowania przy budowie modeli
statystycznych
opisujacych
efektywnosc
wykonywania
programu
w
srodowisku
rozproszonym, która jest wynikiem pracy wlasnej.
Pierwszym krokiem (podobnie jak dla systemów równoleglych) jest okreslenie celu
badan modelowych. Osoba tworzaca model powinna zastanowic sie, czemu maja sluzyc
tworzone
modele.
Model
powinien
prognozowac
wartosci
wydajnosci
rozproszonego, czyli czas wykonania, przyspieszenie, efektywnosc.
systemu
Stworzenie modeli
pozwoli na badanie i przewidywanie wplywu pewnych czynników na wydajnosc aplikacji,
bez koniecznosci jej uruchamiania.
Korzystajac z modeli, osoba zainteresowana rozproszeniem wykonywania obliczen na
kilka komputerów, moze zorientowac sie, w jakim stopniu zmianie ulegna wartosci
charakterystyk wydajnosciowych, w przypadku zastosowania róznych architektur srodowisk
rozproszonych.
Aby utworzyc model nalezy dysponowac informacjami statystycznymi. Dostarczeniem
odpowiedniej ilosci pomiarów powinien zajac sie producent oprogramowania, badz
pozyskane powinny byc one z benchmarków dla systemów rozproszonych.
92
Drugi etap zaproponowanej metodyki dotyczy wyboru zmiennych wykorzystywanych
do budowy modelu (rozdzial 6.2).
Osoba tworzaca model (zgodnie z zalozeniami dla systemów równoleglych) bedzie
traktowala aplikacje jako „czarna skrzynke”, wiec nie bedzie rozstrzygac problemu budowy
algorytmów, gdyz ich wybór powinien byc dokonany w fazie projektowania systemów.
W modelu pominiete beda takze pewne czynniki, których nie mozna jednoznacznie
przedstawic w modelu i wyrazic ich w sposób liczbowy.
Do najistotniejszych czynników mogacych charakteryzowac zachowanie sie aplikacji
rozproszonych zaliczyc mozna: ilosc komputerów w sieci zaangazowanych do wykonania
zadania, moc obliczeniowa jednostek, ze szczególnym uwzglednieniem ilosci zainstalowanej
pamieci RAM, liczbe i rozmiar zadan wykonywanych poszczególnych stanowiskach,
lokalnosc
programu,
ilosc
przesylanych
danych,
wplyw
homogenicznosci
lub
heterogenicznosci wspólpracujacych komputerów, przepustowosc sieci komputerowej oraz
cechy zadan wykonywanych przez aplikacje, czyli przeznaczenie programu, zakres danych
wejsciowych oraz inne elementy charakterystyczne dla danego programu.
Pewne czynniki nie znajda swojego odzwierciedlenia w modelu matematycznym
opisujacym wydajnosc aplikacji rozproszonej. Glównym powodem nie rozpatrywania ich w
modelu jest niemozliwosc dokladnego okreslenia
oraz przedstawienia ich w sposób
liczbowy. Utworzone modele beda sluszne w srodowiskach utworzonych przez czynniki takie
jak system operacyjny, topologie polaczen sieciowych, protokoly transmisji danych.
Analiza i weryfikacja modeli tozsama jest ze sposobem postepowania dla systemów
równoleglych. Po zbadaniu rozkladu zmiennych nalezy dokonac wyboru klasy modelu.
Badania tego dokonac mozna na podstawie analizy rozkladu zmiennych poprzez okreslanie
linii trendu. Nastepnie za pomoca narzedzi komputerowych nalezy przystapic do estymacji
wspólczynników. Estymacja to szacowanie wartosci parametrów lub postaci funkcji rozkladu
prawdopodobienstwa w populacji generowanej na podstawie wyników próby. Po uzyskaniu
postaci modelu statystycznego opisujacego zachowanie sie aplikacji nalezy przystapic do
weryfikacji hipotez statystycznych, czyli sprawdzenia ich poprawnosci i okreslenia, czy
model moze byc zastosowany do prognozowania wydajnosci aplikacji rozproszonych, z
dokladnoscia akceptowalna do zastosowania w praktyce.
Róznica
miedzy
metodyka
postepowania
dla
sytemu
równoleglego
oraz
rozproszonego dotyczy glównie specyfikacji elementów systemu i jego otoczenia. W
przypadku systemów rozproszonych wieksza jest liczba czynników, które maja wplyw na
postac modelu. Wyróznic mozna takze wiecej cech, których nie da sie przedstawic w sposób
93
liczbowy i umiescic jako parametry modelu, tylko modele tworzone sa dla konkretnych
ukladów tych czynników.
Mimo pominiecia w modelu wielu z czynników charakteryzujacych badane zjawisko,
wartosci wspólczynników dopasowania modelu do danych rzeczywistych sa bardzo wysokie,
co swiadczy o odpowiednim wyborze zmiennych objasniajacych oraz poprawnosci
zaprezentowanej metodyki.
Utworzony model moze wskazac najbardziej korzystny wariant uruchomienia ze
wzgledu na czas, przyspieszenie, efektywnosc lub inny badany czynnik. Opis zjawiska za
pomoca modelu pomaga w podjeciu decyzji odnosnie warunków i parametrów uruchamiania
aplikacji rozproszonej, wskazuje zmienne najbardziej lub najmniej istotnie wplywajace na
aplikacje.
94
7 Zastosowanie opracowanej metodyki do prognozowania
wydajnosci aplikacji wykonywanych w srodowiskach
rozproszonych
7.1
Badanie wydajnosci aplikacji rozwiazujacej
uklady równan
rekurencyjnych
Jako przyklad aplikacji dzialajacej w srodowisku rozproszonym wybrano program
rozwiazujacy uklady n równan rekurencyjnych rzedu m. Funkcja lub typ danych sa
rekurencyjne, jezeli w ich definicji nastepuje odwolanie do nich samych. Dla takiego
problemu stworzono modele statystyczne opisujace efektywnosc, przyspieszenie oraz czas
wykonania programu w srodowisku rozproszonym.
Przedstawione modele statystyczne sa wykonane przy wykorzystaniu metodyki
zaproponowanej w rozdziale 6. Pierwszym krokiem jest okreslenie celu badan modelowych,
czyli okreslenie zakresu stosowalnosci modelu. Model powinien prognozowac wartosci
wydajnosci systemu rozproszonego, czyli czas wykonania, przyspieszenie, efektywnosc.
Stworzenie modeli pozwoli na badanie i przewidywanie wplywu pewnych czynników na
wydajnosc
aplikacji,
bez
koniecznosci
jej
uruchamiania.
Korzystajac
z
modeli
matematycznych osoba zainteresowana rozproszeniem wykonywania obliczen na kilka
komputerów moze zorientowac sie w jakim stopniu zmianie ulegna wartosci charakterystyk
wydajnosciowych w zaleznosci od posiadanej bazy sprzetowej.
Aby utworzyc model nalezy dysponowac informacjami statystycznymi, uzyskanymi w
wyniku testowania programu. W przypadku omawianej aplikacji dane zostaly udostepnione
przez pracowników Wydzialu Informatyki UMCS w ramach pracy [Stpiczynski92].
Otrzymane
czasy
zawarte
sa
na
plycie
dolaczonej
do
pracy
w
katalogu
\WYNIKI\ROZPROSZONY\ROWNANIA.
7.1.1 Zakres danych do analizy
W rozdziale zostana utworzone modele czasu wykonania aplikacji w srodowisku
rozproszonym, efektywnosci pracy srodowiska oraz przyspieszenia wykonania kodu w
stosunku do programu wykonywanego na jednym komputerze.
95
Podczas wyboru zmiennych wejsciowych, czyli takich, które moga miec istotny
wplyw na parametry wydajnosci przeanalizowano cechy podane w punkcie drugim metodyki
(rozdzial 6.2). Wybierajac zmienne nalezy miec, z poziomu uzytkownika, mozliwosc wplywu
na nie. Powinny byc one takze mozliwe do jednoznacznego okreslenia. Dla danego przypadku
wybrano nastepujacy zestaw zmiennych:
-
liczbe komputerów zaangazowanych do wykonania programu – P. Program testowano
na 4, 8 oraz 15 komputerach PIII 666 MHz posiadajacych 256 RAM, dzialajacych pod
Linux-em i polaczonych Ethernetem o przepustowosci 100Mb;
-
ilosc równan rekurencyjnych – N;
-
rzad macierzy, czyli wartosc informujaca ile poprzednio obliczonych wartosci nalezy
uzyc do obliczenia kolejnego wspólczynnika – M;
-
parametr S okreslajacy liczbe wierszy w macierzach, które sa wykorzystywane do
rozwiazania równania (jest to parametr metody, od jego wlasciwego wyboru zalezy
szybkosc dzialania algorytmu);
Przykladowe czasy wykonania programu dla 1000000 równan z uwzglednieniem
rzedu macierzy przedstawia Rys. 7.1.
Rys. 7.1 Czas wykonania programu – N= 1000000
Tak przygotowane dane poddano analizie w celu wyboru postaci funkcji
aproksymujacej. Ze wzgledu na niejednorodnosc rozkladu podjeto decyzje o zastosowaniu
regresji segmentowej, która w przypadku nierównomiernych rozkladów zmiennych cale
zadanie opisuje za pomoca sumy kilku funkcji matematycznych. Nastepnie za pomoca
narzedzi komputerowych przystapiono do estymacji wspólczynników. Estymacja dokonana
powinna byc z wykorzystaniem oprogramowania matematycznego zawierajacego moduly
analizy statystycznej. Warunki te spelnia pakiet STATISTICA.
W module estymacja nieliniowa stworzono model z wykorzystaniem regresji
segmentowej i dokonano jego analizy.
96
7.1.2 Modele statystyczne czasu wykonania aplikacji
Po okresleniu celu badan modelowych, specyfikacji zmiennych uwzglednianych w
modelu oraz wyborze postaci funkcji aproksymujacej zgodnie z zaproponowana metodyka
nalezy dokonac estymacji wspólczynników modelu orazprzeporowadzic jego weryfikacje.
Dla danego przykladu zbadano wplyw zmiennych niezaleznych (rzad macierzy - M,
parametr S, ilosc równan- N oraz ilosc procesorów P) na zmienna zalezna jaka jest CZAS
wykonania programu w srodowisku rozproszonym (Rys. 7.2).
Rys. 7.2 Podsumowanie regresji dla zmiennej CZAS
Wartosci bezwzgledne statystyki |t| oraz testu F-Snedecora sa duzo wieksze od
wartosci krytycznej, co potwierdza hipoteze o ich istotnosci. Kwadrat wspólczynnika
korelacji R2 =0,99568 jest bardzo wyskoki i swiadczy o bardzo dobrym dopasowaniu wartosci
do danych doswiadczalnych. Model na podstawie którego prognozowac mozna wartosci
czasu przyjmuje nastepujaca postac:
Czas = 0,162826 − 0,001770 * M + 0,00009 * S + 0,0000001 * N − 0,035155 * P +
+ 0,179383 − 0,162822 * M + 0,07187 * S + 0,000004 * N − 0,092303 * P
Jako potwierdzenie poprawnego prognozowania na Rys. 7.3
( 7.1)
przedstawiono czasy
doswiadczalne oraz czasy obliczone z modelu matematycznego dla analizowanego zadania,
przy wykorzystaniu 8 komputerów oraz dla rzedu macierzy (M) zmieniajacego sie w zakresie
<1;25>. Wartosci prognozowane na podstawie modelu sa zblizone do rzeczywistych, co
pozwala na opis wydajnosci aplikacji za pomoca przedstawionej funkcji matematycznej.
0,8
0,6
0,4
0,2
0
0
5
10
15
wartosci przewidywane
20
25
30
wartosci obserwowane
Rys. 7.3 Wartosci obserwowane oraz prognozowane dla aplikacji uruchamianej na 8 komputerach
Zestawienie wartosci oczekiwanych, obserwowanych oraz ich róznice przedstawia
Tabela 7.1.
97
Tabela 7.1 Zestawienie wartosci przewidywanych i obserwowanych
Wartosci
Wartosci
Rzad macierzy przewidywane obserwowane
1
0,132903
0,155539
2
0,214827
0,169917
3
0,246861
0,178396
4
0,303659
0,187893
5
0,327919
0,204643
6
0,373872
0,214442
7
0,394155
0,229331
8
0,413535
0,236233
9
0,451353
0,252252
10
0,468383
0,272117
11
0,502404
0,281724
12
0,517626
0,294967
13
0,548756
0,315565
14
0,562713
0,330496
15
0,576308
0,35366
16
0,604364
0,35074
17
0,617056
0,498356
18
0,643304
0,572763
19
0,655273
0,591759
20
0,679895
0,615394
21
0,69114
0,673544
22
0,714677
0,649363
23
0,725199
0,673332
24
0,735541
0,690628
Róznica
-0,02264
0,04491
0,068465
0,115766
0,123276
0,15943
0,164824
0,177302
0,199101
0,196266
0,22068
0,222659
0,233191
0,232217
0,222648
0,253624
0,1187
0,070541
0,063514
0,064501
0,017596
0,065314
0,051867
0,044913
Na Rys. 7.4 przedstawiono wartosci czasu wyznaczonego na podstawie modelu oraz
otrzymanego droga doswiadczalna dla rzedu macierzy m=8 na 4, 8 oraz 15 komputerach
rozproszonych.
0,8
0,7
0,6
0,5
0,4
0,3
0,2
0,1
0
wartosci
wyznaczone z
modelu
wartosci
wyznaczoe
doswiadczalnie
15
4
8
Rys. 7.4 Róznice miedzy wartosciami doswiadczalnymi i prognozowanymi
Przy rozwazeniu wplywu tylko dwóch czynników (N,P) model ze wspólczynnikiem
dopasowania 0,98428 i punktem przelamania 3,6047 przyjal postac:
Czas = 0,334358+ 0,0000001* N − 0,035621* P +
( 7.2)
0,121527+ 0,000004* N + 0,082174* P
Rozpatrujac
wplyw
trzech
czynników
(N,P,M)
model
przyjal
postac
(ze
wspólczynnikiem dopasowania 0,9946 i punktem przelamania 0,101):
98
Czas = 0,085413 + 0,008442 * M + 0,0000001* N − 0,03732 * P +
( 7.3)
− 0,135035 + 0,893766 * M + 0,000001* N − 0, 457852 * P
Przedstawione modele prognozuja czas wykonania aplikacji, w zaleznosci od
czynników mozliwych do zmiany dla uzytkownika programu. Na ich podstawie mozna
okreslac charakterystyke bez uruchamiania aplikacji. Wartosci otrzymanych wskazników
dopasowania modelu do danych empirycznych, statystyki, testy oraz porównania i
zestawienia
pokazuja,
iz
otrzymywane
róznice
w
wartosciach
rzeczywistych
i
prognozowanych sa niewielkie, wiec wartosci obliczone z modelu z powodzeniem moga byc
zastosowane w praktyce.
7.1.3 Efektywnosc oraz przyspieszenie wykonania kodu
Modele
statystyczne
opisujace
efektywnosc
aplikacji
mozna
utworzyc
z
wykorzystaniem regresji segmentowej. Daje ona mozliwosc opisu badanego zjawiska za
pomoca sumy funkcji liniowych. Przy uzyciu pakietu STATISTICA utworzono model
efektywnosci wykonania aplikacji. Zgodnie z podsumowaniem regresji wygenerowanym
przez program (Rys. 7.5) efektywnosc wykonania kodu w srodowisku rozproszonym zostala
opisana przy pomocy nastepujacego równania:
E = 0,731237 − 0,000099 * M + 0,000006 * S − 0,0000001 * N − 0,009665 * P +
+ 0,978506 + 0,001894 * M + 0,000001* S + 0,000001 * N − 0,009041* P
( 7.4)
Rys. 7.5 Podsumowanie regresji dla zmiennej EFEKTYWNOSC
Po
estymacji
wspólczynników
modelu
nalezy
zweryfikowac
poprawnosc
modelowania. Analiza wyników badania statystycznego oraz sformulowanie ocen i wniosków
jest przepustka do wdrazania modeli do praktyki. Wspólczynnik dopasowania wartosci
otrzymanych z modelu, do wartosci empirycznych wynosi 0,84526, co stanowi wartosc
akceptowalna do zastosowania w praktyce. Podobnie wartosci testów i statystyk generowane
przez program STATISTICA wskazuja na poprawnosc zaprezentowanego modelu.
99
Model, na podstawie którego prognozowac mozna przyspieszenie wykonania
programu wzgledem wykonania synchronicznego zdefiniowac mozna nastepujaco, (ze
wspólczynnikiem 0,92789 i punktem przelamania 7,53)
SPEEDUP = 2,871873 + 0,020577 * M − 0,000015 * S − 0 ,0000001 * N + 0 ,185276 * P +
( 7.5)
+ 0,01886 + 0,015691 * M + 0,000129 * S + 0,000001 * N + 0,599011 * P
Opracowane modele moga pomóc w podjeciu decyzji, które z
parametrów
uruchomienia programu nalezy wybrac, aby otrzymac satysfakcjonujace wyniki zwiazane z
wydajnoscia aplikacji. Na podstawie modelu mozna prognozowac, czy wykorzystanie wielu
procesorów do zadania obliczeniowego jest wskazane, badz mozna okreslic ramy czasowe
wykonania programu.
7.2
Analiza wplywu wartosci wspólczynnika na czas generacji
rozwiazania
Badana aplikacja odpowiedzialna jest za rozwiazywanie równan rekurencyjnych.
Analizie poddano wplyw parametru S na czas wykonania programu oraz efektywne
wykorzystanie dostepnych procesorów. Rozwazany parametr okresla liczbe wierszy w
macierzach, które sa wykorzystywane do rozwiazania równania. Wiadomym jest, iz od
odpowiedniego doboru wartosci wspólczynnika zalezy szybkosc dzialania algorytmu.
7.2.1 Zalozenia wstepne
Stworzenie modeli statystycznych ma na celu opisanie zachowania systemu
rozproszonego pod wzgledem czasu wykonania, przyspieszenia, efektywnosci. Za ich pomoca
mozna badac i przewidywac wplyw pewnych czynników na wydajnosc aplikacji, bez
koniecznosci jej uruchamiania. Stosujac modele matematyczne mozna zorientowac sie w
jakim stopniu podczas zastosowania srodowiska rozproszonego zmienia sie wartosci
charakterystyk wydajnosciowych w zaleznosci od posiadanej bazy sprzetowej.
Drugim
etapem
w
zaproponowanej
metodyce
jest
wybór
zmiennych
wykorzystywanych do budowy modelu. Dokladne rozpoznanie i wyszczególnienie
wszystkich zmiennych charakterystycznych dla danej aplikacji i srodowiska jej uruchomienia
ma wplyw na jakosc modelowania. Model statystyczny budowany jest w oparciu o dane
doswiadczalne uzyskane podczas testowania aplikacji. Czasy wykonania programów w
srodowisku rozproszonym udostepnione zostaly przez pracowników Wydzialu Informatyki
UMCS w ramach pracy [Stpiczynski92] i zamieszczone na plycie dolaczonej do pracy w
katalogu \WYNIKI\ROZPROSZONY\PARAMETR.
100
Zaprezentowane
wyniki
dotycza
obliczen
na
klastrze
dwóch
komputerów
dwuprocesorowych. Zadanie dotyczylo obliczenia 1.000.000 równan rekurencyjnych (N =
1.000.000).
Jako zmienne majace istotny wplyw na parametry wyjsciowe (czas wykonania
programu w srodowisku rozproszonym, przyspieszenie w stosunku do programu
wykonywanego
sekwencyjnie,
efektywnosc
wykorzystania
dostepnych
procesorów)
rozwazono:
-
Ilosc komputerów P. Program testowano z wykorzystaniem 4, 8 oraz 15 komputerów
PIII 666 MHz posiadajacych 256 RAM, dzialajacych pod Linux-em i polaczonych
Ethernetem o przepustowosci 100Mb;
-
Wartosci parametru S, czyli ilosc wierszy w macierzach, które sa wykorzystywane do
rozwiazania;
-
Rzad macierzy M. Program testowano dla rzedu macierzy wynoszacego odpowiednio
2, 4 oraz 16.
Pozostale czynniki wymienione w metodyce postepowania (rozdzial 6.2) nie zostaly
uwzglednione w modelach, ze wzgledu na brak mozliwosci przetestowania programu pod ich
katem.
7.2.2 Modele czasu wykonania
Kolejnym etapem modelowania jest okreslenie linii trendu. Na Rys. 7.6 przedstawiono
czas wykonania programu przy uzyciu dwóch oraz czterech procesorów.
Rys. 7.6 Czas wykonania programu przy wykorzystaniu 2 oraz 4 procesorów
Analizujac dane zawarte na Rys. 7.6 stwierdzic mozna, ze jedynie uzycie algorytmów
komputerowych pozwoli na uzyskanie w szybkim czasie poprawnie zbudowanego modelu
statystycznego. Dopasowanie linii trendu w sposób analityczny wykonane przy uzyciu
programu MS EXCEL, pociagaja za soba duze naklady pracy, a co za tym idzie sa
czasochlonne i obarczone duza niedokladnoscia wynikajaca z zaokraglen (dwie rózne
101
wartosci
calkowitej
wariancji
skladnika
losowego).
Zastosowanie
oprogramowania
matematycznego z wbudowanymi funkcjami statystycznymi pozwoli na zbudowanie
poprawnie skonstruowanego modelu oraz jego weryfikacje.
W programie STATISTICA dokonano analizy regresji, na której podstawie utworzono
model statystyczny opisujacy czas wykonania aplikacji rozwiazujacej 1000000 równan
rekurencyjnych w srodowisku rozproszonym.
Model zgodnie z Rys. 7.7 przyjal nastepujaca postac (7.6):
CZAS = −0,068353 - 0,002457 * M - 0,000001 * M * S + 0,82197 * M
+ 0,001471 * S − 0,0000001 * ( S * M ) 2 + 0,001097 * S * M
( 7.6)
Rys. 7.7 Podsumowanie regresji dla zmiennej zaleznej CZAS
Po wyestymowaniu wspólczynników modelu nalezy przystapic do jego weryfikacji.
Wsród kombinacji wyzej wymienionych zmiennych odrzucono, jako nieistotna dla
modelu zmienna S, ale wykorzystano iloczyn tej zmiennej oraz rzedu macierzy M.
Wspólczynnik korelacji wielorakiej R= 0,99982007 wyjasnia, w jakim zwiazku
pozostaje zmienna objasniana z pozostalymi zmiennymi (objasniajacymi) w modelu. Poziom
wspólczynnika R wskazuje na to, ze ksztaltowanie sie wartosci zmiennej objasnianej
podyktowane
jest
niemalze
calkowicie
ksztaltowaniem
sie
wartosci
zmiennych
objasniajacych. Wspólczynniki determinacji R2 =0,97202195 wskazuje na to, ze model
wyjasnia ksztaltowanie sie zmiennej objasnianej w ponad 97%, co jest bardzo zadawalajacym
wynikiem. O poprawnosci wygenerowanego modelu swiadczy takze wartosc statystyki F
(Snedecora) df F(7,272)=1485 oraz poziom istotnosci p<0,0000. Wartosci te wskazuja, iz
parametry modelu sa "lacznie" istotne statystycznie przy poziomie istotnosci p. Wykazuja
tym samym duza istotnosc statystyczna.
Mimo pominiecia w modelu wielu z czynników charakteryzujacych badane zjawisko
wartosci wspólczynników dopasowania modelu do danych rzeczywistych sa bardzo wysokie,
102
co swiadczy o odpowiednim wyborze zmiennych objasniajacych oraz poprawnosci
zaprezentowanej metodyki.
Utworzony model moze pomóc w podjeciu decyzji odnosnie warunków i parametrów
uruchamiania aplikacji. Za jego pomoca mozna bez koniecznosci uruchamiania programu
wybrac zmienna najbardziej lub najmniej znaczaco wplywajaca na obiekt. Korzystanie z
modelu moze spowodowac oszczednosc czasu, kosztów, a takze obciazenia systemów
rozproszonych.
7.2.3 Opis matematyczny efektywnosci aplikacji
Efektywnosc wykorzystania procesorów dla badanej aplikacji przedstawia Rys. 7.8.
Na podstawie jego analizy zdecydowano sie utworzyc modele statystyczne, wykorzystujac
rózne
metody
estymacji
wspólczynników.
Przy
uzyciu
programu
STATISTICA
wygenerowane zostaly modele przy pomocy regresji wielorakiej oraz estymacji nieliniowej
dokonanej
z
wykorzystaniem
regresji
segmentowej.
Postacie
modeli
wraz
ze
wspólczynnikami okreslajacymi stopien dopasowania danych wyznaczonych na podstawie
modelu do wartosci otrzymanych droga doswiadczalna zawiera Tabela 7.2.
1,4
1,2
1
0,8
0,6
0,4
0,2
0
m=2
m=4
m=16
0
5000
10000
15000
20000
Rys. 7.8 Efektywnosc zrównoleglenia w zaleznosci od rozmiaru macierzy
103
Tabela 7.2 Modele efektywnosci aplikacji rozwiazujacej równania rekurencyjne
RODZAJ
REGRESJI
POSTAC MODELU
WSPÓLCZYNNIK
KORELACJI /
WSPÓLCZYNNIK
DETERMINACJI
regresja
EFEKTYWNOSC = 0,911323 - 0,102619 * M - 0,000021 * S R=0,97765246
wielokrotna,
2
2
zmienne S, - 0,000007 * M * S + 0,004127 * M + 0,0000001 * S
M, S*M,
− 0,007539 * S + 0,007002 * S * M
R2 =0,9548933
S2 , M2 ,
( 7.7)
S1/2 , S*M1/2
regresja
wielokrotna,
zmienne
M, S, P,
M*S, M*P,
S*P
regresja
segmentowa
zmienne
M, S, P
EFEKTYWNOSC = 0,767941 + 0,047611 * M - 0,047611 * S
R=0,93447880
- 0,485760 * P - 0,001123 * M 2 + 0,000001 * M * S
− 0,002962 * M * P − 0,000003 * S * P
R2 =0,87175189
( 7.8)
EFEKTYWNOSC = 0,846243 + 0,011510 * M - 0,000009 * S
- 0,072623 * P + 0,888637 + 0,024991 * M
- 0,000007 * S - 0,092165 * P
R=0,9425625
( 7.9)
Po wygenerowaniu wartosci wspólczynników w modelach nalezy dokonac ich
weryfikacji.
Pierwsze dwa modele (7.7) oraz (7.8) utworzone zostaly przy uzyciu regresji
wielorakiej. Jako zmienne istotne dla modelu (7.7) wskazano S, M oraz kombinacje tych
wartosci w postaci kwadratów, pierwiastków oraz iloczynów.
Wspólczynnik determinacji
wyniósl R2 =0,9548933, co swiadczy o poprawnym odwzorowaniu wartosci empirycznych
oraz prognozowanych na podstawie modelu. Model (7.7) opisany jest przy uzyciu zmiennych
M, S oraz dodatkowo P okreslajacych liczbe procesorów potrzebnych do wykonania zadania.
Do modelu wykorzystano takze kombinacje iloczynów zmiennych. Wartosc wspólczynnika
determinacji jest nizsza niz dla poprzedniego modelu, wynosi R2 =0,87175189, ale stanowi
wartosc akceptowalna do zastosowania w praktyce.
Dla modelu (7.9) (wykonanego przy uzyciu regresji segmentowej), dokonano
porównania wartosci przewidywanych oraz obserwowanych dla zadania wykonywanego na
maszynie
dwuprocesorowej
z
uwzglednieniem
wartosci
parametru
S
z
zakresu
<10000;20000>. Jako parametry modelu wskazano tu podobnie jak w modelu (7.8) zmienne
M, S oraz P.
104
10
00
1
10
60
1
11
20
1
11
80
1
12
40
1
13
00
1
13
60
1
14
20
1
14
80
1
15
40
1
16
00
1
16
60
1
17
20
1
17
80
1
18
40
1
19
00
1
19
60
1
0,55
0,5
0,45
0,4
0,35
0,3
wartosci obserwowane
wartosci przewidywane
Rys. 7.9 Porównanie wartosci przewidywanych i obserwowanych
Wspólczynnik korelacji wielorakiej dla badanego modelu wynosi R=0,9425625 i
wyjasnia, w jakim zwiazku pozostaje zmienna objasniana z pozostalymi zmiennymi w
modelu. Poziom wspólczynnika R wskazuje na to, ze ksztaltowanie sie wartosci zmiennej
objasnianej podyktowane jest w ponad 95%
ksztaltowaniem sie wartosci zmiennych
objasniajacych.
Procenty odchylen dla problemu o rozmiarze 1000000, dla rzedu macierzy
wynoszacego 8 przedstawia Rys. 7.10.
15
10
5
0
-5 0
10
20
30
40
50
-10
-15
2 komputery
4 komputery
Rys. 7.10 Procentowy udzial odchylen wartosci prognozowanych na postawie modelu do wartosci
empirycznych
Powyzsze modele moga posluzyc do prognozowania efektywnosci dla omawianej
aplikacji. Swiadcza o tym wartosci przytoczonych wspólczynników dopasowania oraz
wskazniki i testy generowane przez program STATISTICA. Na podstawie modeli mozliwe
jest prognozowanie wydajnosci aplikacji w zaleznosci od posiadanych warunków
sprzetowych i programowych. Podstawiajac rózne wartosci parametrów wejsciowych do
modelu mozna zorientowac sie w jaki sposób zmiany te wplyna na wartosci zmiennej
objasnianej.
105
7.3 Modele statystyczne aplikacji odpowiedzialnej za mnozenie
macierzy
7.3.1 Charakterystyka srodowiska rozproszonego
Mnozenie macierzy jest jednym z prostszych mechanizmów, które mozna poddac
zrównolegleniu. Aplikacja uruchamiana byla w rozproszonym srodowisku heterogenicznym,
istniejacym na Wydziale Informatyki Politechniki Szczecinskiej, o architekturze podanej w
Tabela
7.3,
a
wyniki
testów
zamieszczone
zostaly
w
katalogu
\WYNIKI\ROZPROSZONY\MACIERZ, na plycie dolaczonej do pracy.
Tabela 7.3 Charakterystyka srodowiska rozproszonego (Wydzial Informatyki, Politechnika
Szczecinska)
SERWER
Opis techniczny
JOTA1
4 x P3 XEON 700 MHz
JOTA2
4 x P4 XEON 2,6 GHz
JOTA3
4 x P4 XEON 2 GHz
Zaprezentowane modele statystyczne powinny byc podstawa do
prognozowania
wartosci wydajnosci systemu rozproszonego, czyli czasu wykonania, przyspieszenia,
efektywnosci. Stworzenie modeli pozwoli na badanie i przewidywanie wplywu dostepnych i
mierzalnych czynników na wydajnosc aplikacji, bez koniecznosci jej uruchamiania.
Korzystajac
z
modeli
matematycznych
osoba
zainteresowana
rozproszeniem
wykonywania obliczen na kilka komputerów moze zorientowac sie w jakim stopniu zmianie
ulegna wartosci charakterystyk wydajnosciowych w zaleznosci od posiadanej bazy
sprzetowej.
Kolejnym
etapem
metodyki
przytoczonej
w
pracy
jest
wybór
zmiennych
wykorzystywanych do budowy modelu. Droga doswiadczalna uzyskano czasy wykonania
programu dla macierzy o rozmiarach 300x300, 400x400 oraz 500x500. Jako czas wykonania
programu w sposób sekwencyjny przyjeto czas wykonania zadania na jednym procesorze P3
XEON 700 MHz serwera JOTA1. Na tej podstawie obliczono przyspieszenie wykonania
zadania, a nastepnie dzielac je przez liczbe procesorów uzyskano efektywnosc wykonania
calej aplikacji.
7.3.2 Modele efektywnosci dla rozproszonego mnozenia macierzy
Na podstawie wartosci efektywnosci programu wykonanego w rozproszonym,
heterogenicznym srodowisku, przy pomocy pakietu STATISTICA podjeto próbe utworzenia
106
modeli statystycznych, na podstawie których mozna prognozowac efektywnosc aplikacji w
zaleznosci od dostepnych parametrów systemu.
Jako parametry modelu wybrano zmienne okreslajace rozmiar macierzy (ROZMIAR)
oraz liczbe zaangazowanych procesorów P.
Ilosc procesorów dla zadania wykonywanego na serwerze JOTA1 wynosi 3, z
wykorzystaniem serwerów JOTA1 oraz JOTA2 wynosi 6, a wykorzystujac wszystkie trzy
serwery (JOTA1, JOTA2, JOTA3) prace dzieli sie na 9 procesorów.
Wartosci
efektywnosci wykonania aplikacji przy zaangazowaniu odpowiednich
serwerów przedstawiono na Rys. 7.11.
0,5
0,4
jota1
0,3
jota1,jota2
0,2
jota1,jota2,jota3
0,1
0
300
350
400
450
500
Rys. 7.11 Efektywnosc aplikacji przy wykorzystaniu serwerów JOTA1, JOTA2, JOTA3
W wyniku analizy danych i estymacji wspólczynników regresji wielorakiej przy
pomocy programu STATISTICA otrzymano model nastepujacej postaci:
EFEKTYWNOSC = 1,308047 − 0,001867 * ROZMIAR − 0,200041 * P
+ 0,000002 * ROZMIAR 2 + 0,011492 * P 2 + 0,000028 * ROZMIAR * P
( 7.10)
Dalsza analiza istotnosci wspólczynników wykazala, iz efektywnosc mozna opisac
przy uzyciu tylko jednej zmiennej, która jest ilosc zaangazowanych procesorów P. Za istotny
wspólczynnik uznano wartosc ilosci procesorów podniesionej do kwadratu. Pozostale trzy
parametry, czyli ROZMIAR, ROZMIAR2 oraz ROZMIAR*P uznane zostaly za nieistotne. W
zwiazku z powyzszym model przyjal zredukowana postac:
EFEKTYWNOSC = 0,872433 − 0,188952 * P + 0,11492 * P 2
( 7.11)
Model opisany równaniem (7.11) wyjasnia ksztaltowanie sie zmiennej objasnianej w
ponad 96%, R2 =0,96641708, co jest zadawalajacym wynikiem. Poziom wspólczynnika
R=0,98732609 wskazuje na to, ze ksztaltowanie sie wartosci zmiennej objasnianej
podyktowane jest w prawie 99% ksztaltowaniem sie wartosci zmiennych objasniajacych.
107
Wskazniki te daja podstawe do prognozowania, na podstawie modelu, wartosci
parametrów w systemie rzeczywistym. Mimo zredukowanej liczby zmiennych w równaniu,
zaleznosci w poprawny sposób przedstawiaja wydajnosc aplikacji. Mozliwosc uzycia do
budowy modelu tylko wybranych czynników charakteryzujacych srodowisko oraz aplikacje,
czyni modelowanie, a zwlaszcza etap zbierania danych prostym i mozliwym do zastosowania
przez kazdego uzytkownika systemów rozproszonych.
7.3.3 Przyspieszenie wykonania aplikacji w srodowisku rozproszonym
Na Rys. 7.12 przedstawiono ksztaltowanie sie wartosci przyspieszenia dla
omawianego srodowiska rozproszonego. Jako czas wykonania programu w sposób
sekwencyjny przyjeto czas wykonania zadania na jednym procesorze P3 XEON 700 MHz
serwera JOTA1. Przyspieszenie obliczone zostalo jako stosunek czasu rozproszonego do
sekwencyjnego.
1,5
1,3
jota1
1,1
jota1,jota2
0,9
jota1,jota2,jota3
0,7
0,5
300
350
400
450
500
Rys. 7.12Przyspieszenie aplikacji przy wykorzystaniu serwerów JOTA1, JOTA2, JOTA3
Tak zestawione dane posluzyly do budowy modeli statystycznych. Przy ich tworzeniu
wykorzystano program EXCEL w celu opisania linii trendu na wykresie. Nastepnie, z
wykorzystaniem pakietu STATISTICA dokonano weryfikacji zaprezentowanych modeli.
W Tabela 7.4 przedstawiono modele regresyjne opisujace przyspieszenie w zaleznosci
od srodowiska uruchomienia. Model (7.12) opisuje przyspieszenie aplikacji uruchamianej na
serwerze JOTA1. Model (7.13) sluzy do prognozowania przyspieszenia aplikacji
uruchamianej w srodowisku rozproszonym skladajacym sie z serwera JOTA1 oraz JOTA2.
Równanie (7.14) jest modelem przyspieszenia dla aplikacji uruchamianej w srodowisku
zlozonym z JOTA1, JOTA2 oraz JOTA3.
108
Tabela 7.4 Modele przyspieszenia dla rozproszonego mnozenia macierzy
SERWER
POSTAC MODELU
JOTA1
SPEED_UP = 2E - 07x2 - 0,001x + 1,592
( 7.12)
SPPED_UP = 1E - 05x2 - 0,01x + 3,0426
JOTA1, JOTA2
( 7.13)
JOTA1, JOTA2, JOTA3 SPEED_UP = 3E - 05x2 - 0,022x + 5,4165
( 7.14)
Wspólczynniki dopasowania danych uzyskanych na podstawie modelu do danych
doswiadczalnych sa bliskie jednosci, co wskazuje na poprawnosc modelowania. Takze
wartosci statystyk uzyskanych w programie STATISTICA potwierdzaja slusznosc doboru
wspólczynników modelu. Na podstawie zaprezentowanych modeli mozna prognozowac
przyspieszenie wykonania programu w poszczególnych srodowiskach rozproszonych dla
odpowiednich rozmiarów macierzy.
7.4 Charakterystyka wydajnosciowa programu rozwiazujacego
uklady równan metoda Gaussa-Seidla
7.4.1 Zakres badan
Testowana aplikacja odpowiedzialna jest za rozwiazywanie ukladów równan
liniowych metoda Gaussa-Seidla. Dla niej stworzono modele statystyczne z wykorzystaniem
wykorzystaniu metodyki zaproponowanej w rozdziale 6. Przed przystapieniem do
modelowania nalezy okreslic zakres stosowalnosci modelu. Model powinien prognozowac
wartosci wydajnosci systemu rozproszonego, w zaleznosci od parametrów wejsciowych
aplikacji badz systemu.
Do utworzenia modelu potrzebny jest usystematyzowany material statystyczny. W
celu jego uzyskania przetestowano aplikacje w srodowisku heterogenicznym o architekturze
podanej w Tabela 7.3. Czasy wykonania programu zawarte zostaly w katalogu
\WYNIKI\ROZPROSZONY\GAUSS na plycie dolaczonej do pracy.
Z
listy
czynników,
mogacych
miec
wplyw
na
prognozowana
wartosc,
zaproponowanych w rozdziale 6.2., dla danej aplikacji wybrano ilosc komputerów w
109
srodowisku rozproszonym zaangazowanych do wykonania zadania. Program przetestowano
takze pod katem wplywu rozmiaru macierzy.
Droga doswiadczalna uzyskano czasy wykonania programu dla 300, 400 oraz 500
równan. Dla podanych rozmiarów zadania wykonano aplikacje na trzech procesorach na
serwerze JOTA1 lub JOTA2 lub JOTA3, na 6 procesorach na w srodowisku rozproszonym
opartym o serwery JOTA1 oraz JOTA2 oraz na 9 procesorach w srodowisku zlozonym z
JOTA1, JOTA2 oraz JOTA3.
7.4.2 Prognozowanie czasu wykonania programu
Na
podstawie
opisanych
danych
wyznaczono
wstepne
postaci
funkcji
aproksymujacych oraz, przy uzyciu programu STATISTICA, dokonano analizy i utworzono
modele dla czasu wykonania programu w srodowisku rozproszonym. Tym samym
przystapiono do kolejnego etapu w zaprezentowanej metodyce. Tabela 7.5 zawiera modele
czasu wykonania, w których jako zmienne niezalezne wybrano tylko zmienna ROZMIAR. Sa
one wykonane dla poszczególnych serwerów i ze wspólczynnikiem dopasowania bliskim
jednosci moga posluzyc do prognozowania czasu wykonania programu bez koniecznosci jego
uruchamiania.
Tabela 7.5 Modele czasu wykonania programu w srodowisku rozproszonym
SERWERPOSTAC MODELU
CZAS = - 0,2058 * ROZMIAR2 + 186,14 * ROZMIAR + 7663
( 7.15)
JOTA1
CZAS = 0,3264 * ROZMIAR2 - 212,05 * ROZMIAR + 110329
( 7.16)
JOTA2
CZAS = - 6,4142 * ROZMIAR2 + 5207,6 * ROZMIAR + 882358
( 7.17)
JOTA3
CZAS = 7,0481 * ROZMIAR2 - 6193,9 * ROZMIAR + 1E + 06
JOTA1,
JOTA2
JOTA1,
JOTA2,
JOTA3
( 7.18)
CZAS = 10,458 * ROZMIAR2 - 7744 * ROZMIAR + 1E + 06
( 7.19)
110
Kolejne modele opisuja czas wykonania programu w srodowisku rozproszonym w
zaleznosci od ilosci równan (zmienna ROZMIAR) oraz liczby zaangazowanych procesorów
(zmienna P). Modele te zostaly utworzone przy pomocy regresji segmentowej i
charakteryzuja okreslone srodowisko rozproszone.
Po uzyskaniu postaci modeli statystycznych charakteryzujacych aplikacje, nalezy
przystapic do weryfikacji hipotez statystycznych, czyli sprawdzenia ich poprawnosci i
okreslenia, czy model moze byc zastosowany do prognozowania wydajnosci aplikacji
rozproszonych, z dokladnoscia akceptowalna do zastosowania w praktyce.
Model (7.20) z wariancja wyjasniona równa 97,353% oraz wartoscia wspólczynnika
korelacji R=0,98660 charakteryzuje programy wykonane na serwerze JOTA1. Punkt
przelamania dla wartosci szacowanej wynosi 132563.
CZAS = 40720,5 + 6913,881 * P − 34,6804 * ROZMIAR
+ 79831,01 + 17436,33 * P + 0,1 * ROZMIAR
( 7.20)
Model (7.21) R=0,97561 i punkt przelamania równy 147585 charakteryzuje aplikacje
uruchamiane na serwerze JOTA2, a na podstawie równania (7.22) prognozowac mozna czas
wykonania aplikacji na serwerze JOTA3 (R=0,95828, punkt przelamania - 116445).
CZAS = 99277,99 + 1043,313 * P − 64,9244 * ROZMIAR
+ 79831,01 + 17436,33 * P + 0,1 * ROZMIAR
CZAS = 99277,99 + 1043,313 * P − 64,9244 * ROZMIAR
+ 79831,01 + 17436,33 * P + 0,1 * ROZMIAR
( 7.21)
( 7.22)
Powyzej przedstawione modele moga zostac zastosowane do prognozowania czasu
wykonania zadania w rzeczywistych srodowiskach rozproszonych. Wskazuja na ten fakt
wartosci wspólczynników korelacji, testów i statystyk generowanych przez program
STATISTICA.
W rozdziale 6.2 podano liste czynników, od których zalezny jest czas wykonania
programu w srodowisku rozproszonym. Dla danego zadania nie wszystkie z nich moga byc
wyrazone w sposób liczbowy i umieszczone jako parametry modelu. Mimo pominiecia w
modelu wielu z czynników charakteryzujacych badane zjawisko, wartosci wspólczynników
dopasowania modeli do danych rzeczywistych sa bardzo wysokie, co swiadczy o
odpowiednim wyborze zmiennych objasniajacych oraz slusznosci modelowania.
111
Utworzone modele wskazuja najbardziej korzystny wariant uruchomienia z punktu
widzenia wydajnosci aplikacji. Za ich pomoca mozna wskazac istotnosc, badz nie,
wykonywania zadania w srodowiskach rozproszonych.
7.5 Modele statystyczne wydajnosci aplikacji w srodowisku .NET
Remoting
Dla celów weryfikacji poprawnosci zaprezentowanej w rozdziale 6 metodyki
postepowania przy budowie modeli statystycznych charakteryzujacych wydajnosc aplikacji
zbudowano system rozproszony [Palkowski04], na którym przeprowadzono badania.
Pierwsza seria doswiadczen polegala na stworzeniu modeli statystycznych, dzieki
którym
prognozowac
mozna
czas
wykonania
zadania.
Utworzono
takze
modele
przyspieszenia aplikacji wykonanej w srodowisku rozproszonym w stosunku do programu
dzialajacego sekwencyjnie oraz zaprezentowano modele sluzace do okreslania czasu przestoju
komputerów. Kolejnym etapem byl opis wplywu przepustowosci sieci oraz mechanizmów
dekompozycji na wydajnosc aplikacji.
7.5.1 Architektura aplikacji rozproszonej wykorzystywanej do badan
Struktura aplikacji rozproszonej sklada sie z poszczególnych komponentów:
•
aplikacja kliencka
•
biblioteki z algorytmami obliczen numerycznych
•
aplikacja posredniczaca
•
usluga Web dostarczajaca liste komputerów udostepnionych do obliczen
Na Rys. 7.13 przedstawiono schemat przeprowadzenia obliczen rozproszonych oraz
wspólprace i zaleznosci pomiedzy powyzszymi modulami:
112
Aplikacja kliencka
Pobierz liste komputerów za
pomoca uslugi Web
Serwer
IIS
Odczyt konfiguracji
maszyn z pliku XML
Lista komputerów
Podzial obliczen
n watków
n komputerów
…
Usluga Web
<host nazwa="cosmo">
<adres>192.168.0.4</adres>
<port>8881</port>
<protokol>tcp</protokol>
<moc>500</moc>
</host>
.NET Remoting
Aplikacja macierzysta
Biblioteki
Integracja wyników
Rys. 7.13 Struktura aplikacji rozproszonej oraz zaleznosci pomiedzy jej komponentami
Przeprowadzenie obliczen rozproszonych sklada sie z nastepujacych kroków [Palkowski04]:
-
Ustawienie parametrów i zlecenie obliczen w aplikacji klienckiej;
-
Aplikacja kliencka pobiera liste komputerów za pomoca uslugi Web;
-
Aplikacja kliencka tworzy tyle watków, ile jest maszyn;
-
Kazdemu watkowi przypisany jest odpowiednia czesc obliczen;
-
Watki wywoluja zdalne obiekty na przyporzadkowanych komputerach za pomoca
.NET Remoting;
-
Za komunikacje z watkami i wykonaniem obliczen na zdalnej maszynie
odpowiedzialna jest aplikacja posredniczaca korzystajaca z bibliotek z algorytmami;
-
Po odebraniu czastkowych wyników aplikacja kliencka generuje koncowy wynik.
Do przeprowadzenia badan wykorzystano 3 komputery osobiste (jednoprocesorowe) o
róznej mocy obliczeniowej polaczonych siecia lokalna o przepustowosci 100Mbit/s, których
parametry sprzetowe zawiera Tabela 7.6.
113
Tabela 7.6 Parametry sprzetowe komputerów uzytych do przeprowadzenia badan
Nazwa
cosmo
primax
dell
Procesor
Pamiec
AMD Duron 1200
256 MB SDRAM
MHz
AMD Duron 750
256 MB DDRMHz
SDRAM
Intel Pentium III 500
256 MB SDRAM
MHz
Predkosc
magistrali
wewnetrznej
Predkosc
magistrali
pamieci
2x100 MHz
1x100 MHz
2x100 MHz
2x133 MHz
1x100 MHz
1x100 MHz
7.5.2 Zasada dzialania testowanych aplikacji
Weryfikacja zaprezentowanej w pracy metodyki tworzenia modeli statystycznych
charakteryzujacych programy rozproszone dokonana zostanie na przykladzie dwóch aplikacji
przeprowadzajacych obliczenia numeryczne w srodowisku rozproszonym, które sa
opracowane w postaci bibliotek i dolaczone jako kolejne moduly aplikacji.
Pierwsza z aplikacji dotyczy obliczania calki potrójnej za pomoca zlozonej metody
Simpsona, druga generowania wykresów Lapunowa w oparciu o dwuparametrowy diagram
bifurkacji.
Obydwa programy charakteryzuja sie duzym zapotrzebowaniem na moc obliczeniowa.
Obliczanie calki n-krotnej funkcji n zmiennych sprowadza sie do obliczania n calek
oznaczonych. W przypadku calki potrójnej i obszaru calkowania V postaci:
V = {( x, y, z ) : α ≤ x ≤ β , γ ( x) ≤ y ≤ δ ( x), η ( x, y) ≤ z ≤ φ ( x , y )} ,
∫∫∫
V
β δ (x) κ (x, y)
f ( x, y , z ) dV =
∫ ∫ ∫ f ( x, y , z )dzdydx
( 7.23)
α γ ( x) η ( x,y)
przyblizona wartosc calki oblicza sie przez trzykrotne zastosowanie kwadratury zlozonej
Simpsona [Marciniak97].
Okno glówne programu przedstawia Rys. 7.14.
114
Rys. 7.14 Interfejs aplikacji klienckiej obliczania calki potrójnej
Wykres Lapunowa jest to rodzaj fraktala, generowany na podstawie wykladnika
Lapunowa i dwuparametrowego diagramu bifurkacji. Wykladnik Lapunowa jest jedna z
wazniejszych miar charakteryzujacych stopien chaotycznosci ukladu dynamicznego przez
jednowymiarowe odwzorowanie. Okresla on stopien wrazliwosci jednowymiarowego ukladu
dynamicznego na zmiane warunków poczatkowych [Martyn96].
Okno glówne programu przedstawia Rys. 7.15.
Rys. 7.15 Interfejs aplikacji klienckiej rysowania wykresów Lapunowa
115
7.5.3 Badanie zaleznosci czasu i przyspieszenia obliczen rozproszonych
od rozmiaru problemu
Celem badan jest utworzenie modeli statystycznych, na podstawie których
prognozowac mozna czas wykonania programu, przyspieszenie obliczen rozproszonych w
zaleznosci od ich rozmiaru oraz maksymalny przestój dla dwóch przykladowych zadan
numerycznych.
Korzystanie z modeli regresyjnych moze wskazac zasadnosc wykorzystania srodowisk
rozproszonych oraz okreslic czynniki, które maja istotny wplyw na charakterystyke
wydajnosciowa. Modele z zalozenia maja byc tworzone przez uzytkowników aplikacji, wiec
ich parametrami moga byc tylko czynniki mozliwe do zmiany i jednoznacznego okreslenia z
poziomu wykonywania programów.
W celu zebrania materialu statystycznego potrzebnego do utworzenia modeli
przeprowadzono doswiadczenia w srodowisku heterogenicznym o architekturze podanej w
Tabela 7.6. Wyniki przeprowadzonych testów dostepne sa na plycie dolaczonej do pracy w
katalogu \WYNIKI\ROZPROSZONY\NET.
Z listy zmiennych wejsciowych majacych wplyw na czasy wykonania aplikacji w
srodowisku rozproszonym wybrano zmienne charakteryzujace aplikacje. Modele sa tworzone
w oparciu o zdefiniowane srodowisko rozproszone.
Jako strategie podzialu obliczen wybrano podzial seryjny. Wielkosc porcji obliczen
zmienia sie stopniowo w zaleznosci od wielkosci calego zadania.
Zmiennymi uwzglednianymi w modelach sa:
-
liczba kroków calkowania, dla uproszczenia kazdy wymiar calki zostal podzielony na
ta sama liczbe czesci tj.: 20, 50, 100, 200, 250, 300, 400 oraz 500.
-
porcja danych do wykonania, czyli ilosc paczek, przetestowano podzial na 6, 10, 15
oraz 30 paczek.
Na Rys. 7.16 przedstawiono czasy wykonania programu na poszczególnych
komputerach oraz czas wykonania programu w srodowisku rozproszonym, oznaczony na
wykresie jako (razem).
116
1200
1000
800
600
400
200
0
0
20000000
40000000
cosmo
60000000
primax
80000000
100000000
dell
120000000
razem
Rys. 7.16 Czasy wykonania programu na pojedynczych komputerach oraz w srodowisku
rozproszonym
Tabela 7.7 Indywidualny i rozproszony czas oraz przyspieszenie
Laczna
ilosc
kroków
8000
125000
1000000
3375000
8000000
15625000
27000000
42875000
64000000
125000000
Indywidualny i rozproszony czas
obliczen [s]
Como
0,03
0,33
2,37
8,05
19,33
36,91
68,58
103,09
168,10
319,64
primax dell
razem
0,04
0,07
0,08
0,51
1,09
0,23
4,01
8,34
1,59
13,42
28,41
4,78
31,79
66,34 11,79
62,45 129,81 21,73
107,29 317,40 33,91
158,43 496,83 56,44
257,47 672,91 82,17
475,52 1065,57 158,10
maksyIndywidualny i srednie przyspieszenie
malny
obliczen S
przestój ilosc
paczek cosmo
primax
dell
srednia
[s]
0,01
6
0,375
0,5
0,875 0,583333
0,06
10 1,434783 2,217391 4,73913 2,797101
0,42
10 1,490566 2,522013 5,245283 3,085954
0,89
10
1,6841 2,807531 5,943515 3,478382
2,77
15 1,639525 2,696353 5,626802 3,320893
3,10
30 1,698573 2,873907 5,973769 3,515416
1,79
30 2,022412 3,163963 9,360071 4,848815
3,02
30 1,826541 2,807052 8,802799 4,478798
3,84
30 2,045759 3,133382 8,189242 4,456128
8,15
50 2,021758 3,007717 6,739848 3,923108
Korzystajac z danych empirycznych zawartych w Tabela 7.7 przystapiono do
kolejnego etapu modelowania, czyli okreslenia postaci funkcji aproksymujacej.
danych wskazuje,
Uklad
iz obraz danych moze byc odwzorowany przy wykorzystaniu regresji
liniowej. Zgodnie z nastepnym krokiem metodyki przedstawionej w rozdziale 6, przy uzyciu
programu STATISTICA, zostal wyznaczony model ksztaltowania sie wartosci czasu
wykonania aplikacji liczacej calke potrójna i dzialajacej w srodowisku rozproszonym.
Podsumowanie regresji zmiennej zaleznej (Rys. 7.17) zawiera wspólczynniki regresji
standaryzowane BETA tzn. takie, które zakladaja udzial danej zmiennej w analizie, jako
niezaleznej (wykluczajac jej scisly zwiazek z innymi zmiennymi niezaleznymi). Natomiast B
oznacza wspólczynniki regresji (parametry), zakladajac istnienie wspólzaleznosci zmiennych
objasniajacych.
Na podstawie Rys. 7.17 utworzono model opisujacy czas wykonania programu
rozproszonego w zaleznosci od liczby kroków i ilosci paczek:
117
CZAS = 0,004063 + 0,000001 * KROK
( 7.24)
Rys. 7.17 Podsumowanie regresji – zmienna zalezna CZAS, zmienne niezalezne KROK, PACZKA
Po stworzeniu modelu statystycznego przystapiono do jego weryfikacji.
Blad st. BETA jest to wartosc bledu szacunku dla (parametru) wspólczynnika regresji,
gdyby zostala ona wprowadzona do równania regresji jako zmienna niezalezna.
Wspólczynnik korelacji wielorakiej R= 0,99986682 wyjasnia, w jakim zwiazku pozostaje
zmienna objasniana z pozostalymi zmiennymi (objasniajacymi) w modelu. Poziom
wspólczynnika R wskazuje na to, ze ksztaltowanie sie wartosci zmiennej objasnianej
podyktowane
jest
niemalze
calkowicie
ksztaltowaniem
sie
wartosci
zmiennych
objasniajacych.
Wspólczynniki determinacji R2 =0,999748597, wskazuje na to, ze model wyjasnia
ksztaltowanie sie zmiennej objasnianej w ponad 99%, co jest bardzo zadawalajacym
wynikiem.
O dobrym dopasowaniu modelu do danych empirycznych moze swiadczyc ponadto
wykres linii regresji (Rys. 7.18). Punkty wyznaczone z modelu oraz wyznaczone droga
doswiadczalna ukladaja sie wzdluz linii prostej.
Rys. 7.18 Wykres wartosci przewidywanych wzgledem obserwowanych
118
Tabela 7.8 zawiera wartosci empiryczne Y oraz szacowane na podstawie modelu Y'
wraz z wartosciami statystyk.
Odleglosc Mahalanobisa jest to uogólnienie odleglosci euklidesowej uwzgledniajace
skorelowanie zmiennych. Miara ta pozwala ustalic, czy dana obserwacje mozna zaliczyc do
odstajacych. Usuniete wartosci resztowe jest to reszta dla danej obserwacji, obliczana tak,
jakby ten przypadek nie byl wlaczony do analizy regresji. Odleglosc Cooka jest to miara
stopnia zmiany wspólczynników regresji, gdyby dany przypadek pominac w obliczeniach
wspólczynników. W wartosciach zawartych w Tabela 7.8 nie zauwaza sie istotnie odstajacych
wartosci, co potwierdza slusznosc wyestymowanych wspólczynników dla wszystkich
obserwacji poddanych analizie.
Tabela 7.8 Zestawienie wartosci empirycznych Y oraz szacowanych na podstawie modelu
Wartosc
obserwowana
MIN
MAX
Srednia
Mediana
0,0800
0,2300
1,5900
4,7800
11,7900
21,7300
33,9100
56,4400
82,1700
158,1000
0,0800
158,1000
37,0820
16,7600
Wartosc
przewidywana
Reszta
Standar. Standar.
Przewid. Reszta
0,3833 -0,3033
0,7750 -0,5450
1,8640 -0,2740
4,8196 -0,0396
10,8831 0,9069
21,2955 0,4345
35,4516 -1,5416
55,2078 1,2322
81,4977 0,6723
158,6424 -0,5424
0,3833 -1,5416
158,6424 1,2322
37,0820 0,0000
16,0893 -0,1568
-0,7265
-0,7188
-0,6972
-0,6387
-0,5187
-0,3125
-0,0323
0,3588
0,8793
2,4066
-0,7265
2,4066
0,0000
-0,4156
Blad std
wartosci
Odleglosc
przewidywanej Mahaln.
-0,3244
-0,5830
-0,2931
-0,0424
0,9701
0,4648
-1,6490
1,3180
0,7192
-0,5802
-1,6490
1,3180
0,0000
-0,1677
0,5163
0,4017
0,4038
0,4123
0,3380
0,6928
0,5246
0,3608
0,4379
0,8183
0,3380
0,8183
0,4906
0,4251
1,8452
0,7618
0,7788
0,8508
0,2761
4,0429
1,9335
0,4403
1,0745
5,9960
0,2761
5,9960
1,8000
0,9626
Usuniete
Reszty
Odleglosc
Cooka
-0,4364
-0,6685
-0,3368
-0,0492
1,0432
0,9639
-2,2499
1,4478
0,8613
-2,3202
-2,3202
1,4478
-0,1745
-0,1930
0,0222
0,0315
0,0081
0,0002
0,0542
0,1946
0,6079
0,1191
0,0621
1,5732
0,0002
1,5732
0,2673
0,0582
Wynik statystyki F (Snedecora) df F(2,7)= 13137 przy poziomie istotnosci p
p<0,000001 wykazuja iz parametry modelu sa "lacznie" istotne statystycznie, co potwierdza
tym samym duza istotnosc statystyczna.
Badanie autokorelacji skladnika losowego (reszt) Test Durbina-Watsona sluzy do
testowania hipotezy o wystepowaniu lub braku autokorelacji skladnika losowego, tzn., czy
istnieje liniowa zaleznosc pomiedzy odchyleniami losowymi z róznych jednostek czasu.
Wartosci tego skladnika powinny pochodzic z przedzialu <0,4>. Dla modelu wartosc wynosi
2,816289, co swiadczy o wystepowaniu autokorelacji ujemnej.
Okreslenie ksztaltowania sie poziomu reszt jest wazne z powodu tego, ze rozklad reszt
odbiegajacy znacznie swym rozkladem od normalnego wskazuje na wystepowanie wartosci
ekstremalnych
zmiennej
objasnianej,
co
tlumaczyc
mozna
jako
zwiekszone
prawdopodobienstwo wystepowania wartosci nietypowych (losowych), nieporównywalnie
119
duzych lub malych w stosunku do pozostalych. Dla zmiennej objasnianej reszty surowe nie
wykraczaja poza dwukrotna wartosc odchylenia standardowego. Czyli dopasowanie funkcji
regresji liniowej mozna uznac za dobre.
Dla zadania odpowiedzialnego za rysowanie wykresu Lapunowa okreslono
nastepujace rozdzielczosci bitmapy: 100x100, 250x250, 500x500, 750x750, 1000x1000,
1500x1500, 2000x2000, 3000x3000, które uwzgledniono w modelowaniu jako zmienna
niezalezna PIKSELE. Jako zmienne istotne dla badanego problemu wskazano takze wielkosc
porcji obliczen, czyli podzial na odpowiednia ilosc paczek - zmienna niezalezna PACZKA.
Równiez dla tego przykladu ogólny rozklad wartosci wskazuje na mozliwosc
zastosowania regresji liniowej. Taki tez modul uruchomiany zostal w programie
STATISTICA. Rys. 7.19 przedstawia podsumowanie regresji wygenerowane przez program
dla zmiennej zaleznej CZAS.
Analizujac ponizsze zestawienie widac, ze do modelu statystycznego opisujacego czas
wykonania programu w srodowisku rozproszonym wykorzystano tylko jedna zmienna,
mianowicie PIKSELE. Oznacza to, ze opis matematyczny bedacy funkcja tej zmiennej
przyjmuje postac:
CZAS = 5,146369 + 0,000057 * PIKSELE
( 7.25)
Weryfikacja poprawnosci utworzonego modelu sprowadza sie do analizy wskazników
i statystyk generowanych przez program.
Wspólczynnik R2 wynosi 0,99756463, co stanowi wartosc bliska jednosci i wskazuje
na bardzo dobre odwzorowanie wartosci czasu osiagnietego w wyniku przeprowadzenia
doswiadczenia do wartosci uzyskanych przy stosowaniu modelu statystycznego.
Rys. 7.19 Podsumowanie regresji – zmienna zalezna CZAS, zmienne niezalezne PIKSELE, PACZKA
Wspólczynnik korelacji wielorakiej R= 0,99912985 wskazuje na to, ze ksztaltowanie
sie wartosci zmiennej objasnianej podyktowane jest niemalze calkowicie ksztaltowaniem sie
wartosci zmiennych objasniajacych.
120
Wspólczynniki determinacji R2 = 0,99756463 informuje, ze model wyjasnia
ksztaltowanie sie zmiennej objasnianej w ponad 99%, co jest bardzo zadawalajacym
wynikiem.
Wynik statystyki F (Snedecora) df F(2,5)= 1434,7 przy poziomie istotnosci p
p<0,000001 potwierdza duza istotnosc statystyczna i poprawnosc wygenerowanych
wspólczynników modelu.
Jako potwierdzenie slusznosci modelu na Rys. 7.20 przedstawiono zestawienie
wartosci przewidywanych wzgledem obserwowanych. Wartosci te ukladaja sie wzdluz linii
prostej, co wskazuje na slusznosc utworzonego modelu.
Rys. 7.20 Wykres wartosci przewidywanych wzgledem obserwowanych
W Tabela 7.9 przedstawiono srednie wartosci wspólczynników wygenerowanych
przez program STATISTICA.
Tabela 7.9 Srednie wartosci parametrów
Wartosc obserwowana
Wartosc przewidywana
Reszta
Blad std wartosci przewidywanej
Odleglosc Mahaln.
Usuniete Reszty
Odleglosc Cooka
Wartosci
srednie
122,8387
122,8387
0,0000
5,0535
1,7500
-5,0183
0,9490
Po utworzeniu modeli prognozujacych czas wykonania przystapiono do utworzenia
modeli opisujacych wartosci przyspieszenia.
Przyspieszenie wykonania programu dla aplikacji wykonywanych w srodowisku
rozproszonym definiowane jest jako stosunek czasów sekwencyjnych (dla kazdego
komputera) przez czas obliczen rozproszonych. Nie rosnie ono wraz ze wzrostem zadania,
121
lecz dazy do pewnej stalej wartosci (wartosc ta dazy do liczby procesorów). Tak wiec
zwiekszenie przyspieszenia obliczen jest mozliwe przede wszystkim poprzez dolaczenie
kolejnej maszyny do systemu rozproszonego. Ponadto wplyw na jego wartosc maja:
heterogenicznosc architektury maszyn, czas komunikacji, dobór wielkosci paczki obliczen,
zmienne obciazenie komputera wywolane procesami systemowymi.
Jak wczesniej wspomniano wartosci przyspieszenia nie wykazuja trendu liniowosci
wiec do tworzenia modelu zastosowano regresje nieliniowa. Podczas analizy, przy pomocy
programu STATISTICA, dla zadania liczacego calke potrójna za pomoca zlozonej metody
Simpsona wybrano nastepujace kombinacje zmiennych: KROK, PACZKA, kwadraty oraz
pierwiastki tych wielkosci.
Rys. 7.21 zawiera podsumowanie regresji dla zmiennej zaleznej, czyli przyspieszenia
wykonania aplikacji rozproszonej w stosunku do programu wykonanego sekwencyjnie
oznaczonej przez E. Na tej podstawie stworzono model postaci (7.26).
PRZYSPIESZ ENIE = 12,0498468 + 1,18763E - 07 * KROK
- 0,673518951 * PACZKA - 1,31597E - 15 * KROK 2 - 15270,54662 *1 KROK
( 7.26)
+ 0,012792988 * PACZKA - 35,90601427 * 1 PACZKA
2
Rys. 7.21 Podsumowanie regresji – zmienna zalezna PRZYSPIESZENIE, zmienne niezalezne KROK,
PACZKA oraz ich kombinacje
Analizujac powyzszy model i wskazniki generowane przez program STATISTICA
nalezy dokonac weryfikacji utworzonego równania. Wspólczynnik korelacji wielorakiej dla
zmiennych przedstawionych na Rys. 7.21 wyniósl 0,98536154 i wskazuje na prawidlowe
ksztaltowanie sie wartosci zmiennej objasnianej na podstawie zmiennych empirycznych.
Wspólczynniki determinacji R2 = 0,91281211 informuje o odpowiednim odwzorowaniu
danych empirycznych w utworzonym modelu.
W celu zminimalizowania liczby zmiennych niezaleznych utworzono kolejne modele
zawarte w Tabela 7.10 poslugujac sie regresja krokowa wsteczna oraz postepujaca.
122
Tabela 7.10 Modele przyspieszenia dla aplikacji liczacej calke potrójna
POSTAC MODELU
WSPÓLCZYNNIK KORELACJI /
WSPÓLCZYNNIK
DETERMINACJI
PRZYSPIESZ ENIE = 4,7 − 15,1* 1 PACZKA
R=0,93838192
R2 =0,84643509
− 12554,5 * 1 KROK
PRZYSPIESZ ENIE = 3,121132315 + 4,65916E - 08 * KROK R=0,97017357
- 3,2516E - 16 * KROK 2 - 20391,56872 * 1 KROK
R2 =0,91185512
Model, za pomoca którego charakteryzowac mozna przyspieszenie aplikacji
odpowiedzialnej za generowanie wykresów Lapunowa w oparciu o dwuparametrowy diagram
bifurkacji oraz opis regresji uzyty do ich budowy przedstawia równanie (7.27). Do zmiennych
niezaleznych zaliczono PIKSELE, PACZKA, kwadraty oraz odwrotnosci tych wartosci.
PRZYSPIESZ ENIE = 0,42167865 + 0,00000005 * PIKSELE
+ 0,08925101 * PACZKA - 0,00000001 * PACZKA * PIKSELE
- 4072,53436178 * 1 PIKSELE + 18,79979329 * 1 PACZKA
( 7.27)
Wspólczynnik determinacji wyniósl 0,8510803. W celu uzyskania lepszego
dopasowania, wiec wspólczynnika blizszego jednosci zastosowano inna kombinacje
zmiennych mianowicie: PIKSELE, PACZKA, odwrotnosci tych wartosci oraz ich iloczyn.
PRZYSPIESZ ENIE = 0,42167865 + 0,00000005 * PIKSELE
+ 0,08925101 * PACZKA - 0,00000001 * PACZKA * PIKSELE
- 4072,53436178 * 1 PIKSELE + 18,79979329 * 1 PACZKA
( 7.28)
Jako zmienne istotne dla danego równania wybrano cztery sposród pieciu zmiennych
niezaleznych. Z analizy (Rys. 7.22 ) wynika iz zmienna PIKSELE nie wplywa istotnie na
postac modelu, który uproscic mozna do zapisu (7.29). O nieistotnosci wartosci
wspólczynnika przy zmiennej PIKSELE swiadczy poziom p=0,356814, który jest wiekszy od
przyjetego poziomu α=0,05. Wspólczynnik determinacji dla omawianego modelu wynosi
0,92468838, co wskazuje,
ze model wyjasnia ksztaltowanie sie zmiennej objasnianej w
ponad 92%, co stanowi wartosc akceptowalna do zastosowania w praktyce.
PRZYSPIESZ ENIE = 0,42167865 + +0,08925101* PACZKA
- 0,00000001 * PACZKA * PIKSELE
- 4072,53436178 * 1 PIKSELE + 18,79979329 *1 PACZKA
( 7.29)
123
Rys. 7.22 Podsumowanie regresji zmienna zalezna PRZYSPIESZENIE, zmienne niezalezne
PIKSELE, PACZKA, iloczyn oraz odwrotnosci zmiennych
Na podstawie wyzej zaprezentowanych modeli szacowac mozna przyspieszenie
wykonywania
aplikacji.
Do
budowy
modelu
uzyto
tylko
kilku
z
czynników
charakteryzujacych aplikacje . Mimo to wartosci wskazników poprawnosci modelu sa
zadawalajace, co potwierdza mozliwosc budowy modeli w oparciu o metodyke
zaprezentowana w pracy.
Zwiekszenie czasów przestoju uzyskuje sie poprzez przyjecie zbyt malej liczby
paczek. Jest to alternatywa dla dodatkowych nakladów obliczen i komunikacji dla wiekszej
ilosci uruchamianych zdalnych obiektów.
Ponizej przedstawiono modele statystyczne, które posluzyc moga do prognozowania
czasu przestoju.
Po dokonaniu analizy rozkladu zmiennych podjeto decyzje utworzeniu róznych
postaci modeli regresyjnych, celem ich porównania.
Wyniki estymacji zmiennej zaleznej, czyli czasu przestoju oraz róznych kombinacji
zmiennych niezaleznych KROK i PACZKA dla zadania liczacego calke potrójna przedstawia
Tabela 7.11.
124
Tabela 7.11 Modele dla czasu przestoju aplikacji liczacej calke potrójna
RODZAJ
REGRESJI
POSTAC MODELU
WSPÓLCZYNNIK
KORELACJI /
WSPÓLCZYNNIK
DETERMINACJI
regresja
PRZESTOJ = -3,1621415 - 0,0000001 * KROK
R=0,97289619
wielokrotna,
2
+ 0,5081045 * PACZKA + 0,00000000 * KROK
zmienne
- 0,0096048 * PACZKA 2
KROK,
R2 =0,90374861
PACZKA,
( 7.30)
KROK 2 ,
PACZKA2
regresja
R=0,94772595
PRZESTOJ = 0,560640 - 0,0000001 * KROK 2 +
wielokrotna,
0,002397 * PACZKA 2
zmienne
R2 =0,86909433
KROK 2 ,
( 7.31)
PACZKA2
regresja
R=0,92789
PRZESTOJ = -2,60436 + 0,0000001* KROK
segmentowa + 0,5033186 * PACZKA + 2,997208 - 0,0000001 * KROK
+ 0,50327 * PACZKA
( 7.32)
Wszystkie modele charakteryzuja sie zadawalajacymi wskaznikami, informujacymi o
poprawnosci wygenerowanych wspólczynników.
Zestawienie wielkosci uzyskanych z doswiadczenia oraz prognozowanych na
podstawie modeli statystycznych przedstawia Tabela 7.12. W wartosciach przewidywanych
podano wyniki regresji segmentowej oraz regresji wielokrotnej. Rozlozenie i trend wyzej
opisanych wartosci zawiera Rys. 7.23.
Tabela 7.12 Wartosci przewidywane oraz obliczone na podstawie modelu dla aplikacji liczacej calke
potrójna
Wartosc przewidywana
Regresja
Regresja
Wartosc
obserwowana segmentowa wielokrotna
0,583333015 0,597697139 0,57707661
2,797101021 2,773422241 2,89601517
3,085953951 3,094850779 3,10553122
3,478382111 3,467704296 3,38466573
3,320893049 3,674431324 3,29572463
3,515415907 4,355295658 3,69451499
4,848814964 4,244852066 4,40779734
4,478797913 4,090716839 4,83361197
4,45612812
3,885607243 4,37149143
3,923108101 4,299869061 3,92149925
125
6
5
4
3
2
1
Wartosc
obserwowana
Regresja
segmentowa
Regresja
wielokrotna
0
Rys. 7.23 Wykres wartosci przewidywanych oraz obliczonych z modelu dla aplikacji liczacej calke
potrójna
Przeprowadzajac analogiczne rozwazania dla aplikacji rysujacej wykres Lapunowa
wygenerowano podsumowanie regresji opisujacej wspólczynniki modelu odpowiedzialnego
za prognozowanie maksymalnego przestoju z wykorzystaniem regresji wielokrotnej oraz
regresji segmentowej, a wyniki zawarto w Tabela 7.13.
Tabela 7.13 Modele czasu przestoju aplikacji generujacej wykres Lapunowa
RODZAJ
REGRESJI
POSTAC MODELU
PRZESTOJ = 222,105605 + 0,000013 * PIKSELE
regresja
wielokrotna,
- 11,040426 * PACZKA + 0,00000000 * PIKSELE 2 + 0,151041 * PACZKA 2
zmienne
674,969180 * 1 PIKSELE - 1268,103538 * 1 PACZKA
PIKSELE,
PACZKA,
( 7.33)
PIKSELE2 ,
PACZKA2 ,
1/PIKSELE,
1/PACZKA
regresja
PRZESTOJ = 0,054725 + 0,0000016 * PIKSELE + 0,000675 * PACZKA
segmentowa,
- 0,000000 * PIKSELE * PACZKA + 0,592129 − 0,000001 * PIKSELE
zmienne KROK,
+ 0,525392 * PACZKA + 0,000000 * PIKSELE * PACZKA
PACZKA,
KROK*PACZKA
( 7.34)
regresja
segmentowa
zmienne KROK,
PACZKA
PRZESTOJ = −0,940667 + 0,000001 * PIKSELE + 0,158926 * PACZKA
− 0,09844 − 0,000001* PIKSELE + 0,525306 * PACZKA
( 7.35)
Wspólczynnik determinacji dla równania (7.33) wyniósl 0,97383682. Analize
dokonano takze przy pomocy regresji segmentowej. Wedlug tej metody stworzono modele
126
(7.34), gdzie jako zmienne niezalezne wybrano PIKSELE, PACZKA, oraz iloczyn tych
wielkosci oraz (7.35), gdzie jako zmienne niezalezne wybrano PIKSELE oraz PACZKA.
Wspólczynniki korelacji dla regresji segmentowej wyniosly odpowiednio: R=0,9999 oraz
R=0,96547.
Zestawienie wartosci przewidywanych oraz obserwowanych dla (7.34) zawiera Rys.
7.24.
Rys. 7.24 Zestawienie wartosci przewidywanych i obserwowanych dla regresji segmentowej
Podsumowujac powyzsze rozwiazania mozna stwierdzic, ze modele oszacowane za
pomoca programu STATISTICA nalezycie opisuja zmienna objasniana. Czas wykonania
programu w srodowisku rozproszonym (dla obydwu badanych aplikacji) opisywany jest za
pomoca jednej zmiennej objasniajacej, a mianowicie: liczba kroków calkowania – zmienna
KROK - przy obliczaniu calki potrójnej oraz rozdzielczoscia obrazu – zmienna PIKSELE w
przypadku programu generujacego wykres Lapunowa. Dysponujac wartosciami parametrów
(Rys. 7.17 oraz Rys. 7.19) mozna stwierdzic jak ksztaltuje sie czas wykonania programu wraz
ze zmiana wartosci poszczególnych zmiennych objasniajacych. Jesli zaklada sie zmiane
wartosci jednej zmiennej i niezmiennosc pozostalych, wówczas nalezy spodziewac sie
róznicy wynikajacej z wartosci standaryzowanego BETA wspólczynnika regresji liniowej. O
dobrym dopasowaniu modelu do danych empirycznych moga swiadczyc ponadto wykresy
linii regresji (Rys. 7.18 oraz Rys. 7.20).
Podobne wnioski wysnuc mozna dla modeli opisujacych przyspieszenie. Stworzono, z
wykorzystaniem
róznych
metod
estymacji,
modele
regresyjne,
na
ich
podstawie
wygenerowano wartosci zmiennej wyjsciowej. Kazdy z modeli cechuje sie wysokim stopniem
dopasowania danych z doswiadczenia do wartosci prognozowanych na podstawie
utworzonych równan.
Podobnie modele do szacowania maksymalnego czasu przestoju wskazuja na
poprawnosc modelowania . Weryfikacja modeli wskazuje mozliwosc do korzystania z modeli
i prognozowania na ich podstawie wartosci z dokladnoscia akceptowalna do zastosowania w
praktyce.
127
7.5.4 Analiza kosztów komunikacji w zaleznosci od protokolu i metody
dekompozycji dziedzinowej
W rozdziale zostana przedstawione modele statystyczne do prognozowania kosztu
komunikacji wynikajacego z korzystania ze zdalnych obiektów. Uwzglednione zostana
protokoly TCP i HTTP, które wykorzystuje .NET Remoting.
W technologii Remoting mozna stosowac dwa typy kanalów komunikacyjnych
laczacych klienta z obiektem serwerowym: kanal TCP i kanal HTTP. W kanale TCP dane
przesylane sa w obu kierunkach za pomoca wlasnego binarnego protokolu komunikacyjnego.
Kanal HTTP jest przykladem zastosowania w .NET otwartych oraz dla standardowych
technologii. Komunikacja za pomoca kanalu HTTP jest wolniejsza niz za pomoca kanalu
TCP, gdyz dane w kanale HTTP przesylane sa w postaci tekstu XML.
Wybierajac protokól komunikacyjny w tworzeniu aplikacji rozproszonej nalezy
uwzglednic jego wydajnosc oraz skutecznosc. Ponadto wymagane jest takze okreslenie
przepustowosci lacza, za pomoca którego komputer zostaje podlaczony do systemu
rozproszonego. Zbyt wolne polaczenie moze spowodowac, iz czas poswiecony komunikacji
bedzie niedopuszczalnie wydluzal laczny czas obliczen rozproszonych.
Program odpowiedzialny za rysowanie wykresu Lapunowa zbadano pod katem kosztów
komunikacji wyrazonej w [kB] dla protokolów TCP i HTTP.
Porównanie kosztów komunikacji dla obydwu protokolów przedstawia Tabela 7.14.
Tabela 7.14 Wartosci kosztów komunikacji dla protokolów TCP oraz HTTP
Liczba pikseli
0
10000
62500
250000
562500
1000000
2250000
4000000
9000000
Komunikacja [kB]
TCP
HTTP
0
0
10
144,58
52,92
881,9
206,14
3488,72
464,6
7822,28
821,9 14031,16
1851,58
31619,8
3294,6 55838,72
7425,4 125726,7
Na podstawie danych, z wykorzystaniem liniowej funkcji aproksymujacej, w programie
STATISTICA dokonano estymacji za pomoca regresji wielokrotnej i otrzymano
wspólczynniki modelu okreslajacego komunikacje w [kB] dla TCP (7.36) oraz HTTP (7.37).
TCP = −0,659220 + 0,000825 * PIKSEL
( 7.36)
128
HTTP = 21,68898 + 0,01397 * PIKSEL
( 7.37)
Analiza utworzonych modeli wykazala ich poprawnosc. Dla obydwu przypadków
wspólczynniki determinacji, czyli róznica 1- ϕ sa wieksze niz 0,999999, co wskazuje na to,
2
ze model wyjasnia ksztaltowanie sie zmiennej objasnianej w ponad 99%, co jest bardzo
zadawalajacym wynikiem. Wyniki statystyki F (Snedecora) F(1,7) sa duzo wyzsze od
wartosci granicznych, a poziomy p<0,000001, co swiadczy, ze parametry modelu wykazuja
duza istotnosc statystyczna.
Tabela 7.15 zawiera wygenerowane modele kosztów komunikacji przychodzacej i
wychodzacej dla protokolów TCP oraz HTTP.
Tabela 7.15 Modele kosztów komunikacji przychodzacej i wychodzacej dla protokolów TCP oraz
HTTP
Komunikacja
Protokól TCP
Protokól HTTP
WE = 1,42647 + 0,00081 * PIKSEL
WE = 24,58351 + 0,01365 * PIKSEL
przychodzaca
( 7.38)
Komunikacja
( 7.39)
WY = 0,767250 + 0,000017 * PIKSEL WY = −2,89612 + 0,00032 * PIKSEL
wychodzaca
( 7.40)
( 7.41)
Modele (7.42) oraz (7.43) opisuja wplyw wielkosci paczki na koszty komunikacji dla
protokolów TCP oraz HTTP.
TCP = −2,01846 + 0,80595 * PACZKA − 0,00314 * PACZKA2
( 7.42)
HTTP = 0,845769 + 2,020771* PACZKA − 0,005116 * PACZKA2
( 7.43)
Przytoczone modele moga posluzyc do szacowania czasu komunikacji, w zaleznosci
od uzytego protokolu komunikacji. Okreslenie czasów komunikacji bez koniecznosci
uruchamiani aplikacji moze wskazac najbardziej korzystny wariant uruchomienia. Moze to
spowodowac oszczednosc czasu. W ten sposób wyeliminowac mozna zbedne obciazenie
systemów.
Analiza podzialu seryjnego jest to metoda dekompozycji obliczen polegajacej na
podziale zadania na wiele paczek, które przekazywane sa poszczególnym komputerom.
Metoda ta zwieksza drobnoziarnistosc obliczen. Przeliczenie kazdej paczki wiaze sie z
1 1 1
nakladem komunikacji oraz obliczen. Zadanie numeryczne
∫∫∫ e
xyz
dzdydx zostaje rozwiazane
0 0 0
129
dla róznej ilosci paczek. Calka potrójna zostaje przeliczona w 250x250x250 krokach. Poza
tym zbadano metode podzialu zadania dla protokolów TCP oraz HTTP.
Analiza kosztów komunikacji i nakladu obliczen wielokrotnych wywolan zdalnych obiektów
zawarta jest w Tabela 7.16.
Tabela 7.16 Koszt komunikacji i nakladu obliczen wielokrotnych wywolan zdalnych obiektów
TCP
Liczba paczek
10
25
50
75
100
125
Koszt komunikacji [kB]
Czas
[s]
6,85
14,95
29,58
41,4
48,3
49
22,27
20,13
20,06
20,12
20,17
20,13
HTTP
Koszt
komunikacji
[kB]
20,99
47,6
91,2
117
158,9
171
Czas
[s]
21,86
20,71
21,74
21,59
22,01
21,34
Na podstawie Tabela 7.16 w programie STATISTICA stworzono modele, za pomoca
których mozliwe jest prognozowanie czasu
komunikacji uzaleznionego od podzialu na
okreslona liczbe paczek dla protokolów TCP oraz HTTP. Model dla protokolu TCP (7.44)
utworzony zostal za pomoca regresji wielokrotnej. Jako zmienne niezalezne uzyte do jego
budowy wybrano PACZKA, kwadrat tej wartosci oraz jej odwrotnosc. Analiza wykazala
istotnosc wszystkich zmiennych, a wspólczynnik korelacji R osiagnal wartosc 0,99864269.
Statystyka F- Snedecora F(3,2)=245,08 przekracza wartosc graniczna, a poziom p<0,0407 jest
mniejszy od zadanego poziomu istotnosci α=0,05, co potwierdza istotnosc wspólczynników
wygenerowanego modelu. Wspólczynnik determinacji R2 =0,99321807 swiadczy o bardzo
dobrym odwzorowaniu wartosci empirycznych w utworzonym modelu.
CZAS _ TCP = 17,53141 + 0,0409 * PACZKA
− 0,00018 * PACZKA2 + 43,39558 *1 PACZKA
( 7.44)
Model (7.45) sluzy do prognozowania czasu komunikacji uzaleznionego od podzialu
na okreslona liczbe paczek dla protokolu HTTP. Przy tworzeniu modelu posluzono sie
regresja segmentowa i zmienna niezalezna PACZKA. Wspólczynnik korelacji wyniósl
0,95631, a determinacji 0,91453, co potwierdza poprawnosc utworzonego modelu i
akceptowalnosc go do zastosowan w praktyce.
CZAS _ HTTP = 20,55250 + 0,006300 * PACZKA + 21,76211
+ 0,000645 * PACZKA
Na
podstawie
zaprezentowanych
modeli
mozliwe
jest
okreslanie
( 7.45)
kosztów
komunikacji. Wskazniki dopasowania wartosci uzyskanych na podstawie modelu do wartosci
130
doswiadczalnych sa odpowiednie, co potwierdza poprawnosc modeli i daje mozliwosc
prognozowania na ich podstawie parametrów wydajnosci rzeczywistych aplikacji.
Utworzone modele moga pomóc w podjeciu decyzji odnosnie warunków i parametrów
uruchamiania programu,
uwzgledniajac parametry uruchomienia dostepne z poziomu
uzytkownika systemu. Korzystanie z modeli pozwoli na zorientowanie sie jak ksztaltowac sie
beda wskazniki przesylu danych w zaleznosci od róznych protokolów komunikacji.
7.6 Wykorzystanie modeli do prognozowania wydajnosci aplikacji
rozproszonej
Na podstawie modeli zaprezentowanych w pracy mozna szacowac czas wykonania
aplikacji rozproszonych, efektywnosc oraz przyspieszenie w zaleznosci od dostepnych
czynników sprzetowych i programowych. Ponizej na podstawie wczesniej omówionych
modeli dokonano prognozy parametrów aplikacji dla przykladowych wartosci zmiennych
wejsciowych.
W rozdziale 7.1 zaprezentowano modele statystyczne sluzace do opisu wydajnosci
aplikacji odpowiedzialnej za rozwiazywanie ukladów równan rekurencyjnych.
Jako zmienne istotne dla modelu wybrano liczbe komputerów, ilosc równan, parametr
oraz rzad macierzy. Na podstawie modelu (7.2) prognozowac mozna czas wykonania
aplikacji rozwazajac dwie zmienne wejsciowe, mianowicie ilosc równan oraz ilosc
procesorów. Korzystajac z tego równania obliczone zostaly czasy wykonania dla rzedu
macierzy 20 oraz 60 z wykorzystaniem 15, 8 oraz 4 komputerów (Tabela 7.17).
Tabela 7.17 Prognozowany czas wykonania aplikacji liczacej uklady równan rekurencyjnych
Rzad
Ilosc
Czas
macierzy komputerów wykonania
20
20
20
60
60
60
15 0,029223
4 0,076281
8 0,059169
15 0,086049
4 0,169082
8 0,160168
Korzystajac z modelu (7.4) okreslic mozna efektywnosc, a z modelu (7.5) wnioskowac
o przyspieszeniu w wykonaniu programu. Wartosci uzyskane podczas modelowania dla
przykladowych parametrów wejsciowych przedstawia Tabela 7.18.
131
Tabela 7.18 Prognozowana efektywnosc oraz przyspieszenie aplikacji liczacej uklady równan
rekurencyjnych
Rzad
Ilosc
macierzy komputerów Efektywnosc Przyspieszenie
10
20
30
50
10
20
30
50
10
20
30
50
15
15
15
15
4
4
4
4
8
8
8
8
0,578276
0,633718
0,594378
0,443406
0,748836
0,887153
0,760921
0,998474
0,704193
0,740357
0,804096
0,971191
9,133111
9,35138
9,188611
5,206814
3,569303
3,677261
3,768402
3,925368
7,797072
4,142726
7,852572
7,142765
Równanie (7.11) sluzy do okreslania efektywnosci aplikacji odpowiedzialnej za
mnozenie macierzy . Podczas estymacji wspólczynników modelu wyeliminowano zmienna
zwiazana z rozmiarem macierzy (program testowany byl dla rozmiaru macierzy 300x300,
400x400 oraz 500x500) i pozostawiono zmienna okreslajaca ilosc zaangazowanych
procesorów. Efektywnosc dla zadania wykonywanego z uzyciem 3 procesorów wyniosla 0,4,
dla szesciu procesorów wyniosla 0,15, zas dla dziewieciu procesorów 0,1. tak wiec
korzystajac z modelu mozna stwierdzic, ze przy danym rozmiarze macierzy wykorzystanie
srodowiska rozproszonego zlozonego z serwerów JOTA1, JOTA2 oraz JOTA3 nie jest
celowym, gdyz procesory wykorzystane sa w niewielkim stopniu.
Za pomoca modeli (7.20), (7.21) oraz (7.22) prognozowac mozna czas uruchomienia
aplikacji z wykorzystaniem serwerów JOTA1, JOTA2 oraz JOTA3 dostepnych na WI PS.
Szacunkowe czasy zawarte sa w Tabela 7.19.
Tabela 7.19 Prognozowane czasy wykonania aplikacji rozwiazujacej uklady równan
Rozmiar
Ilosc
macierzy procesorów
300
300
300
400
400
400
500
500
500
3
6
9
3
6
9
3
6
9
JOTA1
51057,88
184479
92540,72
47589,77
68331,2
89072,62
44121,67
64863,09
236808
JOTA2
44980
184479
112306
49185
58458
69976
49273
73399
236808
JOTA3
82930,62
184479
89190,5
76438,18
79568,13
82698,06
69945,74
73075,69
236808
132
Rozdzial 7.5 poswiecony zostal modelom statystycznym wydajnosci aplikacji w
srodowisku .NET Remoting. Na podstawie modeli (7.24) oraz (7.25) prognozowac mozna
czas wykonania przykladowych aplikacji w tym srodowisku. Modele zostaly zredukowane i
jako parametry równania wybrano zmienna KROK dla aplikacji liczacej calke oraz zmienna
PIKSELE dla aplikacji generujacej wykres Lapunowa. Wykorzystujac model (7.24)
wiadomym jest, ze czas wykonania aplikacji, przy uwzglednieniu zmiennej KROK =
1000000, wynosi 1,86, a dla KROK = 100000000 wynosi 124,45. Podobnych prognoz
dokazac mozna z wykorzystaniem modelu (7.25). Przy uwzglednieniu zmiennej PIKSELE =
10000, wynosi 4,19, dla KROK = 1000000 wynosi 58,7, a dla zmiennej KROK = 10000000
wynosi 571,48.
Okreslajac koszty komunikacji programu generujacego wykres Lapunowa dla
protokolów TCP oraz HTTP posluzyc mozna
sie modelami (7.36) oraz (7.37). Na ich
podstawie okreslic mozna, ze dla liczby pikseli równej 1000000 protokól TCP wykorzystuje
824 kB, a protokól HTTP 1399 kB. Gdyby liczba pikseli wzrosla do 5000000 komunikacja
wynioslaby odpowiednio 4123 kB oraz 69866 kB.
W rozdziale pokazano prognozowanie na podstawie modeli charakteryzujacych
aplikacje rozproszone. Dzieki szacowaniu wartosci na podstawie modeli mozna wybrac
zmienna najbardziej lub najmniej znaczaco wplywajaca na badana wielkosc wyjsciowa. Przy
zastosowaniu modeli okreslac mozna zestawy parametrów wejsciowych, dla których zmienna
objasniana przyjmuje wartosc akceptowalna przez uzytkownika systemu.
Mozliwosc zorientowania sie co do charakterystyki wydajnosciowej aplikacji moze
byc atutem dla osób zainteresowanych zakupem oprogramowania wykorzystujacego
srodowisko rozproszone. Uzytkownik moze okreslic wartosci przyspieszenia , efektywnosci i
podjac decyzje, czy w warunkach posiadanej bazy sprzetowej, zastosowanie
systemu
przyniesie wymierne korzysci.
7.7 Podsumowanie
W rozdziale 7 dokonano weryfikacji metodyki zaproponowanej w rozdziale 6 w oparciu
o aplikacje dzialajace w srodowisku rozproszonym.
Rozdzial 7.1 zawiera analize wydajnosci aplikacji odpowiedzialnej za rozwiazywanie
ukladów równan rekurencyjnych. Stworzono w nim modele opisujace czas wykonania
programu w srodowisku rozproszonym, przyspieszenie oraz efektywnosc w oparciu o
zmienne wejsciowe którymi byly: ilosc komputerów, ilosc niewiadomych, rzad macierzy oraz
parametr wplywajacy na jakosc rozwiazania.
133
W punkcie 7.2 analizie poddano wplyw opisanego parametru na czas wykonania
programu oraz efektywne wykorzystanie dostepnych procesorów. Parametr ten okresla liczbe
wierszy w macierzach, które sa wykorzystywane do rozwiazania równania. W
zaprezentowanych modelach jako zmienne niezalezne wykorzystano takze rzad macierzy oraz
ilosc procesorów.
Rozdzial 7.3 poswiecony zostal analizie modeli, za pomoca których prognozowac
mozna czas wykonania mnozenia macierzy w heterogenicznym srodowisku rozproszonym.
Zaprezentowano cechy
srodowiska w którym przeprowadzono badania oraz utworzono
modele efektywnosci oraz przyspieszenia.
W rozdziale 7.4 dokonano analizy i utworzono modele dla aplikacji rozwiazujacej
uklady równan liniowych metoda Gaussa-Seidla. Zaprezentowano modele czasu wykonania
dla okreslonych srodowisk rozproszonych dostepnych na Wydziale Informatyki PS.
Punkt 7.5 poswiecono analizie modeli statystycznych dla aplikacji dzialajacych w
srodowisku rozproszonym wyposazonym w trzy
komputery osobiste o róznej mocy
obliczeniowej polaczonych siecia lokalna. Do testowania wydajnosci uzyto dwóch aplikacji
przeprowadzajacych
obliczenia
numeryczne
w
srodowisku
rozproszonym,
które
charakteryzuja sie duzym zapotrzebowaniem na moc obliczeniowa.
W rozdziale 7.5.3 dokonano analizy wplywu rozmiaru problemu na czas wykonania i
przyspieszenie obliczen równoleglych. Zweryfikowano modele statystyczne czasu wykonania
programu w zaleznosci od liczby kroków i ilosci paczek dla aplikacji liczacej calke potrójna
oraz w zaleznosci od rozdzielczosci oraz ilosci paczek dla wykresu Lapunowa.
Zaprezentowano równania sluzace okresleniu wartosci przyspieszenia, gdzie
porównano
modele z róznymi kombinacjami zmiennych i omówiono wspólczynniki determinacji i zakres
ich stosowalnosci. Przedstawiono takze modele statystyczne dla maksymalnego czasu
przestoju wykonane za pomoca róznych metod regresji (wieloraka, segmentowa).
Rozdzial 7.5.4 zawiera analize kosztów komunikacji zaleznosci od protokolu i metod
dekompozycji dziedzinowej. Opisane zostaly
modele wydajnosci protokolów TCP oraz
HTTP w zaleznosci od rozdzielczosci generowanego obrazu.
W
punkcie
7.6
przedstawiono
prognozowanie
wartosci
charakterystyki
wydajnosciowej omawianych aplikacji rozproszonych
Zaprezentowane w rozdziale 7 modele charakteryzuja sie wysokimi poziomami
wspólczynników determinacji, oraz innych charakterystyk swiadczacych o prawidlowym
odwzorowaniu danych empirycznych za pomoca modeli. Daje to podstawe do prognozowania
wartosci za pomoca stworzonego opisu matematycznego bez koniecznosci uruchamiania
134
aplikacji. Za pomoca zaprezentowanych modeli mozna zorientowac sie, które z czynników
najbardziej istotnie wplywaja na badana zmienna wyjsciowa.
Pomimo ujecia w modelu tyko wybranych czynników majacych wplyw na wydajnosc
aplikacji, wspólczynniki dopasowania modeli do danych empirycznych sa bardzo wysokie, co
potwierdza slusznosc modelowania na podstawie zaprezentowanej metodyki. Rezygnacja z
zastosowania w modelach wszystkich czynników, powoduje, mozliwosc tworzenia ich oraz
prognozowania przez uzytkowników aplikacji, którzy nie maja mozliwosci wplywu na
wszystkie parametry sprzetowe i programowe aplikacji.
Dzieki modelom zaprezentowanym w rozdziale 7 oraz ich weryfikacji, potwierdzona
zostala slusznosc i poprawnosc, zaprezentowanej w pracy metodyki postepowania przy
okreslaniu modeli statystycznych charakteryzujacych aplikacje rozproszone. Tym samym
udowodniono teze postawiona w pracy, iz mozliwe jest opracowanie metod tworzenia modeli
statystycznych, które opisywac beda czas wykonania programu, przyspieszenie oraz
efektywnosc aplikacji rozproszonych, w zaleznosci od parametrów sprzetowych i
programowych z dokladnoscia prognozowania odpowiednia do zastosowania w praktyce.
135
8 Wnioski
Przeprowadzona analiza aktualnego stanu literatury pozwolila stwierdzic, iz istnieje
potrzeba formalizacji i rozwoju metod sluzacych okreslaniu wydajnosci aplikacji
uruchamianych na komputerach równoleglych oraz w srodowiskach sieciowych. Znane sa
metody okreslania charakterystyk na poziomie budowy algorytmów [Foster94], brakuje
jednak schematów opisu efektywnosci juz uzytkowanych aplikacji. Zastosowanie metod
statystycznych do prognozowania zachowania sie programów stalo sie inspiracja niniejszej
pracy.
Zakres pracy:
Na podstawie analizy literatury w rozdziale 2 przedstawiono przeglad narzedzi
statystycznych wykorzystywanych przy budowie modeli. Zaprezentowano tu mechanizmy
pozyskiwania danych do modelowania, sposoby estymacji wspólczynników modeli
statystycznych oraz metody ich weryfikacji.
Zasady funkcjonowania oraz srodowiska programowania systemów równoleglych i
rozproszonych opisano w rozdziale 3.
W rozdziale 3.5 przedstawiono dotychczasowe badania efektywnosci zrównoleglenia.
W punkcie 3.5.1 omówiono znane miary efektywnosci oraz modele tworzone dla potrzeb
komputerów równoleglych i rozproszonych. Rozdzial 3.5.2 poswiecony zostal modelowi
Hocneya [Hockney91], który jest obecnie najpopularniejszym modelem charakterystyki
wydajnosciowej dla komputerów równoleglych. Prawo Amdahla oraz Gustafsona, które
pozwalaja okreslic efektywnosc zrównoleglenia przedstawiono w rozdzialach 3.5.3 oraz
3.5.4.
Metodyke postepowania przy tworzeniu modeli statystycznych dla potrzeb aplikacji
równoleglych zaprezentowano w rozdziale 4. W punkcie 4.1 przedstawiono zakres i idee
tworzenia modeli dla aplikacji równoleglych. W rozdziale 4.2 przeanalizowano czynniki
charakteryzujace zachowanie sie aplikacji, miedzy innymi ilosc procesorów, ilosc
komputerów sieci, wplyw podzialu na okreslona ilosc watków oraz ich rozmiar, indywidualne
cechy programów. Wskazano, które z czynników nalezy brac pod uwage przy budowie
modeli statystycznych charakteryzujacych wydajnosc aplikacji równoleglych. Rozdzial 4.3
dotyczy wyboru klasy modelu, który w najlepszy sposób odzwierciedla dane rzeczywiste. O
sposobach estymacji parametrów, weryfikacji
slusznosci i mozliwosci zaakceptowania
136
stworzonego równania traktuje rozdzial 4.4, a zakres stosowalnosci modelu opisany jest w
rozdziale 4.5.
W rozdziale 6 przedstawiono metodyke postepowania przy budowie modeli
statystycznych
opisujacych
efektywnosc
wykonywania
programu
w
srodowisku
rozproszonym. Czynniki charakterystyczne dla systemów rozproszonych, które powinny byc
uwzglednione przy tworzeniu modeli przeanalizowane zostaly w punkcie 6.2. W rozdziale
6.3 omówiono zasady weryfikacji modeli.
W rozdziale 5 na podstawie zaprezentowanej metodyki opracowane zostaly modele
okreslajace czas wykonania programów, ich przyspieszenie oraz efektywnosc dla
przykladowych aplikacji równoleglych. Doswiadczenia zostaly dobrane, aby wykazac
zasadnosc tworzenia matematycznego opisu badan w postaci modelu. Pokazano przyklady
wskazujace zasadnosc stosowania maszyn równoleglych, a takze przypadki, kiedy
zaangazowanie ich nie jest celowym.
Rozdzial 7 poswiecono przykladowym modelom charakteryzujacym aplikacje
rozproszone.
Glówne osiagniecia naukowe:
W pracy dokonano uzupelnienia klasycznej metodyki tworzenia modeli regresyjnych,
o mozliwosc szacowania czasu wykonania programu, przyspieszenia oraz efektywnosci w
odniesieniu do aplikacji równoleglych i rozproszonych.
Przy tworzeniu metodyki przeanalizowano cechy srodowisk równoleglych i
rozproszonych i wskazano, które z nich w istotny sposób wplywaja na wydajnosc aplikacji.
Wyrózniono czynniki sprzetowe i programowe charakteryzujace wydajnosc aplikacji i
jednoczesnie mozliwe do zmiany z poziomu uzytkownika aplikacji.
Wyszczególniono te, które moga zostac ujete jako parametry modelu. Wskazano
czynniki, które ze wzgledu na swa niejednoznacznosc, nie powinny byc wykorzystywane w
procesie modelowania.
Róznica
miedzy
metodyka
postepowania
dla
sytemu
równoleglego
oraz
rozproszonego dotyczy glównie specyfikacji elementów systemu i jego otoczenia. W
przypadku systemów rozproszonych wieksza jest liczba czynników, które maja wplyw na
postac modelu. Wyróznic mozna takze wiecej cech, których nie da sie przedstawic w sposób
liczbowy i umiescic jako parametry modelu, tylko modele tworzone sa dla konkretnych
ukladów tych czynników.
137
Zaprezentowane podejscie daje mozliwosc prognozowania czasu wykonania aplikacji,
przyspieszenia oraz efektywnosci w zaleznosci od czynników, na które wplyw ma
uzytkownik aplikacji. Daje to szersze spektrum dzialania niz dotychczas znane prawa i
reguly. Prawo Amdahla [Amdahl67] okresla maksymalne przyspieszenie uzyskane w wyniku
zrównoleglenia programu, nie ma mozliwosci okreslenia na jego podstawie rzeczywistej
charakterystyki systemu. Znane z literatury modele sluzace do opisania wydajnosci aplikacji
(rozdzial 3.5.1, 3.5.2) pozwalaja na szacowanie wartosci, przy uwzglednieniu wszystkich
parametrów zawartych we wzorach. Pewne atrybuty zwiazane z budowa systemu
(równoleglego badz rozproszonego) sa jednak ukryte przed uzytkownikami systemu, wiec
okreslanie wydajnosci na podstawie przytaczanych zaleznosci ((3.3), (3.4), (3.5)), w wielu
przypadkach okazuje sie niemozliwym.
Glówne osiagniecia utylitarne:
Wynikiem praktycznym pracy jest utworzenie i zweryfikowanie modeli dla
przykladowych aplikacji oraz pokazanie ich zastosowania do prognozowania charakterystyki
wydajnosciowej.
Poprzez analize modeli charakteryzujacych aplikacje pokazano i udowodniono, iz
sposób postepowania przy modelowaniu jest poprawny pod wzgledem merytorycznym i
pozwala na uzyskanie wartosci prognoz zgodnych z danymi rzeczywistymi.
Mimo pominiecia w modelach wielu z czynników charakteryzujacych badane zjawiska,
wartosci wspólczynników dopasowania modeli do danych rzeczywistych sa bardzo wysokie,
co swiadczy o odpowiednim wyborze zmiennych objasniajacych oraz poprawnosci
zaprezentowanej metodyki. Mozliwosc rezygnacji z niektórych czynników podczas okreslania
wartosci parametrów wyjsciowych czyni zaprezentowane podejscie elastycznym, prostym i
mozliwym do wykorzystania przez kazdego z uzytkowników systemu.
Przedstawione
w
pracy
modele
zastosowano
do
prognozowania
wartosci
charakteryzujacych wydajnosc, czyli czas wykonania programu, efektywnosc oraz
przyspieszenie programów, do których wykonania zaangazowano jednoczesnie kilka
procesorach, w zaleznosci od róznych wariantów zmiennych wejsciowych.
Analiza utworzonych modeli moze pomóc w wyborze parametrów uruchamiania,
które w najbardziej znaczacy sposób wplywaja na wydajnosc aplikacji. Za pomoca modelu
mozna wybrac najbardziej korzystny wariant uruchomienia ze wzgledu na czas,
przyspieszenie, efektywnosc lub inny badany czynnik. Majac gotowy model mozliwym jest,
138
bez koniecznosci uruchamiania aplikacji, okreslenie poczawszy od jakiej wielkosci parametru
zrównoleglenie jest celowym.
W fazie planowania i budowy systemu komputerowego, z wykorzystaniem modeli
mozna zorientowac sie, czy moc obliczeniowa oraz parametry wykorzystywanych
komputerów, okaza sie adekwatne do realizowanych zadan. Dzieki modelowi statystycznemu
traktowanemu jako opis zachowania sie programu, mozna spowodowac oszczednosc czasu,
kosztów, a takze
efektywnie zaplanowac obciazenie komputerów równoleglych, czy
systemów rozproszonych.
Dzieki modelom zaprezentowanym w rozdzialach 5 oraz 7, ich weryfikacji,
potwierdzona zostala slusznosc i poprawnosc, zaprezentowanej w pracy metodyki
postepowania przy okreslaniu modeli statystycznych charakteryzujacych aplikacje równolegle
i rozproszone. Tym samym udowodniono teze postawiona w pracy, iz mozliwe jest
opracowanie metod tworzenia modeli statystycznych, które opisywac beda czas wykonania
programu, przyspieszenie oraz efektywnosc aplikacji równoleglych i rozproszonych, w
zaleznosci od parametrów sprzetowych i programowych, z dokladnoscia prognozowania
odpowiednia do zastosowania w praktyce.
139
Spis rysunków
Rys. 2.1 Etapy procesu badawczego......................................................................................... 13
Rys. 3.1: Architektura systemów wieloprocesorowych z pamiecia wspólna........................... 23
Rys. 3.2: Architektura systemów wieloprocesorowych z pamiecia rozproszona..................... 23
Rys. 5.1 Czas wykonania programu o danym rozmiarze problemu w zaleznosci od ilosci
watków.............................................................................................................................. 49
Rys. 5.2 Podsumowanie regresji okreslajacej czas wykonania aplikacji................................. 50
Rys. 5.3 Efektywnosc aplikacji w zaleznosci od ilosci watków............................................... 51
Rys. 5.4 Efektywnosc generacji fraktala uwzgledniajaca parametr chunk-size i liczbe
procesorów........................................................................................................................ 53
Rys. 5.5 Podsumowanie regresji – czas wykonania - fraktal.................................................... 54
Rys. 5.6 Podsumowanie regresji – efektywnosc zrównoleglenia - fraktal............................... 55
Rys. 5.7 Czas wykonania programu przy zrównolegleniu metoda hiperplaszczyzn................ 58
Rys. 5.8 Czas wykonania programu zrównoleglonego metoda hiperplaszczyzn – zakres
danych do analizy.............................................................................................................. 58
Rys. 5.9 Podsumowanie regresji – czas wykonania przy zrównolegleniu metoda
hiperplaszczyn .................................................................................................................. 59
Rys. 5.10 Wykres rozrzutu wartosci oczekiwanych i przewidywanych.................................. 60
Rys. 5.11 Obserwowany i prognozowany czas wykonania programu równoleglego dla metody
hiperplaszczyzn................................................................................................................. 61
Rys. 5.12 Blad standardowy wartosci przewidywanej dla poszczególnej ilosci watków........ 61
Rys. 5.13 Efektywnosc zrównoleglenia programu metoda hiperplaszczyzn............................ 63
Rys. 5.14 Podsumowanie regresji – efektywnosc dla metody hiperplaszczyzn....................... 63
Rys. 5.15 Srednia efektywnosc zrównoleglenia dla okreslonej liczby watków....................... 64
Rys. 5.16 Przyspieszenie wykonania programu dla ustabilizowanej pracy systemu ............... 66
Rys. 5.17 Podsumowanie regresji dla zrównoleglenia najbardziej zewnetrznej petli.............. 67
Rys. 5.18 Czas wykonania zadan programowania liniowego metoda Simpleks...................... 68
Rys. 5.19 Podsumowanie regresji - czas wykonania - metoda Simpleks................................. 69
Rys. 5.20 Porównanie wartosci obserwowanych i przewidywanych dla zmiennej CZAS. ..... 70
Rys. 5.21 Efektywnosc zrównoleglenia dla metody simpleks ................................................. 70
Rys. 5.22 Podsumowanie regresji - efektywnosc - metoda Simpleks ...................................... 71
Rys. 5.23 Efektywnosc aplikacji liczacej calki......................................................................... 73
Rys. 5.24 Podsumowanie regresji – zmienna efektywnosc...................................................... 73
Rys. 5.25 Efektywnosc aplikacji okreslajacej stopien korelacji dwóch obrazów .................... 76
Rys. 5.26 Zestawienie wartosci oczekiwanych obserwowanych............................................. 76
Rys. 5.27 Czas wykonania programu dla róznej liczby procesorów........................................ 77
Rys. 5.28 Podsumowanie regresji – zmienna czas................................................................... 78
Rys. 5.29 Zestawienie wartosci oczekiwanych obserwowanych............................................. 78
Rys. 7.1 Czas wykonania programu – N= 1000000................................................................. 96
Rys. 7.2 Podsumowanie regresji dla zmiennej CZAS .............................................................. 97
Rys. 7.3 Wartosci obserwowane oraz prognozowane dla aplikacji uruchamianej na 8
komputerach..................................................................................................................... 97
Rys. 7.4 Róznice miedzy wartosciami doswiadczalnymi i prognozowanymi.......................... 98
Rys. 7.5 Podsumowanie regresji dla zmiennej EFEKTYWNOSC ......................................... 99
Rys. 7.6 Czas wykonania programu przy wykorzystaniu 2 oraz 4 procesorów..................... 101
Rys. 7.7 Podsumowanie regresji dla zmiennej zaleznej CZAS .............................................. 102
Rys. 7.8 Efektywnosc zrównoleglenia w zaleznosci od rozmiaru macierzy.......................... 103
Rys. 7.9 Porównanie wartosci przewidywanych i obserwowanych....................................... 105
140
Rys. 7.10 Procentowy udzial odchylen wartosci prognozowanych na postawie modelu do
wartosci empirycznych................................................................................................... 105
Rys. 7.11 Efektywnosc aplikacji przy wykorzystaniu serwerów JOTA1, JOTA2, JOTA3 ... 107
Rys. 7.12Przyspieszenie aplikacji przy wykorzystaniu serwerów JOTA1, JOTA2, JOTA3 . 108
Rys. 7.13 Struktura aplikacji rozproszonej oraz zaleznosci pomiedzy jej komponentami..... 113
Rys. 7.14 Interfejs aplikacji klienckiej obliczania calki potrójnej.......................................... 115
Rys. 7.15 Interfejs aplikacji klienckiej rysowania wykresów Lapunowa .............................. 115
Rys. 7.16 Czasy wykonania programu na pojedynczych komputerach oraz w srodowisku
rozproszonym.................................................................................................................. 117
Rys. 7.17 Podsumowanie regresji – zmienna zalezna CZAS, zmienne niezalezne KROK,
PACZKA ........................................................................................................................ 118
Rys. 7.18 Wykres wartosci przewidywanych wzgledem obserwowanych............................ 118
Rys. 7.19 Podsumowanie regresji – zmienna zalezna CZAS, zmienne niezalezne PIKSELE,
PACZKA ........................................................................................................................ 120
Rys. 7.20 Wykres wartosci przewidywanych wzgledem obserwowanych............................ 121
Rys. 7.21 Podsumowanie regresji – zmienna zalezna PRZYSPIESZENIE, zmienne niezalezne
KROK, PACZKA oraz ich kombinacje.......................................................................... 122
Rys. 7.22 Podsumowanie regresji zmienna zalezna PRZYSPIESZENIE, zmienne niezalezne
PIKSELE, PACZKA, iloczyn oraz odwrotnosci zmiennych......................................... 124
Rys. 7.23 Wykres wartosci przewidywanych oraz obliczonych z modelu dla aplikacji liczacej
calke potrójna.................................................................................................................. 126
Rys. 7.24 Zestawienie wartosci przewidywanych i obserwowanych dla regresji segmentowej
........................................................................................................................................ 127
141
Spis tabel
Tabela 5.1 Modele statystyczne dla aplikacji odpowiedzialnej za mnozenie macierzy........... 60
Tabela 5.2 Prognozy czasu wykonania aplikacji na podstawie modelu 5.11........................... 79
Tabela 5.3 Oszacowany czas wykonania aplikacji odpowiedzialnej za rozwiazywanie
ukladów równan................................................................................................................ 80
Tabela 5.4 Korzystanie z modelu efektywnosci dla aplikacji generujacej fraktal.................... 81
Tabela 5.5 Prognozowanie wartosci efektywnosci dla aplikacji liczacej calke ....................... 81
Tabela 7.1 Zestawienie wartosci przewidywanych i obserwowanych..................................... 98
Tabela 7.2 Modele efektywnosci aplikacji rozwiazujacej równania rekurencyjne ................ 104
Tabela 7.3 Charakterystyka srodowiska rozproszonego (Wydzial Informatyki, Politechnika
Szczecinska) ................................................................................................................... 106
Tabela 7.4 Modele przyspieszenia dla rozproszonego mnozenia macierzy........................... 109
Tabela 7.5 Modele czasu wykonania programu w srodowisku rozproszonym...................... 110
Tabela 7.6 Parametry sprzetowe komputerów uzytych do przeprowadzenia badan.............. 114
Tabela 7.7 Indywidualny i rozproszony czas oraz przyspieszenie ....................................... 117
Tabela 7.8 Zestawienie wartosci empirycznych Y oraz szacowanych na podstawie modelu 119
Tabela 7.9 Srednie wartosci parametrów................................................................................ 121
Tabela 7.10 Modele przyspieszenia dla aplikacji liczacej calke potrójna .............................. 123
Tabela 7.11 Modele dla czasu przestoju aplikacji liczacej calke potrójna ............................. 125
Tabela 7.12 Wartosci przewidywane oraz obliczone na podstawie modelu dla aplikacji
liczacej calke potrójna .................................................................................................... 125
Tabela 7.13 Modele czasu przestoju aplikacji generujacej wykres Lapunowa ...................... 126
Tabela 7.14 Wartosci kosztów komunikacji dla protokolów TCP oraz HTTP ...................... 128
Tabela 7.15 Modele kosztów komunikacji przychodzacej i wychodzacej dla protokolów TCP
oraz HTTP ...................................................................................................................... 129
Tabela 7.16 Koszt komunikacji i nakladu obliczen wielokrotnych wywolan zdalnych
obiektów......................................................................................................................... 130
Tabela 7.17 Prognozowany czas wykonania aplikacji liczacej uklady równan rekurencyjnych
........................................................................................................................................ 131
Tabela 7.18 Prognozowana efektywnosc oraz przyspieszenie aplikacji liczacej uklady równan
rekurencyjnych............................................................................................................... 132
Tabela 7.19 Prognozowane czasy wykonania aplikacji rozwiazujacej uklady równan......... 132
142
Literatura
[Amdahl67]
Amdahl G.; The Validity of the Single-Processor Approach to
Achieving Large Scale Computing Capabilities;Proc. AFIPS; Vol 30;
1967;
[Babitchev83]
Babitchev A., Lebedev V.; Parallelization of program loops; 5 Nauka,
Moscow, 1983.
[Bartoszewicz89]
Bartoszewicz J.; Wyklady ze statystyki matematycznej; PWN ;
Warszawa; 1989;
[BenAri96]
Ben-Ari
M.
:
Podstawy
programowania
wspólbieznego
i
rozproszonego. WNT, Warszawa 1996.
[Berlinska02]
Berlinska J., Poliwoda M.; Analiza efektywnosci zrównoleglenia przy
pomocy modeli statystycznych; VI Sesja Naukowa Informatyki;
Wydzial Informatyki; Politechnika Szczecinska; 2002;
[Berlinska03a]
Berlinska J.; A methodology of creating performance models for
parallel applications; ACS 2003; Miedzyzdroje; 2003;
[Berlinska03b]
Berlinska J.; Metody okreslania wydajnosci aplikacji równoleglych i
rozproszonych; Zarzadzanie wiedza i informacja w spoleczenstwie
sieciowym; Jugowita; 2003;
[Berlinska04a]
Berlinska J., Stpiczynski P.; Zastosowanie metod statystycznych do
oceny wydajnosci aplikacji rozproszonych; Wspólczesne problemy
sieci komputerowych; WNT; Warszawa; 2004;
[Berlinska04b]
Berlinska J.; A methodology of creating performance models for
distributed applications; ACS-CISIM 2004; Elk; 2004;
143
[Berlinska04c]
Berlinska J.; Prognozowanie zachowania sie aplikacji równoleglych i
rozproszonych na podstawie wyników pomiarów oraz benchmarków;
VIII Sesja Naukowa Informatyki; Wydzial Informatyki; Politechnika
Szczecinska; 2004;
[Berlinska04d]
Berlinska J.;The statistical models of parallel applications performance;
Informatyka – badania i zastosowania; Kazimierz Dolny; 2004;
[Bertsekas89]
Bertsekas D.P., Tsitsiklis J.N.; Parallel and Distributed Computation:
Numerical Methods; Prentice Hall; 1989;
[Bielecki02]
Bielecki, W.; Essentials of Parallel and Distributed Computing;
Informa; Szczecin; 2002;
[BieleckiJ99]
Bielecki J.; Java 3 RMI: podstawy programowania rozproszonego;
Wydawnictwo Helion; Gliwice;1999;
[Bik94]
Bik A. J. C., Wijshoff H. A. G.; Implementation of Fourier-Motzkin
Elimination; Technical Report TR94-42; Department of Computer
Science; University of Leiden; The Netherlands; 1994;
[Blake84]
Blake D.; Complete systems methods of estimating models with
rational and adaptive expectations: a case study; European Economic
Review; 24; 137-150; 1984;
[Borowik01]
Borowik B. E.;
Programowanie równolegle w zastosowaniach;
Mikom; Warszawa; 2001;
[Bradt74]
Brandt S.; Metody statystyczne i obliczeniowe analizy danych; PWN;
Warszawa; 1974;
[Brown94]
Bron Ch.; UNIX Distributed Programming; Prentice Hall INT; 1994;
144
[Bucher88]
Bucher J.Y., Simmons M.L.; A Close Look at Vector Performance of
Register- to – Register Vector Computers and a new Model; Proc.
SIGMETRICS’87; Performance Evaluation Review; Vol. 16; Nr 1;
1988;
[Calahan79]
Calahan D. A., Ames W.G.; Vector Processors: Models and
Applications; IEEE Transactions on Circuits and Systems; Vol. CAS26; Nr 9; 197;9
[Catanzaro94]
Catanzaro B.; Multiprocessor Systems Architectures; Montain View;
Sunsoft Press; 1994;
[Celier91]
Celier F.E.; Continuom System Modeling; Sprinter-Verlang; 1991;
[Comer99]
Comer D. E.; Sieci komputerowe i intersieci; WTN; Warszawa;1999;
[Cormen94]
Cormen
T.
H.,
Leiserson
C.
E.,
Rivest
R.L.;
Srodowiska
programowania rozproszonego w sieciach komputerowych; Ksiegarnia
Akademicka; Kraków; 1994;
[Coulouris99]
Coulouris G., Dollimore J., Kindberg T.; Systemy rozproszone.
Podstawy i projektowanie. Warszawa: WNT, 1999;
[Crowl94]
Crowl L. A.; How to Measure, Present, and Compare Parallel
Performance; IEEE Parallel & Distributed Technology; 2 91; Spring;
1994;
[Curnow76]
Curnow H. J., Wichmann B. A.; A Synthetic Benchmark. The
Computer Journal 19,1 (1976), 43-49;
[Cuthbertson90]
Cuthbertson K.; Modelling expectations: a review of limited
information estimation methods; Bulletin of Economic research; 42 (1);
1-34; 1990;
145
[Cuthbertson92]
Cuthbertson K.,
Hall S.G., Taylor M.P.; Applied Econometric
Technique;. Ann Arbor The University of Michigan Press; 1992;
[Czachórski83]
Czachórski T., Kowalówka M., Szczerbinski Z., Wilk A.; Analityczne
metody
rozwiazywania
probabilistycznych
modeli
systemów
komputerowych; Pakiet programowy AMOK; Politechnika Slaska;
Gliwice 1987, skr. 1383;
[Czerwinski82]
Czerwinski Z.; Matematyczne modelowanie procesów ekonomicznych;
PWN; Warszawa; 1982;
[Dietrich00]
Dietrich E., Schulze A.; Metody statystyczne w kwalifikacji srodków
pomiarowych maszyn i procesów produkcyjnych; Notika System;
Warszawa 2000;
[Domanski90]
Romanski Cz.; Testy statystyczne; PWE; Warszawa; 1990;
[Dongarra79]
Dongarra J. J., Bunch J. R., Moler C.B., Stewart G. W.; LINPACK
Users' Guide, SIAM; Philadelphia; 1979;
[ElRewini97]
El-Rewini
H., Lewis T.G.; Distributed and Parallel Computing;
Manning Publications Co.; 1997;
[FengChao]
Feng-Chao
Y.;
Parallel
Virtual
Machine
(PVM);
http://carbon.cudenver.edu/csprojects/csc5809F99/class_projects/feng_
chao_yu/full_project/ ;
[Foster94]
Foster I.; Designing and Building Parallel Programs; Addison Wesley;
1994; http://www-unix.mcs.anl.gov/dbpp/
[Fox87]
Fox G.C., Messyna P.C.; Advenced Computer Architectures; Scientific
American; Oct. 1987;
146
[Freeman92]
Freeman T.L., Philips C.; Parallel Numerical Algorithms; Pretece Hall;
UK; 1992;
[Gajek94]
Gajek L., Kaluszka M.; Wnioskowanie statystyczne. Modele i metody;
WNT; Warszawa; 1994;
[Geist]
Geist A.; PVM: Parallel Virtual Machine. A Users' Guide and Tutorial
for
Networked
Parallel
Computing;
http://www.netlib.org/pvm3/book/pvm-book.html;
[Geist96]
Geist G.A, Kohl J.A., Papatopoulos P.M.; PVM and MPI: a
Comparison of Features; Calculateuris Paralleles; Vol. 8; No 2; 1996;
[Gewert99]
Gewert M., Skoczylas Z.; Analiza matematyczna 2; Oficyna
Wydawnicza GiS; Wroclaw; 1999;
[Goscinski91]
Goscinski A.; Distributed operating systems, The logical design. Mass;
Addison-Wesley; 1991;
[Gropp94]
Gropp W., Lusk E., Skjellum A.; Using MPI: Portable Parallel
Programming with the Message-Passing Interface; MIT Press;1994;
[Gustafson88]
Gustafson J. L., Montry G. R., Benner R. E.; Development of Parallel
Methods for 1024-processor Hypercube; SIAM Journal on Scientific
and Statistical Computing; 9 (4); July; 1988;
[Hockney81]
Hocney R. W ., Jesshope C.R.; Parallel Computers; Adam Hillger Ltd;
Bristol; 1981;
[Hockney85]
Hocney R. W. Measurements on the 2-CPU CRAY X-MP; Parallel
Computing; No. 2; 1985;
[Hockney86]
Hocney R.; Parallel Computers: Architecture and Performance; Parallel
Computing; North Holland; 1986;
147
[Hockney91]
Hockney
R.;
Performance
Parameters
and
Benchmarking
of
Supercomputers; Parallel Computing; 17:1111-30; 1991;
[Hozer98]
Hozer J.; Statystyka. Opis statystyczny; Katedra Ekonometrii i
Statystyki; Uniwersytet Szczecinski; Szczecin; 1998;
[Hwang93]
Hwang K.; Advenced Computer Architekture; New York; McGwanHill; 1993;
[Intriligator71]
Intriligator M. D.; Mathematical Optimisation and Econamic Theory;
Englewood Cliffs; Prentice-Hall; 1971;
[Jaszkiewicz97]
Jaszkiewicz A.; Inzynieria oprogramowania. Helion; Gliwice; 1997;
[Karbowski01]
Karbowski A., Niewiadomska-Szynkiewicz E. : Obliczenia równolegle
i rozproszone. Oficyna Wydawnicza Politechniki Warszawskiej,
Warszawa 2001;
[Kheir96]
Kheir N.A.; Systems Modeling and Computer Simulation; Marcel
Dekker; Inc; 1996;
[Kozielski93]
Kozielski S., Szczerbinski Z.; Komputery równolegle; WNT;
Warszawa, 1993;
[Krzysztofiak81]
Krzysztofiak M., Luszniewicz A.; Statystyka; PWE; Warszawa; 1981;
[Lazowska84]
Lazowska E.D., Zahorjan J., Graham G.S., Sevcik K,C; Quantitative
System Performance; Pretice-Hall; 1984;
[Lewis92]
Lewis T.G, El-Rewi H.; Introduction To Parallel Computing; PrenticeHall; Inc; 1992;
[Lewis94]
Lewis T. G.; Foundations of parallel programing: a machineindependent approach; Manning Publications Co.; 1994;
148
[Lilja93]
Lilja
D.;
Ciche
Cohorence
In
Large-Scale
Shared-Memory
Multiprocessors; Issues and Comparisons; ACM Computing Surveys;
1993;
[Lister94]
Lister A.M., Eager R.D.; Wprowadzenie do systemów operacyjnych;
WNT; Warszawa;1994;
[Lundell96]
Lundell S., Smith D., El-Rewini H.; Synchronous Communication for
PVM; Proceedings of the Eighth IASTED International Conference on
Parallel and Distributed Computing and Systems; 9; 278-282; 1996;
[Marciniak97]
Marciniak A., Gregulec D., Kaczmarek J.; Podstawowe procedury
numeryczne w jezyku Turbo Pascal.; Nakom; Poznan; 1997;
[Martyn96]
Martyn T. : Fraktale i obiektowe algorytmy ich wizualizacji; Nakom;
Poznan; 1996;
[Metzger00]
Metzger P.; Diagnostyka i optymalizacja komputerów; Wydawnictwo
Helion; Gliwice; 2000;
[Miktus00]
Miktus
A,;
Analiza
wydajnosci
aplikacji
w
srodowisku
MS
WINDOWS 98/NT/2000; Biuletyn Instytutu Automatyki I Robotyki
WAT; nr 14; Warszawa; 2000;
[Moldovan93]
Moldovan D.; Parallel Processing from Applications to Systems; San
Mateo; Morgan Kaufmann; 1993;
[Morse94]
Morse H.; Practical Parallel Computing; AP Professional; Boston;
1994;
[Mowbray73]
Mowbray T.J., Zahavi R.; The Essential CORBA; Wiley & Sons; INC;
1995; 12; pp. 45-68; 1973;
149
[MPIF95]
Message Passing Interface Forum; MPI: A Message-Passing Interface
Standard; http://www.mpi-forum.org/docs/mpi-11.ps; 1995;
[MPIF97]
Message Passing Interface Forum; MPI-2: Extensions to the MessagePassing Interface; http://www.mpi-forum.org/docs/mpi-20.ps; 1997;
[Mrózek99]
Mrózek A., Plonka L.; Analiza danych metoda zbiorów przyblizonych;
Akademicka oficyna Wydawnicza PLJ; Warszawa 1999;
[Nelder65]
Nelder J.A., Mead R.; A Simplex Method for Function Minimizatio n;
Computer jal; Vol 7; pp. 308-313; 1965;
[Nelson91]
Nelson G.; Systems Programing with Modula-3; Englewood Cliffs;
NJ; Pretence-Hall;1991;
[Nowak98]
Nowak E. Zarys metod ekonometrii; PWN; Warszawa; 1998;
[Oktaba86]
Oktawa W.; Metody statystyki matematyc znej w doswiadczalnictwie;
PWN; Warszawa; 1986;
[Palkowski04]
Palkowski M., Metody tworzenia aplikacji rozproszonych, Politechnika
Szczecinska, Szczecin, 2004 (praca magisterska);
[Park89]
Park J. Y., Philips P. C. P.; Statistical inference in regressions with
integrated processes; Part II; Econamic Theory; 5; 95-131; 1989;
[Patterson96]
Patterson D. A., HennessyJ.L.; Computer Architecture. A Quantitative
Approach. Second Edition, Morgan Kaufmann Publishers Inc. San
Francisco, California 1996;
[Pawlowski73]
Pawlowski Z.; Prognozy ekonometryczne; PWN; Warszawa; 1973;
[Pawlowski76]
Pawlowski Z.; Statystyka matematyczna; PWN; Warszawa; 1976;
150
[Pelczar02]
Pelczar M.; Zastosowanie metod statystycznych i metod sztucznej
inteligencji w modelowaniu kosztów uslug medycznych w systemach
wspomagania decyzji; Materialy VII Sesji Naukowej Informatyki,
Szczecin; 2002;
[Poliwoda02]
Poliwoda M.; Formalizacja, implementacja i weryfikacja metody
hiperplaszczyzn do automatycznego procesu zrównoleglenia petli
programowych; Szczecin; 2002;
[Rochkind93]
Rochkind M.J.; Programowanie w systemie Unix dla zaawansowanych;
WNT; Warszawa; 1993;
[Seber77]
Seber G.A.F.; Linear regression analysis; John Wiley & Sons; New
York; 1977;
[Sekomski70]
Sekomski K.; Prognozy gospodarcze, a planowanie; Biblioteka
Wiadomosci Statystycznych; Warszawa; 1970;
[Shimasaki87]
Shimasaki M.; Performance Analysis of Vector Supercomputers by
Hockney’s Model; Data Processing Center; Kyoto University; Kyoto
606; 1987;
[Shir94]
Shir M., Otto S.W., Huss-Leolerman S., Walker D.W., Dongaria J.;
MPI: The Complete Referance; MIT Press; 1994;
[Silberschatz00]
Silberschatz A., Galvin P.B.; Podstawy systemów operacyjnych;
WNT; Warszawa; 2000;
[Silberschatz91]
Silberschatz A., Peterson J., Galvin P.; Operating Systems concepts;
Mass; Addison-Wesley; 1991;
[Smith88]
Smith J. E.; Characterizing Computer Performance with a Single
Number; Communications of the ACM, vol. 31 No.10; 1988;
151
[Stallings00]
Stallings W.; Organizacja i architektura systemu komputerowego;
Projektowanie systemu, a jego wydajnosc; WNT; Warszawa; 2000;
[Stanisz98]
Stanisz A.; Przystepny kurs statystyki w oparciu o program
STATISTICA PL na przykladach z medycyny;
[STATISTICA97]
STATISTICA PL dla Windows (Tom III): Statystyki II; Statsoft; 1997;
[Stevens98]
Stevens W.R.; Programowanie zastosowan sieciowych w systemie
UNIX; WNT; Warszawa; 1998;
[Stone93]
Stone H.; High-Performane Computer architecture. Reading; AddisonWesley; 1993;
[Stpiczynski92]
Stpiczynski P.; A new message passing algorithm for solving linear
recurrence systems; Lecture Notes in Computer Science; 2328; 2002;
[Szczerbinski93]
Szczerbinski Z.; Ocena efektywnosci funkcjonowania komputerów o
architekturze równoleglej; Zeszyty Naukowe Politechniki Slaskiej;
seria Informatyka; z. 16, Gliwice; 1993;
[Tanenbaum92]
Tannenbaum A.S.; Modern operating systems; Englewood Cliffs; NJ;
Pretence-Hall;1991;
[Tanenbaum97]
Tanenbaum A. S.; Rozproszone systemy operacyjne. PWN, Warszawa;
1997;
[Tomasevic93]
Tomasevic M., Multinovic V.; The Cache Cohorence Problemin
Shared-Memory
Multiprocessors:
Hardware
Solutions;
IEEE
Computer Society Press; Los Alamitos; 1993;
152
[Twardochleb02]
Twardochleb M.; Metody Modelowania statystycznego a optymalizacja
funkcji wielu zmiennych z ograniczeniami; Materialy VII Sesji
Naukowej Informatyki, Szczecin; 2002;
[Weicker91]
Weicker R.; A detailed look at some popular benchmarks, Parallel
Computing, No. 17 (1991), 1153-1172;
[Weiss93]
Weiss Z., Gruzlewski Z.; Programowanie wspólbiezne i rozproszone w
przykladach i zadaniach; WNT; Warszawa; 1993;
[Welfe95]
Welfe A.; Ekonometria – metody i ich zastosowanie; PWE; Warszawa;
1995;
[Wickens82]
Wickens M. R.; The efficient estimation of econometric models with
rational expectations; Review of Economic Studies; 49; 55-68; 1982;
[Wolf96]
Wolf M.E.; High Performance Compilers for Parallel Computing;
Addison-Wesley; 1996;
[Wolfe95]
Wolfe M.; High Performance Compilers for Parallel Computing.
Addison-Wesley Publishing Company; 1995;
[Wyrzykowski]
Wyrzykowski R.; PVM – MPI – przyszlosc i terazniejszosc;
http://icis.pcz.czest.pl/~roman/index2.html;
[Zajac94]
Zajac K.; Zarys metod statystycznych; PWE; Warszawa; 1994;
[Zeigler00]
Zeigler B.P., Praehofer H., Kim T.G.; Theory of Modeling and
Simulation; Academic Press; 2000;
[Zelias97]
Zelias A.; Teoria prognozy; Polskie Wydawnictwo Ekonomiczne;
Warszawa; 1997;
[Zielinski96 ]
Zielinski
K.;
Podstawy
programowania
wspólbieznego
i
rozproszonego; WNT; Warszawa; 1996;
153
[Zmuda99]
Zumda M., Niewiadomska-Szynkiewicz E.; Parallel Simulation of
Complex Sytsems, Software Enviroment and Applications; Proc. 13th
European Simulation Multiconference; SCS; Warszawa;1999;
[Berlinska05]
Berlinska
J.,
Palkowski
M.; Opis
charakterystyki
wydajnosci
srodowiska .NET z wykorzystaniem modeli statystycznych; Sesja
Naukowa Informatyki; 2005; - materialy przygotowane do druku;
154

Podobne dokumenty