• Nie Znaleziono Wyników

Model statyczny wirtualnego Gridu

W dokumencie Index of /rozprawy2/10081 (Stron 85-90)

Model systemu zarządzania zwirtualizowanymi zasobami Grid

4.1.2. Model statyczny wirtualnego Gridu

Podstawowe elementy VG (ang. Virtual Grid ) tworzące infrastrukturę wykonania aplika-cji rozproszonych, możemy przedstawić za pomocą modelu mnogościowego określającego składowe poszczególnych komponentów a także interakcje pomiędzy nimi.

Przedstawiona w rozdziale 1 definicja wirtualnego Gridu zakłada powiązanie aplika-cji z zasobami za pomocą dedykowanego środowiska. Środowisko to umożliwia zasłonię-cie przed aplikacją szczegółów związanych z działaniem mechanizmów alokacji zasobów. Przedstawiając model działania systemu należało zatem wyjść od znalezienia i określenia możliwych interakcji komponentów realizujących grupowanie zasobów. Definicje te po-zwolą na sformułowanie pierwszej statycznej wersji modelu wirtualnego Gridu, gdyż nie będą one uwzględniać możliwych zmian w czasie odnośnie wymagań aplikacji oraz mody-fikacji konfiguracji zasobów.

Komponenty, których definicje oraz powiązania zostaną przestawione (za pomocą no-tacji mnogościowej) w tym modelu to:

• Elementy udostępniające zasoby obliczeniowe infrastruktury, czyli zbiór fizycznych węzłów — PH (4.1),

• Wirtualne kontenery zasobów takie jak wirtualne komputery — VM (4.5) i wirtu-alna sieć — VN (4.11),

• Statyczny Wirtualny Grid — V GS(4.21) czyli element grupujący zasoby wraz z okre-śleniem wymaganych reguł.

Grupowanie zasobów do kontenerów

Mając do dyspozycji pewną infrastrukturę obliczeniową możemy określić ją za pomocą zbioru PH niezależnych urządzeń hi (komputerów) o określonych i niezmiennych w czasie właściwościach:

PH := {hi : i = 1, . . . , I} (4.1)

Właściwości te w niniejszym modelu będą reprezentowane za pomocą zestawu para-metrów (4.2) określających zasoby.4

P := 

paramj : j = 1, . . . , J

(4.2)

param := (N ame, T ype, V alue) (4.3)

T ype := { required ,  optional ,  unspec ,  unknown }

gdzie:

4

Parametry te to np. właściwości sprzętowe takie jak typ czy zegar procesora lub ilość dostępnej pamięci oraz parametry związane z oprogramowaniem, czyli atrybuty opisujące konfigurację systemu operacyjnego i zainstalowanego oprogramowania.

N ame — symboliczna nazwa jednoznacznie identyfikującą dany

para-metr,

T ype — oznaczenie operacji określenia właściwości danej zmiennej

(tabela 4.2),

V alue — ilościowe określenie danego parametru wraz z dopuszczalną

wartością pustą (Null ),

P — zbiór wszystkich możliwych parametrów.

Modyfikator Znaczenie

 optional  parametr jest opcjonalny

 required  parametr jest wymagany

 unspec  wartość parametru jest nieokreślona

 unknown  wartość parametru jest nieznana

Tabela 4.2. Modyfikatory znaczenia parametrów konfiguracyjnych

Również definicja maszyny wirtualnej VM może być przedstawiona jako zestaw para-metrów i odpowiadających im wartości5 określających dostępność oraz sposób wykorzy-stania zasobów przez daną instancję maszyny wirtualnej — VM:

Nazwa parametru Typ parametru

identification/uuid statyczny

resident on host statyczny

kernel file statyczny

memory/dynamic max size dynamiczny memory/dynamic min size dynamiczny

virtual block device statyczny

virtual network interface statyczny

name/description dynamiczny

VCPU/params dynamiczny

VCPU/max number dynamiczny

monitoring metrics statyczny

VCPU/at startup number statyczny

Tabela 4.3. Przykładowa lista parametrów konfiguracyjnych VM

VM := nparamk(1), . . . , paramk(vm)o (4.4)

VZ := {VM ∈ 2P: k = 1, . . . , 2J} (4.5) Zbór VZ reprezentuje wszystkie możliwe zestawy parametrów opisujących maszyny wir-tualne.

