• Nie Znaleziono Wyników

Zależność czasu realizacji od czynności wykonywanych przez inne procesory

W celu określenia wpływu innych procesów na czas realizacji bloku programu wykonano po 4000 pomiarów czasu realizacji bloku. Wybrano trzy rodzaje bloków testowych:

• Blok zawierający obliczenia na rejestrach (obliczanie ciągu an=an-1+an-2) • Blok przetwarzający obszar pamięci (sortowanie)

W czasie dokonywania pomiaru drugi procesor wykonywał zadanie mogące w mniejszym lub większym stopniu spowalniać realizację mierzonego bloku. Jako najbardziej reprezentatywne wybrano następujące zadania:

• Brak procesów użytkowych

• Obliczenia z użyciem lokalnych struktur danych • Przetwarzanie obszaru pamięci (sortowanie) • Przesyłanie danych przez sieć

Pomiary przeprowadzono z użyciem systemów wyraźnie różniących się architekturą, a co za tym idzie wzajemnym wpływem współbieżnych procesów. Wyniki pomiarów (w µsec) dla komputera wyposażonego w dwa procesory Intel-Pentium i wspólną pamięć RAM przedstawia tabela 9-5. Dla każdego zestawu 4000 pomiarów obliczono wartość średnią i odchylenie standardowe.

Tabela 9-5 Zależność czasu realizacji bloku od czynności wykonywanych współbieżnie

brak lokalne sort. sieć

średnia odch. średnia odch. średnia odch. średnia odch.

ciąg 15360 4392 14788 5618 15531 8113 15611 7632

sort. 23312 12871 24154 8561 27615 15478 25118 11697

sieć 26741 14587 27814 15417 28963 12874 32687 28644

Weryfikacja hipotezy H0 o niezależności wartości średniej rozkładu losowego czasu realizacji bloku od rodzaju bloku go poprzedzającego, przeciwko hipotezie alternatywnej, że wartość średnia jest zależna:

Na podstawie nierówności Czebyszewa (9-1) określono przedziały ufności wartości średniej na poziomie 95%. Nie czyniono żadnych założeń co do kształtu rozkładu losowego.

Jeżeli przedziały ufności mają część wspólną to nie ma podstaw do odrzucenia hipotezy o równości średnich, w przeciwnym przypadku należy hipotezę odrzucić.

Tabela 9-6 Przedziały ufności dla wartości średniej na poziomie 95%

brak lokalne sort. sieć

min max min max min max min max

ciąg 15049 15670 14391 15185 14957 16104 15071 16151

sort. 22402 24222 23549 24759 26520 28710 24291 25945

sieć 25709 27773 26724 28904 28052 29873 30659 34714

W pierwszym wierszu tabeli przedziały ufności mają część wspólną, zatem nie ma podstaw do odrzucenia hipotezy o równości rozkładów. Program liczący elementy ciągu nie używa żadnych współdzielonych zasobów (sam program ma kilka bajtów) zatem wpływ równoległych procesów powinien być znikomy.

W przypadku sortowania (konflikt dostępu RAM) i komunikacji (wspólny interface sieciowy) obserwowane jest wydłużenia czasu realizacji, gdy współbieżny proces jest „złośliwie” dobranym procesem konkurującym w maksymalnym stopniu. W pozostałych przypadkach nie ma podstaw do odrzucenia hipotezy

Weryfikacja hipotezy H0 o równości rozkładów czasu realizacji bloku, niezależnie od czynności wykonywanych równocześnie za pomocą testu Walda-Wolfowitza. Ilość serii przy porównaniu ciągów przedstawiono w tabeli 9-7.

Zbiory krytyczne przy m=n=4000 na poziomach ufności 95% i 99% mają postać W(95%)=[2, 3926]

W(99%)=[2, 3895]

Tabela 9-7 Liczba serii przy porównaniu dwóch prób po 4000 pomiarów

brak & lok brak & sort brak & sieć lok & sort lok & sieć sort & sieć

ciąg 4095 4011 3933 4001 4023 3899

sort 3999 3005 3925 3215 4090 3353

sieć 4012 3916 2014 3985 2451 2511

