Miary efektywnosci RTS3 id 2984 Nieznany

background image

J. U

łasiewicz Programowanie aplikacji współbieżnych 1

Miary-efektywno

ści-RTS3.doc

1 Ewaluacja systemów czasu rzeczywistego

1.1 Kryteria oceny systemów czasu rzeczywistego

Kryteria jako

ściowe stopniowalne oceny systemów czasu

rzeczywistego.

Bezpiecze

ństwo (ang. Safety)

Dyspozycyjno

ść – (ang. Dependability)

Przewidywalno

ść, nawet w przypadku wystąpienia błędów –

(ang. Behavioural predictability, even in error situations)

Prostota – (ang. simplicity - the simpler the better)

Niezawodno

ść - (ang. Reliability)

Odporno

ść – (ang. Robustness)

Tolerowanie b

łędów - (ang. Fault tolerance)

W

łasność stopniowej degradacji w przypadku wystąpienia

niesprawno

ści - (ang. Graceful degradation upon malfunctions)

Przeno

śność – (ang. Portability)

Elastyczno

śc – (ang. Flexibility)


Kryteria jako

ściowe binarne oceny systemów czasu rzeczywistego.

Spe

łnienie ograniczeń czasowych – (ang. ability to meet

deadlines)

Brak nieograniczonych w czasie opó

źnień i czasów wykonania

– (ang. no unbounded delays nor arbitrarily long executions)

Licencje bezpiecze

ństwa – (ang. safety license)

Poprawno

ść funkcjonalna – (ang. functional correctness)

Deterministyczne zachowanie – (ang. deterministic behaviour)

Spe

łnienie ograniczeń fizycznych – (ang. physical constraints

met)

Zapobieganie zakleszczeniom – (ang. deadlocks prevented)

Ogólne kryteria ilo

ściowe oceny systemów czasu rzeczywistego.

Najd

łuższy czas odpowiedzi na zdarzenie – (ang. Worst-case

response times to occurring events). Wyst

ępuje w różnych

odmianach w zale

żności od typu zdarzenia.

Najd

łuższy czas wykrycia i skorygowania błędów – (ang. Worst-

case time to detect and correct errors) Wyst

ępuje w różnych

odmianach w zale

żności od typu błędu

Koszt

PDF created with pdfFactory trial version

www.pdffactory.com

background image

J. U

łasiewicz Programowanie aplikacji współbieżnych 2

Miary-efektywno

ści-RTS3.doc

1.2 Ilo

ściowe miary efektywności systemów operacyjnych

czasu rzeczywistego

Prezentowane dalej wyniki dotycz

ą systemów:

QNX6 Neutrino

Linux PREEMPT_RT


Linux PREEMPT_RT
Linux PREEMPT_RT jest projektem rozwijanym przez Ingo
Molnar’a (RedHat) oraz Thomas’a Gleixner’a. Jest to

łatka która

modyfikuje j

ądro Linux’a, w taki sposób aby stało się w pełni

wyw

łaszczane. Dokonano tego poprzez zamianę „spinlocków” w

j

ądrze na wywłaszczane „rtmuteksy”, przez co sekcje krytyczne

staja si

ę wywłaszczane. Wprowadza także obsługę Timerów

POSIX o wysokiej rozdzielczo

ści. Dzięki temu otrzymano

rygorystyczny system czasu rzeczywistego.

Testy wykonane na procesorze Intel Pentium IV Mobile o
cz

ęstotliwości 2 GHz.

1.2.1 Czas opó

źnienia przerwania

Czas opó

źnienia przerwania (ang. Interrupt Latency) jest to czas

pomi

ędzy wystąpieniem przerwania a wykonaniem pierwszej

instrukcji procedury obs

ługi tego przerwania (ang. Interrupt Service

Routine – ISR).

P1

ISR - Procedura

obslugi przerwania

Przerwanie

Start ISR

ISR

Interrupt

Latency

P1

Kontynuacj

a procesu

P1

Stop ISR

Rys. 1-1 Ilustracja czasu opó

źnienia obsługi przerwania

PDF created with pdfFactory trial version

www.pdffactory.com

background image

J. U

łasiewicz Programowanie aplikacji współbieżnych 3