Mając dwa komponenty systemu w postaci zasobów fizycznych (4.1) oraz zestawu kon-figuracji wirtualnych maszyn (4.5) jako kontenerów grupujących i określających dostępność

5Parametry te określają konfigurację alokacji zasobów dla danej wirtualnej maszyny a także jej aktualny stan.

zasobów, konieczne jest określenie funkcji umożliwiającej odwzorowanie elementów tych zbiorów — czyli procedury r dokonującej rozmieszczenia wykonania wirtualnych maszyn na fizycznym sprzęcie:

r : VZ → 2PH, r(VM) :=

hi∈ P H : Cap(hi)(1)≡ Req(VM)

(4.6) gdzie:

r(VM) — funkcja tworząca zbiór maszyn fizycznych, dla których

do-stępność i konfiguracja zasobów spełnia wymagania maszyny wirtualnej VM,

Cap(hi) — zasoby (4.7) maszyny fizycznej hi,

Req(VM) — wymagania (4.8) maszyny wirtualnej VM,

(1)

≡ — oznacza relację (procedurę) weryfikacji dostępności zasobów

fizycznego węzła hi na poziomie przedstawionym w specyfi-kacji wirtualnej maszyny VM.

Cap : PH → 2P, Cap(hi) :=nparamp(1), . . . , paramp(hi)o (4.7) gdzie:

p(hi) — liczba parametrów opisujących węzeł hi.

Req : VZ → 2P, Req(VM) :=nparamp(1), . . . , paramp(vm)o (4.8) Działanie funkcji r sprowadza się do wyboru z pośród dostępnych elementów infra-struktury tylko tych, które spełniają wymagania danej maszyny wirtualnej. Przez PH(i) oznaczony zostanie zbiór fizycznych elementów infrastruktury spełniających wymagania maszyny wirtualnej VM, czyli:

PH(i):= r(VM) (4.9)

Dodatkowo konieczne jest określenie funkcji s (4.10), która dla zbioru PH(i) wybierze jeden fizyczny element infrastruktury hi, na którym dana maszyna zostanie stworzona i uruchomiona.

s : PH(i)→ PH(i), sPH(i):= hj : hj ∈ PH(i) (4.10) Różne możliwe algorytmy rozmieszczenia maszyny wirtualnej są możliwe poprzez zmianę działania funkcji s.

Grupowanie zasobów wirtualnej sieci

Wirtualna sieć VN (4.11) czyli zestaw wirtualnych połączeń sieciowych definiujący topo-logię dla komunikacji w obrębie VG składa się z następujących elementów:

VN := (D, L) (4.11)

D — zbiór (wirtualnych) urządzeń sieciowych (elementów

infra-struktury) oraz urządzeń końcowych (wirtualnych kompute-rów).

L — zbiór wirtualnych połączeń (4.14).

d := nparamd(1), . . . , paramd(di)o (4.12)

D := {d ∈ 2P: m = 1, . . . , 2J} (4.13) Element d oznacza wirtualne urządzanie sieciowe (wirtualny switch, wirtualny router), którego funkcjonalność i wymagania określone są poprzez zestaw parametrów (4.12).

L ⊆

li,j = (di, dj) : di, dj ∈ D

(4.14)

Rysunek 4.3. Przykład topologii fizycznej wirtualnego Gridu

Wirtualne połączenie posiada również określony dla niego zestaw parametrów charak-teryzujący jego właściwości:

li,j :=nparaml(1), . . . , paraml(li,j)o (4.15)

Nazwa parametru Typ parametru

lista interfejsów fizycznych statyczny

parametry interfejsów fizycznych statyczny

lista wirtualnych interfejsów dynamiczny

połączenia pomiędzy interfejsami dynamiczny

rodzaj powiązania interfejsów dynamiczny

metoda separacji komunikacji dynamiczny

konfiguracja adresacji IP dynamiczny

parametry QoS połączeń dynamiczny

konfiguracje routigu i NAT dynamiczny

rozmieszczenie wirtualnych routerów dynamiczny

(. . . ) (. . . )

Tabela 4.4. Przykładowa lista parametrów konfiguracyjnych VN

