34
EMES: Eigenschaften mobiler und eingebetteter Systeme 00 1 0 1 1 1 1 0 1 0 0 1 0 01 11 0 1 0 0 1 0 1 0 1 0 1 1 0 0 0 1 0 1 1 1 1 0 10 0 1 0 0 1 11 0 1 0 0 1 0 1 0 1 0 11 0 0 0 1 0 1 1 1 1 0 10 0 1 0 01 11 0 1 0 0 1 0 1 0 1 0 11 0 0 0 1 0 1 1 1 1 0 10 0 1 0 01 11 0 1 0 0 1 0 1 0 1 0 1 1 0 0 0 1 0 1 1 1 1 0 10 0 1 0 0 1 11 0 1 0 0 1 0 10 1 0 11 0 0 0 1 0 1 1 1 1 0 10 0 1 0 01 11 0 1 0 0 1 0 1 0 1 0 11 0 0 0 1 0 11 1 1 0 10 0 1 0 0 111 0 1 0 0 1 0 1 0 1 0 1 1 0 00101111010010011101001010101 Weiche Echtzeit Dr. Felix Salfner, Dr. Siegmar Sommer Wintersemester 2010/2011

Weiche Echtzeit - informatik.hu-berlin.de · LynxOS 3.0 Windows NT Voraussetzungen: Fixed Priority Scheduling, M oglichkeit, Scheduling-Politiken umzuschalten, M oglichkeit, Priorit

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Weiche Echtzeit - informatik.hu-berlin.de · LynxOS 3.0 Windows NT Voraussetzungen: Fixed Priority Scheduling, M oglichkeit, Scheduling-Politiken umzuschalten, M oglichkeit, Priorit

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

Page 2: Weiche Echtzeit - informatik.hu-berlin.de · LynxOS 3.0 Windows NT Voraussetzungen: Fixed Priority Scheduling, M oglichkeit, Scheduling-Politiken umzuschalten, M oglichkeit, Priorit

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

Page 3: Weiche Echtzeit - informatik.hu-berlin.de · LynxOS 3.0 Windows NT Voraussetzungen: Fixed Priority Scheduling, M oglichkeit, Scheduling-Politiken umzuschalten, M oglichkeit, Priorit

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

Page 4: Weiche Echtzeit - informatik.hu-berlin.de · LynxOS 3.0 Windows NT Voraussetzungen: Fixed Priority Scheduling, M oglichkeit, Scheduling-Politiken umzuschalten, M oglichkeit, Priorit

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

Page 5: Weiche Echtzeit - informatik.hu-berlin.de · LynxOS 3.0 Windows NT Voraussetzungen: Fixed Priority Scheduling, M oglichkeit, Scheduling-Politiken umzuschalten, M oglichkeit, Priorit

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

Page 6: Weiche Echtzeit - informatik.hu-berlin.de · LynxOS 3.0 Windows NT Voraussetzungen: Fixed Priority Scheduling, M oglichkeit, Scheduling-Politiken umzuschalten, M oglichkeit, Priorit

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

Page 7: Weiche Echtzeit - informatik.hu-berlin.de · LynxOS 3.0 Windows NT Voraussetzungen: Fixed Priority Scheduling, M oglichkeit, Scheduling-Politiken umzuschalten, M oglichkeit, Priorit

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

Page 8: Weiche Echtzeit - informatik.hu-berlin.de · LynxOS 3.0 Windows NT Voraussetzungen: Fixed Priority Scheduling, M oglichkeit, Scheduling-Politiken umzuschalten, M oglichkeit, Priorit

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

Page 9: Weiche Echtzeit - informatik.hu-berlin.de · LynxOS 3.0 Windows NT Voraussetzungen: Fixed Priority Scheduling, M oglichkeit, Scheduling-Politiken umzuschalten, M oglichkeit, Priorit

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

Page 10: Weiche Echtzeit - informatik.hu-berlin.de · LynxOS 3.0 Windows NT Voraussetzungen: Fixed Priority Scheduling, M oglichkeit, Scheduling-Politiken umzuschalten, M oglichkeit, Priorit

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

Page 11: Weiche Echtzeit - informatik.hu-berlin.de · LynxOS 3.0 Windows NT Voraussetzungen: Fixed Priority Scheduling, M oglichkeit, Scheduling-Politiken umzuschalten, M oglichkeit, Priorit

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

Page 12: Weiche Echtzeit - informatik.hu-berlin.de · LynxOS 3.0 Windows NT Voraussetzungen: Fixed Priority Scheduling, M oglichkeit, Scheduling-Politiken umzuschalten, M oglichkeit, Priorit

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

Page 13: Weiche Echtzeit - informatik.hu-berlin.de · LynxOS 3.0 Windows NT Voraussetzungen: Fixed Priority Scheduling, M oglichkeit, Scheduling-Politiken umzuschalten, M oglichkeit, Priorit

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

Page 14: Weiche Echtzeit - informatik.hu-berlin.de · LynxOS 3.0 Windows NT Voraussetzungen: Fixed Priority Scheduling, M oglichkeit, Scheduling-Politiken umzuschalten, M oglichkeit, Priorit

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

