Principles of Real-Time Communication Networks Flashcards
Wie lauten die Anforderungen an Real-Time Communication Protocols?
- Geringer Jitter
- Geringe maximale Protokollausführungszeit
- Support für Multicast Kommunikation
- Zeitliche Abkapselung der Komponenten
- Error Erkennung beim Receiver (und Sender)
- Geringe Error Erkennungslatenz
- Kein Ruckeln bei Spitzenlast
Wozu dient Flow Control?
Befasst sich mit der Kontrolle des Informationsflusses zwischen Kommunikationspartner, sodass der Absender den Empfänger nicht überholt
Welche Arten von Flow Control kann man unterscheiden?
- Explicit flow control
- Implicit flow control
Was ist implicit flow control?
Sender und Empfänger bestimmen vor der Laufzeit, dass eine maximale Senderate vom Sender nicht überschritten wird und, dass diese Rate vom Empfänger akzeptiert wird
Welche Eigenschaften bringt implicit flow control mit sich?
- Zur Laufzeit kann der Kommunikationskanal unidirectional sein
- Error Detection liegt in der Zuständigkeit des Receivers
- Gut geeignet für Multicast Communication Servers
Was ist explicit flow control?
Der Sender sendet eine Nachricht an den Empfänger und wartet, bis der Empfänger den Empfang dieser Nachricht ausdrücklich bestätigt hat
Welche Eigenschaften bringt explicit flow control mit sich?
- Sender muss in Sphere of Control des Receivers sein (damit der Receiver die Berechtigung hat, den Sender zu verlangsamen)
- Error Detection liegt in der Zuständigkeit des Senders
Was bedeutet eine nicht bestätigte Nachricht bei explicit flow control?
- Nachricht ist verloren gegangen
- Receiver ist spät dran
- Receiver ist ausgefallen
Warum kann explicit flow control zur Überlastung führen?
Wenn bei einer hohen Auslastung eine Nachricht nicht im vorgegebenen Timeout bestätigt wird, dann sendet der Sender die Nachricht wiederholt und erhöht die Nachrichtenrate zum schlecht möglichsten Zeitpunkt
Was sind Gründe für Thrashing (Überlastung)?
- Mechanismen, die mehr Serviceanfragen generieren oder mehr Ressourcen verbrauchen wenn die Last zunimmt
- Beispielsweise Wiederholungsmechanismen im Kommunikationsprotokoll oder Buffer Management
Wie kann Überlastung vermieden werden?
Durch flow control oder durch congestion control (Engpass Überwachung)
Was sind Periodic Messages?
- Festes Zeitintervall zwischen nachfolgenden Instanzen einer Message
- Zeitliche Spezifizierung mittels Periode und Phase auf globaler Zeitbasis
Was sind Vorteile von Periodic Messages?
- Begrenzte Latenzzeit und minimaler Jitter
- Ermöglicht die Abwesenheit jeglicher Nebeneffekte von Message failures auf andere Nachrichten (Bsp. Babbling Idiot)
Was sind Sporadic Messages?
- Mindestabstand zwischen zwei Messages ist bekannt, unregelmäßiges Intervall
- Während Minimum Interarrival Time kann keine Nachricht ankommen
- Ermöglicht zeitliche Analysen und zeitliche Garantien
- Begrenzte Nebeneffekte durch Message Failures
Was sind Aperiodic Messages?
Es sind keine zeitlichen Beschränkungen für Übertragungen bekannt, eine Nachricht kann jederzeit ankommen
Was sind die Vorteile von Aperiodic Messages?
- Hohe Flexibilität
- Effiziente Nutzung der Bandbreite
Was sind die Nachteile von Aperiodic Messages?
- Keine zeitlichen Garantien
- Unfähig Crash Failures zu erkennen
- Keine Eingrenzung von zeitlich begrenzten Message Failures
Welche Methoden gibt es, um Konflikte zwischen periodischen und nicht periodischen Messages zu lösen?
- Shuffling
- Timely blocking
- Preemption
Was ist Shuffling?
- Verwendet Prioritäten bei Ressourcenanfragen
- Höhere Priorität für periodic Messages
- Periodic Message darf höchstens von einer sporadic Message verzögert werden
- Ist effizient und einfach
Was ist Timely Blocking?
Verwendet Guarding Windows, um Ressourcenkonflikte während eines Zeitintervalls einer periodic message zu vermeiden
Was ist Preemption (Vorrecht)?
Die Übertragung einer sporadic Message wird unterbrochen, um eine Anfrage einer periodic message zu bearbeiten
Was sind die Vorteile von Preemption?
- Effiziente Bandbreitennutzung
- Kurze Delays
- Minimum Jitter
Was ist der Nachteil von Preemption?
Komplexe Protokolle
Was sind Guarding Windowns?
Setzen sich aus zwei Intervallen (Clean up Intervall und White Slot) zusammen
Was passiert während des Clean-up Intervall?
- Messages, die gering kritisch sind dürfen Ressourcen nicht verwenden
- Dauer ist identisch mit maximaler Übertragungszeit einer low-critical message
Was passiert während eines White Slots?
- Ressource ist definitiv frei, um von sicherheitskritischen Nachrichten verwendet zu werden
- Eine oder mehrere Nachrichten nutzen die Ressource während des White Slots
Was sind Event-Triggered (ET) Protocols?
Protokollausführung wird durch ein Event an einem beliebigen Zeitpunkt gestartet
Was sind Time-Triggered (TT) Protocols?
Protokollausführung wird durch Fortschreiten der globalen Zeit gestartet
Für welche Art von Systemen sind Time-Triggered Protokolle geeignet?
Für kritische Systeme
Für welche Art von Systemen sind Event-Triggered Protokolle geeignet?
Für nicht kritische Systeme
Wie unterscheiden sich ET und TT Protokolle in peak-load Situationen?
Das ET Protokoll generiert viel mehr Traffic als das TT Protokoll
Welche Schwachstellen hat das OSI Modell in einer Real-Time Umgebung?
- Annahme, dass Sender im SOC des Empfängers ist, gilt nicht für RT-Systeme
- Maximale Ausführungszeit und Lesefehler wachsen exponentiell mit der Anzahl der Level
- Automatischer Wiederholungs-Mechanismus bietet Grundlage für Überlastung
- Keine temporale Encapsulation des Subsystems
- Keine Unterstützung für Replica Determinism
Wovon ist die maximale Protokoll Ausführungszeit auf Transportebene abhängig?
- Protocol Stack des Senders
- Message Scheduling Strategy beim Sender
- Medien Zugriffsprotokoll
- Übertragungszeit
- Protocol Stack des Empfängers
- Task Scheduling beim Empfänger
Was ist ein End-to-End Protokoll?
- Protokoll, das die beabsichtigte Wirkung einer Kommunikation an den vorgesehenen Endpunkten überwacht und kontrolliert
- Hohe Error Detection
Welche drei Level Architektur wird für RT Kommunikation diskutiert?
- Fieldbus: Verbindet Sensoren mit Nodes, billig, robust
- Real-Time Bus: Verbindet Nodes mit RT-Cluster, real-time, fault tolerance
- Backbone Network: Verbindet Cluster für nicht real-time Aufgaben (z.B. Datenaustausch)
Was sind fundamentale Konflikte beim Protokoll-Design?
- Temporal composability vs. demand assignment
- Replica determinism vs. probabilistic access
- Regular data vs. sporadic data
- Temporal accuracy vs. retransmission
- Interface simplicity vs. responsiveness
- Single focus of control vs. fault tolerance