H. Pfüller, Universität Rostock, Institut für Angewandte Mikroelektronik und Datentechnik1...

23
H. Pfüller, Universität Rostock, Institut für Angewandte Mikro elektronik und Datentechnik 1 Echtzeitsystemtechnik Echtzeitrechentechnik verteilte Systeme, eingebettet und verlässlich

Transcript of H. Pfüller, Universität Rostock, Institut für Angewandte Mikroelektronik und Datentechnik1...

Page 1: H. Pfüller, Universität Rostock, Institut für Angewandte Mikroelektronik und Datentechnik1 Echtzeitsystemtechnik Echtzeitrechentechnik verteilte Systeme,

H. Pfüller, Universität Rostock, Institut für Angewandte Mikroelektronik und Datentechnik 1

Echtzeitsystemtechnik

Echtzeitrechentechnikverteilte Systeme, eingebettet und verlässlich

Page 2: H. Pfüller, Universität Rostock, Institut für Angewandte Mikroelektronik und Datentechnik1 Echtzeitsystemtechnik Echtzeitrechentechnik verteilte Systeme,

H. Pfüller, Universität Rostock, Institut für Angewandte Mikroelektronik und Datentechnik 2

Echtzeit - Fahrplan

Klassisch– Rechtzeitig oder „schnell“– Ablaufsteuerung (Scheduling)– Nebenläufig

Aktuell:– Große Systeme: Komplexität– Verteiltheit, transparente Kommunikation– Verlässlichkeit– Unterstützung für Entwurf– Eingebettete Rechner

Page 3: H. Pfüller, Universität Rostock, Institut für Angewandte Mikroelektronik und Datentechnik1 Echtzeitsystemtechnik Echtzeitrechentechnik verteilte Systeme,

H. Pfüller, Universität Rostock, Institut für Angewandte Mikroelektronik und Datentechnik 3

Was ist ein Echtzeitsystem?

Informationsverarbeitungssystem, das auf extern entstandene Eingangssignale innerhalb einer spezifizierten Zeitdauer reagiert haben muss.– Die Korrektheit hängt nicht nur vom logischen

Ergebnis ab, sondern auch vom Zeitpunkt, zu dem das Ergebnis geliefert wird.

– Eine zu späte Antwort ist genau so schlecht wie eine falsche Antwort. (nach Burns)

Page 4: H. Pfüller, Universität Rostock, Institut für Angewandte Mikroelektronik und Datentechnik1 Echtzeitsystemtechnik Echtzeitrechentechnik verteilte Systeme,

H. Pfüller, Universität Rostock, Institut für Angewandte Mikroelektronik und Datentechnik 4

Ein Missverständnis: Wie schnell ist „Echtzeit“? nicht um Tempo geht es Cache und Benchmark: Schnell im Mittel „Komfortabler“ Prozessor?

– Viel Umgebung zu retten– Lange Umschaltzeiten zwischen Prozessen

Page 5: H. Pfüller, Universität Rostock, Institut für Angewandte Mikroelektronik und Datentechnik1 Echtzeitsystemtechnik Echtzeitrechentechnik verteilte Systeme,

H. Pfüller, Universität Rostock, Institut für Angewandte Mikroelektronik und Datentechnik 5

Echtzeit-Varianten

Harte Echtzeit: Terminüberschreitung ist katastrophal

Weiche Echtzeit: Terminüberschreitung wird um so teurer, je weiter

Schnelle Echtzeit: Hartes Echtzeitsystem, das extrem schnell reagieren muss

Feste Echtzeit: Weiches Echtzeitsystem; nützlich sind nur eingehaltene Termine

Page 6: H. Pfüller, Universität Rostock, Institut für Angewandte Mikroelektronik und Datentechnik1 Echtzeitsystemtechnik Echtzeitrechentechnik verteilte Systeme,

H. Pfüller, Universität Rostock, Institut für Angewandte Mikroelektronik und Datentechnik 6

Rechtzeitigkeit; Charakteristik der externen Ereignisse Ereignisse, deren Bearbeitung nicht beliebig

warten kann Große Vielfalt:

– periodisch– evtl. sehr selten– unklar, wann

Beispiel: Airbag

Page 7: H. Pfüller, Universität Rostock, Institut für Angewandte Mikroelektronik und Datentechnik1 Echtzeitsystemtechnik Echtzeitrechentechnik verteilte Systeme,

H. Pfüller, Universität Rostock, Institut für Angewandte Mikroelektronik und Datentechnik 7

Quasi gleichzeitige Prozesse

Grundproblem: Ein Prozessor, aber mehrere Aufgaben gleichzeitig

Lösung: Prozessor multiplexen Prozessorzuteilung entsprechend Bedarf

