Missionskritische Embedded-Systeme – ob in Medizin-, Industrie-, Militär- oder Automotive-Anwendungen – erfordern äußerste Zuverlässigkeit, hohe Leistung und vor allem Reaktionsfähigkeit in Echtzeit. Auf diese Faktoren kommt es auf Hardware- und Software-Ebene an.
Bild 1: Um Latenzzeiten in echtzeitkritischen Systemen verringern zu können braucht es erst einmal Verständnis, wie diese entstehen. Im ersten Teil unserer zweiteiligen Reihe werden die Schlüsselfaktoren untersucht, die sowohl auf Hardware- als auch auf Software-Ebene zur Latenz beitragen.
(Bild: Green Hills Software)
Autonome Fahrzeuge, Industrieroboter, kommerzielle und militärische Drohnen, medizinische Bildgebungssysteme – sie alle verlassen sich auf eingebettete Systeme, um komplexe Berechnungen durchzuführen, manchmal unter Verwendung von Algorithmen der künstlichen Intelligenz (AI) oder des maschinellen Lernens (ML). Verständlicherweise können falsche Ergebnisse oder sogar verzögerte Reaktionen schwerwiegende, manchmal katastrophale Auswirkungen haben. Doch welche Faktoren bestimmen, ob ein eingebettetes System harte Echtzeit erreicht, und welche Techniken können angewandt werden, um die Verzögerungen im Gesamtsystem zu minimieren?
Diese Fragen erfordern eine Antwort auf mehreren Ebenen: Die Latenz eines Systems wird durch Einschränkungen auf der Hardware-Ebene (z. B. Prozessorarchitektur, Kommunikationsschnittstellen) und durch Softwarefunktionen (z. B. Kontextwechsel, Interrupt-Verarbeitung) bestimmt, aber auch durch Entscheidungen auf höherer Ebene beeinflusst, die die Systemarchitektur betreffen.
Was ist Latenz und warum ist sie so wichtig?
Die Latenz, definiert als die Zeitverzögerung zwischen einem Stimulus und der entsprechenden Systemreaktion, unterscheidet sich vom Durchsatz, der die Gesamtverarbeitungskapazität eines Systems misst. Während ein hoher Durchsatz für Plattformen, die große Datenmengen verarbeiten - wie z. B. Videostreaming oder Finanzhandel - unerlässlich ist, ist eine niedrige Latenzzeit für Echtzeitsysteme entscheidend, bei denen jede Mikrosekunde über Erfolg oder Misserfolg entscheiden kann. Eine hohe Latenz hingegen kann zu Leistungseinbußen oder sogar zum Ausfall des Systems führen.
In einem autonomen Fahrzeug beispielsweise müssen Sensordaten nahezu in Echtzeit verarbeitet werden, um eine schnelle Entscheidungsfindung zu gewährleisten und so Unfälle zu vermeiden. Jede Verzögerung in Wahrnehmungs- oder Regelkreisen kann die Sicherheit von Fahrgästen und Fußgängern gefährden.
Faktoren, die zur Latenz beitragen
Latenzzeiten in eingebetteten Systemen sind auf eine Vielzahl von Faktoren zurückzuführen, darunter Hardware- und Softwarearchitektur, Softwaredesign und sogar Kommunikationsprotokolle. Um bessere Entscheidungen treffen zu können, sollten wir uns die System-, Hardware- und Softwareentscheidungen einzeln ansehen.
Systemdesign-Entscheidungen
Eine schlecht abgestimmte Hard- und Software kann zu schwerwiegenden Ineffizienzen führen. So kann beispielsweise die Verwendung einer Hochleistungs-CPU in Kombination mit langsamen Sensoren oder langsamen Kommunikationsbussen zu Engpässen führen. Selbst schnelle Schnittstellen wie Ethernet können im Vergleich zu spezialisierten Protokollen wie CAN, Nachteile in Form von Protokoll-Overhead mit sich bringen. Dies kann die Reaktionszeit erhöhen und die Gesamtleistung des Systems beeinträchtigen.
In einer virtualisierten Umgebung kann es durch Kontextwechsel und Unterbrechungsverzögerungen aufgrund des Overheads eines Hypervisors ebenfalls zu Latenz kommen. In Systemen, die zur Trennung auf Virtualisierung setzen, kann eine unsachgemäße Partitionierung von Ressourcen (z. B. CPU-Kerne, Speicherbereiche) zu Konflikten und unvorhersehbaren Latenzen führen.
In ähnlicher Weise kann die Zuweisung bestimmter Aufgaben oder Unterbrechungen an bestimmte CPU-Kerne (Kernaffinität) unvorhersehbare Verzögerungen bei der Planung verringern. Ohne sorgfältiges Affinitätsmanagement kann das Betriebssystem Aufgaben verschieben, was zu Cache-Thrashing oder kernübergreifendem Kommunikations-Overhead führt. Wenn das System versucht, die Lasten gleichmäßig auf die Kerne zu verteilen, ohne die Echtzeit zu berücksichtigen, können kritische Aufgaben gezwungen sein, hinter Prozessen mit niedrigerer Priorität auf einem ausgelasteten Kern zu warten.
Auch Gleichzeitigkeitsmodelle spielen eine Rolle. Bei Thread-basierter Gleichzeitigkeit kann es zu häufigen Kontextwechseln kommen, während ein ereignisgesteuertes Modell zwar komplexer ist, aber die Latenzzeit oft verringern kann.
Die übermäßige Verwendung von blockierenden E/A-Operationen kann kritische Aufgaben zum Stillstand bringen, während sorgfältig orchestrierte asynchrone Aufrufe die Antwortzeiten insgesamt verkürzen können – vorausgesetzt, die Logik der Ereignisbehandlung ist effizient.
Schließlich führen eingebettete Sicherheitsoperationen wie TLS-Handshakes und sichere Boot-Prozesse, obwohl sie absolut kritisch sind, zu Latenzzeiten, insbesondere wenn sie nicht auf Hardwarebeschleuniger oder optimierte Bibliotheken ausgelagert werden.
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.
Latenzzeit auf Hardware-Ebene
Ein Kernelement eines jeden eingebetteten Systems ist das Prozessor-Subsystem, das durch die Anzahl und den Typ der Kerne definiert ist. Moderne CPU-Designs enthalten oft ausgeklügelte Pipelines und Verzweigungsvorhersagen, die sorgfältig verwaltet werden müssen. Diese Kerne kommunizieren in der Regel über Protokolle wie SPI und I2C mit dem System, was zu Engpässen führen kann, insbesondere wenn das System komplex ist oder wenn mehrere Knoten über den Bus kommunizieren. Sensoren, Aktuatoren oder Motoren erfordern oft eine Analog-Digital- und/oder Digital-Analog-Wandlung, was den Signalpfad zusätzlich verzögert.
Die Speicherzugriffszeit ist ein weiterer kritischer Faktor. Die Wahl des Arbeitsspeichers (z. B. DDR, LPDDR, SDRAM oder On-Chip-SRAM) beeinflusst die Latenzzeit, wobei schnellere oder engere Speicher die Wartezeit in kritischen Schleifen verkürzen. Breitere Datenbusse können mehr Daten pro Taktzyklus übertragen, wodurch sich die Gesamtzeit für speicherintensive Operationen verringert.
Viele eingebettete Systeme verwenden Beschleuniger, um bestimmte Aufgaben auszulagern (z. B. die Signalverarbeitung). Dies kann die CPU-Belastung und die Gesamtlatenzzeit verringern, führt jedoch zu einem Mehraufwand bei der Datenübertragung und Synchronisierung. So ermöglichen beispielsweise FPGAs (Field Programmable Gate Array) kundenspezifische Hardware-Pipelines, die auf bestimmte Arbeitslasten zugeschnitten sind und oft eine niedrige, deterministische Latenz erreichen, aber spezielle Designkenntnisse erfordern. In bildverarbeitungsbasierten Systemen kann ein eingebauter ISP (Image Signal Processor) oder eine GPU (Graphic Processing Unit) die Bildvorverarbeitung parallel zu anderen Aufgaben durchführen.
Bild 2: Der Interrupt-Controller kann einen erheblichen Einfluss auf die Gesamtlatenzzeit des Systems haben.
(Bild: Green Hills Software)
Die Architektur der Unterbrechungssteuerung spielt ebenfalls eine wichtige Rolle für die Latenzzeit des Systems. Fortschrittliche Interrupt-Controller (z. B. verschachtelte vectored Interrupt-Controller) können die Latenzzeit verringern, indem sie Interrupts durch Prioritätsgruppierung und Verschachtelung effizienter leiten und es dem System so ermöglichen, dringende Interrupts schneller zu bearbeiten (Bild 2).
Eine bemerkenswerte Komponente ist das Hardware-Sicherheitsmodul (HSM), das eine hardwarebasierte Ver-/Entschlüsselung mit minimalen Leistungseinbußen in sicherheitsbewussten Systemen durchführt.
Latenzzeit auf Software-Ebene
Auf der Softwareseite hängt die Latenz davon ab, wie effizient das System Aufgaben verwaltet, auf Ereignisse reagiert und Ressourcenkonflikte bewältigt. In eingebetteten Systemen spielen Echtzeit-Betriebssysteme (Real-Time Operating System, RTOS) eine zentrale Rolle, indem sie die Gleichzeitigkeit koordinieren und zeitkritischen Operationen Priorität einräumen. Während RTOS durch Kontextwechsel Multitasking ermöglichen, kann ein übermäßiger oder schlecht verwalteter Wechsel zu einem nicht unerheblichen Overhead führen, insbesondere wenn die Anzahl der Aufgaben steigt.
Interrupts sind eine weitere wichtige Quelle für Latenzzeiten, insbesondere wenn ihre Serviceroutinen lang sind oder keine angemessene Priorisierung aufweisen. Unzureichend behandelte Interrupts können die Ausführung von Aufgaben verzögern und zu unvorhersehbarem Verhalten führen.
Abstraktionsschichten – wie beispielsweise Gerätetreiber, Middleware-Stacks und Systemdienste – vereinfachen die Entwicklung und verbessern die Portabilität, erhöhen jedoch die Verarbeitungszeit. Verzögerungen entstehen auch durch die Kommunikation zwischen Aufgaben, die gemeinsame Ressourcen oder das Kopieren von Daten beinhalten. Wenn die Kommunikation auf Puffern oder Warteschlangen beruht, kann es zu Verzögerungen kommen, wenn Sperrmechanismen einen rechtzeitigen Zugriff verhindern. Eine sorgfältige Abstimmung - wie die Optimierung der Puffergrößen, die Verringerung der Häufigkeit von Kontextwechseln oder die Implementierung sperrfreier Strukturen – kann diese Verzögerungen erheblich verringern.
Die Speicherverwaltung ist ein weiterer wichtiger Faktor. Eingebettete Systeme, die stark auf dynamische Speicherzuweisung angewiesen sind, neigen mit der Zeit zu einer Fragmentierung des Heaps, was die Zuweisungslatenz erhöhen kann, da das System nach geeigneten Speicherblöcken sucht. Um dieses Problem zu entschärfen, setzen Echtzeitanwendungen häufig auf statische Speicherzuweisung oder vorab zugewiesene Speicherpools, die eine Heap-Verwaltung zur Laufzeit überflüssig machen, unvorhersehbare Verzögerungen beim Speicherzugriff reduzieren und deterministische Zugriffszeiten bieten.
Kritische Abschnitte – in denen gemeinsam genutzte Ressourcen gesperrt sind - können ebenfalls zu Verzögerungen führen, wenn sie Aufgaben mit hoher Priorität oder die Unterbrechungsbehandlung blockieren. Wenn diese geschützten Abschnitte zu lang sind, wird die Fähigkeit des Systems, in Echtzeit zu reagieren, beeinträchtigt. Um dies zu verhindern, sollten die Entwickler kritische Abschnitte so kurz wie möglich halten und gegebenenfalls sperrfreie Datenstrukturen verwenden, um die Konsistenz ohne Blockierung zu gewährleisten.
Letztendlich erfordert die Minimierung der softwarebedingten Latenz eine Anpassung der Systemarchitektur an die Ausführungszeitgarantien, insbesondere bei sicherheitskritischen Anwendungen.
Zusammenfassung und weiterer Ausblick
Die Optimierung niedriger Latenzzeiten ist nach wie vor ein Eckpfeiler des Designs eingebetteter Systeme, insbesondere bei unternehmenskritischen Anwendungen, bei denen Leistung und Sicherheit an erster Stelle stehen. Es ist wichtig, die verschiedenen Elemente zu verstehen, die zur Systemlatenz beitragen. Teil zwei dieses Artikels wird weitere Einblicke in Techniken wie die Optimierung der Interrupt-Verarbeitung, den Einsatz von Echtzeit-Betriebssystemen, die Nutzung von Low-Level-Programmierung und die Implementierung von Hardware-/Software-Co-Design geben, die die Systemlatenz erheblich reduzieren können.
Mit Blick auf die Zukunft ergeben sich durch die Integration von künstlicher Intelligenz, Machine Learning und Edge Computing neue Möglichkeiten – und neue Herausforderungen – für die Reaktionsfähigkeit in Echtzeit. KI-Workloads, die am Edge ausgeführt werden, erfordern sowohl eine hohe Rechenleistung als auch eine geringe Latenz, was den Bedarf an speziellen Beschleunigern und fortschrittlichen Echtzeit-Softwarearchitekturen erhöht. Die Ursachen der Latenz zu verstehen und zu wissen, wie man sie abmildern kann, wird auch bei der Entwicklung der nächsten Generation intelligenter, agiler und zuverlässiger eingebetteter Systeme von entscheidender Bedeutung sein. (sg)
* Ofra Bechor arbeitet für Green Hills Software als Regional Field Applications Engineer in der Niederlassung in Tel Aviv.