• Nie Znaleziono Wyników

Metryki wydajnościowe

W dokumencie Index of /rozprawy2/10081 (Stron 164-168)

Testy systemu

Eksperyment 5 — Wykorzystanie migracji VM

7.1.3. Metryki wydajnościowe

Definicje metryk opisujących wydajność rozproszonych środowisk obliczeniowych można podzielić na dwie grupy. Podział ten wynika z uwzględnienia różnych oczekiwań wzglę-dem infrastruktury z poziomu dwóch rozłącznych grup jej użytkowników. I tak parametry związane z czasem przetwarzania aplikacji (7.3), czyli czasem pomiędzy chwilą rozpoczęcia przetwarzania a momentem zakończenia obliczeń (zwrócenia rezultatów), są istotne głów-nie z punktu widzenia użytkowników Gridu. Natomiast parametry określające stopień wykorzystania infrastruktury (7.10) to ważne z punktu widzenia administratora czynniki charakteryzujące właściwości warstwy pośredniej (middleware).

Metryki klasyczne13 związane z przetwarzaniem aplikacji

Czas odpowiedzi infrastruktury RA (7.3) dla aplikacji A (4.24) definiujemy jako różnicę czasów pomiędzy rozpoczęciem przetwarzania aplikacji a momentem jej zakończenia:

RA= ∆T := Tend− Tstart (7.3)

W przypadku, gdy przetwarzana aplikacja składa się z kilku uruchomionych niezależ-nie komponentów (4.24) należy rozdzielić czas wykonania całości przetwarzania od czasu wykonania poszczególnych składowych. Czas odpowiedzi (7.4) mierzony jest wtedy jako czas pomiędzy rozpoczęciem wykonywania pierwszego komponentu a czasem zakończenia przetwarzania ostatniego komponentu tej samej aplikacji:

R(i,j)A := Taj

end− Tai

start i ai, aj ∈ A, (7.4) gdzie:

ai — komponent aplikacji A, którego wykonanie zostało rozpo-częte jako pierwsze,

aj — komponent aplikacji A, który został zakończony jako ostatni, czyli:

R(i,j)A = RA (7.5)

Możemy również określić sumaryczny czas wykonania wszystkich komponentów, który określa jak długo działałaby aplikacja, jeżeli całe jej przetwarzanie byłoby wykonane se-kwencyjnie14: RA:= X ai∈A Rai, gdzie: Rai = ∆Tai := Tai end− Tai start (7.6)

Zysk zrównoleglenia (7.7) to z kolei parametr określający w jakim stopniu możliwe jest skrócenie czasu wykonania aplikacji przy jej współbieżnym wykonaniu:

ZA:= RA

R(i,j)A

∗ 100 % (7.7)

Zdefiniowanie i wyznaczenie w/w parametrów pozwoli na oszacowanie właściwości sys-temu zarządzania zasobami widzianych z poziomu użytkowników. Parametry te opisują o ile zmieni się czas wykonania aplikacji w zależności od przyjętych parametrów pracy algorytmów zarządzania zasobami.

13

Proponowane w tej sekcji metryki odnoszą się do klasycznej interpretacji infrastruktury Grid, czyli nie uwzględniają wpływu żadnych technik związanych z wirtualizacją infrastruktury. Odniesienie do środowi-ska, w którym zasoby są wirtualizowane, wprowadzają metryki wydajnościowe zaproponowane w dalszej części sekcji.

14

Metryki obciążenia infrastruktury

Obciążenie infrastruktury, czyli efektywne wykorzystanie dostępnych zasobów jest kolej-nym istotkolej-nym parametrem. Parametr ten określa stopień wykorzystania infrastruktury lub ile jest jeszcze niewykorzystanej np. mocy obliczeniowej czy dostępnej przepustowości sieciowej.

Dla aplikacji A (4.24) składającej się z niezależnych komponentów uruchomionych w obrębie zbioru fizycznych maszyn PH (4.1) określamy następujące parametry15:

E(cj)

ai — efektywny czas procesora cj zużyty dla wykonania pojedyn-czego komponentu ai aplikacji A,

p(hk) — zbiór procesorów dostępnych w obrębie fizycznego węzła hk,

h(ai) — funkcja (7.8) zwracająca fizyczny węzeł, na którym jest uru-chomiony komponent ai.

h : A → PH,

h(ai) := {hj ∈ PH : ai jest przetwarzane przez hj} (7.8)

Wykorzystanie pojedynczego węzła h przez aplikację A określamy zatem jako:

u(h, A) :=

P

ai∈APcj∈p(h)E(cj)

ai

RA , (7.9)

a współczynnik wykorzystania całej dostępnej infrastruktury PH przez aplikację A zosta-nie określony następująco:

U (PH, A) :=

P

hk∈PHu(hk, A)

#PH , (7.10)

gdzie:

#PH — liczba elementów zbioru PH (liczba dostępnych fizycznych węzłów).

