• Nie Znaleziono Wyników

Metody analizy wydajności systemów operacyjnych w kontekście rozwoju społeczeństwa informacyjnego

N/A
N/A
Protected

Academic year: 2021

Share "Metody analizy wydajności systemów operacyjnych w kontekście rozwoju społeczeństwa informacyjnego"

Copied!
8
0
0

Pełen tekst

(1)

NR 852 EKONOMICZNE PROBLEMY USàUG NR 117 2015

MACIEJ ROSZKOWSKI

Zachodniopomorski Uniwersytet Technologiczny1

METODY ANALIZY WYDAJNOĞCI SYSTEMÓW OPERACYJNYCH W KONTEKĞCIE ROZWOJU SPOáECZEĔSTWA INFORMACYJNEGO

Streszczenie

Jednym z warunków wáaĞciwego rozwoju spoáeczeĔstwa informacyjnego jest moĪliwoĞü szybkiego dostĊpu do wydajnego systemu e-usáug informatycznych. Dlatego artykuá podejmuje temat metod analizy wydajnoĞci platformy e-usáug. Przedstawiono cztery antymetody i dwie wáaĞciwe metody analizy wydajnoĞci systemów operacyjnych (metoda USE i metoda TSA).

Sáowa kluczowe: analiza wydajnoĞci, metoda USE, metoda TSA.

Wprowadzenie

SpoáeczeĔstwo informacyjne to takie spoáeczeĔstwo, które uĪytkuje systemy in-formatyczne oraz usáugi telekomunikacyjne do przekazywania i przetwarzania informa-cji (Nowak 2008, s. 25). Systemy informatyczne są wykorzystywane w wielu dziedzi-nach Īycia spoáecznego (np. opiece zdrowotnej, administracji, edukacji, bankowoĞci) w procesie obsáugi spoáeczeĔstwa informacyjnego (Bytniewski 2013, s. 9).

Systemy informatyczne e-usáug rezydują na wielu platformach: na systemie operacyjnym Android (np. realizacja e-usáug bankowoĞci elektronicznej poprzez aplikacje zainstalowane na smartfonach), na systemie operacyjnym Microsoft Win-dows (np. do obsáugi wersji klienckich na komputerach stacjonarnych: obsáuga pacjentów przychodni medycznych, obsáuga klientów usáug bankowoĞci), na sys-temie operacyjnym Unix/Linux w róĪnych wersjach dystrybucji (np. serwery umoĪ-liwiające komunikacjĊ jednostek podlegáych NFZ), na systemie operacyjnym

1

(2)

ware vSphere do wirtualizacji Ğrodowisk (np. farmy serwerów wysokiej dostĊpno-Ğci do autoryzacji kart kredytowych).

SpoáeczeĔstwo informacyjne moĪe rozwijaü siĊ poprzez rozwój infrastruktury, kompetencji elektronicznych i e-usáug. Te trzy elementy stanowią caáoĞü i warunku-ją wáaĞciwy rozwój spoáeczeĔstwa informacyjnego. U podstaw dziaáania infrastruk-tury i e-usáug stoi platforma (system operacyjny), na której rezydują urządzenia sieciowe (infrastruktura) i system informacyjny (e-usáugi). Kompetencje elektro-niczne są wyksztaácane w toku uĪytkowania infrastruktury i e-usáug.

JeĪeli system operacyjny dziaáa maáo wydajnie, to ma to znaczący wpáyw na chĊü wykorzystywania kompetencji elektronicznych, za poĞrednictwem infrastruk-tury informatycznej, w celu skorzystania z e-usáug. Zbyt wiele jednoczesnych poáą-czeĔ klienckich w infrastrukturze informatycznej do serwera e-usáug moĪe spowo-dowaü jego przeciąĪenie, a w konsekwencji bardzo powolne dziaáanie e-usáug lub przerwy w dostĊpie do nich. Aby optymalizowaü wydajnoĞü systemów operacyj-nych, tak aby mogáy dziaáaü efektywnie i niezawodnie, potrzebne jest przeprowa-dzenie wáaĞciwej analizy wydajnoĞci.

