Runtime System

Übergreifende Systemoptimierung

Beispiel einer komplexen Sys­tem­kom­mu­ni­ka­ti­ons­struk­tur.

In komplexen Systemen die aus vielen Soft­ware-Mo­du­len 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-Ker­ne 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 Kom­mu­ni­ka­tions-Gate­ways 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 Kom­mu­ni­ka­tions-Gate­ways
  • Verringerung des Ressourcenverbrauchs um das Äquivalent eines ganzen CPU-Clusters
Alle genannten Produkte oder Dienstleistungsnamen und Handelsmarken sind das Eigentum ihrer respektiven Eigentümer.