Współczynnik ten możemy również obliczyć biorąc pod uwagę jedynie obciążenie węzłów wykorzystywanych przez aplikację. Parametr ten (7.11) będzie mógł lepiej charakteryzo-wać obciążenie generowane przez aplikacje, które nie korzystają z wszystkich dostępnych zasobów infrastruktury. U0(PH, A) := P hk∈H(A)u(hk, A) #H(A) , (7.11) gdzie: 15

„Czas efektywny” rozumiany jest jako czas procesora przydzielony przez system operacyjny do obsługi aplikacji jedynie w tzw. trybie użytkownika. Wartość ta nie uwzględnia czasu spędzonego przez procesor w trybie systemowym, czyli czasu poświęconego na obsługę przez system operacyjny zdarzeń generowanych przez aplikację.

H(A) — funkcja (7.12) zwracająca zbiór fizycznych węzłów hk, które używane są podczas wykonania aplikacji A,

#H(A) — liczba elementów zbioru H(A) (liczba węzłów fizycznych używanych przez aplikację A).

H : A → 2PH, H(A) := [ ai∈A h(ai) (7.12)

Analogicznie do obciążenia zasobów obliczeniowych, możemy zdefiniować zestaw para-metrów określających wykorzystanie infrastruktury komunikacyjnej. Dla aplikacji A na-leży określić zbiór jednokierunkowych transmisji sieciowych16 FA (7.13) poszczególnych jej komponentów ai, czyli:

FA:= {fi,j : ai i aj komunikowały się ∧ ai, aj ∈ A ∧ h(ai) 6= h(aj)} , (7.13) gdzie:

fi,j — element oznaczający jednokierunkową komunikację kompo-nentów ai oraz aj, dokonaną w trakcie działania aplikacji A. Pasmo zajęte przez komunikację komponentów ai i aj określamy zatem następująco:

Bi,j := b(fi,j) + b(fj,i)

RA dla: fi,j, fj,i ∈ FA, (7.14)

gdzie:

b(fi,j) — liczba bitów informacji przesłanych od komponentu ai do aj.

Dla topologii fizycznej PN (7.15), składającej się z zestawu połączeń pomiędzy fizycz-nymi węzłami PH określone zostały następujące funkcje:

p(n)(hi, hj) — funkcja (7.16) zwracająca zbiór połączeń sieciowych dla n-tej ścieżki łączącej fizyczne elementy infrastruktury hi i hj, e

b(n)(hi, hj) — przepustowość (7.17) n-tego połączenia pomiędzy hi a hj — czyli przepustowość najwolniejszego odcinka na danej ścieżce,

e

B(hi, hj) — efektywna przepustowość (7.18) infrastruktury sieciowej łą-czącej węzły hi i hj.

PN ⊆ {li,j = (hi, hj) : hi, hj ∈ PH} (7.15)

p : PH × PH → 2L,

p(n)(hi, hj) = {lm,n : lm,n∈ n-tej ścieżki pomiędzy hi a hj} (7.16)

16Komunikacja sieciowa komponentów aplikacji uruchomionych w obrębie jednego fizycznego węzła nie jest uwzględniana, gdyż nie powoduje ona obciążenia zasobów topologii komunikacyjnej.

eb(n)(hi, hj) := min lm,n∈p(n)(hi,hj) b(lm,n) (7.17) e B(hi, hj) := N X n=1 e b(n)(hi, hj) (7.18)

A zatem obciążenie generowane podczas komunikacji dwóch niezależnych komponen-tów aplikacji A będzie ilorazem wykorzystanego pasma i szerokości pasma dostępnego dla komunikacji fizycznych węzłów, na których odbywa się wykonanie tych komponentów.

NA:= 1 #FA X fi,j∈FA Bfi,j e B(hi, hj) oraz ^ ai∈A hi = h(ai) (7.19)

Efektywna komunikacja sieciowa przesłana podczas wykonania aplikacji będzie wyra-żona następująco:

XA:= RA X

fi,j∈FA

Bfi,j (7.20)

7.2. Ocena zastosowanych technologii

Działanie systemu VGRMS, jego możliwości oraz ograniczenia silnie wynikają z właściwo-ści techniki wirtualizacji, która zastosowana była jako mechanizm umożliwiający regula-cję dostępu do zasobów. Technika parawirtualizacji której implementacja stanowi projekt Xen była głównie testowana [5, 6] pod kątem poziomu wprowadzanego narzutu na wyko-nanie aplikacji uruchomionej w obrębie maszyny wirtualnej Xen. W literaturze tematu, niedostatecznie szczegółowo były przedstawiane aspekty związane z właściwościami mi-gracji, kluczowej zdaniem autora z punktu widzenia możliwości oferowanych przez system VGRMS. Dlatego autor postanowił zamieścić przed wynikami pomiarów działania systemu VGRMS także informacje o możliwościach i narzutach związanych z wykonywaniem pro-cesu przeniesienia wykonania VM pomiędzy dwoma fizycznymi hostami.

W dokumencie Index of /rozprawy2/10081 (Stron 164-168)