Miary-efektywno

ści-RTS3.doc

Czas opó

źnienia obsługi przerwania zależy od następujących

czynników:

1. Zablokowania przerwa

ń - przerwania w procesorze mogą być

chwilowo zablokowane przez inny w

ątek lub handler w celu

ochrony sekcji krytycznych.

2. Obs

ługi innych przerwań - kontroler przerwań może nie

dopu

ścić do przyjęcia przerwania gdyż przerwanie o wyższym

priorytecie jest w trakcie obs

ługi


Czas opó

źnienia przerwania zależy od aktualnego stanu systemu.

Przerwania w danym momencie czasu mog

ą być zablokowane lub

te

ż nie. W związku z tym definiuje się maksymalny czas

opó

źnienia przerwania.

Maksymalny czas opó

źnienia przerwania (ang. worst case

interrupt latency)

Maksymalny czas opó

źnienia przerwania to czas opóźnienia

przerwania otrzymany dla najmniej korzystnego przypadku.


W systemie operacyjnym czasu rzeczywistego najd

łuższy

czas w którym przerwania pozostaj

ą zablokowane powinien być

jak najkrótszy.

PDF created with pdfFactory trial version

www.pdffactory.com

background image

J. U

łasiewicz Programowanie aplikacji współbieżnych 4

Miary-efektywno

ści-RTS3.doc

Rys. 1-2 Czas opó

źnienia przerwania dla różnych systemów

czasu rzeczywistego (Pentium 200 MHz) wg. Dedicated Systems

Przypadek

Maksymalny

czas [µs]

Średni czas [µs]

System nie obci

ążony

14,807

12,339

System obci

ążony

17,194

14,640

Rys. 1-3 Czas reakcji na przerwanie systemu QNX6 Neutrino -
praca dypl.

Łukasz Biały

PDF created with pdfFactory trial version

www.pdffactory.com

background image

J. U

łasiewicz Programowanie aplikacji współbieżnych 5

Miary-efektywno

ści-RTS3.doc

Rys. 1-4 Histogram czasu reakcji na przerwanie w systemie QNX6
Neutrino – praca dypl.

Łukasz Biały

PDF created with pdfFactory trial version

www.pdffactory.com

background image

J. U

łasiewicz Programowanie aplikacji współbieżnych 6

Miary-efektywno

ści-RTS3.doc

1.2.2 Czas prze

łączania kontekstu

Czas prze

łączania zadań (ang. task switch time) jest to czas, w

którym system operacyjny jest w stanie prze

łączyć aktualnie

wykonywane zadanie na inne zadanie w systemie o tym samym
priorytecie. Na ten czas sk

łada się czas potrzebny na zachowanie

kontekstu procesu bie

żącego P1 i odtworzenie kontekstu procesu

P2 podlegaj

ącego zaszeregowaniu.


D

ługość czasu przełączania zadań uzależniona jest od:

Z

łożoności struktur danych opisujących zadania

Efektywno

ści procedur zmieniających kontekst zadań.

Efektywno

ści algorytmu szeregowania

Poniewa

ż pomiar dokonywany jest dla zadań o równym

priorytecie, wymaga si

ę aby system realizował odpowiedni

algorytm szeregowania, który przydziela

ć będzie czas procesora

pomi

ędzy zadania o najwyższym priorytecie. Przykładem takiego

algorytmu jest FIFO (ang. First In First Out) lub algorytm
karuzelowy RR.

P1

Context

Switching

Latency

P2

Wznowienie

procesu P2

Zawieszenie

procesu P1

Rys. 1-5 Ilustracja czasu prze

łączenia kontekstu

PDF created with pdfFactory trial version

www.pdffactory.com

background image

J. U

łasiewicz Programowanie aplikacji współbieżnych 7

Miary-efektywno

ści-RTS3.doc

Rys. 1-6 Czas prze

łączenia kontekstu dla różnych systemów

czasu rzeczywistego (Pentium 200 MHz) – wg. Dedicated Systems

System

Ilo

ść

w

ątków

Maksymalny

czas [µs]

Średni czas[µs]

2

7,527

0,722

10

9,149

0,734

QNX 6 Neutrino

128

10,737

0,745

2

45,906

2,234

10

