www.eprace.edu.pl » iso-cmm » Pojęcie jakości i atrybuty jakości » Moc

Moc

Przegląd

Definicje

Definicja IEEE 610.12

„Moc“ ma wiele konotacji. Definicja podana w IEEE Standard Glossary of Software Engineering Terminology [IEEE-610.12] brzmi: „Moc. Stopień w jakim system lub komponent realizuje zamierzone funkcje z zadanymi ograniczeniami takimi jak prędkość, dokładność, czy użycie pamięci.“ Ta definicja jest zbyt szeroka dla naszych celów.

Definicja Smith’a

Moc jako atrybut jakości odnosi się do limitów czasowych systemu. Przyjmijmy pewne uogólnienie definicji mocy Smith’a: „Moc odnosi się do wrażliwości: jest to albo czas odpowiedzi na specyficzne zdarzenia, albo liczba zdarzeń przetwarzanych w pewnym zadanym interwale czasowym“ [Smith 93]. Moc jest tym atrybutem jakości systemu komputerowego, który charakteryzuje ramy czasowe funkcji udostępnianych i realizowanych przez system.

Moc kontra szybkość

Niewłaściwym wyobrażeniem o mocy jest jej utożsamianie z szybkością. Mając niską moc, możemy ratować się używając mocniejszych procesorów albo komunikować się za pomocą łączy większej przepustowości. Szybciej może znaczyć lepiej, ale dla wielu systemów szybciej nie znaczy wystarczająco dla spełnienia limitów czasowych. Szczególnie chodzi tu o systemy czasu rzeczywistego. Jak zostało zauważone przez Stankovica [Stankovic 88], celem szybkiego przetwarzania jest minimalizowanie średniego czasu odpowiedzi dla pewnych rodzajów usług, podczas gdy celem przetwarzania w czasie rzeczywistym jest spełnienie indywidualnych wymagań czasowych każdej z uwzględnionych w systemie usług. Ponadto mechanizmy sprzętowe, takie jak cache, pipelining, czy wielowątkowość, redukujące średni czas odpowiedzi mogą spowodować, że czas odpowiedzi najgorszego przypadku będzie nieprzewidywalny.

Przewidywalność, a nie szybkość jest głównym celem w projektowaniu systemów czasu rzeczywistego“ [Stankovic 88]. Inżynieria mocy zajmuje się zazwyczaj mocą przewidywalną, zarówno jeśli jest to moc najgorszego przypadku, jak i średniego przypadku. Prędkość działania jest tylko jednym z wielu składników.

Klasyfikacja

Skrót modelu mocy

Moc systemu rodzi się z problemu zastosowania zasobów do wypełniania wymagań i rozdzielania tych zasobów i ich alokowania, podczas gdy różnorodne zadania muszą być wyprowadzone od tych samych zasobów. Ten problem jest znany jako planowanie (scheduling) i zajmowano się nim już od wielu lat ([Conway 67]).

Conway [Conway 67, str 6] twierdzi, ze problem planowania można opisać poprzez cztery typy informacji:

1. Praca i operacje do przetwarzania.

2. Ilość i typ maszyn.

3. Dyscyplina, która ogranicza jakie jest możliwe przyporządkowanie.

4. Kryteria, według których schemat będzie obliczony.

Z modelowego punktu widzenia [Smith 93, str. 723], wyróżnia się pięć typów danych potrzebnych do skonstruowania i obliczenia modeli mocy inżynierii oprogramowania:

Podejścia Conway‘a i Smith‘a nieco się różnią, ale jednogłośnie wskazują na:

– wzorzec zachowania i intensywność, zużycie zasobów, opis oprogramowania i operacje charakteryzujące żądanie,

– środowisko wykonania oraz ilość i typ maszyn charakteryzujących system,

Zostało to odzwierciedlone na rysunku 2.3.


Rysunek 2.3. Taksonomia mocy

Środki

Środki mocy konkretyzują i szacują moc systemu:

Opóźnienie

Opóźnienie wiąże się z interwałem czasowym, podczas którego wykonywana jest odpowiedź na zdarzenie. Ten interwał czasowy definiuje nam okno odpowiedzi, wyznaczone przez czas startu (minimalne opóźnienie) i czas stopu (maksymalne opóźnienie). Czasy te mogą być zdefiniowane poprzez czas bezwzględny albo czas względny od pewnego zdarzenia, które miało miejsce w konkretnym czasie. Czas stopu jest często nazywany deadline. Podtematami opóźnienia jest pierwszeństwo (specyfikacja częściowego albo całkowitego porządku odpowiedzi na zdarzenia), jitter (zmienność czasu w jakim obliczany wynik jest zwracany do otoczenia w poszczególnych cyklach), krytyczność (znaczenie działania dla systemu).

Przepustowość

Przepustowość wiąże się z ilością odpowiedzi na zdarzenie, które zostały zakończone w pewnym zadanym przedziale (interwale) obserwacji [Lazowska 84, str. 41]. Ta definicja sugeruje, że nie wystarczające jest określenie tempa przetwarzania (processing rate). Na przykład, system, który przetwarza 120 transakcji na godzinę nie gwarantuje, że będą przetwarzane 2 transakcje na minutę. Być może przez pierwsze 30 minut nie jest przetwarzana żadna transakcja, a wszystkie zostaną przetworzone podczas ostatnich 30 minut.

