Problematyka izolacji wydajności w systemach wirtualizowanych GigaCon, Data Center & Private Cloud Problematyka izolacji wydajności w systemach wirtualizowanych Krzysztof Rzecki, Politechnika Krakowska Andrzej Martyna, VSoft SA Kraków, 14 maj 2013
Plan prelekcji Co to jest izolacja wydajności ? Przydział zasobów. Izolacja wydajności podzespołów. VMM i Hypervisor – typy wirtualizacji. Czego dotyczy izolacja wydajności ? Wpływ izolacji wydajności na … Podstawowe miary i testowanie.
Co to jest izolacja wydajności? Izolacja wydajności dotyczy problemu wpływu pracy jednych maszyn wirtualnych na wydajność innych maszyn wirtualnych. Wydajność rozumiana jest jako konkurowany dostęp do zasobów (CPU, RAM, HDD, NET, itp.). Jakość izolacji wydajności to własność VMM. Poziom izolacji wydajności wyraża w sposób ilościowy wzajemny wpływ maszyn wirtualnych. Izolacja wydajności to zdolność odseparowania wydajności jednej maszyny od drugiej.
Przydział zasobów Niska izolacja wydajności Wysoka izolacja wydajności Zasób posiadany przez HW Zasób pobierany przez VM
Przydział zasobów Niska izolacja wydajności Wysoka izolacja wydajności Zasób posiadany przez HW Zasób pobierany przez VM
Izolacja wydajności podzespołów Izolacja wydajności CPU jest zapewniana przez wywłaszczanie, sheduler może w łatwy sposób decydować o tym, której VM i na jak długo przydzieli czas procesora CPU. Izolacja wydajności RAM obejmuje zarówno czas dostępu, jak i przepustowość pamięci. Jeżeli jedna VM odczytuje z pamięci RAM dane sekwencyjne i jest wywłaszczana przez drugą, która intensywnie odczytuje dane z innego miejsca pamięci RAM, to skutkiem tego jest fragmentacja odczytów z pamięci RAM. Izolacja wydajności łącza danych na chwilę obecną jest zapewniana głównie przez mechanizmy QoS w sieciach komputerowych. Izolacja wydajności HDD to najtrudniejszy problem, gdyż czas dostępu do dysku jest znacznie wyższy i bardziej zróżnicowany (średnia ma duże odchylenie standardowe) niż do RAM i wynosi rzędu od kilku do kilkudziesięciu ms. Dodatkowym czynnikiem jest podwójna fragmentacja: danych w systemie plików i ta wynikająca z wywłaszczenia.
Czym jest VMM i Hypervisor VMM typu I, wymienna nazwa to Hypervisor: Hypervisor typu I – wirtualizacja natywna, Hypervisor typu II – wirtualizacja hostowana. VMM typu II to Java VM, .NET, etc. Można wskazać wiele niejednoznaczności przy klasyfikacji, np. gdy wirtualizacja jest mieszana.
Dwa typy wirtualizacji Pełna wirtualizacja – binarna translacja instrukcji z systemu gościa do sprzętu poprzez system hosta: Wirtualizowany system operacyjny nie wymaga żadnych zmian/modyfikacji. Większe bezpieczeństwo w izolacji awarii. Parawirtualizacja – część instrukcji i odwołań systemu gościa jest tłumaczonych, a cześć jest przekazywana natywnie do sprzętu: Efektywniejsze wykorzystanie współdzielonych zasobów. Mniejszy narzut obliczeniowy na hosta.
Czego dotyczy izolacja wydajności ? GOS Applications GOS Applications GOS Applications HOS Applications Guest OS (OSBV) HOS Applications Guest OS OSAV+HWAV Guest Operating System (HW Based Virtualization) Hypervisor II Hypervisor II Host Operating System (OS Based Virtualization) Host Operating System (OS Assisted Virtualization & HW Based Virtualization) Hypervisor I Hardware Hardware Hardware Full virtualization Para-virtualization Hypervisor type I virtualization
Wpływ izolacji wydajności na … Niska izolacja wydajności Wysoka izolacja wydajności Nieokreślona wydajność maszyn Wysoka średnia wydajność wszystkich maszyn Optymalizacja wykorzystania sprzętu Niskie koszty sprzętu (dla maszyn i backupu) Kontrolowana wydajność maszyn Tylko zadana wydajność poszczególnych maszyn Przewidywalność spełnienia założeń SLA Niskie koszty czasu (w tym szybka migracja)
Podstawowe miary izolacji wydajności Pomiar wydajność poszczególnych podzespołów: CPU, czas dostępu / przepustowość pamięci RAM i dysku twardego, przepustowość i opóźnienia sieci. Pomiar czasu odpowiedzi (response time) programu zainstalowanego na VM.
Testowanie izolacji wydajności Narzędzie Przedmiot testów Dhrystone 2.1 CPU, operacje stałoprzecinkowe Whetstrone 1.2 CPU, operacje zmiennoprzecinkowe IOzone 3.414 dysk twardy RAMspeed 1.1.1 RAM
K O N I E C