46,244

2,270

PREEMPT_RT

128

47,802

2,286

Tab. 1-1 Wyniki pomiarów czasu prze

łączania wątków – praca

dypl.

Łukasz Biały

PDF created with pdfFactory trial version

www.pdffactory.com

background image

J. U

łasiewicz Programowanie aplikacji współbieżnych 8

Miary-efektywno

ści-RTS3.doc

1.2.3 Czas wyw

łaszczania

Czas wyw

łaszczania (ang. preemption time) jest to średni czas

potrzebny na wyw

łaszczenie zadania o niższym priorytecie, przez

zadanie o wy

ższym priorytecie.

Rys. 1-7 Ilustracja czasu wyw

łaszczenia tp procesu T1 o niższym

priorytecie przez proces T2 o priorytecie wy

ższym


Na czas ten sk

łada się:

1. Czas opó

źnienia przerwania

2. Podj

ęcie decyzji szeregującej

3. Czas zachowanie kontekstu procesu bie

żącego i

przywrócenia kontekstu procesu wyw

łaszczającego

PDF created with pdfFactory trial version

www.pdffactory.com

background image

J. U

łasiewicz Programowanie aplikacji współbieżnych 9

Miary-efektywno

ści-RTS3.doc

P1

Start procedury obslugi

przerwania

Przerwanie

System operacyjny

P2

Uruchomienie

procesu P2

Czas przel

ączenia kontekstu

Priorytet procesu P1 < Priorytet procesu P2

Czas

Rys. 1-8 Ilustracja czasu wyw

łaszczenia

1.2.4 Czas utworzenia i ko

ńczenia nowego zadania

Czas utworzenia nowego zadania (ang. Task creation and

termination

) to

czas potrzebny do stworzenia nowego zadania oraz

do usuni

ęcia istniejącego zadania. Są to dwie bardzo istotne

operacje dla wielozadaniowego systemu czasu rzeczywistego.

System

Maksymalny czas

[µs]

Średni czas[µs]

QNX 6 Neutrino

72,254

56,144

PREEMPT_RT

497,243

61,995

Tab. 1-2 Czas tworzenia i usuwania w

ątków


1.2.5 Czas inicjalizacji systemu

Czas inicjalizacji systemu (ang.

Initialisation time

) to czas

mierzony od momentu uruchomienia systemu do momentu

uzyskania przez system operacyjny pe

łnej funkcjonalności. W

przypadku awarii, restartu system powinien by

ć gotowy do pracy

tak szybko jak to tylko mo

żliwe.

PDF created with pdfFactory trial version

www.pdffactory.com

background image

J. U

łasiewicz Programowanie aplikacji współbieżnych 10

Miary-efektywno

ści-RTS3.doc

1.2.6 Czas prze

łączenia semafora

Czas prze

łączenia semafora (ang. Semaphore shuffling time) to

średni czas pomiędzy zwolnieniem semafora przez aktualnie
wykonywane zadanie, a uruchomieniem pierwszej instrukcji
zadania oczekuj

ącego na ten semafor. Czas ten zależy głównie od

sposobu implementacji mechanizmu semaforów w danym
systemie operacyjnym. W systemie czasu rzeczywistego, gdzie
wiele aplikacji korzysta ze wspólnych zasobów, krótki czas
operacji semaforowych jest bardzo wa

żnym czynnikiem.

Rys. 1-9 Ilustracja czasu prze

łączenia semafora


System

Obci

ążenie

Maksymalny
czas [µs]

Średni czas[µs]

NIE

7,862

1,021

QNX 6 Neutrino TAK

10,653

1,049

PREEMPT_RT

NIE

53,135

10,167

Tab. 1-3 Wyniki pomiarów czasu operacji semaforowych - praca
dypl.

Łukasz Biały

PDF created with pdfFactory trial version

www.pdffactory.com

background image

J. U

łasiewicz Programowanie aplikacji współbieżnych 11

Miary-efektywno

ści-RTS3.doc

1.2.7 Czas likwidacji inwersji priorytetów (ang. deadlock breaking

time)

Sytuacj

ę, w której zadanie o wyższym priorytecie wywłaszczy

zadanie o ni

ższym priorytecie, które przetrzymuje zasób

