Inteligentna chmura obliczeniowa 1 Podstawowe definicje

Transkrypt

Inteligentna chmura obliczeniowa 1 Podstawowe definicje
Inteligentna chmura obliczeniowa
Henryk Krawczyk
Streszczenie
Przedstawiono koncepcje chmury obliczeniowej, której istotnym elementem jest rekomender zasobów dla wykonania dowolnej aplikacji czy
usªugi. Wªa±nie budowa takiego rekomendera byªa gªównym celem projektu numer INNOTECH-K3/IN3/20/227103/NCBR/14 . Poni»ej przedstawiono gªówne zaªo»enia tego przykªadu oraz metodologi¦ bada« zwi¡zanych z zaproponowanym rekomenderem.
1 Podstawowe denicje
Wykorzystanie chmur obliczeniowych (ang. cloud computing), jako ±rodowiska
uruchomieniowego ró»norodnych klas usªug jest obecnie jednym z wiod¡cych
trendów w informatyce. Infrastruktura sprz¦towa chmury skªada si¦ z du»ej
liczby komputerów (tzw. w¦zªów obliczeniowych) o homogenicznej lub heterogenicznej architekturze. Prac¡ chmury obliczeniowej zawiaduje system zarz¡dzania, który odpowiada za przydzielanie zasobów sprz¦towych (infrastruktury) do
usªug (ang. IaaS - Infrastructure as a Service). Dzi¦ki zastosowaniu technologii
maszyn wirtualnych (ang. Virtual Machine, VM) mo»liwe jest ªatwe i bezpieczne
wspóªdzielenie zasobów sprz¦towych przez ró»nych u»ytkowników, gwarantuj¡ce
ich peªn¡ separacj¦ [1], [2].
Celem fazy badawczej jest rozwój technologii inteligentnych chmur obliczeniowych adaptuj¡cych si¦ do efektywnego wykonania ró»nych klas usªug. Podstaw¡ dla tej technologii b¦dzie opracowanie komponentu rekomendacji oferuj¡cego zaawansowane metody wspomagania mechanizmów zarz¡dzania zasobami
w heterogenicznych chmurach obliczeniowych. Komponent rekomendacji oferowa¢ b¦dzie trzy podstawowe funkcjonalno±ci:
1. klasykacj¦ usªug uruchamianych w ±rodowisku heterogenicznej chmury
obliczeniowej w oparciu o ich zapotrzebowanie na zasoby sprz¦towe,
2. estymacj¦ wykorzystania zasobów sprz¦towych przez usªugi wyznaczan¡
przy pomocy modeli obliczeniowych opracowanych dla poszczególnych klas
usªug,
3. automatyczn¡ kalibracj¦, pozwalaj¡c¡ zwi¦kszy¢ dokªadno±¢ przeprowadzanych estymacji na podstawie monitorowania wykonania usªug.
1
Dzi¦ki takiej funkcjonalno±ci, komponent rekomendacji umo»liwi zwi¦kszenie efektywno±ci alokacji zasobów w chmurze obliczeniowej, dostarczaj¡c rekomendacji w procesie doboru optymalnych w¦zªów obliczeniowych chmury dla
wykonania usªug uruchamianych przez u»ytkowników. Technologia ta stanowi¢ b¦dzie znacz¡cy krok w kierunku wdro»enia koncepcji tzw. inteligentnych
chmur obliczeniowych (ang. smart cloud computing), cechuj¡cej si¦ m.in. efektywnym wykorzystaniem dost¦pnych zasobów. Rys. 1. przedstawia schemat procesu decyzyjnego, wykorzystuj¡cego komponent rekomendacji, prowadz¡cego do
dostarczenia systemowi zarz¡dzania chmur¡ obliczeniow¡ rekomendacji najlepszego w¦zªa obliczeniowego do uruchomienia usªugi.
Rysunek 1: Schemat ekosystemu inteligentnej chmury obliczeniowej wykorzystuj¡cego komponent rekomendacji
W celu usystematyzowania problematyki przedstawiono denicje podstawowych wykorzystywanych poj¦¢, dotycz¡cych wykonywania zada« w chmurze obliczeniowej typu
IaaS.
Zale»no±ci mi¦dzy opisywanymi poj¦ciami zobrazowano
na rys. 2.
2
aplikacja użytkowa
user applica�on
obraz maszyny
VM image
specyfikacja zadania
workload specifica�on
wykonanie zadania
workload execu�on
programy
wykonywalne
programy
wykonywalne
zwirtualizowany
system
operacyjny
konfiguracja
bazowa
programy
wykonywalne
zwirtualizowany
system
operacyjny
konfiguracja
szczegółowa
oczekiwane
dane
wejściowe
wymagane
zasoby
programy
wykonywalne
zwirtualizowany
system
operacyjny
konfiguracja
szczegółowa
rzeczywiste
dane
wejściowe
wykorzystane
zasoby
system
wirtualizacji
zasoby
sprzętowe
Rysunek 2: Podstawowe poj¦cia dotycz¡ce zada« w chmurze obliczeniowej typu
IaaS
(na oletowo oznaczono elementy opisuj¡ce zadanie niezale»ne od ±rodo-
wiska uruchomieniowego, a na niebiesko te, które dotycz¡ wykonania zadania w
konkretnym ±rodowisku)
Aplikacja u»ytkowa
(ang.
user application ) zestaw programów wykonywal-
nych i powi¡zanych bibliotek realizuj¡cy pewn¡ funkcjonalno±¢. Przykªadami aplikacji w chmurze obliczeniowej mog¡ by¢ serwer
danych
MongoDB.
Obraz maszyny
(ang.
Nginx
czy baza
VM image ) gotowy do uruchomienia obraz maszyny
wirtualnej, skªadaj¡cy si¦ zazwyczaj z jednej lub wi¦cej aplikacji zainstalowanych na wybranym systemie operacyjnym (np.
dows Server ).
CentOS, Microsoft Win-
Obrazy maszyn posiadaj¡ zazwyczaj pewn¡ bazow¡ kon-
guracj¦, która mo»e zosta¢ zmieniona przez u»ytkownika. Obrazy przechowywane s¡ przewa»nie w dedykowanym repozytorium (np. komponent
Glance
w ±rodowisku
Specykacja zadania
OpenStack ).
(ang.
workload specication ) wybrany obraz maszyny
wirtualnej skongurowany do wykonania konkretnej pracy, charakteryzowanej przez pewne oczekiwane dane wej±ciowe i przewidywane zapotrzebo-
Apache
Red Hat Enterprise Linux, który ma obsªugiwa¢
wanie na zasoby sprz¦towe. Przykªadem zadania mo»e by¢ serwer
zainstalowany na systemie
±rednio 100 unikalnych klientów na minut¦, do czego potrzebnych b¦dzie 5
wirtualnych CPU, 12 GB pami¦ci RAM i 50 GB pami¦ci masowej. Zªo»one
zadania chmurowe mog¡ skªada¢ si¦ z wielu zada« prostych (np. serwer
WWW, serwer podr¦cznej pami¦ci tymczasowej, baza danych).
Wykonanie zadania
(ang.
workload execution ) uruchomienia zadania w kon-
kretnym ±rodowisku, dysponuj¡cym pewnymi zasobami sprz¦towymi i dziaªaj¡cym pod kontrol¡ pewnego systemu wirtualizacji, np. na w¦¹le chmury
wyposa»onym w dwa procesory
Intel Xeon,
3 TB, z zainstalowanym oprogramowaniem
3
128 GB RAM i dysk twardy
QEMU/KVM.
2 Problemy alokacji usªug
Twórcy systemów zarz¡dzania chmur¡ obliczeniow¡, jak równie» ich pó¹niejsi
u»ytkownicy, czyli dostawcy usªug, bardzo du»¡ wag¦ przykªadaj¡ do optymalnego wykorzystania posiadanej infrastruktury informatycznej. Brak mo»liwo±ci
dokªadnego oszacowania zapotrzebowania na zasoby powoduje, »e rezerwowane
s¡ dodatkowe zasoby sprz¦towe, które cz¦sto pozostaj¡ niewykorzystane. W
konsekwencji powoduje to nieuzasadniony wzrost wydatków na infrastruktur¦.
Zwi¦kszenie liczby usªug realizowanych na tej samej infrastrukturze sprz¦towej
przekªada si¦ bezpo±rednio na lepsze wyniki nansowe. Efektywniejsze wykorzystanie zasobów sprz¦towych nie tylko zmniejsza koszt budowy i utrzymania
caªego systemu, ale powoduje tak»e redukcj¦ zu»ycia energii elektrycznej oraz
ogranicza ilo±ci traconej energii cieplnej, (co jest istotnym problemem w przypadku rozlegªych infrastruktur informatycznych o du»ej mocy obliczeniowej),
wpisuj¡c si¦ tym samym w trend zwi¡zany z ochron¡ ±rodowiska naturalnego
(tzw. green computing). Obecnie najpowszechniejszymi sposobami doboru w¦zªa obliczeniowego, na podstawie danych o obci¡»eniu ka»dego z w¦zªów, s¡:
•
rozlokowanie usªug losowo,
•
d¡»enie do rozlokowania usªug tak aby wszystkie w¦zªy byªy obci¡»one
mo»liwie równomiernie. Z reguªy oznacz to, »e nowa usªuga jest umieszczane na najmniej obci¡»onym w¦¹le chmury obliczeniowej,
•
rozlokowanie usªug, które maksymalizuje wykorzystanie w¦zªów. Najcz¦±ciej nowa usªuga jest umieszczana na najbardziej obci¡»onym w¦¹le, który
speªnia jeszcze wymagania wydajno±ciowe, aby t¦ usªug¦ uruchomi¢.
Kilka rm, w tym znacz¡cych graczy na rynku IT, prowadzi badania i wprowadza produktu maj¡ce na celu maksymalizacj¦ wykorzystania zasobów chmur
obliczeniowych. Jest to przykªadowo rozwi¡zanie DRS (ang. Distributed Resource Scheduling) rmy VMware [7], b¡d¹ rozwi¡zanie rmy HP o nazwie Service
Health Optimizer.
Tematyka modelowania obci¡»enia komponentów sprz¦towych przez ró»ne
klasy oprogramowania jest szeroko zbadana i opisana. Liczne publikacje zajmuj¡
si¦ w szczególno±ci zagadnieniami takimi jak okre±lanie szacowanego stopnia wykorzystania zasobów obliczeniowych, np. w kontek±cie problemu optymalnego
szeregowania zada« [9], [10], równie» dla systemów czasu rzeczywistego [11], [12].
Badane s¡ tak»e relacje mi¦dzy poszczególnymi komponentami w istniej¡cych
architekturach sprz¦towych, np. zjawisko ograniczenia wykorzystania procesora
przez oczekiwanie na dost¦p do pami¦ci operacyjnej. W ramach prowadzonych
prac tworzone s¡ modele pozwalaj¡ce na przewidywanie mo»liwej do osi¡gni¦cia
wydajno±ci, np. w oparciu o symulacje [13], analiz¦ ogranicze« wydajno±ciowych [14] czy algorytmy sztucznej inteligencji [15]. Poza optymalizacj¡ wydajno±ci sprz¦tu i oprogramowania, odpowiednie modele opracowywane s¡ tak»e
w celu estymacji zu»ycia energii elektrycznej [16], okre±lenia granic wydajno±ci
przyszªych generacji sprz¦tu [17] czy projektowania efektywnych algorytmów
równolegªych [18].
4
Opisywane s¡ tak»e próby wykorzystania technik modelowania obci¡»enia
do alokacji zasobów sprz¦towych, w tym w ±rodowisku chmury obliczeniowej.
Proponowane s¡ ró»norodne podej±cia do tego zagadnienia, zakªadaj¡ce ró»ne
ograniczenia i zastosowania docelowe. Wykorzystywany jest przy tym caªy zbiór
metod modelowania, cz¦sto ª¡czonych ze sob¡ w rozwi¡zania hybrydowe. W±ród
interesuj¡cych propozycji mo»na wymieni¢: model infrastruktury chmury obliczeniowej zbudowany w oparciu o model kolejkowy G/G/N dla dynamicznego
przydzielania zasobów (maszyn wirtualnych) [19], model oparty o ªa«cuchy Markowa dla szeregowania zada« w ±rodowisku wieloprocesorowym [20], tworzenie
empirycznych modeli usªug pozwalaj¡cych na przewidywanie zmian zapotrzebowania na zasoby na podstawie monitorowania aktualnego obci¡»enia [21],
meta-model (poª¡czenie modelu empirycznego i modeli teoretycznych) wspomagaj¡cy alokacj¦ maszyn wirtualnych dla aplikacji warstwowych w chmurze
obliczeniowej [22] oraz dokonywanie estymacji zapotrzebowania na zasoby generowanego przez usªugi w chmurze w oparciu o: (a) transformat¦ Fouriera i model
sko«czonego ªa«cucha Markowa [23], (b) metody statystyczne [24], (c) sztuczne
sieci neuronowe [25] i (d) techniki wzmocnionego uczenia (ang. reinforcement
learning) poª¡czone z modelem kolejkowym [26].
Prowadzone s¡ równie» badania maj¡ce na celu okre±lenie zapotrzebowania na zasoby sprz¦towe dla specycznych klas usªug, np. udost¦pniaj¡cych i
przetwarzaj¡cych dane multimedialne [27], [28] czy serwerów wymiany komunikatów [29]. Wa»nym problemem jest tu zdeniowanie podziaªu usªug na klasy o
podobnych charakterystykach. Równie» dla tego zagadnienia istnieje wiele proponowanych rozwi¡za« [30], [31], [32], [33], [34].
Prace prowadzone w ramach fazy badawczej opiera¢ si¦ b¦d¡ zarówno na
osi¡gni¦ciach ±wiatowych, jak i na wiedzy i do±wiadczeniu zdobytych podczas
budowy platformy KASKADA, w ramach projektu Mayday Euro 2012. Platforma ta stanowi superkomputerowe ±rodowisko wykonania usªug, ze szczególnym naciskiem na usªugi przetwarzaj¡ce strumienie danych multimedialnych w
czasie rzeczywistym [35], [36]. W celu zapewnienia wysokiej jako±ci i efektywno±ci dziaªania tej klasy usªug, konieczne byªo opracowanie odpowiedniego modelu obci¡»enia i algorytmu alokacji zasobów, uwzgl¦dniaj¡cych czynniki takie
jak nieliniowy wzrost wykorzystania zasobów sprz¦towych czy problem straty
danych [37], [38].
3 Koncepcja rekomendera usªug
Formuªowanie optymalnych rekomendacji dla uruchamiania usªug w chmurze
obliczeniowej jest skomplikowanym procesem, gªównie ze wzgl¦du na liczb¦ czynników, które musz¡ by¢ brane pod uwag¦ przy wyborze najlepszego w¦zªa obliczeniowego. Gªówne czynniki wpªywaj¡ce na proces ustalania rekomendacji
ukazane s¡ na Rys. 3.
5
Rysunek 3: Czynniki wpªywaj¡ce na rekomendacje dostarczane przez opisywany
komponent
Pierwszym czynnikiem determinuj¡cym dostarczane rekomendacje s¡ kryteria dziaªania chmury obliczeniowej. System zarz¡dzania chmur¡ posiada okre±lon¡ polityk¦ alokacji w¦zªów obliczeniowych, której celem mo»e by¢:
•
zrównowa»enie obci¡»enie na wszystkich w¦zªach chmury obliczeniowej,
•
maksymalizacja wykorzystania zasobów sprz¦towych,
•
minimalizacja zu»ycia energii.
Dla ka»dego z tych typów alokacji mo»emy deniowa¢ ró»ne kryteria jako±ciowe, np.:
•
minimalizacja czas wykonania usªugi,
•
minimalizacja kosztu,
•
maksymalizacja liczby u»ytkowników, którzy mog¡ korzysta¢ z usªugi.
Drugim czynnikiem wpªywaj¡cym na proces rekomendacji jest stan w¦zªów
chmury obliczeniowej. Ka»dy z w¦zªów mo»e znajdowa¢ si¦ w jednym z kilku
mo»liwych stanów, np.:
•
aktywny,
•
nieaktywny,
6
•
przeci¡»ony,
•
wyª¡czony.
Trzecim elementem branym pod uwag¦ w procesie rekomendacji jest klasa,
do której nale»¡ uruchamiane usªugi. W±ród usªug wykonywanych w chmurach
obliczeniowych wyró»ni¢ mo»na pewne klasy ró»ni¡ce si¦ charakterystyk¡ zapotrzebowania na zasoby sprz¦towe. Mog¡ to by¢ np.:
•
usªugi internetowe i mobilne,
•
usªugi gromadzenia i przetwarzania danych (bazy danych, big data),
•
usªugi multimedialne (np. streaming video),
•
obliczenia naukowe.
Ka»da klasa usªug charakteryzuje si¦ innym zapotrzebowaniem na zasoby
sprz¦towe takie jak moc obliczeniowa procesorów, rozmiar pami¦ci czy te» pasmo dost¦pu do sieci. Zaªo»eniem technologii budowanej w oparciu o komponent
rekomendacji jest identykacja takich klas, a nast¦pnie stworzenie modeli obliczeniowych opisuj¡cych ka»d¡ z nich. Modele te maj¡ pozwoli¢ na algorytmiczne
okre±lanie charakterystyki obci¡»enia w¦zªów obliczeniowych chmury generowanego przez usªugi z danej klasy. Podstaw¡ dla dziaªania komponentu rekomendacji b¦d¡ dwa rodzaje modeli: model w¦zªa obliczeniowego i modele klas usªug.
Model w¦zªa, typu biaªa skrzynka (ang. white box), b¦dzie uwzgl¦dniaª szczegóªy budowy wewn¦trznej w¦zªa, takie jak architektura, parametry techniczne
i sposób wspóªpracy poszczególnych elementów sprz¦towych. Model obejmowaª
b¦dzie przede wszystkim charakterystyki uniwersalnych, niespecjalizowanych zasobów sprz¦towych (podstawowych komponentów sprz¦towych w¦zªa chmury
obliczeniowej), takie jak:
•
liczba i moc obliczeniowa zainstalowanych procesorów,
•
rodzaj i rozmiar pami¦ci podr¦cznej (ang. cache) ka»dego procesora,
•
rozmiar i przepustowo±¢ pami¦ci operacyjnej,
•
pr¦dko±¢ zapisu i odczytu danych zarchiwizowanych w zainstalowanej pami¦ci masowej (np. macierzy dysków),
•
maksymalna przepustowo±¢ dost¦pnego interfejsu sieciowego.
Dodatkowo uwzgl¦dniona zostanie tak»e mo»liwo±¢ wykorzystywania przez
w¦zeª opcjonalnych komponentów, tj. specjalizowanych akceleratorów sprz¦towych, takich jak moduªy szyfruj¡ce, sprz¦towe dekodery multimedialne czy karty
GPGPU (ang. General-Purpose Graphics Processing Units). Dla ka»dej z wyró»nionych klas usªug zostanie przygotowany opisuj¡cy j¡ model obliczeniowy. B¦d¡
to modele typu okre±lanego jako tzw. szara skrzynka (ang. gray box): szczegóªowe procedury dziaªania konkretnych usªug s¡ niemo»liwe do dokªadnego
7
okre±lenia i przeanalizowania, jednak usªugi nale»¡ce do jednej klasy b¦d¡ charakteryzowaªy si¦ pewnymi wspólnymi cechami i parametrami, pozwalaj¡cymi
na zamodelowanie cyklu ich dziaªania. Gªówn¡ funkcj¡ modeli obliczeniowych
usªug b¦dzie okre±lenie przewidywanego obci¡»enia generowanego przez usªugi w
dziedzinie zidentykowanych charakterystyk w¦zªa. Przez obci¡»enie rozumiany
jest stopie« wykorzystania poszczególnych zasobów sprz¦towych przez dziaªaj¡c¡ na w¦¹le usªug¦. Do skªadowych obci¡»enia mo»na zaliczy¢ na przykªad:
•
czas procesora wykorzystywany na obsªug¦ dziaªania usªugi,
•
intensywno±¢ wykorzystania pami¦ci podr¦cznej procesora,
•
rozmiar pami¦ci operacyjnej wykorzystywanej przez usªug¦ i intensywno±¢
dost¦pu do niej,
•
ilo±¢ danych odczytywanych i zapisywanych z/do pami¦ci masowej w jednostce czasu,
•
ilo±¢ danych transmitowanych przez usªug¦ poprzez interfejs sieciowy.
Obci¡»enie komponentów sprz¦towych generowane przez ró»ne typy opera-
?
cji/usªug mo»e by¢ symulowane przy pomocy tzw. benchmarków [ ], [3], [4], [5], [6].
Proponowane benchmarki s¡ przeznaczone dla klastrów obliczeniowych, jednak z
uwagi na modelowanie i monitorowanie pojedynczych w¦zªów zostan¡ one u»yte
do symulowania obci¡»enia w w¦zªach chmury obliczeniowej. Dodatkowo, zakªada si¦ równie» mo»liwo±¢ ª¡czenia i wspóªpracy przygotowanych modeli. Pozwoli to komponentowi rekomendacji na przewidywanie obci¡»enia komponentów sprz¦towych generowanych przez usªugi o zªo»onej charakterystyce, ª¡cz¡cej
cechy kilku wyró»nionych i zamodelowanych klas podstawowych. Docelowo, proces wykorzystania przygotowanych modeli b¦dzie przebiegaª w nast¦puj¡cych
krokach (Rys. 4):
1. Zgªoszenie przez u»ytkownika ch¦ci uruchomienia nowej usªugi (o znanej
charakterystyce) w ±rodowisku chmury obliczeniowej.
2. Wybranie klasy, do której nale»y dana usªuga, np. baza danych.
3. Okre±lenie parametrów wej±ciowych modelu wybranej klasy, np. maksymalna liczba u»ytkowników, rozmiar skªadowanych danych.
4. Na podstawie modelu klasy, wprowadzonych parametrów i modelu w¦zªa
obliczeniowego, obliczane jest przewidywane zapotrzebowanie na zasoby
sprz¦towe. Dane te mog¡ zosta¢ wykorzystane przez system zarz¡dzaj¡cy
heterogeniczn¡ chmur¡ do wyboru odpowiedniego w¦zªa dla uruchomienia
zgªoszonej przez u»ytkownika usªugi.
8
Rysunek 4: Koncepcja estymacji obci¡»enia w¦zªów chmury przez usªugi przy
wykorzystaniu modeli usªug
4 Koncepcja klasykacji
Kolejnym elementem skªadowym komponentu rekomendacji rozszerzaj¡cym funkcjonalno±¢ przygotowanych modeli b¦dzie algorytm automatycznej klasykacji
nowych usªug o nieznanej charakterystyce. Scenariusz takiego wykorzystania
modeli, przedstawiony na Rys. 5, skªada si¦ z nast¦puj¡cych kroków:
1. Zgªoszenie przez u»ytkownika ch¦ci uruchomienia nowej usªugi (o nieznanej charakterystyce) w ±rodowisku chmury obliczeniowej.
2. Uruchomienie usªugi i pomiar generowanego przez ni¡ obci¡»enia komponentów sprz¦towych.
3. Porównanie wyników pomiarów z dost¦pnymi modelami teoretycznymi.
4. Wybranie modelu najlepiej opisuj¡cego wymagania sprz¦towe usªugi i przypisanie jej do odpowiedniej klasy.
Przy nast¦pnych uruchomieniach usªugi, system zarz¡dzaj¡cy chmur¡ obliczeniow¡ b¦dzie mógª dokona¢ przydziaªu odpowiedniego w¦zªa wedªug procedury przewidzianej dla usªug o znanej charakterystyce.
9
Rysunek 5: Koncepcja automatycznej klasykacji usªug przy wykorzystaniu modeli
Ze wzgl¦du na ró»norodno±¢ i zªo»ono±¢ usªug wykorzystywanych w chmurach obliczeniowych, dokªadne wyznaczenie zapotrzebowania na zasoby sprz¦towe przy pomocy modelu mo»e by¢ niekiedy bardzo utrudnione. Nawet usªugi
oferuj¡ce podobny zbiór funkcjonalno±ci mog¡ generowa¢ inne warto±ci obci¡»enia w¦zªa obliczeniowego, ze wzgl¦du na ukryte ró»nice w ich wewn¦trznej implementacji. Z tego powodu opracowane modele usªug zostan¡ uzupeªnione o przygotowany w tym celu algorytm kalibracji. Proces kalibracji przeprowadzany b¦dzie na zasadzie sprz¦»enia zwrotnego mi¦dzy kolejnymi uruchomieniami usªugi
a odpowiadaj¡cym jej modelem (patrz Rys. 6). Podczas dziaªania usªugi, system
zarz¡dzaj¡cy chmur¡ obliczeniow¡ b¦dzie na bie»¡co dokonywaª pomiarów obci¡»enia zasobów sprz¦towych odpowiedniego w¦zªa. Zmierzone warto±ci b¦d¡
nast¦pnie porównywane z wielko±ciami oszacowanymi przy u»yciu modelu. W
przypadku rozbie»no±ci, algorytm dokona kalibracji wewn¦trznych parametrów
modelu, tak, aby polepszy¢ jako±¢ predykcji obci¡»enia przy kolejnych uruchomieniach usªugi. Kalibracja b¦dzie mogªa przebiega¢ na dwóch poziomach:
1. kalibracja indywidualna korekta parametrów modelu przeprowadzona
zostanie tylko dla jednej, konkretnej usªugi, której charakterystyka obci¡»enia odbiega znacz¡co od charakterystyk typowych usªug z danej klasy,
2. kalibracja uniwersalna je±li zauwa»one zostan¡ ogólne rozbie»no±ci mi¦dzy modelem teoretycznym a du»¡ liczb¡ usªug rzeczywistych, korekta
parametrów modelu dotyczy¢ b¦dzie wszystkich usªug z danej klasy.
10
Rysunek 6: Koncepcja kalibracji modeli usªug w komponencie rekomendacji
Dzi¦ki metodom klasykacji uruchamianych usªug w poª¡czeniu z modelowaniem klas oraz automatyczn¡ klasykacj¡ i kalibracj¡ w oparciu o monitorowanie
bie»¡ce obci¡»enie w¦zªów obliczeniowych chmury, mo»liwe b¦dzie lepsze wykorzystanie dost¦pnych zasobów sprz¦towych i optymalizacja zu»ycia energii, przy
jednoczesnym zagwarantowaniu jako±ci ±wiadczonych usªug.
5 Przyj¦ta metodyka bada«
Rys. 7 przedstawia kolejne etapy przyj¦tej metodyki badawczej wraz z zadaniami. W pierwszym etapie konieczne jest wyspecykowanie wymaga« dotycz¡cych opracowywanej technologii. Spo±ród usªug uruchamianych w chmurach
obliczeniowych zostan¡ wyró»nione klasy o podobnym zapotrzebowaniu na zasoby sprz¦towe. Podstaw¡ przeprowadzenia tej klasykacji b¦d¡ dane pozyskane
z produkcyjnych i testowych ±rodowisk chmur obliczeniowych, np. z chmury
wykorzystywanej przez rm¦ Intel Technology Poland czy klastra znajduj¡cego
si¦ w Centrum Informatycznym TASK. Nast¦pnie zostan¡ opracowane modele
obliczeniowe, pozwalaj¡ce klasykowa¢ usªugi uruchamiane na maszynach wirtualnych oraz ucz¡ce si¦ i klasykuj¡ce nieznany dot¡d rodzaj obci¡»enia do
danej klasy. Dzi¦ki mo»liwo±ci automatycznej kalibracji, modele te b¦d¡ mogªy
dostosowywa¢ si¦ zarówno do cech poszczególnych usªug, jak i te» do potencjalnych przyszªych zmian w charakterystykach obci¡»enia generowanego przez
nowe usªugi. Przygotowane zostanie laboratorium chmury obliczeniowej, które
pozwoli na prowadzenie prac i eksperymentów w trakcie trwania Projektu.
Kolejnym krokiem b¦dzie przygotowanie prototypu komponentu rekomendacji. Zostanie tak»e opracowana metodyka jego werykacji w zastosowaniach
biznesowych, poprzez naªo»enie na opracowane modele klas usªug stosowane w
praktyce. Po serii eksperymentów i dopracowaniu modeli obliczeniowych b¦-
11
dzie mo»na przyst¡pi¢ do testów zarówno w ±rodowisku laboratoryjnym, jak
i uwzgl¦dniaj¡cym aspekty i usªugi biznesowe. Po fazie optymalizacji modeli
nast¡pi¡ testy systemowe kªad¡ce szczególny nacisk na normy oceny jako±ci
oprogramowania.
Rysunek 7: Schemat przyj¦tej metodyki badawczej. Zadania: zielony Politechnika Gda«ska, niebieski Intel Technology Poland
Gªównym celem eksperymentów b¦dzie sprawdzenie poprawno±ci dziaªania
globalnego komponentu logicznego systemu tj. opracowanej klasykacji, zwi¡zanej bezpo±rednio z systemem a nie indywidualn¡ usªug¡ uruchamian¡ w obr¦bie
chmury obliczeniowej. Klasykacja na podstawie parametrów ruchu przychodz¡cego i danych z monitoringu b¦dzie okre±laªa przydziaª usªugi do danej klasy
usªug. Nast¦pnie skategoryzowana usªuga b¦dzie przeznaczane do wykonania
w chmurze obliczeniowej, gdzie b¦d¡ zbierane rzeczywiste dane, które ponownie tra¡ do moduªu klasykacji usªug pozwalaj¡c na dostrojenie pracy systemu. Walidacja tego elementu sytemu b¦dzie polegaªa na okre±leniu klas usªug,
które b¦d¡ wspierane przez komponent rekomendacji (np. baza danych, serwer
HTTP), a nast¦pnie wybór konkretnych usªug w ramach tych klas (np. MySQL,
Apache). Nast¦pnie konkretne usªugi b¦d¡ ponownie uruchamiane w ±rodowisku
chmury obliczeniowej.
Pomiarom podlega¢ b¦dzie stopie« skorelowania rekomendacji dostarczanej
12
przez model z rzeczywistym wykorzystaniem zasobów sprz¦towych raportowanym przez system monitoruj¡cy chmur¦ obliczeniow¡. Innymi sªowy model obliczeniowy dostarczaj¡c rekomendacj¦ b¦dzie estymowaª, »e do wykonania zadania b¦dzie potrzebna okre±lona ilo±¢ zasobów sprz¦towych i ta warto±¢ b¦dzie
porównywana z warto±ciami odczytanymi ze stanu systemu (chmury obliczeniowej) w momencie przetwarzania zadania, czyli z ilo±ci¡ zu»ywanych zasobów
sprz¦towych.
Docelow¡ architektur¡, na której b¦dzie bazowaª Projekt, b¦dzie architektura Romley (nazwa kodowa dla platform wieloprocesorowych serwerów w latach
2010/2011). Architektura skªada si¦ z procesorów Sandy Bridge (dwu- lub czterordzeniowych znanych równie» jako procesory Jaketown) oraz chipsetów Patsburg lub Cougar Point. Przewiduje si¦ równie» kompatybilno±¢ wsteczn¡ z architektur¡ Stoutland (platforma dla rynku wieloprocesorowych serwerów 2009)
opart¡ o procesory z rodziny Beckton i Eagleton (maksymalnie do 4 procesorów)
i chipsetów Boxboro. Dodatkowo technologia b¦dzie mo»liwa do zastosowania
z now¡ wieloprocesorow¡ architektur¡ serwerow¡ Grantley (przewidywany rok
pojawienia si¦ na rynku 2015). B¦dzie ona oparta o procesory z rodziny Haswell i Broadwell oraz chipsety Wellsburg. Poniewa» podczas trwania Projektu
u»ywane b¦d¡ nowatorskie rozwi¡zania sprz¦towe niedost¦pne jeszcze na rynku
globalnym i w zwi¡zku z ograniczeniami co do udost¦pniania tej technologii, ±rodowisko testowe zostanie zorganizowane przez rm¦ Intel Technology Poland.
Nast¦pnie ±rodowisko to zostanie udost¦pnione partnerowi naukowemu i przez
czas trwania fazy A b¦dzie zarz¡dzane przez partnera biznesowego.
Literatura
[1] Lenk A., Klems M., Nimis J., Tai S., Sandholm T.,
An architectural map of the Cloud landscape.
What's inside the Cloud?
, In Proceedings of the 2009
ICSE Workshop on Software Engineering Challenges of Cloud Computing
(CLOUD '09). IEEE Computer Society, Washington, DC, USA, 23-31.
[2] Armbrust M., Fox A., Grith R., Joseph A.D., Katz R., Konwinski A.,
Lee G., Patterson D., Rabkin A., Stoica I., Zaharia M. (2009), ,
the Clouds: A Berkeley View of Cloud Computing
Above
Technical Report No.
UCB/EECS-2009-28, Electrical Engineering and Computer Sciences, University of California at Berkeley, USA.
[3] IBM, dbench,
[4] Transaction
http://pic.dhe.ibm.com/infocenter/lnxinfo/v3r0m0/index.jsp?topic=%2Fliaag%2Fjournaling
Processing
http://www.tpc.org/tpcc/
Performance
Council
(TPC),
TPC-C, San Francisco, CA, USA.
[5] Standard Performance Evaluation Company (SPEC), SPEC's Benchmarks
and Published Results,
http://www.spec.org/benchmarks.html
VA.
13
Gainesville,
[6] Cooper B.F., Silberstein A., Tam E., Ramakrishnan R., Sears R. (2010),
Benchmarking cloud serving systems with YCSB
Proceedings of the 1st
ACM symposium on Cloud computing (SoCC '10), ACM, New York, NY,
USA, 143-154.
[7] VMware,
Scheduler
Inc.,
(DRS),
VMware
vSphere:
Distributed
Power
Distributed
Resources
Management
(DPM)
http://www.vmware.com/products/datacenter-virtualization/vsphere/drsdpm.html
[8] Hewlett-Packard
Company,
HP
Service
He-
http://www8.hp.com/us/en/softwaresolutions/software.html?compURI=1173036# .Uej2xW1c1nU
alth
Optimizer,
Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment Journal of the Association for
[9] Liu C. L., Layland J.W. (1973),
Computing Machinery, vol. 20(1), ACM, New York, NY, USA, 46-61
[10] Deji Chen, Mok A. K., Tei-Wei Kuo (2003),
Utilization bound revisited
IEEE Transactions on Computers, vol. 52(3), IEEE Computer Society, 351361.
Utilization Bounds for EDF
Scheduling on Real-Time Multiprocessor Systems Real-Time Syst. 28, 1,
[11] López J. M., Díaz J. L., García D. F. (2004),
Kluwer Academic Publishers Norwell, MA, USA, 39-68.
Cluster scheduling for real-time systems:
utilization bounds and run-time overhead Real-Time Systems, vol. 47(3),
[12] Qi X., Zhu D., Aydin H., (2011),
Kluwer Academic Publishers Norwell, MA, USA, 253-284.
[13] Snavely A., Carrington L., Wolter N., Labarta J., Badia R., Purkayastha A.
(2002),
A framework for performance modeling and prediction
Proceedings
of the 2002 ACM/IEEE conference on Supercomputing (Supercomputing
'02), IEEE Computer Society Press, Los Alamitos, CA, USA, 1-17.
Rooine: an insightful
visual performance model for multicore architectures Communications of
[14] Williams S., Waterman A., Patterson D. (2009),
the ACM, vol. 52(4), ACM New York, NY, USA, 65-76.
A genetic algorithms approach to modeling the performance of memory-bound computations Proceedings of the 2007 ACM/IEEE conference on Supercomputing
[15] Tikir M., Carrington L., Strohmaier E., Snavely A. (2007),
(SC '07), ACM, New York, NY, USA.
[16] Witkowski M., Oleksiak A., Piontek T., W¦glarz J. (2013),
consumption estimation for real life HPC applications
Computer Systems, vol. 29(1), 208-217
14
Practical power
Future Generation
[17] Esmaeilzadeh H., Blem E., St. Amant R., Sankaralingam K., Burger D
(2012),
core
Power Limitations and Dark Silicon Challenge the Future of Multi-
ACM Transactions on Computer Systems, vol. 30(3), ACM New York,
NY, USA.
[18] Valiant L.G. (2008),
A Bridging Model for Multi-core Computing
Proce-
edings of the 16th annual European symposium on Algorithms (ESA '08),
Dan Halperin and Kurt Mehlhorn (Eds.), Springer-Verlag, Berlin, Heidelberg, 13-28.
Ecient provisioning of bursty scientic workloads on the cloud using adaptive elasticity
control Proceedings of the 3rd workshop on Scientic Cloud Computing
[19] Ali-Eldin A., Kihl M., Tordsson J., Elmroth E. (2012) ,
Date (ScienceCloud '12), ACM, New York, NY, USA, 31-40.
[20] Krampe A., Lepping J., Sieben W. (2010),
for workload on parallel computers
A hybrid Markov chain model
In Proceedings of the 19th ACM Inter-
national Symposium on High Performance Distributed Computing (HPDC
'10). ACM, New York, NY, USA, 589-596.
Empirical prediction models
for adaptive resource provisioning in the cloud Future Generation Compu-
[21] Islam S., Keung J., Lee K., Liu A. (2012),
ter Systems vol. 28(1), Elsevier Science Publishers B. V. Amsterdam, The
Netherlands, 155-162.
Automated
control for elastic n-tier workloads based on empirical modeling Proceedings
[22] Malkowski S.J., Hedwig M., Li J., Pu C., Neumann D. (2011),
of the 8th ACM international conference on Autonomic computing (ICAC
'11), ACM, New York, NY, USA, 131-140.
PRESS: PRedictive Elastic ReSource Scaling for cloud systems 2010 International Conference on Network
[23] Zhenhuan G., Xiaohui G., Wilkes J. (2010),
and Service Management (CNSM), Niagara Falls, ON, USA, 9-16.
[24] Ganapathi A., Yanpei Chen, Fox A., Katz R., Patterson D. (2010),
Statistics-driven workload modeling for the Cloud
2010 IEEE 26th Interna-
tional Conference on Data Engineering Workshops (ICDEW), Long Beach,
CA, USA,87-92.
[25] 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
(2012),
Computer Systems, Elsevier Science Publishers B. V. Amsterdam, The Netherlands
On the use of hybrid
reinforcement learning for autonomic resource allocation Cluster Compu-
[26] Tesauro G., Jong N.K., Das R., Bennani M.N. (2007),
ting vol. 10(3), Kluwer Academic Publishers Hingham, MA, USA, 287-299.
15
[27] Tang W., Fu Y., Cherkasova L., Vahdat A. (2007),
ting realistic streaming media server workloads
Modeling and genera-
Computer Networks: The
International Journal of Computer and Telecommunications Networking,
vol. 51(1), Elsevier North-Holland, Inc., New York, NY, USA, 336-356.
A workload prediction model for
decoding mpeg video and its application to workload-scalable transcoding
[28] Huang Y., Tran A.V., Wang Y. (2007),
Proceedings of the 15th international conference on Multimedia (MULTIMEDIA '07), ACM, New York, NY, USA, 952-961.
[29] Singhera Z. U. (2008),
systems
A workload model for topic-based publish/subscribe
Companion to the 23rd ACM SIGPLAN conference on Object-
oriented programming systems languages and applications (OOPSLA Companion '08), ACM, New York, NY, USA, 703-712.
A Co-Plot analysis of logs and
models of parallel workloads. ACM Transactions on Modeling and Compu-
[30] Talby D., Feitelson D. G., Raveh A. (2007),
ter Simulation, vol. 17(3), ACM New York, NY, USA.
Towards characterizing cloud backend workloads: insights from Google compute clusters
[31] Mishra A. K., Hellerstein J. L., Cirne W., Das C. R. (2010),
SIGMETRICS Perform. Eval. Rev. 37, 4 (March 2010), 34-41.
Application classication through monitoring and learning of resource consumption patterns In Proceedings of
[32] Zhang J., Figueiredo R. J. (2006),
the 20th international conference on Parallel and distributed processing
(IPDPS'06). IEEE Computer Society, Washington, DC, USA, 144-144.
[33] Chen Y. K., Chhugani J., Dubey, P., Hughes C.J., Kim D., Kumar S., Lee
Convergence of Recognition,
Mining, and Synthesis Workloads and Its Implications. Proceedings of the
V.W., Nguyen A.D., Smelyanskiy M. (2008),
IEEE, vol. 96(5), 790-807.
[34] Raatikainen K. E. E. (1993),
Cluster analysis and workload classication
SIGMETRICS Perform. Eval. Rev. 20, 4, 24-30.
[35] Krawczyk H., Procz J. (2010),
form architecture
KASKADA - Multimedia processing plat-
Proceedings of the 2010 International Conference on Si-
gnal Processing and Multimedia Applications (SIGMAP), 26-31.
Real-Time Multimedia Stream Data Processing in a Supercomputer Environment Interactive Multimedia, Ioannis
[36] Krawczyk H., Procz J. (2012),
Deliyannis (Ed.), InTech.
Prediction of Processor Utilization
for Real-Time Multimedia Stream Processing Tasks Proceedings of 9th In-
[37] Krawczyk H., Procz J., Daca B. (2013),
ternational Conference on Distributed Computing and Internet Technology
ICDCIT 2013, Bhubaneswar, India, 278-289.
16
Zarz¡dzanie zasobami obliczeniowymi w klastrowym ±rodowisku przetwarzania strumieni multimedialnych Katedra Architektury
[38] Procz J. (2012),
Systemów Komputerowych, Politechnika Gda«ska.
17