Celem niniejszej publikacji jest przedstawienie metod analizy wydajnoĞci systemów operacyjnych w kontekĞcie rozwoju spoáeczeĔstwa informacyjnego. PoniĪej zostaną przedstawione antymetody analizy wydajnoĞci, pokazane jako táo dla wáaĞciwych metod analizy wydajnoĞci.

1. Antymetody analizy wydajnoĞci

Przedstawione antymetody analizy wydajnoĞci stanowią przykáad dosyü czĊ-stych zachowaĔ w organizacjach odpowiedzialnych za obsáugĊ systemów operacyj-nych (Usenix 2014). Prezentowane są nie po to, Īeby je powielaü, tylko po to, aby siĊ ich wystrzegaü.

Jawna antymetoda

Jawną antymetodĊ (ang. Streetlight Anti-Method) cechuje brak metody. Analiza wydajnoĞci nastĊpuje za pomocą dobranych przypadkowo narzĊdzi monitorowania, w nadziei na znalezienie czegoĞ ciekawego. Tak badana wydajnoĞü moĪe przyczyniü siĊ do odkrycia jakichĞ problemów, ale niekoniecznie tych, które są szukane i odpo-wiadają za niĪszą wydajnoĞü. Próby wpáywania na wydajnoĞü przyjmują najczĊĞciej formĊ prób i báĊdów, zachodzących podczas zmian róĪnych parametrów.

JeĪeli nawet dziaáania te przyniosą jakieĞ efekty, to caáy proces dochodzenia do nich bĊdzie bardzo powolny, a przy okazji moĪna znaleĨü parĊ innych proble-mów, które wywiodą badacza na manowce.

Antymetoda losowej zmiany

Antymetoda losowej zmiany (ang. Random Change Anti-Method) opiera siĊ na eksperymentach. Dokonując losowego wyboru jakiegoĞ elementu, modyfikuje

(3)

siĊ jego wartoĞü w jednym kierunku (zwiĊkszając wartoĞü), jednoczeĞnie dokonując pomiaru wydajnoĞci. NastĊpnie dokonuje siĊ modyfikacji wartoĞci tego samego elementu w drugim kierunku (zmniejszając wartoĞü) i ponownie dokonuje siĊ po-miaru wydajnoĞci. Pomiar wydajnoĞci moĪe obejmowaü róĪne metryki: czas wyko-nywania operacji, czas dziaáania aplikacji, opóĨnienie, przepustowoĞü. Porównując uzyskane w ten sposób dwie wartoĞci moĪna wywnioskowaü, która z nich spowo-dowaáa wzrost wydajnoĞci.

Wykonane w ten sposób dziaáania mogą spowodowaü, Īe zostanie osiągniĊty wzrost wydajnoĞci, ale tylko przy okreĞlonym obciąĪeniu. Prezentowana antymeto-da nie wyszukuje báĊdów, ale je obchodzi poprzez modyfikacjĊ parametrów. Usu-niĊcie báĊdu, który powodowaá spadek wydajnoĞci, moĪe wrĊcz obniĪyü badaną wydajnoĞü, ze wzglĊdu na wczeĞniej poczynione modyfikacje za pomocą tej anty-metody. Konsekwencją wprowadzania losowych zmian moĪe byü spadek wydajno-Ğci w innym przypadku, który nie zostaá wziĊty pod uwagĊ, np. przy maksymalnym obciąĪeniu Ğrodowiska produkcyjnego.

Antymetoda obwiniania kogoĞ innego

Antymetoda obwiniania kogoĞ innego (ang. Blame-Someone-Else Anti- -Method) jest stosowana w Ğrodowiskach Ğcisáej specjalizacji. KaĪda osoba odpo-wiada za dziaáanie konkretnego systemu lub komponentu Ğrodowiska i w tej wą-skiej dziedzinie siĊ specjalizuje. W przypadku pojawienia siĊ problemów z wydaj-noĞcią, dotyczącą jego systemu lub komponentu Ğrodowiska, zamiast diagnozowaü problem, stara siĊ go przerzuciü na innych. W tym celu stawia hipotezĊ, Īe obniĪo-na wydajnoĞü jest spowodowaobniĪo-na báĊdami w konfiguracji innego systemu lub kom-ponentu Ğrodowiska, za który on sam nie odpowiada. Dlatego teĪ w jego mniema-niu osoba odpowiedzialna za ten fragment powinna zdiagnozowaü problem. W przypadku gdy oskarĪenie nie znajdzie uzasadnienia, stawiana jest nowa hipote-za i nowa osoba przystĊpuje do testów wydajnoĞciowych.

