Missionskritische eingebettete Systeme erfordern außergewöhnliche Zuverlässigkeit, hohe Leistung und vor allem Reaktionsfähigkeit in Echtzeit. Während im ersten Teil dieses Artikels die Schlüsselfaktoren, die zur Latenz beitragen, untersucht wurden, werden im zweiten Teil Strategien zur Reduzierung der Latenz durch die Verwendung eines RTOS, Interrupt-Optimierungen, Low-Level-Programmierung und Hardware-Software-Co-Design vorgestellt
Im zweiten und letzten Teil der Artikelserie zu Latenzen wird gezeigt, wie sich Latenz mit dem richtigen RTOS, Interrupt-Optimierung, Low-Level-Code und Co-Design gezielt senken lässt.
(Bild: Green Hills Software)
In sicherheitskritischen Systemen wie Medizintechnik oder Kfz-Steuerungen ist ein Echtzeitbetriebssystem (Realtime Operating System, RTOS) ein Eckpfeiler für eine vorhersehbare Leistung. Durch die Priorisierung von Echtzeitbedingungen stellt es sicher, dass Aufgaben in einem vorhersehbaren Zeitrahmen ausgeführt werden. Ein Schlüsselelement ist deterministische Ablaufplanung: Prioritätsbasiertes, präemptives Scheduling stellt sicher, dass Aufgaben mit hoher Priorität sofort ausgeführt werden, was zeitkritische Verzögerungen, die in weniger deterministischen Systemen auftreten können, reduziert.
Ein RTOS führt in der Regel nur minimalen Overhead ein, da der Kernel in der Regel klein ist (Mikrokernel), so dass die Aufgaben schneller und vorhersehbarer ausgeführt werden können. Es kann auch die Priorisierung von Aufgaben nutzen, um kritischen Operationen Vorrang vor Aufgaben mit niedrigerer Priorität zu geben. Dies ist wichtig, um sicherzustellen, dass Echtzeitfristen in sicherheitskritischen Szenarien wie medizinischen Geräten oder industriellen Steuerungen eingehalten werden.
Bildergalerie
Trotz dieser Vorteile können bestimmte Faktoren innerhalb des RTOS immer noch zu Latenzzeiten auf Softwareebene beitragen. So kann etwa die Kontextumschaltung, die zwar für die Bearbeitung mehrerer Tasks erforderlich ist, insbesondere bei suboptimalen Schedulern oder einer sehr hohen Anzahl von Tasks einen Overhead verursachen. Wenn Interrupts nicht effizient verwaltet werden, können Interrupt-Anforderungen zu Engpässen führen und die Ausführung wichtiger Aufgaben verzögern.
Suboptimale Planung und eine hohe Anzahl von Tasks können die Latenzzeit noch weiter erhöhen. Falsch verwaltete Interrupts oder unbehandelte Prioritätsumkehrungen - bei denen eine Aufgabe mit hoher Priorität von einer Aufgabe mit niedrigerer Priorität blockiert wird, die eine gemeinsam genutzte Ressource hält - können diese Vorteile untergraben, es sei denn, sie werden durch Mechanismen wie die Prioritätsvererbung gemildert (Bild 1).
Bestimmte Kerneloperationen oder Datenstrukturen (z. B. Scheduler-Daten, Warteschlangenverwaltung) erfordern Sperren oder kritische Abschnitte, um die Datenkonsistenz zu gewährleisten. Während dieser Zeit können Interrupts oder Taskwechsel aufgeschoben werden. Wenn der RTOS-Kernel eine Sperre zu lange hält (z. B. beim Kopieren großer Puffer oder bei komplexen Listenmanipulationen), können Tasks oder Interrupts mit höherer Priorität nicht fortgesetzt werden. Wenn der Kernel die Neuplanung bis zum Ende eines kritischen Abschnitts aufschiebt, können Aufgaben, die eigentlich hätten vorgezogen werden sollen, weiterlaufen, wodurch sich die Latenzzeit für dringendere Aufgaben erhöht.
Obwohl das RTOS einen wesentlichen Beitrag zu einer niedrigen Systemlatenz leistet, ist bei der Auswahl eines bestimmten RTOS und der Einrichtung des Systems Vorsicht geboten. Es ist notwendig, die Arbeitslast der Anwendung zu analysieren, um den Aufgaben optimale Prioritäten zuzuweisen und sicherzustellen, dass kritische Funktionen ohne unnötige Verzögerungen ausgeführt werden. Um Verzögerungen durch Kontextwechsel zu verringern, sollten ähnliche Aufgaben gruppiert und die Fragmentierung von Aufgaben reduziert werden. Achten Sie auch auf eine effiziente Interrupt-Verwaltung, d. h. halten Sie ISRs kurz und verschieben Sie unkritische Aktivitäten auf Hintergrundprozesse. Wenn möglich, sollten kritische Abschnitte im Kernel klein gehalten werden und lock- bzw. wait-freie Datenstrukturen verwendet werden. Der Kernel sollte auch auf Operationen überprüft werden, die Interrupts oder Planungen für längere Zeit blockieren könnten.
Zudem ist es empfehlenswert, spezielle Hilfsmittel zu nutzen, die über das reine RTOS hinausgehen, wie etwa Echtzeit-Debugging-Tools, (Latenz-)Profiling-Dienstprogramme oder Virtualisierungslösungen (Hypervisoren), die eine robuste Partitionierung von Ressourcen ermöglichen. So können mehrere RTOS-Instanzen mit minimalen Latenzauswirkungen nebeneinander bestehen.
Optimierte Interrupt-Verarbeitung
Medizinische Beatmungsgeräte haben strenge Echtzeitanforderungen für die Verarbeitung von Atmungssignalen, sind aber auf Interrupts angewiesen, um einige Funktionen zu erfüllen. Die Minimierung der Unterbrechungslatenz stellt sicher, dass das Gerät Änderungen in der Atmung eines Patienten schnell erkennt und sich darauf einstellt, um so die Sicherheitsanforderungen zu erfüllen.
Stand: 08.12.2025
Es ist für uns eine Selbstverständlichkeit, dass wir verantwortungsvoll mit Ihren personenbezogenen Daten umgehen. Sofern wir personenbezogene Daten von Ihnen erheben, verarbeiten wir diese unter Beachtung der geltenden Datenschutzvorschriften. Detaillierte Informationen finden Sie in unserer Datenschutzerklärung.
Einwilligung in die Verwendung von Daten zu Werbezwecken
Ich bin damit einverstanden, dass die Vogel Communications Group GmbH & Co. KG, Max-Planckstr. 7-9, 97082 Würzburg einschließlich aller mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen (im weiteren: Vogel Communications Group) meine E-Mail-Adresse für die Zusendung von redaktionellen Newslettern nutzt. Auflistungen der jeweils zugehörigen Unternehmen können hier abgerufen werden.
Der Newsletterinhalt erstreckt sich dabei auf Produkte und Dienstleistungen aller zuvor genannten Unternehmen, darunter beispielsweise Fachzeitschriften und Fachbücher, Veranstaltungen und Messen sowie veranstaltungsbezogene Produkte und Dienstleistungen, Print- und Digital-Mediaangebote und Services wie weitere (redaktionelle) Newsletter, Gewinnspiele, Lead-Kampagnen, Marktforschung im Online- und Offline-Bereich, fachspezifische Webportale und E-Learning-Angebote. Wenn auch meine persönliche Telefonnummer erhoben wurde, darf diese für die Unterbreitung von Angeboten der vorgenannten Produkte und Dienstleistungen der vorgenannten Unternehmen und Marktforschung genutzt werden.
Meine Einwilligung umfasst zudem die Verarbeitung meiner E-Mail-Adresse und Telefonnummer für den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern wie z.B. LinkedIN, Google und Meta. Hierfür darf die Vogel Communications Group die genannten Daten gehasht an Werbepartner übermitteln, die diese Daten dann nutzen, um feststellen zu können, ob ich ebenfalls Mitglied auf den besagten Werbepartnerportalen bin. Die Vogel Communications Group nutzt diese Funktion zu Zwecken des Retargeting (Upselling, Crossselling und Kundenbindung), der Generierung von sog. Lookalike Audiences zur Neukundengewinnung und als Ausschlussgrundlage für laufende Werbekampagnen. Weitere Informationen kann ich dem Abschnitt „Datenabgleich zu Marketingzwecken“ in der Datenschutzerklärung entnehmen.
Falls ich im Internet auf Portalen der Vogel Communications Group einschließlich deren mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen geschützte Inhalte abrufe, muss ich mich mit weiteren Daten für den Zugang zu diesen Inhalten registrieren. Im Gegenzug für diesen gebührenlosen Zugang zu redaktionellen Inhalten dürfen meine Daten im Sinne dieser Einwilligung für die hier genannten Zwecke verwendet werden. Dies gilt nicht für den Datenabgleich zu Marketingzwecken.
Recht auf Widerruf
Mir ist bewusst, dass ich diese Einwilligung jederzeit für die Zukunft widerrufen kann. Durch meinen Widerruf wird die Rechtmäßigkeit der aufgrund meiner Einwilligung bis zum Widerruf erfolgten Verarbeitung nicht berührt. Um meinen Widerruf zu erklären, kann ich als eine Möglichkeit das unter https://contact.vogel.de abrufbare Kontaktformular nutzen. Sofern ich einzelne von mir abonnierte Newsletter nicht mehr erhalten möchte, kann ich darüber hinaus auch den am Ende eines Newsletters eingebundenen Abmeldelink anklicken. Weitere Informationen zu meinem Widerrufsrecht und dessen Ausübung sowie zu den Folgen meines Widerrufs finde ich in der Datenschutzerklärung, Abschnitt Redaktionelle Newsletter.
Die Art und Weise, wie Interrupts gehandhabt werden, hat einen erheblichen Einfluss auf die gesamte Echtzeit-Reaktionsfähigkeit eines Systems wie eines medizinischen Beatmungsgeräts. Übermäßig lange ISRs oder schlechte Prioritätszuweisungen können die Reaktionsfähigkeit des Gesamtsystems beeinträchtigen. Aufgaben mit niedrigerer Priorität, das heißt nicht zeitkritische Aufgaben, werden besser von Hintergrund-Threads und nicht im Interrupt-Kontext behandelt.
In vielen RTOS-basierten Systemen werden Interrupts gelegentlich deaktiviert, um kritische Abschnitte oder gemeinsam genutzte Ressourcen zu schützen. Die Deaktivierung von Interrupts kann jedoch die Reaktionsfähigkeit in Echtzeit stark beeinträchtigen, da in der Zwischenzeit keine neuen Interrupts bedient werden können. Dieser Aufschub der Interrupt-Bearbeitung erhöht die Interrupt-Latenz, was bei zeitkritischen Aufgaben zu verpassten Fristen führen kann. Um diese Risiken abzuschwächen, setzen Echtzeitsysteme in der Regel strenge Grenzen für die Dauer der Interrupt-Abschaltung. Alternativ werden Synchronisationsmechanismen - wie z. B. die Vererbung von Prioritäten - eingesetzt, um Unterbrechungszeiten zu minimieren oder zu eliminieren.
Low-Level-Programmierung
Die Low-Level-Programmierung bietet mehr Kontrolle über die Systemressourcen, ermöglicht eine fein abgestimmte Latenzoptimierung und macht es möglich, jede Mikrosekunde an Leistung zu nutzen. Die Umgehung der Betriebssystemebene durch Bare-Metal-Programmierung kann den mit der Aufgabenplanung, dem Speicherschutz und der Kontextumschaltung verbundenen Overhead eliminieren. Dies wird häufig in extrem kritischen Schleifen verwendet, wie z. B. bei Motorsteuerungssystemen, bei denen Präzision und Timing von größter Bedeutung sind.
Die Optimierung Ihrer Scheduling-Strategie - selbst in einem RTOS - kann die Häufigkeit von Kontextwechseln verringern, was wiederum den Overhead reduziert. Der Einsatz von Strategien wie der Prioritätsvererbung kann ebenfalls dazu beitragen, die korrekte Reihenfolge der Aufgabenausführung beizubehalten.
Hardware-/Software-Co-Design
In eingebetteten Systemen mit ressourcenbeschränkter Hardware ist es von entscheidender Bedeutung, das richtige Gleichgewicht zwischen in Hardware oder in Software implementierten Funktionsblöcken zu finden. Ein Co-Design-Ansatz, der Hardware- und Softwareentwicklungsprozesse integriert, um die Systemleistung und Ressourcennutzung zu optimieren, ist hier entscheidend.
Nehmen wir zum Beispiel eine militärische Drohne, die Hardware-Beschleuniger zur Bildverarbeitung verwendet, um bestimmte Objekte zu erkennen und/oder anzuvisieren. Durch Auslagerung rechenintensiver Bildverarbeitungsaufgaben auf dedizierte Beschleuniger wird die Haupt-CPU entlastet, so dass die Flugsteuerung ohne Latenzspitzen erfolgen kann, was wiederum zu erfolgreich abgeschlossenen Missionen beiträgt. Bei anderen Anwendungen können spezielle Hardware-Beschleuniger, wie FPGAs oder spezielle ML-Prozessoren, eingesetzt werden, um die CPU von kryptografischen Operationen zu entlasten, die sofortige Ergebnisse erfordern. Direkter Speicherzugriff (DMA) entlastet die CPU, indem Datenübertragungen zwischen Peripheriegeräten und Speicher unabhängig voneinander abgewickelt werden. Das erhöht den Durchsatz und verringert die Unterbrechungslast.
Bei der Anwendung dieser Optimierungen ist es wichtig, die Kompromisse zu verstehen (und im Auge zu behalten), die man eingehen muss. Wenn etwa Aufgaben auf spezialisierte Hardware ausgelagert werden, kann die Latenzzeit erheblich reduziert werden, aber auch die Flexibilität (die für wechselnde Arbeitslasten erforderlich sein kann). Ein FPGA ist viel flexibler als ein ASIC, aber immer noch weniger flexibel als ein rein softwarebasierter Ansatz. Zudem erfordert Hardware-Software-Co-Design Fähigkeiten sowohl bei Hardware (Board-Level-Engineering) als auch Software (RTOS-Tuning, Treiberentwicklung), sowie ein gewisses interdisziplinäres Fachwissen. Dieser Co-Design-Ansatz erschwert die Systemüberprüfung, da eine gemeinsame Bewertung des Software-Timings und des Hardware-Verhaltens erforderlich ist. So muss beispielsweise ein spezieller Beschleuniger nicht nur auf seine Funktion, sondern auch auf seine Echtzeit-Interaktion innerhalb des Gesamtsystems überprüft werden, was häufig eine Analyse der Worst-Case-Ausführungszeit erfordert.
Verstehen der Latenz durch Monitoring
Die Verringerung von Latenzen erfordert präzise Messungen, genaue Überwachung und iterative Optimierung. Software-Entwicklungstools und Dienstprogramme wie Trace-Probes können Echtzeitmetriken verfolgen und messen und Einblicke in Interrupt-Latenz, Kontextwechselzeiten, CPU-Auslastung und Speicherzugriff geben. Fortgeschrittene Tools wie die integrierte Entwicklungsumgebung (IDE) MULTI von Green Hills bieten zudem Vorteile wie Back-in-Time-Debugging, synchrone Laufkontrolle oder Multitasking/Multicore-Support (Bild 2).
Diese Tools gewähren Einblick in Interrupt-Services-Zeiten (Wie schnell kann ein ISR initiiert und abgeschlossen werden?), Kontextwechselzeit (Welcher Overhead entsteht durch das Umschalten zwischen Tasks?), Speicherzugriffslatenz (Wie schnell kann das System Daten im RAM oder in den Caches lesen/schreiben?) und protokollbedingte Verzögerungen (Welche Kommunikationslatenz kommt bei Einsatz von SPI, I2C, Ethernet, CAN hinzu?)
Innovate Your Software – for a Smarter Future
Deutschlands Leitkongress der Embedded-Softwarebranche
Das Programm des ESE Kongress umfasst 96 Vorträge, 21 Seminare und 3 Keynotes. Seien Sie dabei, wenn sich die Embedded-Software-Community trifft, und nutzen Sie Diskussionen und Expertengespräche für einen ergiebigen Wissenstransfer und erfolgreiches Networken. Während der vier Kongresstage erwartet Sie zudem eine große Fachausstellung mit den führenden Firmen der Branche. Erfahren Sie alles über die neuesten Trends, Herausforderungen und Lösungen im Embedded Software Engineering, von KI, Safety und Security bis hin zu Management und Innovation.
Mit der Weiterentwicklung eingebetteter Systeme treiben neue Paradigmen wie Künstliche Intelligenz, Maschinelles Lernen und Edge Computing die Innovation beim Entwurf von Systemen mit geringer Latenz voran. Mit KI- und/oder ML-Algorithmen, die lokal implementiert sind statt Cloud-Dienste zu benötigen, ist die Entscheidungsfindung in Echtzeit einfacher zu erreichen. Dies ist etwa bei KI-basierten Kamerasystemen für die Qualitätskontrolle in intelligenten Fabriken von großem Vorteil. Um dies zu ermöglichen, integrieren viele Halbleiterhersteller spezielle Beschleuniger (GPU, DSP, dedizierte Beschleuniger für neuronale Netze) in ihre Produkte.
KI/ML-Algorithmen basieren in der Regel nicht nur auf Multiplikations-Akkumulations-Zyklen (MAC), sondern erfordern auch viele Speichertransaktionen, Modelle müssen mit Techniken wie Quantisierung und Pruning optimiert werden, um die Verarbeitungsgeschwindigkeit auf Edge-Geräten zu erhöhen.
Edge Computing bedeutet im Allgemeinen die Verteilung von Berechnungen auf lokale Geräte, wodurch die Abhängigkeit von zentralen Servern verringert wird. Bei latenzempfindlichen Anwendungen wie intelligenten Fabriken oder vernetzten Fahrzeugen minimiert die Verarbeitung von Daten näher an der Quelle die Kommunikationsverzögerungen. Die Edge-Knoten können in einem solchen Szenario erste Analysen durchführen (z. B. Erkennung von Anomalien, Objekterkennung), bevor sie die zusammengefassten Ergebnisse in die Cloud senden. Dieser Ansatz ist in Fällen, in denen eine sofortige Reaktion erforderlich ist, unerlässlich.
Obwohl die Technologie in diesem Bereich erhebliche Fortschritte gemacht hat, bleiben einige Herausforderungen bestehen. So erfordert die Ausführung komplexer KI-Modelle auf eingebetteter Hardware mit begrenzten Speicher- und Rechenressourcen eine sorgfältige Abwägung zwischen Durchsatz, Genauigkeit und Reaktionsfähigkeit in Echtzeit. Letzteres ist besonders wichtig, wenn harte Echtzeit erforderlich ist und ein RTOS verwendet wird. Die Integration von KI-Aufgaben in ein RTOS-basiertes System erfordert Scheduling-Strategien, die sicherstellen, dass sowohl herkömmliche Echtzeitaufgaben als auch KI-Inferenzaufgaben strenge Fristen einhalten.
Schließlich sind bei der Entwicklung eines KI/ML-basierten Systems auch Saftey und Security zu berücksichtigen. Bei KI-gesteuerten Entscheidungen in sicherheitskritischen Umgebungen ist eine robuste Verifizierung und Validierung unerlässlich. Im Automobilbereich beispielsweise stellen funktionale Sicherheitsnormen wie ISO26262 strenge Anforderungen, die mit KI-gesteuerten, in Echtzeit arbeitenden Steueralgorithmen in Einklang gebracht werden müssen. Das stellt eine besondere Herausforderung für die Verifizierung und Validierung dar.
Künftige Systeme werden wahrscheinlich herkömmliche eingebettete Echtzeitanforderungen mit KI-Funktionen kombinieren. Das beschleunigt die Entwicklung hin zu mehr autonomen, anpassungsfähigen eingebetteten Geräten. Die Entwicklung von Systemen, die RTOS-Optimierungen, Hardware-Beschleunigung und effiziente KI/ML-Frameworks integrieren, sind für die Erfüllung dieser neuen Anforderungen von zentraler Bedeutung.
Künftige Chancen und Herausforderungen
Die Optimierung für niedrige Latenzzeiten ist nach wie vor ein Eckpfeiler des Designs eingebetteter Systeme, insbesondere bei unternehmenskritischen Anwendungen, bei denen Leistung und Sicherheit an erster Stelle stehen. Techniken wie die Optimierung der Interrupt-Verarbeitung, der Einsatz von Echtzeit-Betriebssystemen, die Nutzung von Low-Level-Programmierung und die Implementierung von Hardware-/Software-Co-Design können die Systemlatenz erheblich reduzieren.
KI, ML und Edge Computing bieten neue Möglichkeiten und neue Herausforderungen für Echtzeit-Reaktionsfähigkeit. KI-Workloads, die in Edge-Knoten ausgeführt werden, erfordern sowohl hohe Rechenleistung als auch geringe Latenz, was den Bedarf an speziellen Beschleunigern und fortschrittlichen Echtzeit-Softwarearchitekturen erhöht. Latenzursachen zu verstehen und zu wissen, wie man sie abmildern kann, ist bei der Entwicklung der nächsten Generation intelligenter, agiler und zuverlässiger eingebetteter Systeme entscheidend. (sg)