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 Automotive-Bereich ist ein Beispiel für eine standardisierte Middleware-Schnittstelle die AUTOSAR™ Adaptive Platform.
Wir halfen unserem Kunden seine Middleware-Implementation 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