Uzyskanie liczby serii skłaniają do odrzucenia hipotezy o równości rozkładów losowych czasów realizacji bloków przy różnych zadaniach pracujących równolegle. Można zauważyć szczególnie wyraźną nierówność rozkładów dla par w której jeden proces współbieżny nie konkuruje z mierzonym a drugi konkuruje o jakiś niepodzielny zasób. Dla procesów nie konkurujących o zasoby nie ma podstaw do odrzucenia hipotezy o braku wpływu współbieżnych procesów na szybkość wykonywania kodu.

Badane rozkłady mają dużą wartość odchylenia standardowego, a co za tym idzie szerokie przedziały ufności. Z faktu niemożności odrzucenia hipotezy nie można zatem wyciągać kategorycznych wniosków co do jej prawdziwości.

Drugim rodzajem badanej architektury jest układ samodzielnych komputerów podłączonych do wspólnego segmentu sieci ethernet 10MBps. Jeden z komputerów wykonywał proces mierzony, drugi komputer proces obciążający system. Komputery posiadały lokalne dyski z umieszczonym na nich systemem linux. Wyniki pomiarów (w µsec) przedstawia tabela 9-8. Dla każdego zestawu 4000 pomiarów obliczono wartość średnią i odchylenie standardowe.

Tabela 9-8 Zależność czasu realizacji bloku od czynności wykonywanych współbieżnie

brak lokalne sort. sieć

średnia odch. średnia odch. średnia odch. średnia odch.

ciąg 32912 8932 30111 4643 35251 9113 33143 7932

sort. 48277 21851 49932 28227 46985 14658 48332 22934

sieć 44561 30623 42129 23772 43261 27113 50122 38871

Weryfikacja hipotezy H0 o niezależności wartości średniej rozkładu losowego czasu realizacji bloku od rodzaju bloku go poprzedzającego, przeciwko hipotezie alternatywnej, że wartość średnia jest zależna:

Na podstawie nierówności Czebyszewa (9-1) określono przedziały ufności wartości średniej na poziomie 95%. Nie czyniono żadnych założeń co do kształtu rozkładu losowego.

Jeżeli przedziały ufności mają część wspólną to nie ma podstaw do odrzucenia hipotezy o równości średnich, w przeciwnym przypadku należy hipotezę odrzucić. Badane rozkłady mają dużą wartość odchylenia standardowego, a co za tym idzie szerokie przedziały ufności. Z faktu niemożności odrzucenia hipotezy nie można zatem wyciągać kategorycznych wniosków co do jej prawdziwości.

Tabela 9-9 Przedziały ufności dla wartości średniej na poziomie 95%

brak lokalne sort. sieć

min max min max min max min max

ciąg 32280 33544 29783 30440 34607 35895 32582 33704

sort. 46732 49822 47936 51928 45948 48022 46710 49954

sieć 42395 46727 40448 43810 41344 45178 47373 52871

Weryfikacja hipotezy H0 o równości rozkładów czasu realizacji bloku, niezależnie od czynności wykonywanych równocześnie za pomocą testu Walda-Wolfowitza. Ilość serii przy porównaniu ciągów przedstawiono w tabeli 9-10.

Tabela 9-10 Liczba serii przy porównaniu dwóch prób po 4000 pomiarów

brak & lok brak & sort brak & sieć lok & sort lok & sieć sort & sieć

ciąg 3958 3962 3951 4065 3988 4003

sort 3966 4087 4032 4027 4021 3991

sieć 4009 4106 3008 4101 2300 2288

Przedstawione wyniki potwierdzają, że wpływ innych procesów na szybkość realizacji kodu obserwowany jest jedynie w przypadku, gdy procesy współzawodniczą o dostęp do wspólnego, ograniczonego zasobu. Dla komputera z dwoma procesorami, krytycznymi zasobami okazują się być wspólna karta sieciowa oraz pamięć RAM (w mniejszym stopniu). W przypadku komputerów połączonych siecią o niewielkiej przepustowości krytycznym zasobem okazuje się wspólny kanał komunikacyjny. Nawet dla kombinacji dobranych tak aby uzyskać największy wpływ sąsiedniego procesu nie przekracza on 22%, dla pozostałych kombinacji jest on poniżej błędu statystycznego. Można zatem uznać, że dla typowych programów wykonywanych na maszynie równoległej wpływ poszczególnych procesorów na siebie można pominąć, o ile zapewniona jest wymagana przepustowość kanałów komunikacyjnych oraz wydajność współdzielonych urządzeń.