und Priorität Was ist am gerechtesten?

Page 8: H. Pfüller, Universität Rostock, Institut für Angewandte Mikroelektronik und Datentechnik1 Echtzeitsystemtechnik Echtzeitrechentechnik verteilte Systeme,

H. Pfüller, Universität Rostock, Institut für Angewandte Mikroelektronik und Datentechnik 8

Schnittstellen zum Parameter Zeit Zugriff zu Uhren zwecks Messung der

ablaufenden Zeit Verzögerung von Prozessen bis zu einem

gewünschten Zeitpunkt Programmierung von Warte-Intervallen, so

dass das Ausbleiben eines bestimmten Ereignisses erkannt und behandelt werden kann

Page 9: H. Pfüller, Universität Rostock, Institut für Angewandte Mikroelektronik und Datentechnik1 Echtzeitsystemtechnik Echtzeitrechentechnik verteilte Systeme,

H. Pfüller, Universität Rostock, Institut für Angewandte Mikroelektronik und Datentechnik 9

Ablaufsteuerung (Scheduling)

Voraussetzungen: vollständige Information über – zeitliche Anforderungen der externen Prozesse

(sporadisch, periodisch)

– genaue Zeitdauer der behandelnden Software (Takte zählen!)

– Kontextwechselzeit

Prioritätenbasierte Ablaufsteuerung (fest oder variabel)

Preemption

Page 10: H. Pfüller, Universität Rostock, Institut für Angewandte Mikroelektronik und Datentechnik1 Echtzeitsystemtechnik Echtzeitrechentechnik verteilte Systeme,

H. Pfüller, Universität Rostock, Institut für Angewandte Mikroelektronik und Datentechnik 10

Strategien (So einfach wie möglich) Zyklische Ausführung first come, first serve Wenn Termin („Deadline“) bekannt:

– Der früheste Termin zuerst

Wenn auch nötige Bearbeitungsdauer bekannt:– Zuerst der Termin mit der kleinsten Reserve

Page 11: H. Pfüller, Universität Rostock, Institut für Angewandte Mikroelektronik und Datentechnik1 Echtzeitsystemtechnik Echtzeitrechentechnik verteilte Systeme,

H. Pfüller, Universität Rostock, Institut für Angewandte Mikroelektronik und Datentechnik 11

Ablaufsteuerung

Die Abarbeitungsschleife widerspiegelt nicht die reale Struktur der Anlage – das begrenzt die Größe der beherrschbaren Systeme

Page 12: H. Pfüller, Universität Rostock, Institut für Angewandte Mikroelektronik und Datentechnik1 Echtzeitsystemtechnik Echtzeitrechentechnik verteilte Systeme,

H. Pfüller, Universität Rostock, Institut für Angewandte Mikroelektronik und Datentechnik 12

Nebenläufigkeit (Concurrency)

Verschiedene Prozesse verlaufen parallel („natürliche“ Gegebenheit für typische Echtzeitfälle)

Kooperationsbeispiele von Prozessen:– senden/empfangen von Nachrichten– gemeinsame Benutzung von Ressoucen

Gemeinsam benutzte Variablen; Leser-Schreiber-Problem und kritischer Bereich

Probleme: Blockierungen Beispiel: die fünf Philosophen

Page 13: H. Pfüller, Universität Rostock, Institut für Angewandte Mikroelektronik und Datentechnik1 Echtzeitsystemtechnik Echtzeitrechentechnik verteilte Systeme,

H. Pfüller, Universität Rostock, Institut für Angewandte Mikroelektronik und Datentechnik 13

Neue Herausforderungen

Große Systeme: Komplexität Verteiltheit, transparente Kommunikation Verlässlichkeit Unterstützung für Entwurf Eingebettete Rechner

Page 14: H. Pfüller, Universität Rostock, Institut für Angewandte Mikroelektronik und Datentechnik1 Echtzeitsystemtechnik Echtzeitrechentechnik verteilte Systeme,

H. Pfüller, Universität Rostock, Institut für Angewandte Mikroelektronik und Datentechnik 14

Komplexität

Objektorientierung: große Systeme beherrschbar

Grund: hierarchische Kapselung Schwierigkeit: Vermittlung der Idee an

versierte konventionelle Programmierer

Page 15: H. Pfüller, Universität Rostock, Institut für Angewandte Mikroelektronik und Datentechnik1 Echtzeitsystemtechnik Echtzeitrechentechnik verteilte Systeme,

H. Pfüller, Universität Rostock, Institut für Angewandte Mikroelektronik und Datentechnik 15

Objektorientierung

Das besondere an einem „Objekt“:– Individuum („Instanz“ eines bestimmten Datentyps)– Verwendbar ausschließlich und strikt anhand der

