Runtime System

Effiziente Middleware

Typische Abstraktionsschichten in moderner embedded Automotive-Software.

Middleware ist ein wichtiger Baustein in einer modernen Systemarchitektur. Sie stellt komplexe Dienste wie Scheduling von Tasks und die Kommunikation zwischen ebendiesen bereit. Anwendungen benutzen sie typischerweise ausschließlich und nicht das unterliegende Betriebssystem. Im Auto­mo­tive-Be­reich ist ein Beispiel für eine standardisierte Middle­ware-Schnitt­stel­le die AUTO­SAR™ Adaptive Platform.

Wir halfen unserem Kunden seine Mid­dle­ware-Im­ple­men­ta­tion effizienter zu machen. Der Kunde stellte vereinfachte Test-Setups zur Verfügung, welche typische Anwendungsfälle beinhalteten. Wir analysierten die Middleware und optimierten den Quellcode. Im speziellen reduzierten wir die Anzahl der kostspieligen OS-Aufrufe und Synchronisationsprimitiven auf das nötige Minimum. Auf diese Art machten wir eine Beschleunigung um den Faktor 2 möglich. Zudem halfen wir unserem Kunden Richtlinien für die effizientere Anwendung seines Produktes zu formulieren.

Ein paar schnelle Fakten

Hardware:

  • CPU: Arm® Cortex®-A72

Betriebssystem:

  • Blackberry® QNX®

Compiler:

  • Blackberry QNX Compiler (GCC-basiert)

Zusammenfassung der von uns erzielten Ergebnisse:

  • Analyse und Optimierung der Middleware
  • Reduzierung der Anzahl der OS-Aufrufe und Synchronisationsprimitive auf das nötige Minimum
  • Beschleunigung um den Faktor 2 des bereitgestellten Test-Setups
  • Richtlinien zur Benutzung durch den Kunden um Effizienz noch weiter zu erhöhen
Alle genannten Produkte oder Dienstleistungsnamen und Handelsmarken sind das Eigentum ihrer respektiven Eigentümer.