Edag Weltweit

    Vehicle Engineering
    br
    Brasilien
    cn
    China
    gb
    Großbritannien
    it
    Italien
    jp
    Japan
    my
    Malaysia
    mx
    Mexiko
    nl
    Niederlande
    se
    Schweden
    pl
    Polen
    ch
    Schweiz
    es
    Spanien
    cz
    Tschechien
    hu
    Ungarn
    us
    USA
    Production Solutions
    br
    Brasilien
    cn
    China
    in
    Indien
    mx
    Mexiko
    se
    Schweden
    cz
    Tschechien
    hu
    Ungarn
    us
    USA

    tech insights

    Performance Engineering – Wenn Skalierung der Rechenhardware an ihre Grenzen stößt

    Leistung wird oft mit Geschwindigkeit gleichgesetzt. So entscheidet eventuell ein hauchdünner zeitlicher Vorsprung von zweieinhalb Zehntel – also 0,25 Sekunden – im Sport oder in der Formel 1 über Sieg oder Niederlage. Doch nicht nur auf der Rennstrecke ist Schnelligkeit ein entscheidendes Kriterium für den Erfolg. Auch im Inneren unserer Fahrzeuge spielt die Performance nicht zuletzt durch die Digitalisierung und hochmoderne Entwicklungen wie Autonomes Fahren, Fahrerassistenzsysteme und eine Vielzahl von Innovationen im Bereich der Elektronik eine entscheidende Rolle. Die OEMs arbeiten mit Hochdruck daran, riesige Datenmengen, die es dabei sekündlich zu orchestrieren gilt und die den Prozessoren eine immense Rechenleistung abverlangen, auch in der dazugehörigen Hardware unterzubringen. Diese Funktionalitäten werden durch Unmengen von Algorithmen gesteuert, die sich durch eine Optimierung bzw. ein Umschreiben deutlich besser nutzen ließen. Aus diesem Ansatz – der Reduzierung des Fußabdrucks von Algorithmen – hat sich im Engineering das sogenannte Performance Engineering entwickelt. Auch EDAG setzt seit 2019 auf eine Optimierung auf Instruktionsebene, auf die Optimierung von Algorithmen bzw. Datenstrukturen und Vektorisierung.

    Auf die inneren Werte kommt es an: heben Sie sich durch die Funktion und deren Harmonie vom Wettbewerb ab.

    Guideline-Performance-Engineering


    In Zeiten, in denen die Hardware für viele gleichermaßen verfügbar ist, gilt es, sich über die Funktion und hier insbesondere die Harmonie und Fülle der Funktionen einen Marktvorteil zu schaffen. Hardwarehersteller kommen an physikalische Grenzen und die Software muss innovativer werden, um mehr Funktionen auf der gleichen Rechenkapazität abzubilden. Durch das exponentielle Wachstum der Menge an Daten steigt die Anforderung an leistungsstarke Speichermedien, die diese verarbeiten können, stetig an und um so wichtiger wird es, nachhaltige Algorithmen zu schaffen.

    Das Ende des Moores Laws – wonach sie die Rechenleistung von Prozessoren verlässlich alle 18 Monate verdoppelt - eröffnet auch Chancen für Methodik und Innovationskraft. Durch den Ruf der Kunden nach Innovationen im Bereich der Sicherheit, aber auch den immer höheren Anforderungen von Verbrauchertests (z.B. NCAP) und Homologation müssen die OEMs diesem Druck nachgeben und immer mehr Funktionalitäten im Fahrzeug unterbringen. Gerade im Bereich der Fahrerassistenz-systeme und dem Autonomen Fahren entstehen dabei sehr komplexe Aufgabenstellungen im Bezug auf die Rechnerleistung.

    Im Vordergrund steht bei den Automobilherstellern immer die Realisierung der Entwicklungspläne und der Fokus liegt ganz klar auf der Funktionalität – „Make it work“ heißt hier die Devise. Große Entwicklungsteams, arbeiten unabhängig voneinander teilweise über mehrere Jahre an hochkomplexen Aufgabenstellungen, wie Schildererkennung, Objekterkennung, etc.. Am Ende müssen alle Funktionen ins Fahrzeug gebracht werden und man stellt fest, dass die Rechenpower nicht ausreicht, um alles gleichzeitig auszuführen zu können. Rückt der „Start of Production“ näher, dann läuft den OEMs die Zeit davon und sie geraten mehr und mehr unter Druck. Spätestens jetzt gilt es Algorithmen zu reduzieren und das Potential für Optimierungen zu erkennen und umzusetzen, um dieses Problem zu lösen.

    Viele Wege führen nach Rom. Mit Performance Engineering finden wir für Sie den effizientesten.

    Guideline-Performance-Engineering


    Genau hier setzt das Performance Engineering an: Algorithmen, die ihre Anforderungen bereits vollständig erfüllen, werden mit der Absicht des Reengineerings betrachtet und mit den unterschiedlichsten Fragestellungen unter der Prämisse „Make it fast“ genau unter die Lupe genommen:

    • Wie effizient ist die CPU ausgelastet?
    • Gibt es Eigenheiten der Rechenhardware, die sich durch Umschreiben der Algorithmen besser nutzen lassen?
    • Lässt sich die algorithmische Komplexität reduzieren?

    Im Vordergrund der Analysen unserer Optimierer steht dabei immer die bestmögliche Leistung im Hinblick auf Rechenzeit, Speicherausnutzung und Datenübertragung. Die Programme, die wir für diesen Prozess des Performance Engineerings verwenden, sind Open Source Programme im Linux Umfeld, in denen wir uns verschiedene Skripte und Tools gebaut haben. Diese nutzen wir unter anderem für: Laufzeitanalysen, Ressourcen Optimierung, Vektorisierung, Algorithmische Analysen und Verbesserungen und der Änderung von Datenstrukturen.

    Dafür evaluieren wir die Bausteine der verwendeten Algorithmen und prüfen sie auf Stabilität und Leistung. So können Entwicklungen konstruktiv optimiert werden und das Leistungsniveau bestehender Systeme bzw. der Problemstellungen analysiert werden. Elemente in der Software, die redundant sind bzw. keinen wesentlichen Beitrag zum Ergebnis liefern, werden freigegeben. Darüber hinaus wird die Speichernutzung dahingehend umprogrammiert, dass möglichst auf einem kleinen Speicherbereich gearbeitet werden kann. D.h. der gleiche Speicherbereich kann anders genutzt werden, der Algorithmus wird umgeschrieben, um ihn effizienter zu machen und nicht länger benötigte Hardwareressourcen freizugeben. Auch das ist ein Beispiel für die Umsetzung unserer Optimierungsstrategie.

    Wichtig ist es auch, die verschiedenen Methoden und Eigenheiten der Algorithmen zu kennen und diese bei der Entwicklung im Hinterkopf zu behalten, was sehr selten geschieht. Deswegen muss der Algorithmus im Hinblick auf unterschiedliche Aspekte mehrfach betrachtet werden. So spielt die Anzahl an Daten, die auf einmal verarbeitet werden müssen, eine wichtige Rolle. Durch bestimmte Techniken kann beispielsweise nicht nur ein Wert auf verarbeitet werden, sondern 4, 8 oder 16 Werte auf einmal. Durch diese Vektorisierung und andere Optimierungen kommen wir dann auf höhere Speed-Up Faktoren, die z.B. Faktor 10 sein könnten. Der Speed-Up verhält sich dazu annähernd linear. Insgesamt wird dadurch weniger Speicher und Prozessor Zeit benötigt.

    Selbstverständlich brauchen wir für unsere Optimierung auch immer das Knowhow unserer Kunden. Sie haben sich viele Monate, teilweise Jahre hinweg mit der Entwicklung befasst und sehr viel Wissen zu dieser speziellen Problemstellung aufgebaut. Für die Optimierungsstrategie ist es wichtig, sie auch als Sparringspartner für die Analyse und die Realisierung zu Rate zu ziehen. Der OEM oder Tier1 kennt die Wege, die für die Entwicklung notwendig waren, welche Meilensteine für die verschiedenen Softwarekomponenten gesetzt wurden, die dann letzten Endes dazu geführt haben, dass die Rechnerhardware nicht ausreicht. So beraten wir die Entwicklungsteams der OEMS und prüfen beispielsweise, ob die Verwendung der Datenstrukturen effizient ist, analysieren die Elemente der Programmiersprache, etc.

    Wichtig ist dafür auch ein Perspektivenwechsel: Durch die unterschiedlichen Kompetenzen, die wir für das Performance Engineering bei EDAG einsetzen können, haben wir auch immer verschiedene Ansätze, die in die Überlegungen mit einfließen und schnell zeigen, ob sich der eingeschlagene Weg nicht doch noch effizienter realisieren lässt.

    Für „Make it fast“ haben wir einen wahren Werkzeugkasten an ganz besonderen Expertisen. So finden Sie in unserem interdisziplinären Team, das über alle Standorte und Fachbereiche verteilt ist, verschiedene Backgrounds, das heißt Physiker, Mathematiker oder Informatiker, die ihr Wissen, ihre Vorüberlegungen- und Erfahrungen auch aus den unterschiedlichsten Branchen mit in die Beratung und die Prozesse - auch vor dem Hintergrund der Sicherheit - einfließen lassen.

    Der Schlüssel zum Erfolg ist dabei immer unterschiedlich: Wir betrachten Problemstellungen aus unterschiedlichen Perspektiven - einmal von einer Software Engineering Seite, aus der mathematischen Perspektive oder auch aus der Datenstruktur Perspektive. Abhängig davon, wie der Algorithmus aufgebaut ist, unterscheiden sich die Herangehensweisen, um möglichst effizient zur Lösung zu gelangen. Die Lösungsansätze sind dabei sehr vielfältig, was das Thema auch jeden Tag aufs Neue spannend macht.

    Markus Kohout, Program Manager Autonomous Drive & Safety, weiß aus unterschiedlichsten Projekten und vielen Gesprächen mit Entwicklungsteams bei OEMs, dass das Thema Performance Engineering, sprich die Optimierung von Laufzeiten, Ressourcen und Datenstrukturen bei den Automobilherstellern großgeschrieben wird. Viele sind mit dieser Problematik konfrontiert und müssen viele komplexe Funktionen ihrer Software auf möglichst wenig Hardware unterbringen. Zusätzlich ist die Zeit für derartige Optimierungsprozesse sehr knapp bemessen. Stehen Sie mit Ihrer Software Entwicklung an einem ähnlich markanten Punkt? Dann freut sich unser Team auf Ihre Herausforderung und die Möglichkeit, wieder den Fußabdruck eines Algorithmus zu reduzieren.

    Zusätzlich hat unser Experte Dr. Tobias Schmitt, Entwicklungsingenieur der EDAG Engineering GmbH eine Guideline mit den 17 wichtigsten Schritten für die Laufzeitoptimierung zusammengestellt. Diese kann Ihnen zusätzlich einen guten Einblick in die Thematik und die ersten Ansätze für eine Optimierung geben.

    Laden Sie sich die Guideline jetzt herunter:

    Performance Engineering Guideline

    Jetzt Guideline herunterladen
    Experten- gespräch  vereinbaren >>

    Ähnliche Beiträge

    Moderne Fahrzeuge entwickeln sich zunehmend hin zu rollenden Computern – immer mehr Features basieren auf Software. Je komplexer solche „Software Defined Vehicles“ (SDV) werden, umso schwieriger wird es, das Timing im Griff zu behalten und übermäßige Latenzen („Totzeiten“) zu vermeiden. Mit der von EDAG und INCHRON entwickelten Toolchain lassen...

    >> Mehr Lesen
    Ein Park-Assistent wird vor allem dann benötigt, wenn es eng und unübersichtlich wird. Damit der Helfer dann nicht einfach den Dienst einstellt oder dutzendfach hin- und herrangiert, müssen die Systeme in aufwändigen Testreihen validiert und optimiert werden. Das kostet Zeit und Geld. Doch nun kommt von EDAG eine Alternative: das Automated...

    >> Mehr Lesen
    Mit der stärkeren Vernetzung von Pkw und Nutzfahrzeugen steigen auch die Cybersecurity-Risiken. Ab Juli 2024 werden daher in der EU nur noch Neufahrzeuge zugelassen, deren Hersteller mit geeigneten Lösungen für die Abwehr von Angriffen, das Aufspüren und Ausmerzen von Schwachstellen und einen sicheren Betrieb gewährleisten können. Dass...

    >> Mehr Lesen
    EDAG Logo

    EDAG

    Kreuzberger Ring 40, 65205 Wiesbaden
    p +49 661 6000-0 f +49 661 6000-223