Zrzucanie winy na innych prowadzi do marnowania zasobów organizacji. Zespoáy, których problem nie dotyczy – muszą go rozwiązywaü tylko po to, Īeby udowodniü swoją racjĊ. WinĊ za taki stan rzeczy ponosi kierownictwo lub maáa asertywnoĞü samych zespoáów. W przypadku wysnucia takiej hipotezy wystarczy poprosiü o dowód Ğwiadczący o tym, Īe wadliwym punktem moĪe byü nasz system lub komponent Ğrodowiska.

Antymetoda pasywnych testów wydajnoĞci

Pasywne testy wydajnoĞci (ang. Passive Benchmarking Anti-Method) mają za zadanie zebraü dane o wydajnoĞci bez wnikania w szczegóáy. Po uruchomieniu testów wyniki są prezentowane dla ogóáu.

Wygenerowane dane koĔcowe nie zawsze muszą odzwierciedlaü rzeczywi-stoĞü, a co za tym idzie wnioski, które są wysnute na ich podstawie, mogą byü nie-prawidáowe. Przykáadowo moĪna sądziü, Īe sprawdza siĊ wydajnoĞü komponentu X, natomiast w rzeczywistoĞci dokonuje siĊ pomiaru wydajnoĞci komponentu Y,

(4)

a wnioskuje siĊ o pomiarze komponentu Z. Tak przeprowadzone testy wydajnoĞci mogą nie braü pod uwagĊ róĪnych ograniczeĔ, niezwiązanych z celem testu, np. obciąĪenie sieci, nieoptymalna konfiguracja sprzĊtowa. Tego rodzaju testy są bar-dzo podatne na perturbacje (np. tworzenie kopii zapasowych w czasie przeprowa-dzania testów).

2. Metody analizy wydajnoĞci

W wiĊkszoĞci zastosowaĔ analizy wydajnoĞci sprawdzają siĊ dwie metody: metoda USE i metoda TSA. Obydwie metody wzajemnie siĊ uzupeániają, gdyĪ kaĪda z nich opiera siĊ na innym podejĞciu. Metoda USE opiera siĊ na analizie zasobów (podejĞcie sprzĊtowe), natomiast metoda TSA – na analizie procesów (podejĞcie programowe).

Zasób systemu operacyjnego moĪna zdefiniowaü jako komponenty sprzĊtowe, zarządzane przez menedĪera zasobów (system operacyjny). Proces moĪe uzyskaü, wykorzystaü i zwolniü dostĊp do zasobu. System operacyjny dba o uporządkowany i kontrolowany przydziaá zasobów. Wątek systemu operacyjnego to wydzielony fragment programu wykonywany przez procesor. KaĪde uruchomienie dowolnej aplikacji w systemie operacyjnym uruchamia jeden lub wiele procesów, a kaĪdy powoáany do Īycia proces tworzy wiele wątków. Wątki są wykonywane wspóábieĪ-nie w obrĊbie jednego procesu, wspóádzieląc przestrzeĔ adresową pamiĊci.

Metoda USE

Metoda USE jest stosowana na początkowym etapie analizy wydajnoĞci, gdyĪ umoĪliwia wykrycie wąskich gardeá w systemie operacyjnym (Gregg 2014, s. 42). W myĞl metody USE dla kaĪdego zasobu systemu operacyjnego powinny byü sprawdzone trzy typy metryk: poziom wykorzystania (ang. Utilization), poziom nasycenia (ang. Saturation) i liczba báĊdów (Gregg 2014).

Metryka báĊdów jest liczbą báĊdów.

Poziom wykorzystania zasobu moĪe byü wyraĪony w postaci czasu lub po-jemnoĞci. WyraĪony w postaci czasu oznacza iloĞü czasu poĞwiĊconego na aktywne wykonywanie zadania przez zasób, w danym okresie czasu (np. zasób procesor). WyraĪona w postaci pojemnoĞci oznacza iloĞü zuĪytej pojemnoĞci (np. zasób pa-miĊü masowa).

