Predykcja wymaga« na zasoby sprz¦towe dla zada«

Transkrypt

Predykcja wymaga« na zasoby sprz¦towe dla zada«
Predykcja wymaga« na zasoby sprz¦towe dla
zada« w heterogenicznej chmurze obliczeniowej
Tomasz Zióªkowski
Streszczenie
Zarz¡dzanie chmur¡ obliczeniow¡ wymaga rozwi¡zania nowych problemów zwi¡zanych z zapewnieniem wysokiej wydajno±ci, oszacowaniem
niezb¦dnych zasobów, optymalizacj¡ kosztu wykonania zada« oraz automatyzacj¡ procesu przydzielania zasobów.
Przedstawiono now¡ metod¦ przewidywania wymaga« na zasoby sprz¦towe dla zada« uruchamianych w heterogenicznych chmurach obliczeniowych w modelu Infrastructure as a Service (IaaS ).
Do modelu chmury dodano kolejn¡ warstw¦ abstrakcji, dynamicznie
wyznaczaj¡c¡ wymagania na podstawie wysokopoziomowych parametrów
funkcjonalnych zada«. Opisano sposób implementacji i integracji z istniej¡cym ±rodowiskiem chmurowym, oparty o sztuczne sieci neuronowe
uczone danymi zbieranymi w trakcie pracy chmury przez dedykowane
agenty monitoruj¡ce.
Podkre±lono tak»e konieczno±¢ strojenia systemu do charakterystyki
konkretnego ±rodowiska chmurowego w celu osi¡gni¦cia maksymalnej efektywno±ci dziaªania.
1
Wst¦p
Jedn¡ z podstawowych zalet chmur obliczeniowych jest wykorzystanie usªugowego modelu dostarczania funkcjonalno±ci, dzi¦ki czemu do procesu wytwarzania i wdra»ania aplikacji wprowadzone zostaj¡ dodatkowe warstwy abstrakcji
separuj¡ce ró»ne sfery kompetencji. I tak w modelu
Infrastructure as a Service
(IaaS ), klient chmury mo»e zleca¢ wykonanie pewnych zada« (zazwyczaj w
formie maszyn wirtualnych), nie zajmuj¡c si¦ jednocze±nie administracj¡ infrastruktur¡ sprz¦tow¡, na której owe zadania s¡ wykonywane. Dzi¦ki temu mo»e
budowa¢ zaawansowane aplikacje o praktycznie dowolnej skali i funkcjonalno±ci, nie posiadaj¡c wªasnego, kosztownego w utrzymaniu, centrum danych (ang.
data center ).
Przekªada si¦ to bezpo±rednio na korzy±ci nansowe i wi¦ksz¡
elastyczno±¢ na poziomie biznesowym.
Pewn¡ wad¡ typowo spotykanych chmur
IaaS
jest jednak to, »e klient uru-
chamiaj¡cy zadanie musi samodzielnie wyspecykowa¢ wielko±ci wymaganych
zasobów sprz¦towych (np. liczba wirtualnych procesorów, rozmiar pami¦ci RAM).
Dokªadne okre±lenie takich wymaga« mo»e by¢ dla klienta kªopotliwe i wymaga
1
od niego przeprowadzenia analizy wykonywanych zada« na poziomie konkretnej
infrastruktury sprz¦towej, od czego model
IaaS
miaª go w zaªo»eniu izolowa¢.
Dodatkowo, liczba mo»liwych konguracji sprz¦towych chmury jest praktycznie
nieograniczona, a na ka»dej z konguracji wydajno±¢ konkretnego zadania mo»e
by¢ nieco inna (np. w zale»no±ci od modelu procesora, ta sama liczba wirtualnych CPU mo»e przekªada¢ si¦ na inn¡ faktycznie dost¦pn¡ moc obliczeniow¡).
W efekcie podana przez klienta chmury oszacowanie wymaga« sprz¦towych mo»e
by¢ zbyt niskie (co pogorszy jako±¢ ±wiadczonych usªug) lub zbyt wysokie (co
oznacza nieefektywne wykorzystanie przydzielonych zasobów, poci¡gaj¡ce za
sob¡ niepotrzebne koszty nansowe).
W niniejszym artykule prezentujemy now¡ metod¦ predykcji obci¡»enia dla
zada« w chmurze
IaaS,
której celem jest przygotowywanie wymaga« na za-
soby sprz¦towe na podstawie wysokopoziomowych charakterystyk funkcjonalnych przetwarzanych zada«. Dzi¦ki temu osi¡gana jest lepsza separacja funkcjonalno±ci dost¦pnej dla klienta, który chce uruchamia¢ zadania, i tej wykorzystywanej przez operatora chmury, zajmuj¡cego si¦ zarz¡dzaniem infrastruktur¡
IT. Rozwi¡zanie to pozwala elastycznie dopasowywa¢ uruchamiane zadania do
konkretnych konguracji sprz¦towych dost¦pnych w danej chmurze.
Poni»ej zaprezentowano przegl¡d tre±ci zwi¡zanych z omawianym zagadnieniem. W dalszej cz¦±ci opisano problem i jego proponowane rozwi¡zanie. Na
zako«czenie podsumowano potencjalne korzy±ci pªyn¡ce z zastosowania przedstawionych koncepcji i krótko opisano problemy zwi¡zane z ich ocen¡ i wdro»eniem w rzeczywistych ±rodowiskach chmurowych.
2
Zarz¡dzanie wykorzystaniem zasobów w chmurach
IaaS
Opisywany w niniejszym artykule problem jest cz¦±ci¡ ogólnego zagadnienia
zarz¡dzania zasobami w systemach komputerowych. Poni»ej opisujemy krótko
wyniki prowadzonych na ±wiecie bada« zwi¡zanych z optymalizacj¡ wykorzystania zasobów, koncentruj¡c si¦ na zadaniach w chmurach
IaaS. Gªówne wyzwania
w tej dziedzinie mo»na podzieli¢ na nast¦puj¡ce cztery kategorie:
1. analiza wydajno±ci systemu,
2. przewidywanie wielko±ci niezb¦dnych zasobów,
3. optymalizacja kosztu wykonania zada«,
4. automatyzacja procesu przydzielania zasobów.
Przegl¡d zagadnie« zwi¡zanych z zarz¡dzaniem zasobami w chmurach
IaaS
mo»na znale¹¢ w [1]. Autorzy publikacji deniuj¡ dwie klasy zasobów: zyczne
(np. procesor, pami¦¢ RAM, pami¦¢ masowa) oraz logiczne (np. system operacyjny, energia, interfejs aplikacji). Wymieniaj¡ tak»e gªówne problemy dotycz¡ce
2
dostarczania, przydzielania, mapowania i adaptacji zasobów oraz ich rozwi¡zania. Dodatkowo sformuªowana zostaªa lista otwartych problemów badawczych,
które powinny zosta¢ zaadresowane w przyszªo±ci.
2.1
Analiza wydajno±ci systemu
Z zarz¡dzaniem zasobami zwi¡zane jest bezpo±rednio zagadnienie analizy wydajno±ci systemów komputerowych, zarówno na poziomie sprz¦towym, jak i w
warstwie oprogramowania. Tworzone s¡ przy tym realistyczne generatory obci¡»enia, które s¡ niezwykle przydatne przy ocenianiu wydajno±ci systemu, w
szczególno±ci jego architektury i poprawno±ci dziaªania pod obci¡»eniem. Artykuª [2] prezentuje metod¦ statystycznej analizy i modelowania zada« chmurowych. Opracowane modele pozwoliªy autorom stworzy¢ realistyczny symulator
±rodowiska chmurowego. Autorzy przewiduj¡, i» taki symulator mo»e zosta¢
wykorzystany do optymalizacji algorytmów zarz¡dzania zasobami w chmurach
oraz identykowania interferencji przy wspóªdzieleniu zasobów przez wiele maszyn wirtualnych.
W publikacji [3] opisana zostaªa metoda przewidywania wymaga« na zasoby
dla chmurowych zada« typu analizy danych. Autorzy stwierdzaj¡, »e wykorzystywane wcze±niej metody estymacji wymaga« nie s¡ adekwatne do zastosowania
dla tego typu zada«. Zaproponowano nowe podej±cie wykorzystuj¡ce parametry
funkcjonalne takie jak na przykªad rodzaj i cz¦stotliwo±¢ oczekiwanych zapyta«
od u»ytkowników.
Innym interesuj¡cym tematem badawczym jest okre±lanie w jaki sposób parametry zada« (takie jak liczba zgªosze« do serwera na sekund¦ lub typ wykonywanych oblicze«) skorelowane s¡ z wymaganiami na zasoby sprz¦towe. Artykuª [4] przedstawia metod¦ okre±lania korelacji mi¦dzy wysokopoziomowymi
charakterystykami zada« a wzorcami zachowa« u»ytkowników, przy wykorzystaniu sztucznych sieci neuronowych i analizy szeregów czasowych. Metoda pozwala
na wczesne wykrywanie nadchodz¡cych narusze« umowy
Level Agreement )
SLA
(ang.
Service-
o gwarantowanym poziomie ±wiadczenia usªug.
W [5] autorzy przedstawiaj¡ wykorzystanie teorii szarych systemów do modelowania dynamiki zada« w ±rodowisku chmurowym, w którym maszyny wirtualne konkuruj¡ o wspóªdzielone zasoby. Zaprezentowane podej±cie zostaªo wykorzystane do analizy zada« typu wideo na »yczenie (ang.
VoD )
Video-on-Demand,
i pozwoliªo autorom zidentykowa¢ w¡skie gardªa w dost¦pie do zaso-
bów.
2.2
Przewidywanie wielko±ci niezb¦dnych zasobów
Du»a cz¦±¢ bada« zwi¡zanych z analiz¡ wykorzystania zasobów w chmurach obliczeniowych koncentruje si¦ na przewidywaniu zmian obci¡»enia generowanego
przez zadania. W tym zagadnieniu kluczowe jest analizowanie nast¦puj¡cych w
czasie zmian w zachowaniu zada« w chmurze, dzi¦ki czemu mo»liwe jest przewidywanie zmienno±ci obci¡»enia zasobów.
3
Dogª¦bna analiza istniej¡cych metod przewidywania zasobów niezb¦dnych
dla zada« chmurowych znajduje si¦ w [6]. Autorzy przedstawili wyczerpuj¡ce
uzasadnienie dla konieczno±ci stosowania zaawansowanych metod prolowania
zada«. Opisano tak»e kluczowe wyzwania zwi¡zane z tym zagadnieniem oraz
zaprezentowano podstawy podej±cia opartego o model autonomicznego systemu
komputerowego
MAPE-K
(ang.
Monitor, Analyze, Plan, Execute Knowledge,
tj. Monitorowanie, Analiza, Planowanie, Wykonanie Wiedza) [7]. Artykuª zawiera równie» dogª¦bny przegl¡d istniej¡cych metod prolowanie zada«.
Problem przewidywania wykorzystania zasobów w chmurach IaaS jest blisko
zwi¡zany z zagadnieniem autoskalowania aplikacji, opisanym szczegóªowo w [8].
2.3
Optymalizacja kosztu wykonania zada«
Kolejnym problemem w dziedzinie zarz¡dzania zasobami jest minimalizacja kosztu
wykonania zbioru zada« poprzez optymalne przydzielenie im dost¦pnych zasobów.
W artykule [9] autorzy analizuj¡ relacj¦ mi¦dzy zu»yciem energii przez zadanie, obci¡»eniem zasobów sprz¦towych oraz wydajno±ci¡. Zaobserwowano, i»
osi¡gni¦cie 100% obci¡»enia zasobów mo»e w rzeczywisto±ci prowadzi¢ do zwi¦kszenia kosztu wykonania zada«. Autorzy zwracaj¡ równie» uwag¦ na fakt, »e
caªkowite obci¡»enie generowane przez zbiór konkuruj¡cych o zasoby zada« nie
jest prost¡ sum¡ wymaga« na zasoby ka»dego z zada« ze zbioru.
W publikacji [10] zaproponowany zostaª algorytm konsolidacji (tj. rozmieszczania na jak najmniejszej liczbie zycznych w¦zªów chmury) maszyn wirtualnych priorytetyzuj¡cy zadania o stabilnych wymaganiach na zasoby. Autorzy
stwierdzaj¡, »e takie podej±cie do konsolidacji pozwala zminimalizowa¢ liczb¦
migracji maszyn wirtualnych przeprowadzanych w systemie.
[11] prezentuje przel¡d praktycznych zagadnie« zwi¡zanych z konsolidacj¡
maszyn wirtualnych. Autorzy zaobserwowali, »e cho¢ konsolidacja prowadzi do
zredukowania zu»ycia energii, mo»e te» skutkowa¢ pogorszeniem wydajno±ci.
Spowodowane jest to interferencj¡ mi¦dzy zadaniami wspóªdziel¡cymi zasoby.
Problem konsolidacji maszyn zostaª równie» dokªadnie opisany w [12].
2.4
Automatyzacja procesu przydzielania zasobów
By¢ mo»e najbardziej zªo»onym problemem dotycz¡cym zarz¡dzania zasobami
jest automatyzacja procesu przydzielania zasobów w ±rodowiskach o zªo»onej
architekturze, takich jak chmury obliczeniowe.
Ciekawy model automatycznej alokacji zasobów mo»na znale¹¢ w [13]. Autorzy prezentuj¡ podej±cie hybrydowe, ª¡cz¡ce model kolejkowy z algorytmami
uczenia ze wzmocnieniem. Wykorzystywany jest przy tym wspomniany wcze±niej model
MAPE-K.
[14] opisuje system zarz¡dzania chmur¡ ª¡cz¡cy przewidywanie wykorzystania zasobów, konsolidacj¦ maszyn wirtualnych oraz automatyczne przydzielanie
zasobów. W systemie zastosowane s¡ dwa kooperuj¡ce rodzaje kontrolerów: (1)
4
kontroler proaktywny odpowiedzialny za dynamiczn¡ migracj¦ maszyn wirtualnych oraz (2) kontroler reaktywny, wyª¡czaj¡cy i wª¡czaj¡cy odpowiednie cz¦±ci
zycznej infrastruktury w zale»no±ci od aktualnego obci¡»enia.
W publikacji [15] opisano wykorzystanie algorytmów genetycznych i regresj¦ wektorów no±nych do alokacji zasobów w chmurze. Wektory no±ne zostaªy
u»yte do estymacji zapotrzebowania na zasoby, natomiast algorytm genetyczny
odpowiedzialny jest za okre±lanie optymalnego przydziaªu zasobów.
[16] przedstawia wyczerpuj¡cy przegl¡d metod dynamicznego zarz¡dzania
zasobami w chmurach obliczeniowych. Autorzy zwracaj¡ uwag¦ na niski stopie«
wykorzystania infrastruktury sprz¦towej obserwowany w wielu centrach danych.
Ró»ne algorytmy dynamicznej realokacji maszyn wirtualnych zostaªy opisane i
porównane.
3
Predykcja wymaganych zasobów dla zada« w
chmurze
Podstawowym czynnikiem decyduj¡cym o efektywno±ci dziaªania chmury obliczeniowej typu
IaaS
jest odpowiedni przydziaª dost¦pnych zasobów sprz¦to-
wych dla uruchamianych zada«. Podstawowym zasobem s¡ tu w¦zªy chmury,
tzn. odpowiednio skongurowane serwery komputerowe dziaªaj¡ce pod kontrol¡
wybranego ±rodowiska wirtualizacji pozwalaj¡cego na uruchamianie maszyn wirtualnych. Ze wzgl¦du na rodzaj dost¦pnych w¦zªów, chmury mo»emy podzieli¢
na dwie kategorie:
Chmury homogeniczne, w których wszystkie w¦zªy maj¡ tak¡ sam¡ kon-
guracj¦ sprz¦tow¡.
Chmury heterogeniczne, w których wyst¦puj¡ grupy w¦zªów o ró»nych kon-
guracjach.
W typowej chmurze heterogenicznej mo»na znale¹¢ kilka rodzajów w¦zªów
ró»ni¡cych si¦ parametrami technicznymi zainstalowanych w nich komponentów. Niekiedy wyst¦puj¡ równie» w¦zªy wyposa»one w dodatkowe moduªy, np.
specjalizowane akceleratory oblicze«.
Ogólny schemat procedury uruchamiania zada« w chmurze typu
IaaS
przed-
stawiony jest na rys. 1. Chc¡c uruchomi¢ nowe zadanie, klient chmury musi
okre±li¢:
•
nazw¦ obrazu maszyny wirtualnej, który ma zosta¢ uruchomiony w ramach
zadania,
•
specykacj¦ maszyny wirtualnej, zawieraj¡c¡ jej wymagania na zasoby
sprz¦towe (np. 2 wirtualne CPU, 8 GB RAM, dysk 20 GB).
Na podstawie tych danych oprogramowanie zarz¡dzaj¡ce chmury dokonuje
wyboru w¦zªa, na którym przydzielone zostaj¡ odpowiednie zasoby, a nast¦pnie uruchomiona jest maszyna wirtualna realizuj¡ca dane zadanie. Zarz¡dca
5
węzły chmury
zadanie
obraz maszyny
specyfikacja maszyny
zarządca
chmury
Rysunek 1: Standardowa procedura uruchamiania zada« w chmurze typu
IaaS :
dla wykonania ka»dego zadania zarz¡dca chmury alokuje odpowiednie zasoby
na konkretnym w¦¹le chmury i uruchamia tam maszyn¦ wirtualn¡ z zadaniem
mo»e stosowa¢ przy tym ró»ne priorytety przydziaªu zasobów, np. równowa»enie obci¡»enia lub konsolidacja maszyn na jak najmniejszej liczbie w¦zªów. Taki
schemat uruchamiania zada« mo»na znale¹¢ np. w oprogramowaniu
gdzie specykacj¦ maszyny wirtualnej okre±la si¦ jako jej
odmian¦
OpenStack,
avor ).
(ang.
Podstawowym czynnikiem decyduj¡cym o efektywno±ci przydzielania zasobów w opisanym modelu jest dokªadno±¢ oszacowania zapotrzebowania na zasoby sprz¦towe okre±lonego przez klienta chmury w specykacji maszyny wirtualnej. Je±li podane zostan¡ warto±ci zbyt wysokie, zarz¡dca chmury przydzieli
maszynie zbyt du»¡ ilo±¢ zasobów, z których cz¦±¢ pozostanie niewykorzystana.
Je±li natomiast oszacowanie b¦dzie zbyt niskie, maszyna otrzyma zasoby niewystarczaj¡ce do jej poprawnego dziaªania.
Precyzyjne okre±lenie specykacji maszyny wirtualnej mo»e by¢ jednak bardzo trudne. Po pierwsze, uruchamiaj¡cy zadanie klient nie musi posiada¢ eksperckiej wiedzy w dziedzinie architektur sprz¦towych, ani te» zna¢ szczegóªów
implementacyjnych wykorzystywanych przez siebie aplikacji. Z tych wzgl¦dów
kompetentne okre±lenie przewidywanego obci¡»enia zasobów sprz¦towych mo»e
wymaga¢ od klienta chmury du»ego nakªadu pracy, co przekªada si¦ bezpo±rednio na dodatkowe koszty i potencjalne opó¹nienie wdro»enia aplikacji (o czas
przeznaczony na testy obci¡»enia).
Po drugie, w przypadku heterogenicznej chmury rzeczywiste obci¡»enie zale»y od konguracji sprz¦towej wybranego w¦zªa. Klient mo»e przy tym nie wiedzie¢ z góry, na jakim w¦¹le zostanie uruchomiona maszyna. Co wi¦cej, oprogramowanie chmury cz¦sto ignoruje heterogeniczno±¢ ±rodowiska na poziomie
specykacji maszyny. Na przykªad
OpenStack
pozwala okre±li¢ jedynie liczb¦
wirtualnych CPU przydzielonych maszynie. Ka»dy wirtualny CPU odpowiada
jednemu w¡tkowi obliczeniowemu zycznego procesora, niezale»nie od jego rzeczywistej wydajno±ci. Z tego wzgl¦du maszyna, której specykacja okre±la wy-
6
zadanie
konfiguracja sprzętu
obraz maszyny
agent
predykcji
obciążenia
kategoria zadania
specyfikacja maszyny
parametry zadania
dane kalibracyjne
Rysunek 2: Ogólny schemat dziaªania agenta predykcji obci¡»enia: dla ka»dego
przeznaczonego do wykonania zadania, agent predykcji przygotowuje specykacj¦ maszyny wirtualnej zawieraj¡c¡ przewidywane wielko±ci wymaganych zasobów
maganie 4 wirtualnych CPU, mo»e dysponowa¢ ró»n¡ faktyczn¡ moc¡ obliczeniow¡, zale»nie od tego, na jakim w¦¹le chmury zostanie uruchomiona przez
system zarz¡dzaj¡cy.
4
Agent predykcji obci¡»enia
Proponowanym przez nas rozwi¡zaniem powy»szego problemu jest rozszerze-
nie procedury uruchamiania zada« w chmurze o dedykowanego agenta predykcji
obci¡»enia, którego zadaniem jest przygotowywanie specykacji maszyny wirtualnej adekwatnej dla danego zadania i ±rodowiska sprz¦towego.
Ogóln¡ zasad¦ dziaªania agenta przedstawia rys. 2. Deniowanymi przez
klienta chmury parametrami zadania s¡:
1. obraz maszyny wirtualnej,
2. kategoria zadania w ramach powi¡zanych prac badawczych wyró»niono
sze±¢ kategorii funkcjonalnych zada« w chmurach obliczeniowych, tj. big
data, pami¦¢ podr¦czna danych tymczasowych, przetwarzanie transakcyjne, strumieniowanie multimediów, obliczenia naukowe oraz serwery stron
WWW [17],
3. parametry funkcjonalne zadania, zale»ne od kategorii, np. rozmiar danych
wej±ciowych lub szacowana liczba klientów na godzin¦.
Agent predykcji korzysta ponadto z nast¦puj¡cych danych dotycz¡cych obsªugiwanego ±rodowiska chmurowego:
1. konguracja sprz¦towa dost¦pnych w¦zªów chmury,
7
2. dane kalibracyjne zebrane w trakcie pracy wcze±niej wykonywanych zada«.
Rezultatem dziaªania agenta predykcji obci¡»enia jest przygotowanie specykacji maszyny wirtualnej dla uruchamianego zadania. Specykacja dostosowywana jest ka»dorazowo do konguracji sprz¦towej w¦zªów chmury. W przypadku
chmur heterogenicznych, oddzielna specykacja wyznaczana jest dla ka»dej z
dost¦pnych konguracji w¦zªów.
Nale»y podkre±li¢, »e dzi¦ki takiemu rozwi¡zaniu klient chmury nie musi
specykowa¢ charakterystyki uruchamianych przez siebie zada« na poziomie
zasobów sprz¦towych. Okre±la on jedynie pewne cechy funkcjonalne, tj. kategori¦ zadania i jego wysokopoziomowe parametry. Zadaniem agenta predykcji jest
przeªo»enie tych informacji na specykacj¦ maszyny wirtualnej, tzn. konkretne
wymagania na zasoby sprz¦towe odpowiadaj¡ce dost¦pnym architekturom w¦zªów chmury. Klient nie musi ju» wi¦c analizowa¢ wydajno±ci dziaªania swoich
zada« na odpowiednich konguracjach sprz¦towych, »eby prawidªowo okre±li¢
wymagane wielko±ci zasobów. Dodatkowo, dzi¦ki takiemu podej±ciu uzyskujemy
nowy poziom izolacji mi¦dzy funkcjonaln¡ charakterystyk¡ uruchamianych zada« a technicznymi szczegóªami budowy chmury, co zwi¦ksza przeno±no±¢ specykacji zada« pomi¦dzy ró»nymi ±rodowiskami wykonania.
5
Implementacja agenta predykcji
Rol¦ agenta predykcji obci¡»enia w procesie uruchamiania zada« przedstawia
rys. 3. Agent predykcji analizuje specykacj¦ zadania i przy wykorzystaniu wewn¦trznych modeli przygotowuje odpowiedni¡ specykacj¦ maszyny wirtualnej
dla zarz¡dcy chmury. Specykacja maszyny okre±la przy tym przewidywane
wielko±ci wymaganych zasobów, dzi¦ki czemu zarz¡dca mo»e przydzieli¢ zadanie
do odpowiedniego w¦zªa chmury.
Jak mo»na zaobserwowa¢ na tym rysunku, do poprawnego integracji agenta
agenty
monitoruj¡ce. Odpowiedni agent monitoruj¡cy instalowany jest na ka»dym w¦¹le
predykcji ze ±rodowiskiem chmurowym wymagany jest dodatkowy element:
chmury. Jego zadaniem jest monitorowanie rzeczywistego zu»ycia zasobów przez
uruchomione na w¦¹le zadania. W praktyce proces ten sprowadza si¦ do okresowego odczytywania niskopoziomowych statystyk udost¦pnianych przez platform¦ sprz¦tow¡, system operacyjny oraz oprogramowanie wirtualizacji. Przykªadami takich statystyk s¡ np. liczba operacji dyskowych, wykorzystane pasmo
transmisji sieciowej czy liczba odwoªa« do pami¦ci podr¦cznej procesora. Dane
te magazynowane s¡ w dedykowanej bazie danych wydajno±ciowych, a nast¦pnie
wykorzystywane do kalibracji wewn¦trznych modeli agenta predykcji.
Wykorzystywane do predykcji modele zada« zaimplementowane zostaªy jako
sztuczne sieci neuronowe o jednej warstwie ukrytej i dynamicznie wyznaczanej
liczbie neuronów (w zale»no±ci od liczby parametrów zadania). Sieci uczone
s¡ przy pomocy próbek danych zebranych przez agenty monitoruj¡ce w bazie
danych wydajno±ciowych. Zapis wykonania pojedynczego zadania jest interpretowany jako jedna próbka. Wyró»nione zostaªy przy tym dwa poziomy modeli:
8
węzły chmury
zadanie
konfiguracja sprzętu
obraz maszyny
kategoria zadania
agent
predykcji
obciążenia
obraz maszyny
specyfikacja maszyny
zarządca
chmury
parametry zadania
dane kalibracyjne
agenty monitorujące
baza danych
wydajnościowych
Rysunek 3: Rola agenta predykcji w procesie uruchamiania zada«
1. modele ogólne, tworzone dla ka»dej z sze±ciu kategorii zada«,
2. modele specjalizowane, tworzone dla konkretnych obrazów maszyn wirtualnych.
Modele ogólne stanowi¡ podstawowe narz¦dzie wyznaczania predykcji obci¡»enia. Wykorzystywane s¡ w nich sztuczne sieci neuronowe. Danymi wej±ciowymi
w procesie uczenia sieci neuronowych s¡ wszystkie dost¦pne w bazie próbki zawieraj¡ce zmierzonego warto±ci obci¡»enia dla wcze±niej wykonywanych zada«
odpowiednich kategorii.
Modele specjalizowane dotycz¡ natomiast indywidualnych obrazów maszyn.
Przyj¦to przy tym zaªo»enie, »e ka»dy obraz nale»y do dokªadnie jednej kategorii, co wynika po±rednio z denicji aplikacja u»ytkowa zainstalowana w ramach
obrazu determinuje kategori¦ zadania, np. zadania uruchamiane z obrazu z aplikacj¡
Apache Hadoop
b¦d¡ zawsze nale»e¢ do kategorii big data. Nale»y równie»
przypuszcza¢, »e pomi¦dzy zadaniami wykorzystuj¡cymi jedn¡ konkretn¡ aplikacj¦ b¦d¡ wyst¦powaªy mniejsze ró»nice w charakterystyce wykorzystania zasobów, ni» w przypadku zbioru wszystkich zada« nale»¡cych do danej kategorii. Z
tego wzgl¦du modele specjalizowane mog¡ osi¡ga¢ potencjalnie wi¦ksz¡ dokªadno±¢ predykcji, jednak do ich konstrukcji wymagana jest wi¦kszy zbiór danych
ucz¡cych. Modele specjalizowane tworzone s¡ wtedy, kiedy dla danego obrazu
maszyny zebrano co najmniej 10 próbek danych wydajno±ciowych z uruchomie«
poprzednich zada«.
Nowe modele mog¡ by¢ tworzone na ró»nych etapach cyklu »ycia agenta
predykcji:
1. podczas instalacji agenta, na podstawie domy±lnego zestawu danych ucz¡cych,
9
2. na bezpo±rednie »¡danie administratora systemu w dowolnym momencie
dziaªania agenta,
3. podczas obsªugi nowego zadania, je±li wymagany model nie jest dost¦pny
w bazie.
Podczas instalacji tworzony jest startowy zestaw modeli ogólnych, wystarczaj¡cy do przeprowadzania podstawowej predykcji w obr¦bie zdeniowanych
kategorii zada«. Do poprawnego dziaªania systemu zalecane jest okresowe (np.
raz na dob¦) uruchamianie procedury tworzenia modeli przez administratora
chmury. Istniej¡ce modele s¡ w takim wypadku aktualizowane o dane zebrane
od czasu ostatniego wywoªania procedury, tworzone s¡ równie» nowe modele
szczegóªowe. Tym samym jako±¢ predykcji zwracanych przez agenta wzrasta z
czasem, w miar¦ gromadzenia nowych danych.
Je±li w trakcie swojej pracy agent predykcji otrzymuje »¡danie obsªu»enia
zadania, dla którego nie istnieje gotowy model, model taki mo»e zosta¢ stworzony dynamicznie, je±li tylko w bazie danych wydajno±ciowych znajduje si¦
wystarczaj¡cy zbiór próbek. Dynamiczne tworzenie modelu znacznie wydªu»a
czas obsªugi »¡dania, jednak ze wzgl¦du na niewielki rozmiar wykorzystywanych
sieci neuronowych oraz sporadyczno±¢ wyst¦powania sytuacji braku gotowego
modelu, negatywny wpªyw na ogólne dziaªanie ±rodowiska pozostaje nieznaczny.
Podstawow¡ procedur¦ obsªugi »¡dania predykcji obci¡»enia dla nowego zadania przedstawiono na rys. 4.
6
Podsumowanie
Przedstawiona metoda predykcji wymaga« na zasoby sprz¦towe dla zada« w
chmurze dodaje do standardowego modelu chmury typu
IaaS
now¡ warstw¦
abstrakcji, oddzielaj¡c specykacj¦ funkcjonaln¡ uruchamianych przez klientów
zada« od architektury sprz¦towej i wydajno±ci w¦zªów chmury te zadania wykonuj¡cych. Potencjalnymi korzy±ciami wynikaj¡cymi z takiego rozwi¡zania s¡:
•
lepsza alokacja zasobów sprz¦towych dla zada«, zmniejszaj¡ca ryzyko wyst¡pienia niedoboru zasobów, i w konsekwencji zwi¦kszaj¡ca jako±¢ ±wiadczonych usªug,
•
mniejsze prawdopodobie«stwo przydzielenia nadmiarowych zasobów, prowadz¡ce do zwi¦kszenia efektywno±ci wykorzystania infrastruktury,
•
elastyczne dopasowywanie ró»nych typów zada« do konguracji sprz¦towej
w¦zªów chmury,
•
znacz¡ce uniezale»nienie specykacji zadania od szczegóªów budowy wykonuj¡cego je ±rodowiska,
•
skrócenie czasu potrzebnego do wdro»enia nowego zadania.
10
żądanie predykcji obciążenia
obraz maszyny
kategoria zadania
T
parametry zadania
sieć predyktora dla obrazu maszyny jest dostępna?
N
T
≥10 próbek dostępnych dla obrazu maszyny?
N
T
sieć predyktora dla kategorii zadania jest dostępna?
N
T
≥10 próbek dostępnych dla kategorii zadania?
N
błąd
wczytaj sieć predyktora
wyucz sieć predyktora
zapisz sieć predyktora
sieć predyktora
wylicz znormalizowaną predykcję obciążenia
pobierz kolejną konfigurację
znormalizowana predykcja obciążenia
konfiguracja węzła
wylicz predykcję obciążenia dla wybranej konfiguracji węzła
predykcja obciążenia dla konfiguracji węzła
przygotuj specyfikację maszyny
specyfikacja maszyny
więcej konfiguracji?
T
N
odpowiedź z predykcją obciążenia
Rysunek 4: Procedura wyznaczania predykcji obci¡»enia i specykacji maszyny
wirtualnej
11
Korzy±ci te s¡ szczególnie istotne dla chmur heterogenicznych, poniewa» pozwalaj¡ zminimalizowa¢ wpªyw ró»nych konguracji w¦zªów chmury na proces
uruchamiania zada« przez klientów.
Najwi¦kszym wyzwaniem w kontek±cie prezentowanego rozwi¡zania jest formalne okre±lenie jego skuteczno±ci. Trudno posªu»y¢ si¦ w tym celu jakimikolwiek syntetycznymi testami, poniewa» nie s¡ one w stanie realistycznie odtworzy¢ warunków panuj¡cych w rzeczywistych ±rodowiskach. Charakterystyki
zada« zale»¡ w bardzo du»ym stopniu od specyki danej chmury obliczeniowej,
tote» pomi¦dzy ±rodowiskami mog¡ wyst¦powa¢ du»e ró»nice w skuteczno±ci
agenta predykcji. Z tego powodu do werykacji przedstawionego rozwi¡zania
nale»aªoby wykorzysta¢ dane wydajno±ciowe z konkretnego, produkcyjnego ±rodowiska chmurowego. Niestety tego typu dane s¡ w wi¦kszo±ci wªasno±ci¡ prywatnych korporacji zarz¡dzaj¡cych chmurami, i z tego wzgl¦du dost¦p do nich
jest bardzo trudny. Dlatego te» nast¦pnym krokiem w rozwoju opisywanego
rozwi¡zania powinno by¢ wdro»enie go w wersji testowej na rzeczywistym ±rodowisku chmurowym, gdzie mo»na byªoby dokªadnie oceni¢ zalety wynikaj¡ce z
zastosowania predykcji obci¡»enia.
Literatura
Resource management for Infrastructure as
a Service (IaaS) in cloud computing: A survey. Journal of Network and
[1] Manvi S. S., Shaym G. K.:
Computer Applications, vol. 41, Elsevier, 2014.
Analysis, Modeling and Simulation of Workload Patterns in a Large-Scale Utility Cloud. Cloud Com-
[2] Moreno I. S., Garraghan P., Townend P., Xu J.:
puting, IEEE Transactions on, vol. 2, no. 2, IEEE, 2014.
[3] Mian R., Martin P., Vazquez-Poletti J. L.:
kloads in a cloud.
Provisioning data analytic wor-
Future Generation Computer System, vol. 29, no. 6,
Elsevier, 2013.
[4] Kousiouris G., Menychtas A., Kyriazis D., Gogouvitis S., Varvarigou T.:
Dynamic, behavioral-based estimation of resource provisioning based on
high-level application terms in Cloud platforms. Future Generation Computer Systems, vol. 32, Elsevier, 2014.
Workload modeling for
virtual machine-hosted application. Expert Systems with Applications, vol.
[5] Zhang W., Liu J., Liu C., Zheng Q., Zhang W.:
42, no. 4, Elsevier, 2015.
Cloud resource management: A survey on forecasting and proling models. Journal of Network
[6] Weingärtner R., Bräscher G. B., Westphall C. B.:
and Computer Applications, vol. 47, Elsevier, 2015.
[7] Kephart J. O., Chess D. M.:
The vision of autonomic computing. Computer,
vol. 36, no. 1, IEEE, 2003.
12
A Review of Auto-scaling
Techniques for Elastic Applications in Cloud Environments. Journal of Grid
[8] Lorido-Botran T., Miguel-Alonso J., Lozano J. A.:
Computing, vol. 12, no. 4, Springer Netherlands, 2014.
[9] Srikantaiah S., Kansal A., Zhao F.:
Computing.
Energy Aware Consolidation for Cloud
Proceedings of the 2008 Conference on Power Aware Compu-
ting and Systems, USENIX Association, 2008.
[10] Ferreto T. C., Netto M. A. S., Calheiros R. N., De Rose C. A. F.:
consolidation with migration control for virtualized data centers.
Server
Future
Generation Computer Systems, vol. 27, no. 8, Elsevier, 2011.
[11] Corradi A., Fanelli M., Foschini L.:
OpenStack Cloud.
VM consolidation: A real case based on
Future Generation Computer Systems, vol. 32, Elsevier,
2014.
VM3: Measuring, modeling and managing VM shared resources. Computer Networks,
[12] Iyer R., Illikkal R., Tickoo O., Zhao L., Apparao P., Newell D.:
vol. 53, no. 17, Elsevier, 2009.
On the Use of Hybrid
Reinforcement Learning for Autonomic Resource Allocation. Cluster Com-
[13] Tesauro G., Jong N. K., Das R., Bennani M. N.:
puting, vol. 10, no. 3, Springer US, 2007.
Resource Pool Management: Reactive Versus Proactive or Let's Be Friends. Computer Networks,
[14] Gmach D., Rolia J., Cherkasova L., Kemper A.:
vol. 53, no. 17, Elsevier, 2009.
[15] Huang C. J., Guan C. T., Chen H. M., Wang Y. W., Chang S. C., Li C. Y.,
Weng C. H.:
An adaptive resource management scheme in cloud computing.
Engineering Applications of Articial Intelligence, vol. 26, no. 1, Elsevier,
2013.
Energy-Ecient Management of Virtual Machines in Data
Centers for Cloud Computing. Department of Computing and Information
[16] Beloglazov A.:
Systems, The University of Melbourne, 2013.
Categorization of
Cloud Workload Types with Clustering. International Conference on Signal,
[17] Orzechowski P., Procz J., Krawczyk H., Szyma«ski J.:
Networks, Computing, and Systems 2016, Proceedings of, New Delhi, Indie,
2016.
13

Podobne dokumenty