wymagany przez zadanie o wy

ższym priorytecie, nazywamy

inwersj

ą priorytetów. Czas likwidacji inwersji jest to średni czas, w

którym system sobie poradzi z inwersj

ą.

W3
odblokowanie

w

ątek W1

priorytet 1

w

ątek W2

priorytet 2

w

ątek W3

priorytet 3

zablokowany

T

Czas

t5

t1

t2

W3 mutex_lock()

t3

W2 wyw

łaszcza

W1

t4

W1 mutex_lock()

t0

1

W1 wznowiony

3

1

2

W2 blokuje si

ę

1

W1 mutex_unlock()

3

W3 mutex_unlock()

t6

t7

t8

Z1

Z2

Z3

priorytet 1 < priorytet 2 < priorytet 3

Rys. 1-10 Ilustracja czasu T likwidacji inwersji priorytetów

Czas likwidacji inwersji priorytetów to czas pomi

ędzy zażądaniem

zasobu przez w

ątek o najwyższym priorytecie a jego otrzymaniem.

Zale

ży on od jakości mechanizmu zapobiegania inwersji

priorytetów.

PDF created with pdfFactory trial version

www.pdffactory.com

background image

J. U

łasiewicz Programowanie aplikacji współbieżnych 12

Miary-efektywno

ści-RTS3.doc

1.2.8 Czas opó

źnienia przesyłania komunikatów

Czas opó

źnienia przesyłania komunikatów (ang. intertask

message latency) to czas jaki mija pomi

ędzy wysłaniem

komunikatu przez jeden proces P1 a odbiorem komunikatu przez
inny proces P2. Przepustowo

ść komunikacji międzyzadaniowej

(ang. Datagram throughput ) to ilo

ść bajtów na sekundę, jakie

mog

ą zostać przesłane pomiędzy dwoma zadaniami przy pomocy

komunikatów (ang. Message passing).

P1

Czas opó

żnienia

komunikatu

P2

Procesu P2 odbiera

komunikat

Proces P1 wysyla

komunikat

Rys. 1-11 Czas opó

źnienia przesyłania komunikatów

PDF created with pdfFactory trial version

www.pdffactory.com

background image

J. U

łasiewicz Programowanie aplikacji współbieżnych 13

Miary-efektywno

ści-RTS3.doc

Testy

Testy (ang. benchmark) to programy lub zestawy programów

1

,

które zosta

ły wybrane lub zaprojektowane w celu testowania i/lub

pomiaru wydajno

ści obliczeniowej systemów informatycznych.

Powinny one pomaga

ć podczas projektowania systemu lub w

podj

ęciu decyzji o zakupie danego systemu informatycznego.

Kelvin Obenland podzieli

ł zestaw kryteriów porównawczych,

istotnych dla systemów zgodnych z POSIX, na dwie kategorie.

Testy które mierz

ą determinizm danego systemu operacyjnego,

Testy które mierz

ą opóźnienia szczególnie ważnych operacji

Pierwsza kategoria oprogramowania mierzy czas odpowiedzi
systemu, rozstrzyga czy w

ątki działają w sposób przewidywalny.

Druga kategoria mierzy czas zmiany kontekstu pomi

ędzy wątkami

i procesami. Mierzy przepustowo

ść danych pomiędzy procesami i

w

ątkami oraz opóźnienie sygnałów POSIX.


Szerzej znane s

ą następujące testy:

Oszacowanie trójwymiarowe

Rhealstones

MiBench

Hardstones


PDF created with pdfFactory trial version

www.pdffactory.com

background image

J. U

łasiewicz Programowanie aplikacji współbieżnych 14

Miary-efektywno

ści-RTS3.doc

1.2.9 Oszacowanie trójwymiarowe
Bierze si

ę pod uwagę:

MIPS1 - Liczba wykonanych operacji (w milionach na sekund

ę)

MIPS2 - Liczba obs

łużonych przerwań (w milionach na

sekund

ę)

NIOPS - Liczba wykonanych operacji we/wy (w milionach na
sekund

ę)


Wynik = (MIPS1 * MIPS2 * NIOPS)

1/3

PDF created with pdfFactory trial version

www.pdffactory.com

background image

J. U