Poziom nasycenia to stopieĔ zajĊtoĞci zasobu, w którym zasób nie moĪe juĪ wykonaü kolejnych zadaĔ w danej chwili.

Algorytm metody USE zostaá przedstawiony na rysunku 1. W kroku pierw-szym metody USE naleĪy wyselekcjonowaü listĊ zasobów, wraz z konkretnymi przykáadami (Tanenbaum 2010, s. 35):

1. Procesory – liczba rdzeni, procesory wirtualne, wielowątkowoĞü wspóá-bieĪna (hyper-threading),

(5)

2. PamiĊci operacyjne – RAM,

3. PamiĊci masowe – pamiĊü magnetyczna (dyski twarde talerzowe), pamiĊü póáprzewodnikowa (dyski SSD, USB),

4. Interfejsy sieciowe – karty ethernet.

Nie wymienione komponenty sprzĊtowe, takie jak kontrolery, magistrale, bufory, szyny wejĞcia–wyjĞcia, najczĊĞciej moĪna pominąü przy ocenie wydajnoĞci, gdyĪ projektuje siĊ je w celu zapewnienia bardzo duĪej przepustowoĞci. W drugim kroku metody USE naleĪy okreĞliü dla kaĪdego zasobu – typ metryki (poziom wy-korzystania, poziom nasycenia, liczba báĊdów), który moĪe zostaü wykorzystany w jego analizie (tabela 1):

Tabela 1 Przykáadowe wyraĪenie dwóch metryk dla zasobów

w metodzie USE (poziom wykorzystania i poziom nasycenia) Lp. Zasób/Metryka Poziom wykorzystania Poziom nasycenia

1 Procesory Oceniany na podstawie kaĪdego procesora oddzielnie lub wartoĞci Ğredniej dla

wszystkich procesorów

ZaleĪny od dáugoĞci kolejki zadaĔ bieĪących, czekających

na dostĊp do procesora 2 PamiĊci

opera-cyjne

ZaleĪny od iloĞci wolnej pamiĊci (dostĊp-nej dla systemu operacyjnego)

ZaleĪny od wielkoĞci stronico-wanej pamiĊci 3 PamiĊci masowe Wskazuje na wielkoĞü zajĊtej przestrzeni

pamiĊci masowej

ZaleĪny od dáugoĞci kolejki oczekiwania 4 Interfejsy

siecio-we

ZaleĪny od przepustowoĞci i szybkoĞci transmisji

ZaleĪny od moĪliwoĞci prze-peánienia bufora ħródáo: opracowanie wáasne.

Bardzo rzadko mierzy siĊ báĊdy w przypadku zasobów: procesor i pamiĊü. WystĊpowanie báĊdów w przypadku tych zasobów Ğwiadczy najczĊĞciej o prze-grzewaniu siĊ tych zasobów lub o postĊpującym uszkodzeniu fizycznym zasobów. WystĊpujące báĊdy na pamiĊciach masowych są bardzo czĊsto spowodowane po-stĊpującą degradacją powierzchni dysków. Mechanizm S.M.A.R.T. jest odpowie-dzialny za monitorowanie i powiadamianie o báĊdach dysków w systemie operacyj-nym. Model warstwowy struktury protokoáów transmisji TCP/IP umoĪliwia komu-nikacjĊ internetową za pomocą protokoáów komunikacyjnych, które umoĪliwiają przesyáanie danych w postaci pakietów za pomocą interfejsów sieciowych. W przy-padku wystąpienia báĊdów podczas transmisji protokoáy komunikacji umoĪliwiają ich retransmisjĊ lub poprawianie báĊdów. NajczĊstszą przyczyną báĊdów jest fi-zyczne uszkodzenie áącza danych lub rzadziej interfejsu sieciowego.

Ostatnim krokiem metody USE jest wáaĞciwa interpretacja trzech rodzajów metryk dla poszczególnych zasobów oraz podjĊcie dziaáaĔ naprawczych.

(6)

Rys. 1. Algorytm metody USE ħródáo: opracowanie wáasne. Metoda TSA