Pełne określenie wirtualnej topologii wymaga dodatkowo zdefiniowania reguł rozmiesz-czenia wirtualnych komponentów w obrębie fizycznych zasobów. Wybór elementu infra-struktury, podobnie jak przy instancjonowaniu wirtualnych węzłów wymagać będzie

okre-ślenia funkcji n (4.16) weryfikującej dostępność zasobów danego węzła pod kątem wymagań wirtualnego komponentu topologii.

n : D → 2PH, n(di) :=

hj ∈ PH : Cap(hj)(2)≡ Req(di)

(4.16) gdzie:

n(di) — funkcja tworząca zbiór maszyn fizycznych, dla których do-stępność i konfiguracja zasobów spełnia wymagania ele-mentu di,

Cap(hj) — zasoby maszyny fizycznej hj,

Req(di) — wymagania elementu topologii sieciowej di. (2)

≡ — oznacza relację weryfikacji dostępności zasobów fizycznego

węzła hj na poziomie przedstawionym w specyfikacji kom-ponentu di.

Dodatkowo określić należy funkcję weryfikującą zasoby ścieżki fizycznej (łączącej dwa komputery fizyczne), pod kątem wymagań tworzonego nad nią połączenia logicznego. We-ryfikacja ta wymagana jest w sytuacji gdy połączenie logiczne jest realizowane pomiędzy wirtualnymi węzłami uruchomionymi na dwóch różnych6 fizycznych węzłach.

w : D → 2PH, w(di) :=  hi ∈ P H : ^ dj∈D:li,j∈l(di) hk=h(di) hl=h(dj)

Capl(hk, hl)(3)≡ Req(li,j) 

(4.17) gdzie:

w(di) — funkcja tworząca zbiór maszyn fizycznych, które mogą ob-sługiwać element di powodując iż możliwe będzie spełnienie wymagań wszystkich wirtualnych połączeń z tego elementu,

Capl(hk, hl)— zasoby ścieżki fizycznej pomiędzy elementami hk i hl,

Req(li,j) — wymagania połączenia logicznego l,

l(di) — zbiór połączeń logicznych (4.18) wykorzystywanych przez element di,

(3)

≡ — oznacza relację weryfikacji dostępności zasobów ścieżki l(hk, hl) na poziomie przedstawionym w specy-fikacji połączenia logicznego li,j.

l : D → 2L, l(di) :=  [ dj∈D li,j = (di, dj) : li,j ∈ L  (4.18) l(di) L

6Przyjęto bowiem, iż zasoby komunikacji sieciowej w obrębie jednego fizycznego węzła są nieskończone — dlatego weryfikacja ich dostępności nie jest konieczna.

Przez P Hl(i) oznaczony zostanie zbiór fizycznych elementów infrastruktury, spełniają-cych wymagania wirtualnego elementu di, czyli:

PHl(i):= n(di) ∪ w(di) (4.19)

Dodatkowo konieczne jest określenie funkcji e (4.20), która dla zbioru P Hl(i) wybierze jeden fizyczny komponent infrastruktury hi, na którym dany element wirtualnej topologii zostanie stworzony i uruchomiony.

e : PHl(i)→ P H, ePHl(i):= hj : hj ∈ PHl(i) (4.20)

Statyczny Wirtualny Grid

Wirtualny Grid możemy przedstawić jako złożenie (4.21) zbioru maszyn fizycznych (4.1), zbioru maszyn wirtualnych (4.5), funkcji dokonujących rozmieszczenia wirtualnych kom-ponentów (4.10) i elementów topologii sieciowej (4.20) określonej za pomocą definicji (4.11) wraz z zestawem funkcji wykonujących weryfikacji rozmieszczenia elementów sieciowych. Określenie takie będzie definiowało wirtualny Grid jako statyczną infrastrukturę, w której rozmieszczenie i konfiguracje elementów nie będzie zmieniane podczas działania aplikacji.7

V GS := nPH, VZ, r, s, VN, n, w, eo (4.21)

Powyższy zestaw definicji przestawia w sposób uproszczony zależności pomiędzy ele-mentami składowymi wirtualnego Gridu. Zestaw ten pozwala na stworzenie architektury środowiska, której opis został przedstawiony w sekcji 5.2 a szczegóły implementacyjne zawiera rozdział 6.

W dokumencie Index of /rozprawy2/10081 (Stron 85-90)