łasiewicz Programowanie aplikacji współbieżnych 15

Miary-efektywno

ści-RTS3.doc

1.2.10

Rhealstone

Rhealstone jest zestawem sze

ściu programów napisanych w

j

ęzyku C. Każdy z nich mierzy czas operacji charakterystycznej dla

systemów czasu rzeczywistego:

1. Czas prze

łączenia zadań - task-switch time,

2.

Czas wyw

łaszczenia - preemption time,

3.

Czas opó

źnienia przerwania - interrupt latency ,

4.

Czas prze

łączenia semafora - semaphore-shuffle time,

5.

Czas likwidacji zakleszczenia - deadlock-break time,

6.

Opó

źnienie przesyłania komunikatów - intertask message

latency.


Z otrzymanych czasów obliczana jest warto

ść średnia na

podstawie wzoru:

(

)

6

/

6

5

4

3

2

1

t

t

t

t

t

t

t

+

+

+

+

+

=

Czasy wyra

żone są w sekundach. Tak zwaną wartość Rhealstone

definiujemy jako odwrotno

ść wyliczonej średniej

t

1

Im wi

ększa jest wartość tym system szybszy.


Wady testu Rhealstones:

Mierzy warto

ści średnie a nie dla najgorszego przypadku.

Wynik jest sum

ą ważoną składników, nie ma jednoznacznych

ustale

ń co do wag.

1.2.11

MiBench

MiBench jest zestawem 35 aplikacji typowych dla systemów
wbudowanych. Zosta

ły one podzielone na sześć zestawów, z

których ka

żdy celuje w specyficzny obszar systemów

wbudowanych:

PDF created with pdfFactory trial version

www.pdffactory.com

background image

J. U

łasiewicz Programowanie aplikacji współbieżnych 16

Miary-efektywno

ści-RTS3.doc

sterowania motoryzacyjnego i przemys

łowego,

urz

ądzeń konsumenckich,

automatyki biurowej,

sieciowy,

bezpiecze

ństwa,

telekomunikacyjny.


Źródła wszystkich programów dostępne są w standardowym
j

ęzyku C. Dzięki temu kod jest w pełni przenośny i może zostać

skompilowany prawie na ka

żdej platformie. Dostępne są również

dedykowane zbiory danych do poszczególnych testów. Do
testowania systemów rygorystycznych nadaje si

ę jedynie pierwszy

zestaw.

1.2.12

Hartstone

Test Hartstone zosta

ł zaprojektowany w celu sprawdzenia

wymogów czasowych rygorystycznych systemów czasu
rzeczywistego. Ca

łość napisana w języku ADA na uniwersytecie

Carnegie Mellon. Nazwa testu pochodzi od angielskiego
okre

ślenia systemów rygorystycznych „HArd Real-Time” .

Hartstone, zosta

ł określony jako duża liczba małych procesów z

dok

ładnie określonym obciążeniem procesora jak i terminami

zako

ńczenia. Interpretacja testu Hardstone pozwala na ocenę

ca

łej platformy, zarówno sprzętu jaki i oprogramowania

systemowego, przydatno

ści do użytku z aplikacjami czasu

rzeczywistego. Test Hartstone zosta

ł zaprojektowany z myślą o

pojedynczo-procesorowych systemach. W pó

źniejszym czasie

zosta

ł rozszerzony o możliwość pomiaru systemów

rozproszonych.

PDF created with pdfFactory trial version

www.pdffactory.com

background image

J. U

łasiewicz Programowanie aplikacji współbieżnych 17

Miary-efektywno

ści-RTS3.doc

1.3 Certyfikaty

Certyfikaty stanowi

ą pewien rodzaj referencji i mogą pomóc przy

wyborze systemu operacyjnego.

Norma ISO 9001:2000
Dotyczy zarz

ądzania jakością oferowanych usług oraz produktów i

definiuje wszystko od odpowiedzialno

ści kierownictwa, przez

zarz

ądzanie zasobami aż do realizacji wyrobu. Certyfikat nadany

przez ISO gwarantuje ona powtarzalno

ść procesu produkcji, a

tak

że ciągłe ulepszanie produktów i usług na rzecz zadowolenia

klientów.