Metoda TSA (ang. Thread State Analysis Method) umoĪliwia ustalenie wy-dajnoĞci danego procesu, co w konsekwencji umoĪliwia okreĞlenie wywy-dajnoĞci wszystkich aplikacji (Gregg 2014, s. 168).

W kroku pierwszym metody TSA naleĪy dla kaĪdego procesu okreĞliü stany, w których przebywa, w caáym okresie badawczym. NajczĊĞciej wyróĪnia siĊ nastĊ-pujące stany procesu (podziaá ten nie wyczerpuje wszystkich moĪliwych stanów w systemie operacyjnym) (Silberschatz 2003, s. 117):

1. Stan wykonywany (ang. executing) – proces jest wykonywany przez pro-cesor (po stronie uĪytkownika i jądra) (czasami nazywany aktywnym), 2. Stan gotowy (ang. runnable) – proces oczekuje na dostĊp do procesora, 3. Stan oczekujący (ang. waiting) – proces oczekuje na zdarzenie lub sygnaá. Diagram stanów procesu zostaá przedstawiony na rysunku 2.

W kroku drugim metody TSA dla kaĪdego z podanych stanów naleĪy zmie-rzyü czas trwania danego stanu.

Rys. 2. Diagram stanów procesu ħródáo: opracowanie wáasne.

Start Selekcja listy zasobów Wybór zasobu Czy wystąpiáy báĊdy? Czy jest wysoki poziom wykorzy-stania? Czy jest wysoki poziom nasycenia? Koniec Zinterpretuj i wdróĪ dziaáania naprawcze Nie Nie Nie Tak Tak Tak

gotowy

wykonywany

nowy

decyzja

zakoĔczony

planisty

czekający

oczekiwanie na zdarzenie lub sygnaá zatrzymania zaszáo zdarzenie lub sygnaá kontynuacji przerwanie

(7)

Krok trzeci ma charakter ekspercki, ze wzglĊdu na koniecznoĞü posiadania wiedzy o budowie aplikacji, która powoáaáa do Īycia konkretny proces, a w konse-kwencji wątek. NaleĪy wyselekcjonowaü te stany, w których proces przebywa naj-dáuĪej (najdáuĪszy czas trwania) i poddaü je analizie.

1. DáuĪsze przebywanie w stanie wykonywania moĪe oznaczaü, Īe proces nie-ekonomicznie zajmuje czas procesora. Metoda „profilowania procesora” umoĪliwia ustalenie, które linie kodu Ĩródáowego aplikacji są za to odpowie-dzialne, a w konsekwencji ekonomiczne zaplanowanie zuĪycia procesora. 2. SpĊdzanie wiĊkszej iloĞci czasu w stanie gotowoĞci (oczekiwania na

do-stĊp do procesora) moĪe oznaczaü potrzebĊ zapewnienia wiĊkszej mocy obliczeniowej. WiĊkszą moc obliczeniową moĪna zapewniü przydzielając dodatkowe procesory lub usuwając limity naáoĪone na procesor.

3. Stan oczekiwania jest przyczyną duĪych opóĨnieĔ w dziaáaniu aplikacji, gdyĪ wiĊkszoĞü zdarzeĔ moĪe byü dáugotrwaáa lub zaleĪna od programi-sty aplikacji i jego wizji zapobiegania konfliktom w dostĊpie do zasobów w Ğrodowisku wielozadaniowym. ZajĞcie zdarzenia lub wysáanie sygnaáu kontynuacji umoĪliwia wznowienie wykonywania procesu.

Ostatnim krokiem metody TSA jest wáaĞciwa analiza najdáuĪszych stanów procesów oraz podjĊcie dziaáaĔ naprawczych.

Podsumowanie

Przedstawione antymetody są przykáadem dosyü czĊstych zachowaĔ w orga-nizacjach odpowiedzialnych za obsáugĊ systemów operacyjnych. NajczĊĞciej wyko-rzystywanie antymetod w codziennej pracy jest spowodowane chaosem i chĊcią doraĨnego naprawienia sytuacji spadku wydajnoĞci. Jedynie dziaáania zorganizo-wane, oparte na wypracowanych metodach analizy wydajnoĞci, mogą siĊ sprawdziü w toku obsáugi systemów operacyjnych (platform e-usáug).