spezifizierten Schnittstellen („Methodenaufrufe“)– Programmierung der Interna durch separate Mannschaft– Das alles hierarchisch

Produktivitätsquellen:– Größere Programmierermannschaften durch

Informationskapselung möglich– Extensive Wiederverwendung von Code durch

Vererbung (Problem: späte Bindung“)

Page 16: H. Pfüller, Universität Rostock, Institut für Angewandte Mikroelektronik und Datentechnik1 Echtzeitsystemtechnik Echtzeitrechentechnik verteilte Systeme,

H. Pfüller, Universität Rostock, Institut für Angewandte Mikroelektronik und Datentechnik 16

Verteilte Systeme

Mehrere separate Echtzeitrechner kooperieren zwecks Erledigung einer Aufgabe

Zwecks Koordination: Kommunikation über Netzwerk

Unterstützt durch Objektorientierung (Corba, DCOM):– Transparenz

Page 17: H. Pfüller, Universität Rostock, Institut für Angewandte Mikroelektronik und Datentechnik1 Echtzeitsystemtechnik Echtzeitrechentechnik verteilte Systeme,

H. Pfüller, Universität Rostock, Institut für Angewandte Mikroelektronik und Datentechnik 17

Verlässliche Systeme(dependable, trustworthy) Fehlertypen (ständig, transient) Vorbeugung und Toleranz Reparaturblock Mehrere Programmversionen Gute Systeme heute: 50 min Ausfall/Jahr Fernziel:1 Sekunde / Jahrhundert

(Jim Gray)

Page 18: H. Pfüller, Universität Rostock, Institut für Angewandte Mikroelektronik und Datentechnik1 Echtzeitsystemtechnik Echtzeitrechentechnik verteilte Systeme,

H. Pfüller, Universität Rostock, Institut für Angewandte Mikroelektronik und Datentechnik 18

Architektur

Anleihe bei herkömmlicher Ingenieurwissenschaft

Page 19: H. Pfüller, Universität Rostock, Institut für Angewandte Mikroelektronik und Datentechnik1 Echtzeitsystemtechnik Echtzeitrechentechnik verteilte Systeme,

H. Pfüller, Universität Rostock, Institut für Angewandte Mikroelektronik und Datentechnik 19

Unterstützung für den Entwurf

Entwurfsmuster („Design Pattern“) Enheitliche Modellbeschreibungssprache:

„UML“ Anwendungsfälle („Use Cases“)

Page 20: H. Pfüller, Universität Rostock, Institut für Angewandte Mikroelektronik und Datentechnik1 Echtzeitsystemtechnik Echtzeitrechentechnik verteilte Systeme,

H. Pfüller, Universität Rostock, Institut für Angewandte Mikroelektronik und Datentechnik 20

Entwurfsmuster Regelkreis

Beispiel

Echtzeitrechner Anlage

Kommunikation

Massenspeicher

Nutzer

Page 21: H. Pfüller, Universität Rostock, Institut für Angewandte Mikroelektronik und Datentechnik1 Echtzeitsystemtechnik Echtzeitrechentechnik verteilte Systeme,

H. Pfüller, Universität Rostock, Institut für Angewandte Mikroelektronik und Datentechnik 21

Eingebettet

– 99% aller Prozessoren gehören zum Markt der eingebetteten Systeme

Entwurfsmuster gesucht Entwurfsverfahren

Page 22: H. Pfüller, Universität Rostock, Institut für Angewandte Mikroelektronik und Datentechnik1 Echtzeitsystemtechnik Echtzeitrechentechnik verteilte Systeme,

H. Pfüller, Universität Rostock, Institut für Angewandte Mikroelektronik und Datentechnik 22

Typisches eingebettetes System

Steuer-Algorithmen

Datenerfassung

Daten findenund anzeigen

Bediener-Schnittstelle

Schnittstelle Anlage

Messen / Überwachen

Echtzeit-Uhr

Datenbank

Bediener-Konsole

Anzeigen

Echtzeitrechner

Page 23: H. Pfüller, Universität Rostock, Institut für Angewandte Mikroelektronik und Datentechnik1 Echtzeitsystemtechnik Echtzeitrechentechnik verteilte Systeme,

H. Pfüller, Universität Rostock, Institut für Angewandte Mikroelektronik und Datentechnik 23

Zusammenfassung

Zwei Hauptklassen von Systemen:– Harte Echtzeit / weiche Echtzeit

Zunehmende Größe und Komplexität Extreme Verlässlichkeit Nebenläufige Steuerung verteilter

Systemkomponenten Echtzeitsteuerung externer Geräte Effizienz bei Entwurf und Implementierung