Walidacja i testy systemu DRAS (Dynamic Resource Allocation System).
18 grudnia, 2024Autor: Damian Lemiech, Karol Grzywacz, Radosław Kościołek
Afiliacja: Small Business System Damian Lemiech
Data wydania: 2024
Seria/numer raportu: 04/2024/DRAS
Typ: artykuł
Licencja Creative Commons: CC BY-NC 4.0
Część III: Badanie predykcyjnego modelu uczenia maszynowego opartego na rekurencyjnej sieci neuronowej LSTM, w środowisku laboratoryjnym, w warunkach symulujących rzeczywiste.
Słowa kluczowe: alokacja zasobów, dynamiczna alokacja, uczenie maszynowe, model predykcyjny, wskaźnik jakości, podsumowanie badań
Streszczenie: Trzecia część publikacji wyników prac B+R zawiera istotne badanie o charakterze porównawczym, prezentujące w prosty sposób skuteczność modelu predykcyjnego zastosowanego w badanym prototypie Systemu Dynamicznej Alokacji Zasobów. Ponadto przedstawiono ostateczne wnioski odnoszące się do wszystkich badań zawartych w cyklu publikacji. Prognozowanie wartości wybranych parametrów opisujących działanie maszyn wirtualnych w czasie, jest kluczowym elementem koncepcji dynamicznej alokacji zasobów. Zmiany alokacji zasobów nie mogą być zbyt częste, co oznacza, że reagowanie w czasie rzeczywistym mogłoby być przeciwskuteczne. Zastosowanie odpowiednio dokładnego modelu uczenia maszynowego przeznaczonego do predykcji wartości dostarcza prognozy, które mogą być podstawą do podejmowania decyzji o optymalnych zmianach alokacji zasobów. Przedstawione wyniki obrazują dokładność zastosowanego modelu, a potwierdzeniem są wskaźniki jakości i czasu wykonywania. Dokonano analizy zebranych wartości wskaźników i potwierdzono zgodność z założeniami. Ostatecznie podsumowano prace B+R, których dotyczy niniejsza seria publikacji, oraz wskazano potencjalne kierunki dalszego rozwoju.
Wizualizacje wyników badań i ilustracje niektórych testów (część III)
W poprzednich częściach publikowanych wyników prac badawczo-rozwojowych nad koncepcją Systemu Dynamicznej Alokacji Zasobów, przedstawiono rezultaty sześciu badań o charakterze bazowym, przekrojowym oraz koncepcyjnym. Przedstawione wyniki identyfikowały podstawowe korelacje i wskazywały potencjalne kierunki rozwoju badanej koncepcji. Niniejsza publikacja zawiera odpowiedź na kluczowe pytanie: czy można skutecznie prognozować wykorzystanie zasobów przez usługi chmurowe, np. przy zastosowaniu modeli uczenia maszynowego? Przedstawione wyniki obrazują porównanie przebiegów wartości rzeczywistych i prognozowanych w określonym czasie.
Test 7:
Badanie predykcyjnego modelu uczenia maszynowego opartego na rekurencyjnej sieci neuronowej LSTM, w środowisku laboratoryjnym, w warunkach symulujących rzeczywiste.
Metodologia: Testy zostały wykonane na czterech maszynach wirtualnych z zainstalowanym systemem operacyjnym Ubuntu (Linux). Regularne wykonywanie procesu akwizycji budowało zbiór danych przez około 3 miesiące. W tym czasie realizowano wiele testów obciążeniowych, których nie można traktować jako typowe działanie maszyn wirtualnych. Dlatego procesami trenowania, przeuczania i predykcji, objęto wybrane okresy czasu, w których człowiek może dostrzec pewną regularność lub tendencje. Proces predykcji obciążenia CPU i RAM, wykonywany był gdy w okresie przewidywania istniały już rzeczywiste wartości obciążenia, chociaż nie brały one udziału w procesie uczenia maszynowego. Pozwoliło to również na wizualne porównanie przebiegu wartości predykcyjnych z przebiegiem wartości rzeczywistych.
a) Przykład nr 1:
· VM nr 110,
· predykcja obciążenia CPU i RAM.
Komentarz: Wizualnie przebiegi wartości rzeczywistych i predykcyjnych są podobne do siebie. Duża zmienność przebiegu wartości predykcyjnych charakteryzuje się jednak małymi amplitudami lokalnymi. Zdarzają się fałszywe wyniki przewidujące znaczące obciążenie. Obliczenia błędu RMSE wskazały na dużą dokładność wytrenowanego modelu predykcyjnego. Osiągnięto wartości błędu RMSE: 0,0758 dla CPU i 0,0249 dla RAM. Cały proces uczenia maszynowego, obejmujący trenowanie lub przeuczanie i predykcję, zajął około 12 sekund.
b) Przykład nr 2:
· VM nr 111,
· predykcja obciążenia CPU i RAM.
Komentarz: Uzyskane wyniki są bardzo podobne do poprzedniego przykładu. Osiągnięto wartości błędu RMSE: 0,0724 dla CPU i 0,0198 dla RAM. Cały proces uczenia maszynowego, obejmujący trenowanie lub przeuczanie i predykcję, zajął około 6 sekund.
c) Przykład nr 3:
· VM nr 112,
· predykcja obciążenia CPU i RAM.
Komentarz: Uzyskane wyniki są bardzo podobne do poprzednich przykładów. Osiągnięto wartości błędu RMSE: 0,0808 dla CPU i 0,0256 dla RAM. Cały proces uczenia maszynowego, obejmujący trenowanie lub przeuczanie i predykcję, zajął około 8 sekund.
d) Przykład nr 4:
· VM nr 105,
· predykcja obciążenia CPU i RAM.
Komentarz: Osiągnięte wyniki predykcji obciążenia CPU są podobne do poprzednich przykładów. Wyniki predykcji obciążenia pamięci RAM wydają się rozbieżne względem wartości rzeczywistych, jednak cały przebieg zawiera się w obrębie 3% pełnej skali. Osiągnięto wartości błędu RMSE: 0,0175 dla CPU i 0,0045 dla RAM. Cały proces uczenia maszynowego, obejmujący trenowanie lub przeuczanie i predykcję, zajął około 5 sekund.
e) Przykład nr 5:
· VM nr 105,
· predykcja obciążenia CPU i RAM.
Komentarz: Uzyskane wyniki predykcji obciążenia CPU są podobne do poprzednich przykładów. Osiągnięto wartości błędu RMSE: 0,0175 dla CPU i 0,0037 dla RAM. Cały proces uczenia maszynowego, obejmujący trenowanie lub przeuczanie i predykcję, zajął około 3,5 sekundy.
Podsumowanie:
Przedstawione przykłady predykcji obrazują skuteczność zastosowanego modelu uczenia maszynowego, opartego na sieci neuronowej LSTM. Do prezentacji wybrano kilka przykładów, ale podobnych prób przeprowadzono znacznie więcej. Próby podlegały ocenie kwalifikacyjnej, w celu odrzucenia nieprawidłowo skonfigurowanych ustawień. Najczęściej zdarzało się to gdy model trenowano na danych o małej amplitudzie zmian, a w okresie predykcyjnym występowały nagłe, losowe skoki wartości. Takie scenariusze są nieprzewidywalne. System opracowany na wysokim poziomie powinien mieć mechanizmy reagujące na takie zdarzenia, ale w kontrolowanych warunkach laboratoryjnych można jedynie identyfikować takie sytuacje i odrzucać, aby nie zniekształcały wyników badań. Analizie poddano 147 prób, z czego odrzucono 13. Na podstawie pozostałych 134 prób wyznaczono średni czas analizy danych dla jednej maszyny wirtualnej, który wynosił 14,91 s, podczas gdy teoretyczny maksymalny czas nie powinien przekraczać 26,87 s (3600 s / 134), przy założeniu, że wszystkie próby (każda dla jednej wirtualnej maszyny) powinny być wykonane w ciągu jednej godziny (teoretyczny czas dla całego procesu analizy danych). Założenia badawcze zostały spełnione bez problemu. Na podstawie tych samych prób przeprowadzono analizę uzyskanych wartości błędów RMSE dla modeli predykcyjnych. Wymagane było, aby błąd RMSE był mniejszy niż 0,1 w każdej próbie zakwalifikowanej do testu. Założenie zostało spełnione, ponieważ wszystkie wartości mieściły się w zakresie 0,0137 - 0,0914. Postawione zadania predykcyjne były stosunkowo proste, ale spełniały wymagania dotychczasowych założeń Systemu Dynamicznej Alokacji Zasobów. Strategia rozwoju tej koncepcji zakłada rozszerzenie procesu akwizycji danych, co oznacza konieczność poszukiwania bardziej zaawansowanych algorytmów uczenia maszynowego, które sprostają rosnącym wymaganiom.
Podsumowanie uzupełniających prac badawczo-rozwojowych
Postawione problemy technologiczne zostały rozwiązane. Zbiór danych pozyskiwany z dwóch źródeł i dotyczący dwóch różnych aspektów działania serwera, tworzy wystarczającą bazę dla procesu uczenia maszynowego. Wyniki wskaźnika dokładności w pierwszych badaniach i wskaźnika jakości w badaniach uzupełniających, spełniają założenia badawcze. Potwierdza to istnienie pewnych korelacji w zbiorze danych i możliwość uchwycenia ich w wytrenowanych modelach predykcyjnych. Pozwala to odpowiedzieć pozytywnie na zadane pytanie: czy możliwy do uzyskania zbiór danych jest wystarczający do efektywnego uczenia maszynowego? Ostatecznie jakość predykcji wyrażona za pomocą błędu RMSE utrzymuje się na poziomie nie większym niż 0.1, zgodnie z założeniami. Średni czas analizy danych dla jednej wirtualnej maszyny porównywany jest do elastycznej wartości maksymalnej, uzależnionej od ilości maszyn wirtualnych na serwerze i czasu założonego na przeanalizowanie ich wszystkich. Potwierdzono, że obecne założenia i implementacja spełniają postawione wymagania odnośnie szybkości analizy danych. Oznacza to, że zapewniono skalowalność systemu dynamicznego zarządzania zasobami, w zależności od zmieniających się warunków obciążenia zasobów serwera. SDAZ samoistnie reaguje na zwiększającą się liczbę świadczonych usług i generowanych przez te usługi danych metrycznych, niwelując ryzyko niewydolności poprzez odpowiednią alokację własnych zasobów.
Spodziewane oszczędności energii elektrycznej, wynikające ze zmian alokacji zasobów, zostały potwierdzone poprzez zobrazowanie wielu typowych scenariuszy pracy wirtualnych maszyn. Wyniki osiągnięte w testach laboratoryjnych symulujących warunki rzeczywiste, mieszczą się w założonym zakresie 5-10%. Ponadto zidentyfikowane zostały potencjalne korelacje i możliwości poszukiwania dalszych oszczędności.
Uzupełniające prace badawczo-rozwojowe nad Systemem Dynamicznej Alokacji Zasobów miały na celu podjęcie pierwszych działań zmierzających do modułowej wymiany części systemu. Pozytywny efekt pierwszych badań i konsekwencje w postaci możliwości rozbudowy systemu w zakresie obsługi klientów i zarządzania wszystkimi procesami, były impulsem do określenia długoterminowej strategii rozwoju SDAZ oraz dalszych badań zmierzających do poszukiwania jeszcze lepszych rozwiązań lub rozbudowy systemu o całkiem nowe funkcjonalności. Rosnące kompetencje zespołu badawczego pozwoliły dostrzec potencjał możliwości w zastosowaniu innych rozwiązań uczenia maszynowego.
Wykonanie dodatkowych prac badawczo-rozwojowych jest wstępem do opracowanej strategii rozwoju SDAZ. Potwierdza motywację Firmy i zespołu do stawiania czoła nowym, ambitnym wyzwaniom oraz potwierdza skalowalność opracowanych rozwiązań, które mogą być unowocześnianie zgodnie z postępem technologicznym i nowymi osiągnięciami w dziedzinie badań.
Koncepcja Systemu Dynamicznej Alokacji Zasobów będzie rozwijana przede wszystkim w kierunku doboru najlepszego lub najlepszych modeli uczenia maszynowego do analizy zbioru danych i doboru najbardziej optymalnej alokacji zasobów na serwerze. Strategia rozwoju wybiega znacznie dalej w przyszłość, jednak w zakresie podstawowych funkcjonalności i procesów konieczne są jeszcze dalsze badania. Dzięki temu kompetencje zespołu badawczo-rozwojowego zostaną znacznie poszerzone i pozwolą w przyszłości na stawianie i realizację coraz bardziej ambitnych celów rozwojowych systemu SDAZ.