WáaĞciwe metody analizy wydajnoĞci (metoda USE i metoda TSA) zostaáy poka-zane na tle antymetod. NaleĪy zwróciü uwagĊ na zestawienie tych metod razem. Oby-dwie metody wzajemnie siĊ uzupeániają, gdyĪ prezentują odmienne podejĞcie. Metoda USE prezentuje podejĞcie sprzĊtowe, w którym analizowane są pod wzglĊdem wydaj-noĞci komponenty serwerów, na których jest umiejscowiony system operacyjny. Nato-miast metoda TSA prezentuje podejĞcie odmienne, które uzupeánia dziaáanie metody USE. W metodzie TSA prezentowane jest podejĞcie programowe, gdyĪ analizie podle-gają procesy samej aplikacji, czyli wnĊtrze systemu informatycznego wraz z platformą e-usáug.

WyposaĪeni w moĪliwoĞci, które daje zestawienie metody USE i metody TSA do analizy wydajnoĞci systemów operacyjnych, moĪna w bardzo prosty sposób przyczyniü siĊ do rozwoju spoáeczeĔstwa informacyjnego.

(8)

Literatura

1. Bytniewski A. (red.) (2013), Systemy informatyczne a rozwój spoáeczeĔstwa infor-macyjnego, Uniwersytet Ekonomiczny we Wrocáawiu, Wrocáaw.

2. Gregg B. (2014), Systems Performance: Enterprise and the Cloud, Prentice Hall, Michigan.

3. Nowak J.S. (2008), SpoáeczeĔstwo informacyjne – geneza i definicje, w: P. Sien-kiewicz, J.S. Nowak (red.), SpoáeczeĔstwo informacyjne. Krok naprzód, dwa kroki wstecz, PTI, Katowice.

4. Silberschatz A., Galvin P.B., Gagne G. (2003), Podstawy systemów operacyjnych, WNT, Warszawa.

5. Tanenbaum A S. (2010), Systemy operacyjne, Helion, Gliwice. 6. www.brendangregg.com/methodology.html (2014).

7. www.usenix.org/conference/lisa12/performance-analysis-methodology (2014).

METHODS OF OPERATIONAL SYSTEMS’ EFFICIENCY ANALYSE IN THE CONTEXT OF THE INFORMATION SOCIETY

Summary

A possibility of a quick access to the efficient system of e-services is one of the basic condition for an information society development. For this reason this article de-scribes methods of operational systems’ efficiency analyses. There are presented four anti-methods and two appropriate methods of operational systems’ efficiency analyses (USE Method, TSA Method).

Keywords: analysis of efficiency, USE Method, TSA Method.

Cytaty

Powiązane dokumenty

Klasyczne metody kształtowania rozkładów mocy i temperatury w indukcyjnych ukła- dach grzejnych.. Nowe metody kształtowania rozkładów mocy i temperatury w indukcyjnych układach

Przykładem zbyt mało sformalizowanej organizacji programu rozwojowego służyć może Program Zintegrowanego Rozwoju Regionu Kinki w Japonii, czy też Program Rozwoju Regionu

[r]

¡ POSIX został stworzony w celu ułatwienia przenoszenia aplikacji. Nie jest to więc standard tylko dla systemów UNIX. Systemy nie-UNIX mogą być również zgodne z POSIX-em...

– Zdyskontowany okres zwrotu (Discounted Payback) – Zaktualizowana wartość netto NPV (Net Present Value) – Wskaźnik atrakcyjności inwestycji (Profitability Index).. –

Posługując się zdyskontowaną długością okresu zwrotu jako miernikiem oceny projektów inwestycyjnych, należy wybierać te projekty, które posiadają najkrótszy okres

Operator wypełnia wszystkie wymagane pola wniosku: Nazwisko wnioskodawcy, Adres wnioskodawcy, Data urodzenia wnioskodawcy, Nazwa pracodawcy, Adres pracodawcy, Roczny dochód,

 wysoka wydajność (kryteria: wykorzystanie procesora i innych zasobów sprzętowych, średni czas wykonania zadania, czas reakcji na polecenie, czas przełączania