Upload
others
View
7
Download
0
Embed Size (px)
Citation preview
EMES: Eigenschaften mobiler und eingebetteter Systeme
00101
1110100100111010010101011000
101111
0100100111010010101011000101
11101001001110100101010110
00101111010010011101001010
10110
00101111
010010011101001010101100010111101001001110100
101010110 0010111101001001110100
10101011000101111010010011101001010101Weiche Echtzeit
Dr. Felix Salfner, Dr. Siegmar Sommer
Wintersemester 2010/2011
00101
1110100100111010010101011000
101111
0100100111010010101011000101
11101001001110100101010110
00101111010010011101001010
10110
00101111
010010011101001010101100010111101001001110100
101010110 0010111101001001110100
10101011000101111010010011101001010101Wiederholung - Resultat/Wert-Funktion
Wert
Wert Wert
Wert
Zeit Zeit
Zeit Zeit
Deadline
Deadline Deadline
Deadline
"harte" Echtzeit
"weiche" Echtzeit
Echtzeitsysteme
sind Computer-
systeme, bei
denen der
Nutzen eines
Resultates nicht
nur vom
Resultat
abhangt,
sondern auch
vom Zeitpunkt
der Auslieferung
des Resultats.
1 EMES: Eigenschaften mobiler und eingebetteter Systeme c© ROK
00101
1110100100111010010101011000
101111
0100100111010010101011000101
11101001001110100101010110
00101111010010011101001010
10110
00101111
010010011101001010101100010111101001001110100
101010110 0010111101001001110100
10101011000101111010010011101001010101 Soft Realtime
Doing hard Realtime is hard...
2 EMES: Eigenschaften mobiler und eingebetteter Systeme c© ROK
00101
1110100100111010010101011000
101111
0100100111010010101011000101
11101001001110100101010110
00101111010010011101001010
10110
00101111
010010011101001010101100010111101001001110100
101010110 0010111101001001110100
10101011000101111010010011101001010101 Soft Realtime
Doing hard Realtime is hard...
... but doing soft Realtime is much harder!
3 EMES: Eigenschaften mobiler und eingebetteter Systeme c© ROK
00101
1110100100111010010101011000
101111
0100100111010010101011000101
11101001001110100101010110
00101111010010011101001010
10110
00101111
010010011101001010101100010111101001001110100
101010110 0010111101001001110100
10101011000101111010010011101001010101Soft-Realtime-Anwendungen
• Multimedia-Applikationen
– fehlende Frames reduzieren Qualitat, sind aber keine Katastrophe
• Geschaftsprozesse (Banken, Borsen, Online-Handel)
– zu spat kommende Daten konnen kostspielige Folgen haben, aber
keine Katastrope
– In Uberlastsituationen sind langere Antwortzeiten akzeptabel
• Telekommunikation
– Anrufton kann in Einzelfallen verspatet kommen
– Abbruch einer Verbindung ist in gewissen Grenzen akzeptabel
4 EMES: Eigenschaften mobiler und eingebetteter Systeme c© ROK
00101
1110100100111010010101011000
101111
0100100111010010101011000101
11101001001110100101010110
00101111010010011101001010
10110
00101111
010010011101001010101100010111101001001110100
101010110 0010111101001001110100
10101011000101111010010011101001010101Performancemaße
• Durchschnittswerte sind im Gegensatz zu harten Echtzeitsystemen als
Maß akzeptabel
• Verteilungsfunktionen definieren Qualitat des Ergebnisses
• Statistische Betrachtungen statt Garantien
Ziel: Moglichst hoher Anteil eingehaltener Deadlines
Problem: Schon bei recht kleinen Problemen NP-vollstandig
5 EMES: Eigenschaften mobiler und eingebetteter Systeme c© ROK
00101
1110100100111010010101011000
101111
0100100111010010101011000101
11101001001110100101010110
00101111010010011101001010
10110
00101111
010010011101001010101100010111101001001110100
101010110 0010111101001001110100
10101011000101111010010011101001010101 Jitter
• Ungenaues Einhalten von Deadlines (oder Verpassen) fuhrt zu
erhohtem Jitter
• Multimediaanwendungen:
– Jitter ist storender als geringfugig inkorrekte Geschwindigkeit
– Jitter senkt die Qualitat
• Geschaftsprozesse:
– Jitter stort im allgemeinen Fall nicht
– Jitter kann storen, wenn dadurch die Anwendungslogik verletzt wird
• Telekommunikation
– Bei Verarbeitung von audiovisuellen Daten: wie Multimedia
– Beim Schalten von Verbindungen: Jitter stort weniger als abgebro-
chene Prozesse
6 EMES: Eigenschaften mobiler und eingebetteter Systeme c© ROK
00101
1110100100111010010101011000
101111
0100100111010010101011000101
11101001001110100101010110
00101111010010011101001010
10110
00101111
010010011101001010101100010111101001001110100
101010110 0010111101001001110100
10101011000101111010010011101001010101Quality of Service (QoS)
“QoS ist die Fahigkeit eines Systems, Anforderungen an den gelieferten
Service zu erfullen”
Parameter:
• Jitter
• eingehaltene Deadlines
• Vorhersagbarkeit
• Bandbreite
• Durchsatz
• End-to-End Parameter
Klar:
Ein hartes Echtzeitsystem liefert (in den meisten Fallen) den besten QoS
Aber: Harte Echtzeitsysteme sind teuer, denn...
7 EMES: Eigenschaften mobiler und eingebetteter Systeme c© ROK
00101
1110100100111010010101011000
101111
0100100111010010101011000101
11101001001110100101010110
00101111010010011101001010
10110
00101111
010010011101001010101100010111101001001110100
101010110 0010111101001001110100
10101011000101111010010011101001010101Kosten harter Echtzeitsysteme
• Hoher Ressorcenbedarf durch
– Auslegung fur Worst-Case-Szenarien
– WCET-Analysen mit (notwendigen) pessimistischen Einschatzungen
– Beschrankung “erlaubter” Programmiermethoden
• Hohe Kosten durch
– Ressourcenuberdimensionierung (s.o.)
– Validierungsverfahren, Zertifizierungen, Nachweise
– unflexible Architekturen (im Fall nachtraglicher Erweiterungen)
– spezielle Hardware
– spezielle Programmierumgebungen (hoher Entwicklungsaufwand)
Idee: Bei weicher Echtzeit wird vieles davon nicht benotigt!
8 EMES: Eigenschaften mobiler und eingebetteter Systeme c© ROK
00101
1110100100111010010101011000
101111
0100100111010010101011000101
11101001001110100101010110
00101111010010011101001010
10110
00101111
010010011101001010101100010111101001001110100
101010110 0010111101001001110100
10101011000101111010010011101001010101Soft Realtime auf COTS-Systemen I
COTS: Commercial off-the-shelf
Vorteile:
• Durch Massenmarkt billige Hardware
• Durch Massenmarkt statistische Daten vorhanden (Zuverlassigkeit)
• Betriebssysteme ebenfalls off-the-shelf
• Keine oder kaum Abhangigkeiten von speziellen Herstellern
aber:
• Zuverlassigkeit ist nicht vergleichbar mit harten Echtzeitsystemen
• Betriebssysteme sind auf “best effort” optimiert, nicht auf zeitliche
Vorhersagbarkeit
• Kein vollstandiges Wissen uber Ablaufe im System
9 EMES: Eigenschaften mobiler und eingebetteter Systeme c© ROK
00101
1110100100111010010101011000
101111
0100100111010010101011000101
11101001001110100101010110
00101111010010011101001010
10110
00101111
010010011101001010101100010111101001001110100
101010110 0010111101001001110100
10101011000101111010010011101001010101Soft Realtime auf COTS-Systemen II
• Harte Echtzeit nicht oder nur mit grossem Aufwand erreichbar (aber
auch nicht notig fur Soft Realtime Systeme)
• Kompromisse sind erforderlich
– dedizierte Systeme mit eingeschrankter Funktion erhohen Wissen
uber Systemablaufe
– Einfachere Hardware und/oder Systemsoftware erhohen Wissen uber
Systemablaufe
– zwischen Performance und Quality of Service
– zwischen Vorhersagbarkeit und Funktionalitat
• Klare Trennung ist erforderlich zwischen “Echtzeit”-Prozessen und
ubrigen Ablaufen auf dem System
10 EMES: Eigenschaften mobiler und eingebetteter Systeme c© ROK
00101
1110100100111010010101011000
101111
0100100111010010101011000101
11101001001110100101010110
00101111010010011101001010
10110
00101111
010010011101001010101100010111101001001110100
101010110 0010111101001001110100
10101011000101111010010011101001010101Idee: Erweiterung des OS-Scheduler
• Nieh and Lam 1997: SMART
–”Scheduler for Multimedia And Real-Time“
– Erweiterung / Ersatz des SunOS 2.5 Schedulers
– Basiert auf einer importance (abgeleitet von priorities und weighted
fair queueing) und einer urgency (angelehnt an EDF)
• Verwendung eines RT-Betriebssystem, verpasste Deadlines werden in
Kauf genommen
Zusammenfassender Artikel:
Nieh, J. & Lam, M. S., 2003. A SMART scheduler for multimedia
applications. ACM Transactions on Computer Systems, 2(21), pp. 117-
163
11 EMES: Eigenschaften mobiler und eingebetteter Systeme c© ROK
00101
1110100100111010010101011000
101111
0100100111010010101011000101
11101001001110100101010110
00101111010010011101001010
10110
00101111
010010011101001010101100010111101001001110100
101010110 0010111101001001110100
10101011000101111010010011101001010101Idee: Benutzung von OS-Prioritaten
• (Fast) jedes Betriebssystem arbeitet mit verschiedenen Prioritatsebe-
nen und Prioritats-Scheduling
• Diese Prioritaten konnen benutzt werden, wenn man Mechanismen
wie Aging und Priority-Boosts abschaltet (fixed priority scheduling)
• Scheduling obliegt OS-Scheduler
• Probleme:
– Betriebssysteminterne Prozesse hoher Prioritat konnen “storen”
– Abbildung auf Prioritaten ist nicht einfach, da Bereich begrenzt ist
(muß oberhalb aller anderen Prioritaten liegen)
– Implementation des OS-Schedulers nicht immer bekannt
– Systeminterne Ablaufe sind nicht immer bekannt
12 EMES: Eigenschaften mobiler und eingebetteter Systeme c© ROK
00101
1110100100111010010101011000
101111
0100100111010010101011000101
11101001001110100101010110
00101111010010011101001010
10110
00101111
010010011101001010101100010111101001001110100
101010110 0010111101001001110100
10101011000101111010010011101001010101
Idee v2: Benutzung eines “SchedulingServers”
• Benutzung der Prioritaten des Betriebssystems als Grundlage
• Nutzung der beiden hochsten Prioritatsebenen fur die Implementati-
on eines “Echtzeit-Schedulers” fur die Verwaltung der zeitkritischen
Tasks
• Scheduling der “Echtzeit-Tasks” obliegt Scheduling Server
• Funktion:
– Scheduling Server lauft periodisch auf hochster Prioritat
– Manipuliert Prioritaten der anderen Prozesse so, daß zweite Prio-
ritatsstufe fur Echtzeit-Tasks benutzt wird
• Idee wurde im Rahmen von weichen Echtzeitsystemen auf Basis von
COTS-Systemen mehrfach parallel entwickelt, u.a. durch Dr. Andreas
Polze am Institut fur Informatik der HU
13 EMES: Eigenschaften mobiler und eingebetteter Systeme c© ROK
00101
1110100100111010010101011000
101111
0100100111010010101011000101
11101001001110100101010110
00101111010010011101001010
10110
00101111
010010011101001010101100010111101001001110100
101010110 0010111101001001110100
10101011000101111010010011101001010101HU Scheduling Server — Funktion
SchedulingServer
interactivetasks
realtimetasks
time
priority31
kerneltasks
14 EMES: Eigenschaften mobiler und eingebetteter Systeme c© ROK
00101
1110100100111010010101011000
101111
0100100111010010101011000101
11101001001110100101010110
00101111010010011101001010
10110
00101111
010010011101001010101100010111101001001110100
101010110 0010111101001001110100
10101011000101111010010011101001010101Scheduling Server — Vorteile
• Keine Modifikationen am Betriebssystem erforderlich
• Keine Kenntnis des Source-Codes erforderlich
• Scheduling Server kann intern beliebige Prioritaten benutzen
• Scheduling Server kann intern beliebige Schedulingverfahren imple-
mentieren
• System bleibt (mit reduzierter Leistung) fur Nicht-Echtzeit-Aufgaben
benutzbar
• Leistung fur Echtzeit-Tasks weitgehend konstant
15 EMES: Eigenschaften mobiler und eingebetteter Systeme c© ROK
00101
1110100100111010010101011000
101111
0100100111010010101011000101
11101001001110100101010110
00101111010010011101001010
10110
00101111
010010011101001010101100010111101001001110100
101010110 0010111101001001110100
10101011000101111010010011101001010101Scheduling Server — Nachteile
• Ablaufe im Betriebssystemkern sind nicht vollstandig bekannt, damit
unvorhersehbare Einflusse moglich
• Benutzung von Systemaufrufen kann unvorhersehbare Auswirkungen
auf das zeitliche Verhalten haben
• Scheduling Server kann Systemprozesse behindern (z.B. grafische
Oberflachen)
• Fur harte Echtzeit nicht geeignet
16 EMES: Eigenschaften mobiler und eingebetteter Systeme c© ROK
00101
1110100100111010010101011000
101111
0100100111010010101011000101
11101001001110100101010110
00101111010010011101001010
10110
00101111
010010011101001010101100010111101001001110100
101010110 0010111101001001110100
10101011000101111010010011101001010101Scheduling Server — Implementationen
Auf folgenden Plattformen wurde die Idee des Scheduling Servers imple-
mentiert und untersucht (u.a.):
• Mach (NeXTStep 3.3)
• Solaris
• rtLinux 0.x
• LynxOS 3.0
• Windows NT
• Voraussetzungen: Fixed Priority Scheduling, Moglichkeit, Scheduling-
Politiken umzuschalten, Moglichkeit, Prioritaten umzuschalten
17 EMES: Eigenschaften mobiler und eingebetteter Systeme c© ROK
00101
1110100100111010010101011000
101111
0100100111010010101011000101
11101001001110100101010110
00101111010010011101001010
10110
00101111
010010011101001010101100010111101001001110100
101010110 0010111101001001110100
10101011000101111010010011101001010101Scheduling Server — NeXTStep
thread_t th_id;mutex_t th_list_lock;condition_t new_th_reg;
while(1) {mutex_lock( th_list_lock );while ((th_id = next_edf( thread_list )) == THREAD_NULL)
condition_wait( new_th_reg, th_list_lock );
/* set scheduling policy and quantum, resume thread */thread_policy(th_id, POLICY_FIXEDPRI, time_rt);thread_priority(th_id , real_time_prio, FALSE);thread_resume( th_id );
/* handoff scheduling, real-time thread runs until its quantum expires */thread_switch(th_id, SWITCH_OPTION_DEPRESS, 0);
thread_suspend( th_id );mutex_unlock( th_list_lock );
/* give rest of the system a chance, invoke Mach scheduler */thread_switch(THREAD_NULL, SWITCH_OPTION_WAIT, time_os);
}
Scheduling Server - main loop
J.R./ A.P. 11/97
18 EMES: Eigenschaften mobiler und eingebetteter Systeme c© ROK
00101
1110100100111010010101011000
101111
0100100111010010101011000101
11101001001110100101010110
00101111010010011101001010
10110
00101111
010010011101001010101100010111101001001110100
101010110 0010111101001001110100
10101011000101111010010011101001010101Scheduling Server — Windows / Solaris
!"# # $%&'(%()*+*,-)!
"! #$%&'$'()*)+,(!
!"# $%&'#(%)*$+,# $%+# &-*.+-+"$)$&/"'#/0# $%+#'(%+12.&"3#'+,4+,#(/"(+*$#/"#5&"1/6'#78#
)"1#9:7#9/.),&'#),+#+;*.)&"+1<##
"-.! /'('0*&!*012+)'1)30'!
=/$%# '/.2$&/"'# %)4+# )# 4+,># '&-&.),# ),(%&$+($2,+?# /".># $%+# /*+,)$&"3# '>'$+-# 1+*+"1+1#
*),$'#1&00+,<#8%+#0/../6&"3#*&($2,+#'%/6'#$%+#3+"+,).#(/"(+*$@#
#
*&(A'#
(/"$,/.#
-+'')3+'#
'(%+12.&"3#
'+,4+,##$%,+)1
'%),+1#.&'$#
/0#(.&+"$#
$)'A'#
(.&+"$#$%,+)1#
(/"$,/..+,#
)**.&()$&/"#
1&'*)$(%+,#
)**.&()$&/"#
#
#
#
#
#
#
#
#
4+530'!"-.6!7*8+1!*012+)'1)30'8!,9!)2'!:;<<!*(=!<><<!+$%&'$'()*)+,(8!
8%+#(/"$,/..+,#)**.&()$&/"#&'#$%+#0,/"$B+"1#0/,#$%+#2'+,#$/#(/"0&32,+#$%+#'(%+12.&"3#'+,4+,#
'+$$&"3'<#C$#$%+#-/-+"$#0/2,#$>*+'#/0#(/"$,/.#-+'')3+'#),+#1+0&"+1#@#
!" # 98CD8E99#
!" # 98FGE99#
!" # CHHE8IDJCH#K(.&+"$#!H?#%&3%G%)'+?#./6G%)'+L#
!" # HJME8IDJCH#K(.&+"$#!HL#
8%+# 1&'*)$(%+,# )**.&()$&/"# ,+(+&4+'# $%+'+# -+'')3+'# )"1# *+,0/,-'# $%+# (/,,+'*/"1&"3#
)($&/"<#5%+"#,+(+&4&"3#$%+#98CD8E99#(/--)"1#$%+#1&'*)$(%+,#(,+)$+'#$%+#'(%+12.&"3#
'+,4+,# $%,+)1?#98FGE99#+"1'# $%+#'(%+12.&"3#'+,4+,# $%,+)1<#8%&'# $%,+)1#-2'$# ,2"#6&$%#
)1-&"&'$,)$/,# *,&4&.+3+'# /"# N/$%# '>'$+-'# $/# *+,0/,-# $%+# "+(+''),># *,&/,&$>#
-)"&*2.)$&/"'?#$%2'#$%+#1&'*)$(%+,#)**.&()$&/"#-2'$#,2"#2"1+,#,//$#*,&4&.+3+'<#=+()2'+#
/0#$%+#),(%&$+($2,).#'*.&$#$%+#(/"$,/..+,#()"#,2"#2"1+,#"/,-).#2'+,#*,&4&.+3+'#+&$%+,#/"#)#
1&00+,+"$# -)(%&"+# /,# /*+,)$&"3# '>'$+-?# /".># 1+*+"1&"3# /"# $%+# (/--2"&()$&/"#
-+(%)"&'-#2'+1<#8%&'#'$,2($2,).#(/"(+*$#)4/&1'#'+(2,&$>#*,/N.+-'?#N+()2'+#$%+#2'+,#/0#
19 EMES: Eigenschaften mobiler und eingebetteter Systeme c© ROK
00101
1110100100111010010101011000
101111
0100100111010010101011000101
11101001001110100101010110
00101111010010011101001010
10110
00101111
010010011101001010101100010111101001001110100
101010110 0010111101001001110100
10101011000101111010010011101001010101Scheduling Server — Windows / Solaris
!""#$%&'()(*(+,--(&."/#.#$010&2$! 34!
"#!$%%&'()*!+!,!-.//!)0%1&0&'232)4'!
!"#$!%"&'()&%**+,-./012)3#&!%45)/-/6.7.-8%%9%%%:;7%/<7&;0.=>/<7?:@,),/*.>/<72AB),/*.C%%%%%?('!2D%/<7?/;04.C%%%E;*:@;.0%4A;@%4A@&;0.=C%%%FF:;7GHI%7:6.-2A@%J%1FF:;7GHI845)/-/6.7.-C%%%%-E;+,-./0%J%7-E.C%%%D;7.-K-:7:</4L.<7:A;1M4A<N8C%%%B,:4.%1-E;+,-./08%%9%%%%%/<7&;0.=%J%O.7'.=718C%%%%%:P%1/<7&;0.=%JJ%QR8%9%%%%%%%!E65+:6:;@2A@17:6.-2A@>%4A@&;0.=8C%%%%%%%%%%%%%%%%%%%%%%%4A@&;0.=%J%SC%%%%%%%2./T.K-:7:</4L.<7:A;1M4A<N8C%%%%%%%%%%%%%%%%%%%%%%%%%%%"/:7UA-L:;@4.#VW.<71,'.B&7.6DT.;7>%&'U&'&+D8C!!!!!""!#$%&!'()!*+#!%&+,-%%%%%%%D;7.-K-:7:</4L.<7:A;1M4A<N8C%%%%%%%/<7&;0.=%J%O.7'.=718C%%%%%%%!"#$%&'%&#()*+,,-#.%"+/0&,#1+2#34/"567.$%'2",,8)039:;<=3>=<$?3@<)0A!!BCD%%%%%%!"#;.%"+/$%&'%&#(-#.%"+/0&,#1+2#34/"567.;.%"+/8D)039:;<=3>=<$?3@BCD%%%%%%""!-.-/+*0!&1)+$0!'()!&1+!*+2&!-&+/!%%%%%%:P%1LE*5.;0+,-./017,-./02:*7X/<7&;0.=YZ,+,-./08%JJ%QR8%<A;7:;E.C%%%%%[%!!!!""!-$3+!$4&.$5!3$5.+-!$*0!')++!$44+--!&(!&1)+$06%-&!$))$7!
%%%%/<7?/;04.%J%7,-./02:*7X/<7&;0.=YZ,+,-./0C%%%%%/<7?:@,),/*.%J%7,-./02:*7X/<7&;0.=YZ,:@,),/*.C%%%%%/<72AB),/*.%J%7,-./02:*7X/<7&;0.=YZ4AB),/*.C%%%%%2./T.K-:7:</4L.<7:A;1M4A<N8C%%%%%:P%1?",EF";.%"+/-+2#=+4/*"B%JJ%QR8%9%%%%%%%%D;7.-K-:7:</4L.<7:A;1M4A<N8C%%%%%%%%%%""!+))()8!&1)+$0!0(+-*9&!+2%-&%%%%%%%7,-./02:*7X/<7&;0.=YZ,+,-./0%J%'\22C%%""!#+!4(*&%*.+8!&)7%*:!*+2&!&1)+$0%%%%%[%%%%%.4*.%%9%%%%%%%K#\'+FL+($+C%%%%%%%%%%%%%%%%%%%%%%%%%%""!-&$)&!&%,%*:!5(:!%%%%%%!*""G-+2#=&H.$.+,"BC%%%%%%%%%%%%%%%%%%""!-.-/+*0!--!'()!1%:1;/+)%(0%%%%%%%""!--!#$<+-!./8!-&(/!4(.*&+)!=!-.-/+*0!45%+*&!&1)+$0!%%%%%%K#\'+FD'!C%%%%%%%7:6.-2A@X4A@&;0.=]]Y%J%I11FF:;7GHI81<AE;7F*88C%%%%%%%7:6.-2A@X4A@&;0.=]]Y%J%I11FF:;7GHI81<AE;7F.88C%%%%%%%:P%1!E,G"4/;.%"+/-+2#=+4/*"B%JJ%QR8%%9%%%%%%%%%D;7.-K-:7:</4L.<7:A;1M4A<N8C%%%%%%%%%%""!&1)+$0!0(+-*9&!+2%-&!$*7,()+%%%%%%%%%7,-./02:*7X/<7&;0.=YZ,+,-./0%J%'\22C%%%%%%%%%2./T.K-:7:</4L.<7:A;1M4A<N8C%!!!!!!!!""!&1)+$0!.-+0!1%-!1%:1!/1$-+!&%,+!8!-(!#+!5+$3+!!
!!!!!!!!""!&1+!5(#!/1$-+!&%,+!&(!&1+!)+-&!('!&1+!-7-&+,!!!!!!!
%%%%%%[%%%%%%%K#\'+FL+($+C%%%%%%%%%%%%%%%%%%%%%%%%%%""!-&$)&!&%,%*:!5(:%%%%%%%!*""G-+2#0'I$.+,"BC%%%%%%%%%%%%%%%%%%%""!-.-/+*0!--!'()!5(#;/+)%(0%%%%%%%K#\'+FD'!C%%%%%%%%%%%%%%%%%%%%%%%%%%%%""!--!#$<+-!./8!-&(/!4(.*&+)%%%%%%%7:6.-2A@X4A@&;0.=]]Y%J%I11FF:;7GHI81<AE;7F*88C%%%%%%%7:6.-2A@X4A@&;0.=]]Y%J%I11FF:;7GHI81<AE;7F.88C%%%%%%%D;7.-K-:7:</4L.<7:A;1M4A<N8C%%%%%%%%%%%%""!*+4+--$)7!(*!5((/!-&$)&%%%%%[%%%[% %%%!E65+:6:;@2A@17:6.-2A@>%4A@&;0.=8C%%%%%%%%%%%%%2./T.K-:7:</4L.<7:A;1M4A<N8C%%%-.7E-;%SC%[%
5)678&!"#9":!;*<&8%2!=840!-.//!)0%1&0&'232)4'!
20 EMES: Eigenschaften mobiler und eingebetteter Systeme c© ROK
00101
1110100100111010010101011000
101111
0100100111010010101011000101
11101001001110100101010110
00101111010010011101001010
10110
00101111
010010011101001010101100010111101001001110100
101010110 0010111101001001110100
10101011000101111010010011101001010101Scheduling Server — Analyse
Interessante Probleme:
• Wie stabil ist die Leistung, die einer Echtzeit-Task zur Verfugung
steht?
• Wie hoch ist der Overhead des Scheduling Servers?
• Welchen Einfluß haben Non-RT-Lasten im Hintergrund?
• Welchen Einfluß haben I/O-Prozesse?
Messung der Rechenleistung: Linpack / SciMark
21 EMES: Eigenschaften mobiler und eingebetteter Systeme c© ROK
00101
1110100100111010010101011000
101111
0100100111010010101011000101
11101001001110100101010110
00101111010010011101001010
10110
00101111
010010011101001010101100010111101001001110100
101010110 0010111101001001110100
10101011000101111010010011101001010101 Metriken
• Gesamtleistung G, kontrollierte Leistung Li, unkontrollierte Leistung
Le
• Programm wird unter Kontrolle mit Anteil p der CPU ausgefuhrt,
ohne Overhead gilt Li = pG und Le = (1 − p)G
• Interner Overhead fur die kontrollierte Applikation: Oi = 1 − LipG
• Externer Overhead fur die unkontrollierten Applikationen: Oe = 1 −Le
(1−p)G
• Negativer Overhead bedeutet Uberbuchung
22 EMES: Eigenschaften mobiler und eingebetteter Systeme c© ROK
00101
1110100100111010010101011000
101111
0100100111010010101011000101
11101001001110100101010110
00101111010010011101001010
10110
00101111
010010011101001010101100010111101001001110100
101010110 0010111101001001110100
10101011000101111010010011101001010101Scheduling Server — Overhead
System: NeXTStep 3.3cl
ient
task
’s p
erfo
rman
ce (M
FLO
PS
)
rem
aini
ng s
yste
m’s
per
form
ance
(MFL
OP
S)
remaining system’s performance
23 EMES: Eigenschaften mobiler und eingebetteter Systeme c© ROK
00101
1110100100111010010101011000
101111
0100100111010010101011000101
11101001001110100101010110
00101111010010011101001010
10110
00101111
010010011101001010101100010111101001001110100
101010110 0010111101001001110100
10101011000101111010010011101001010101
Scheduling Server — Stabilitat ohneLast
System: NeXTStep 3.3
24 EMES: Eigenschaften mobiler und eingebetteter Systeme c© ROK
00101
1110100100111010010101011000
101111
0100100111010010101011000101
11101001001110100101010110
00101111010010011101001010
10110
00101111
010010011101001010101100010111101001001110100
101010110 0010111101001001110100
10101011000101111010010011101001010101Scheduling Server — Stabilitat mit Last
System: NeXTStep 3.3M
FLO
PS
25 EMES: Eigenschaften mobiler und eingebetteter Systeme c© ROK
00101
1110100100111010010101011000
101111
0100100111010010101011000101
11101001001110100101010110
00101111010010011101001010
10110
00101111
010010011101001010101100010111101001001110100
101010110 0010111101001001110100
10101011000101111010010011101001010101
Scheduling Server — Stabilitat mitI/O-Last
System: NeXTStep 3.3
MFL
OP
S
26 EMES: Eigenschaften mobiler und eingebetteter Systeme c© ROK
00101
1110100100111010010101011000
101111
0100100111010010101011000101
11101001001110100101010110
00101111010010011101001010
10110
00101111
010010011101001010101100010111101001001110100
101010110 0010111101001001110100
10101011000101111010010011101001010101Scheduling Server — Stabilitat
System: rtLinux 0.x
com
putin
g po
wer
27 EMES: Eigenschaften mobiler und eingebetteter Systeme c© ROK
00101
1110100100111010010101011000
101111
0100100111010010101011000101
11101001001110100101010110
00101111010010011101001010
10110
00101111
010010011101001010101100010111101001001110100
101010110 0010111101001001110100
10101011000101111010010011101001010101Scheduling Server — Stabilitat
System: SunOS 2.5
!"#$%&'$()*! +,!
"#$#$! %&'()'*+!
!"#$ %&'#$ (#)*+),&-.#$ +*$ /"#$ %#-.",&)0$ +-$ &-$ 1-2+&3#3$ ,&."4-#$ &5#)&6#'$ 7897:;$
<.4=&)0'>$!"#$*+22+?4-6$/&%2#$'"+?'$/"#$.&2.12&/#3$+5#)"#&3$5&21#'@$
$
,-.!/(*01234!
241'(4*5!6'(/3(7*40'!
('*5!,-.!/(*01234!
841'(4*5!3&'()'*+!
'91'(4*5!6'(/3(7*40'
('*5!,-.!/(*01234!
'91'(4*5!3&'()'*+!
-./0 ,12,-0 -31+430/ 5.13+3 -2142- 67128-0/0 .1--,
8./0 4162-0 8+12,+0/ 5.18+8 -314-4 6.17+40/0 .1--,
,./0 616,80 ,,18-30/ 5.1-.6 -+1374 3,1-820/0 .1.72
+./0 714740 +-18-20/ 5.1.,. -81,63 4,1-330/0 .1--+
4./0 --133.0 4.1.7-0/ 5.1..8 -.166, +318660/0 .1.6+
3./0 -,13-30 421+7,0/ .1.84 212.4 ,6128,0/0 .1.4+
6./0 -4143-0 3312+60/ .1.+4 61.66 ,.1+.80/0 5.1.-,
2./0 -614++0 641,330/ .1.42 41+.3 8,18880/0 5.1-3-
7./0 -71,+20 2,1--30/ .1.63 ,1+36 -+12780/0 5.1+27
!:*;5'!"#<=!%&'()'*+!3/!1)'!>%>>!
!"#$34&6)&,$4221'/)&/#'$/"#$,#&'1)#3$5&21#'@$
$
.
4
-.
-4
8.
84
-.0907. 8.0902. ,.0906. +.0903. 4.0904. 3.090+. 6.090,. 2.0908. 7.090-.
)2?)!6)*@'!A!53B!6)*@'
>02C*(D@!/3(!1)'!*66520*1234!
E4+'(!@3@@!0341(35
.
4
-.
-4
8.
84
@E7!3/!>02C*(D@!/3(!1)'!
53*+!*66520*1234@
:;()%;<<$=0
>##<&:>)&;(
<;>=0
>##<&:>)&;(*
$!
F2?E('!"#G=!>02C*(D!;'40)7*(D!E4+'(!>%>>!0341(35!
!"#$2#*/$&A4'$)#*#)'$/+$/"#$2+?#)$6)&("$&-3$'"+?'$/"#$,#&'1)#3$)#'12/'$+*$/"#$.+-/)+22#3$
&((24.&/4+->$ !"#$ )46"/$ &A4'$ )#*#)'$ /+$ /"#$ 1((#)$ 6)&("$ &-3$ 34'(2&B'$ /"#$ '1,,&)4C#3$
%#-.",&)0$ )#'12/'$ +*$ /"#$ 2+&3$ &((24.&/4+-'>$ !"#$ '(&.#$ %#/?##-$ /"#$ 6)&("'$ .&-$ %#$
4-/#)()#/#3$&'$/"#$&%'+21/#$+5#)"#&3>$$
28 EMES: Eigenschaften mobiler und eingebetteter Systeme c© ROK
00101
1110100100111010010101011000
101111
0100100111010010101011000101
11101001001110100101010110
00101111010010011101001010
10110
00101111
010010011101001010101100010111101001001110100
101010110 0010111101001001110100
10101011000101111010010011101001010101
Anwendung auf eineMultimedia-Anwendung I
• Multimedia-Anwendungen haben weiche Echtzeit-Anforderungen
• Verletzung dieser Anforderungen fuhrt zu verminderter oder inakzep-
tabler Qualitat
• Beispiel: MPEG-Player
– auf unbelastetem System benutzbar
– Belastung des Systems fuhrt zu reduzierter verfugbarer Rechenleis-
tung: unakzeptables Resultat
– Scheduling Server sorgt fur garantierte Rechenzeit fur MPEG-Player
• Problem: Window-Server wird benutzt (Systemdienst)
29 EMES: Eigenschaften mobiler und eingebetteter Systeme c© ROK
00101
1110100100111010010101011000
101111
0100100111010010101011000101
11101001001110100101010110
00101111010010011101001010
10110
00101111
010010011101001010101100010111101001001110100
101010110 0010111101001001110100
10101011000101111010010011101001010101
Anwendung auf eineMultimedia-Anwendung II
0 processes 5 processes 10 processes
t in ms
0
50
100
150
200
250
300
350
400
450
MPEG-playeraverage frame distance with increasing load
no Scheduling Server 10/30 high/low prio phase
30 EMES: Eigenschaften mobiler und eingebetteter Systeme c© ROK
00101
1110100100111010010101011000
101111
0100100111010010101011000101
11101001001110100101010110
00101111010010011101001010
10110
00101111
010010011101001010101100010111101001001110100
101010110 0010111101001001110100
10101011000101111010010011101001010101Scheduling Server — Erfahrungen
• Alle Teile einer zeitkritischen Anwendung mussen unter Kontrolle des
Scheduling Servers laufen
• Benutzung von Systemdiensten vermeiden, die auch von anderen
Prozessen benutzt werden
• Synchronisation in einer Applikation muß mit Scheduling Server ab-
gestimmt werden
• Parameter des Scheduling Servers (Scheduling-Periode und High/Low-
Verhaltnis) bestimmen Vorhersagbarkeit sehr und mussen an Applika-
tion angepaßt werden
31 EMES: Eigenschaften mobiler und eingebetteter Systeme c© ROK
00101
1110100100111010010101011000
101111
0100100111010010101011000101
11101001001110100101010110
00101111010010011101001010
10110
00101111
010010011101001010101100010111101001001110100
101010110 0010111101001001110100
10101011000101111010010011101001010101 Streaming
• Kontinuierliche Ubertragung von Datenstromen
• Verschiedene Klassen: Stored audio/video, live audio/video, interacti-
ve audio/video
• Streaming vs. progressives Herunterladen
• Verwendung von UDP-basierten Soft-RT Protokollen (keine automa-
tische Flusskontrolle)
• Herausforderungen: Variierende Datenrate, Verzogerungen, Paketver-
lust
32 EMES: Eigenschaften mobiler und eingebetteter Systeme c© ROK
00101
1110100100111010010101011000
101111
0100100111010010101011000101
11101001001110100101010110
00101111010010011101001010
10110
00101111
010010011101001010101100010111101001001110100
101010110 0010111101001001110100
10101011000101111010010011101001010101Streaming Protokolle
• Real-Time Transport Protocol (RTP) - Sequenznummern, Time-
stamps, keine Garantien
• Real-Time Control Protocol (RTCP) - Regelmassiger Austausch von
Statistiken (Anzahl gesendeter Pakete, Paketverlust, Jitter, ...)
• Real-time Streaming Protocol (RTSP) - Session-Verwaltung fur
Video-Streaming, verwendet RTP
• Session Description Protocol (SDP) - Beschreibt Initialisierungspara-
meter (Codec, Datenrate, Dauer, ...), von RTSP verwendet
33 EMES: Eigenschaften mobiler und eingebetteter Systeme c© ROK