POSIX PSE52 Realtime Controller 1003.13-2003

Certyfikat ten nadawany przez IEEE oraz The Open Group
zapewnia zarówno przenoszalno

ść kodu a także spełnia kryteria

czasu rzeczywistego wymagane przez systemy militarne, sieciowe
oraz motoryzacyjne.

Common Criteria (ISO/IEC 15408) EAL4+
Common Criteria to norma pozwalaj

ąca w sposób formalny

weryfikowa

ć bezpieczeństwo systemów teleinformatycznych.

Udost

ępnia ona procedury pozwalające na zdefiniowanie zagrożeń

oraz zabezpiecze

ń, które na te zagrożenia odpowiadają, a

nast

ępnie przeprowadzenie formalnej weryfikacji ich faktycznego

dzia

łania w produkcie. Certyfikacją według normy CC zajmują się

niezale

żne, akredytowane laboratoria badawcze na całym świecie.

Wynikiem procesu certyfikacji jest tzw. "profil ochrony" (PP – ang.
protection profile), który definiuje zabezpieczenia stosowane przez
produkt oraz certyfikat, potwierdzaj

ący ich faktyczną skuteczność.

Proces certyfikacji mo

że być prowadzony według różnych

poziomów szczegó

łowości i weryfikacji formalnej (EAL – ang.

Evaluation Assurance Level), pocz

ąwszy od EAL1 (tylko testy

funkcjonalne) a

ż do EAL7 (formalna weryfikacja projektu oraz

testy).

System QNX Neutrino w wersji 6.4 posiada certyfikat na poziomie
EAL4+. Przeprowadzone testy dotyczy

ły jądra systemu,

przetwarzania wieloprocesorowego oraz bezpiecznego
partycjonowania.

PDF created with pdfFactory trial version

www.pdffactory.com

background image

J. U

łasiewicz Programowanie aplikacji współbieżnych 18

Miary-efektywno

ści-RTS3.doc

IEC Safety Integrity Level (SIL)

Certyfikat nadawany przez IEC (ang. International Electrotechnical
Commision
) w zakresie bezpiecze

ństwa systemu. Potwierdza on

najwy

ższą możliwą redukcję ryzyka osiągalną przy używaniu

systemu jednoprocesorowego w takich ga

łęziach przemysłu jak

motoryzacja, przemys

ł ciężki, górnictwo oraz w innym gdzie

bezpiecze

ństwo jest priorytetem. Dla zapewnienia wiarygodności

certyfikat jest regularnie weryfikowany.

System QNX Neutrino spe

łnia wymagania poziomie SIL3 (SIL –

ang. Safety Integrity Level).

1.4

Źródła

[1] Roman Gumzej, Wolfgang A. Halay; Real Time Systems
Quality of Service, wyd Springer 2010.
[2]

Łukasz Biały, Praca dyplomowa, Politechnika Wrocławska

2010.

[3] Micha

ł Stangret, Praca dyplomowa, Ocena wybranych

systemów operacyjnych czasu rzeczywistego, Wroc

ław 2009.

[4] Larisa Rizvanovic, Comparison between Real time Operative
systems in hardware and software. Mälardalens University.

PDF created with pdfFactory trial version

www.pdffactory.com


Wyszukiwarka

Podobne podstrony:
Miary efektywnosci RTS2 id 2984 Nieznany
Miary efektywnosci RTS1 id 2984 Nieznany
Miary opisowe zadania id 298386 Nieznany
Miary przecietne ZIP 2 id 29838 Nieznany
Efektywna komunikacja id 150855 Nieznany
8 Efektywnosc energetyczna id Nieznany (2)
Miary niezawodnosci id 298384 Nieznany
CW 02 Miary statystyczne id 856 Nieznany
miary zmiennosci id 298408 Nieznany
Miary pozycyjne id 573732 Nieznany
4 Miary rozproszenia id 37211 Nieznany (2)
Ekonomiczna efektywno id 156416 Nieznany
Miary struktury id 573733 Nieznany
Abolicja podatkowa id 50334 Nieznany (2)
4 LIDER MENEDZER id 37733 Nieznany (2)
katechezy MB id 233498 Nieznany
metro sciaga id 296943 Nieznany

więcej podobnych podstron