Page 15: Weiche Echtzeit - informatik.hu-berlin.de · LynxOS 3.0 Windows NT Voraussetzungen: Fixed Priority Scheduling, M oglichkeit, Scheduling-Politiken umzuschalten, M oglichkeit, Priorit

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

Page 16: Weiche Echtzeit - informatik.hu-berlin.de · LynxOS 3.0 Windows NT Voraussetzungen: Fixed Priority Scheduling, M oglichkeit, Scheduling-Politiken umzuschalten, M oglichkeit, Priorit

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

Page 17: Weiche Echtzeit - informatik.hu-berlin.de · LynxOS 3.0 Windows NT Voraussetzungen: Fixed Priority Scheduling, M oglichkeit, Scheduling-Politiken umzuschalten, M oglichkeit, Priorit

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

Page 18: Weiche Echtzeit - informatik.hu-berlin.de · LynxOS 3.0 Windows NT Voraussetzungen: Fixed Priority Scheduling, M oglichkeit, Scheduling-Politiken umzuschalten, M oglichkeit, Priorit

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

Page 19: Weiche Echtzeit - informatik.hu-berlin.de · LynxOS 3.0 Windows NT Voraussetzungen: Fixed Priority Scheduling, M oglichkeit, Scheduling-Politiken umzuschalten, M oglichkeit, Priorit

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

Page 20: Weiche Echtzeit - informatik.hu-berlin.de · LynxOS 3.0 Windows NT Voraussetzungen: Fixed Priority Scheduling, M oglichkeit, Scheduling-Politiken umzuschalten, M oglichkeit, Priorit

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

Page 21: Weiche Echtzeit - informatik.hu-berlin.de · LynxOS 3.0 Windows NT Voraussetzungen: Fixed Priority Scheduling, M oglichkeit, Scheduling-Politiken umzuschalten, M oglichkeit, Priorit

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

Page 22: Weiche Echtzeit - informatik.hu-berlin.de · LynxOS 3.0 Windows NT Voraussetzungen: Fixed Priority Scheduling, M oglichkeit, Scheduling-Politiken umzuschalten, M oglichkeit, Priorit

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

Page 23: Weiche Echtzeit - informatik.hu-berlin.de · LynxOS 3.0 Windows NT Voraussetzungen: Fixed Priority Scheduling, M oglichkeit, Scheduling-Politiken umzuschalten, M oglichkeit, Priorit

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

Page 24: Weiche Echtzeit - informatik.hu-berlin.de · LynxOS 3.0 Windows NT Voraussetzungen: Fixed Priority Scheduling, M oglichkeit, Scheduling-Politiken umzuschalten, M oglichkeit, Priorit

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

Page 25: Weiche Echtzeit - informatik.hu-berlin.de · LynxOS 3.0 Windows NT Voraussetzungen: Fixed Priority Scheduling, M oglichkeit, Scheduling-Politiken umzuschalten, M oglichkeit, Priorit

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

Page 26: Weiche Echtzeit - informatik.hu-berlin.de · LynxOS 3.0 Windows NT Voraussetzungen: Fixed Priority Scheduling, M oglichkeit, Scheduling-Politiken umzuschalten, M oglichkeit, Priorit

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

Page 27: Weiche Echtzeit - informatik.hu-berlin.de · LynxOS 3.0 Windows NT Voraussetzungen: Fixed Priority Scheduling, M oglichkeit, Scheduling-Politiken umzuschalten, M oglichkeit, Priorit

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

Page 28: Weiche Echtzeit - informatik.hu-berlin.de · LynxOS 3.0 Windows NT Voraussetzungen: Fixed Priority Scheduling, M oglichkeit, Scheduling-Politiken umzuschalten, M oglichkeit, Priorit

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

Page 29: Weiche Echtzeit - informatik.hu-berlin.de · LynxOS 3.0 Windows NT Voraussetzungen: Fixed Priority Scheduling, M oglichkeit, Scheduling-Politiken umzuschalten, M oglichkeit, Priorit

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

Page 30: Weiche Echtzeit - informatik.hu-berlin.de · LynxOS 3.0 Windows NT Voraussetzungen: Fixed Priority Scheduling, M oglichkeit, Scheduling-Politiken umzuschalten, M oglichkeit, Priorit

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

Page 31: Weiche Echtzeit - informatik.hu-berlin.de · LynxOS 3.0 Windows NT Voraussetzungen: Fixed Priority Scheduling, M oglichkeit, Scheduling-Politiken umzuschalten, M oglichkeit, Priorit

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

Page 32: Weiche Echtzeit - informatik.hu-berlin.de · LynxOS 3.0 Windows NT Voraussetzungen: Fixed Priority Scheduling, M oglichkeit, Scheduling-Politiken umzuschalten, M oglichkeit, Priorit

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

Page 33: Weiche Echtzeit - informatik.hu-berlin.de · LynxOS 3.0 Windows NT Voraussetzungen: Fixed Priority Scheduling, M oglichkeit, Scheduling-Politiken umzuschalten, M oglichkeit, Priorit

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

Page 34: Weiche Echtzeit - informatik.hu-berlin.de · LynxOS 3.0 Windows NT Voraussetzungen: Fixed Priority Scheduling, M oglichkeit, Scheduling-Politiken umzuschalten, M oglichkeit, Priorit

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