In komplexen Systemen die aus vielen Software-Modulen bestehen und auf verschiedenen Komponenten eines System on Chip (SoC) ausgebracht sind ist es schwer das große Ganze im Blick zu behalten. Wir können dabei helfen indem wir einen unabhängigen Expertenblick auf das Problem werfen.
Im speziellen halfen wir einem Kunden die Systemauslastung durch Optimierungen auf der Architekturebene zu verringern, in dem wir ein besseres Scheduling von Prozessen entwickelten, Prozesse sinnvoll an CPU-Kerne banden um die hohen Kosten eines Datenaustauschs zu vermeiden und indem wir die Gesamtanzahl an Threads im System reduzierten. Anschließend identifizierten wir die ressourcenverbrauchendsten Benutzeranwendungen und Kommunikations-Gateways und halfen den entsprechenden Teams sie zu optimieren. Unsere Optimierung reduzierte das überlastete System des Kundens um das Äquivalent eines ganzen CPU-Clusters.
Ein paar schnelle Fakten
Hardware:
- SoC: Texas Instruments™ TDA4
- CPUs: Zwei Cluster bestehend aus Arm®-Cortex®-A72-CPUs
Betriebssystem:
- Blackberry® QNX®
Compiler:
- Blackberry QNX Compiler (GCC-basiert)
Zusammenfassung der von uns erzielten Ergebnisse:
- Architekturoptimierung auf Systemebene wie das Scheduling von Prozessen, CPU-Kern-Bindung und reduzierung der Anzahl an Threads
- Optimierung der ressourcenverbrauchendsten Benutzeranwendungen und Kommunikations-Gateways
- Verringerung des Ressourcenverbrauchs um das Äquivalent eines ganzen CPU-Clusters