Wydajność

Wydajność jest miarą ilości pracy, jaką system może wykonać. Wydajność jest też często definiowana za pomocą przepustowości i posiada kilka możliwych znaczeń [Jain 91, str. 39]:

Maksymalna osiągalna przepustowość przy idealnych warunkach obciążenia. To znaczy maksymalna liczba zdarzeń na jednostkę czasu, jeśli można by wybrać teoretycznie idealny zestaw zdarzeń (warunków). Ta wielkość dla sieci nazywana jest często bandwith i wyraża się w megabitach / sekundę.

Jednak często stawiane są również wymagania co do czasu odpowiedzi, który towarzyszy wymaganiom przepustowości. Bardziej praktyczna definicja podana jest poniżej:

Maksymalna osiągalna przepustowość bez naruszania wymagań opóźnienia (inaczej wydajność użyteczna) [Jain 91].

Dla systemów czasu rzeczywistego przepustowość nie jest tak istotna, jak spełnianie wymagań odnośnie opóźnienia. Można by jeszcze rozważać maksymalną osiągalną przepustowość osiąganą bez przekraczania maksymalnego opóźnienia. Inną użyteczną metryką jest planowe użytkowanie (wykorzystanie).

Wykorzystanie jest to procent czasu, przez jaki zasoby są zajęte. Planowe wykorzystanie jest to maksymalne wykorzystanie osiągane przez system przy spełnianiu wymagań czasowych. Termin ten jest nazywany schedulability [Sha 90], jest to jedna z podstawowych miar właściwości systemów czasu rzeczywistego.

Wydajność zapasowa jest miarą nieużywanej wydajności.

Właściwości

Nie jest niczym niezwykłym, że systemy mają różne zestawy wymagań dla różnych faz wykonania. Np. systemy lotnicze mogą mieć różne wymagania dla fazy startu i dla fazy lotu. O tych różnych fazach mówimy czasami mody. Mod może być opisany poprzez stan żądań stawianych systemowi i stan systemu (tj. konfigurację używanych zasobów, aby spełnić żądania).

Zwykle spotykamy dwa mody: obniżona wydajność i przeciążenie. System może działać ze zredukowaną wydajnością, jeśli zasoby nie funkcjonują prawidłowo. Natomiast w okresach przeciążenia ofiarą padają wymagania czasowe dla mniej ważnych zdarzeń.

Składniki wpływające na moc

Moc jest funkcją żądań stawianych systemowi, typów zasobów używanych przez system i tego jak system alokuje te zasoby. Składniki mocy reprezentują ważne aspekty systemu i jego środowiska wpływające na środki mocy. Istnieją składniki mocy środowiska (żądania) i składniki mocy systemu.

Żądanie

Żądanie charakteryzuje ilość potrzebnych zasobów. Żądanie może być rozważane pod względem tego, jakiego wykorzystania wymaga specyficzne zdarzenie. Jednak użyteczne jest rozważanie żądania pod względem:

Wzorzec występowania i czas wykonania stały się użytecznymi informacjami w teorii planowania oraz w teorii kolejek i służą do prognozowania opóźnienia i przepustowości.

Wzorzec występowania może być:

Częstotliwość występowania może być ograniczona przez minimalną separację (nazywaną też sporadykiem) albo może również być całkowicie losowa [Lehoczky 94, str. 1011-1012].

W przypadku czasów wykonania, może być określona wartość czasu wykonania najlepszego i najgorszego przypadku. Pozwala ona zdefiniować zachowanie w przypadkach granicznych. Teorie kolejek wyznaczają czasy wykonania używając funkcji rozkładu prawdopodobieństwa.

System

Zasoby obejmują system i są potrzebne do uzyskiwania odpowiedzi na zdarzenia. Rozpatrujemy system pod względem:

Powszechne zasoby to: CPU, pamięć, urządzenia wejścia/wyjścia, magistrala, sieć i obiekt danych. Polityka zarządzania zasobami polega na takim zarządzaniu zasobami, że usługi software’owe są skojarzone z każdym typem zasobów. Omawianie każdego typu zasobów wykracza poza ramy tej pracy. Skoncentrujemy się jedynie na usługach systemów operacyjnych i planowaniu czasu CPU.

Podstawowym składnikiem, który wpływa na środki mocy jest dostarczanie usług software’owych do alokowania zasobów i do dostarczania interfejsu do zasobów. Te usługi są przeważnie dostarczane przez system operacyjny. Na potrzeby naszej dyskusji skoncentrujemy się na systemach operacyjnych czasu rzeczywistego, które wyraźnie zajmują się czasem, co pozwoli naświetlić pewne istotne cechy.

Stankovic [Stankovic 88] grupuje systemy operacyjne czasu rzeczywistego na trzy kategorie:

Według Stankovic’a ważnymi składnikami wpływającymi na moc są: opóźnienie przerwania, czas blokowania przerwań, użycie pamięci wirtualnej, ograniczenia wywołań przerwań systemowych, precyzja urządzenia zegara, wspieranie planowania komunikacji, planowanie odgórne i kolejki FIFO. Innymi istotnymi składnikami [Klein 93] są: pierwszeństwo usług systemu operacyjnego, użycie zasobów dzielonych, ograniczona reprezentacja aplikacji czy takich parametrów systemu jak niewystarczająca liczba poziomów priorytetów oraz niewystarczająca precyzja reprezentacji czasu.

Polityka alokacji zasobów (algorytm planujący) stosowana do rozwiązywania problemu wspólnych zasobów ma podstawowy wpływ na moc systemu. Algorytmy planujące można podzielić na on-line i off-line [Lehoczky 94].

Planowanie off-line wymaga całkowitej wiedzy o wszystkich zdarzeniach i ich odpowiedziach. Ta wiedza używana jest do planowania z wyprzedzeniem wykonania programu. Ten typ planowania znany jest też pod nazwą cyclic executive [Locke 92]. Ta strategia może być bardzo wydatna dla przypadków, w których istnieje mała liczba powtarzających się periodycznie zdarzeń z okresami zbliżonymi do harmonicznych. W tych przypadkach przewidywanie mocy systemu jest bardzo proste, gdyż jest to ustalone z góry. Jednak wraz ze wzrostem złożoności systemów, planowanie off-line stało się zbyt mało elastyczne przy nieuchronnych, ciągłych modyfikacjach systemów.

Przy planowaniu on-line decyzje są podejmowane w czasie procesu (run-time) i stąd są bardziej elastyczne niż algorytmy off-line. Algorytmy statycznego priorytetu przypisują priorytet do odpowiedzi na zdarzenie i odpowiedź używa tego priorytetu odpowiadając na każde zdarzenie w strumieniu zdarzeń. Natomiast algorytmy dynamicznego priorytetu (np. najwcześniejszy deadline najpierw) zezwalają odpowiedzi zmieniać priorytet dla każdego wywołania i podczas pojedynczej odpowiedzi.

Metody

Metody do osiągania mocy zawierają:

Syntezę – metodologia taka jak projektowanie w czasie rzeczywistym albo filozofia inżynierii mocy przedstawiona w [Smith 90]. Smith popiera filozofię inżynierii mocy zmierzając raczej do jej powiększania, a nie zastępowania przez inne. Celem jest wykonanie podstawowych kroków w zrozumieniu, tworzeniu i ewaluacji, uzupełniając to zwracaniem szczególnej uwagi na moc.

Analizę – techniki takie jak analiza kolejkowania i planowania. Metody analizy mocy powstały w różnych środowiskach i reprezentują dwie oddzielne szkoły myślenia:

Teoria kolejek

Teoria kolejek może być używana do takich systemów, gdzie model systemu można przedstawić jako urządzenia obsługujące jeden lub więcej strumieni napływających klientów. Każdy przybywający strumień jest opisany stochastycznym procesem. Każde urządzenie obsługujące składa się z serwera i kolejki czekających klientów. Czasy obsługi są również opisane procesami stochastycznymi. Analiza kolejkowania zajmuje się głównie uśrednionymi przypadkami sumarycznych zachowań i jest odpowiednia do planowania i zarządzania systemami informatycznymi. Jednak czasami należy również brać pod uwagę analizę najgorszego przypadku i wtedy bardziej odpowiednia będzie analiza planowania.

Teoria planowania

Jest to klasyczna teoria mająca korzenie w planowaniu pracy [Audsley 95, str. 176]. Wiele wyników planowania stosuje się bezpośrednio do analizy systemów czasu rzeczywistego. Są one streszczone w [Stankovic 95]. Wiele technik analizy mających związek z priorytetem statycznym uprzedzającym planowanie są omówione w [Lehoczky 94].

Te techniki analizy, które stosują się do systemów czasu rzeczywistego, podają warunki, przy których określone zdarzenie spełnia ograniczenia czasowe. Orzekają one o warunkach, przy których zachodzi odpowiedź na zdarzenie zachodzące w sytuacji najgorszego przypadku. Można wydzielić dwa typy analizy opierające się na :

Istnieje możliwość obliczenia granicy wykorzystania systemu. Jeśli wykorzystanie systemu jest utrzymywane w określonych wcześniej granicach, wymagania czasowe są wtedy zagwarantowane.

Inne wyniki pozwalają obliczyć czasy odpowiedzi w najgorszym przypadku na określone zdarzenie. Ten najgorszy przypadek jest porównywany z czasem stopu, aby wyznaczyć czy wymagania są spełnione.

Zasadniczo metody te wymagają stosowania formalnych matematycznych notacji opisujących cechy charakterystyczne systemu. Są stosowane różne odmiany czasowych systemów logicznych [Jahanian 86], czy algebry czasu przetwarzania.



komentarze

Copyright © 2008-2010 EPrace oraz autorzy prac.