Embedded-Software Fraunhofer optimiert Multicore-Programmierung

Das Fraunhofer-Institut für experimentelles Software-Engineering hat Tools entwickelt, die in einer modellorientierten Umgebung wie Simulink automatisch den erzeugten Code parallelisieren, damit Multicore-Prozessoren optimal genutzt werden.

Analog zu der momentan stattfindenden Konsolidierung und Virtualisierung von Servern wird dieser Trend auch bei der Zusammenführung von Electronic Control Units (ECU) in eingebetteten Systemen sichtbar. Begünstigt wird dies durch Mehrkernprozessoren, die eine effiziente Verteilung anfallender Arbeiten auf mehrere Rechenkerne ermöglichen. Ferner lässt sich so eine größere Redundanz und damit mehr Ausfallsicherheit erreichen.

Das Fraunhofer-Institut für experimentelles Software-Engineering (IESE), Karlsruhe, will modellorientierte Entwicklungswerkzeuge so erweitern, dass sie Software automatisch parallelisieren können. Bei den Prozessoren, die das Fraunhofer-Institut im Blick hat, handelt es sich nicht um hochgetaktete Intel-Chips mit mehreren gleichartigen Kernen sondern um Mikrocontroller-Architekturen, die aus mehreren langsameren, dafür aber spezialisierten Rechenkernen bestehen.

Um diese Prozessoren effektiv nutzen zu können müssen jedoch Anwendungen bzw. deren Algorithmen parallelisiert werden. Dabei muss auch die Kommunikation berücksichtigt werden. Parallele Algorithmen müssen miteinander Daten austauschen, was über geteilte Speicherbereiche, Bussysteme oder Punkt-zu-Punkt-Verbindungen geschieht. Der Wettbewerb um diese Kommunikationsressourcen sowie sich kreuzende Nachrichtenströme können hohe Leistungseinbußen nach sich ziehen.

Der Ansatz des Fraunhofer IESE setzt auf modellgetriebene Tools wie Simulink und berücksichtigt spezialisierte Rechenkerne und Kommunikationsnetzwerke bei der Parallelisierung. So sollen Beeinträchtigungen von Anfang an verhindert werden. Gleichzeitig müssen kritische Zeitschranken eingehalten werden, wie sie etwa für die Reaktionszeiten von Airbags existieren. In dieser Komplexität ist dies bisher keinem Alternativansatz im Bereich der Mehrkernprozessoren-Optimierung gelungen.

Großer Vorteil für Entwickler: Das Ganze kann vollautomatisch oder unterstützend genutzt werden, was hohe Kosteneinsparungen in der aufwändigen Entwicklungsphase garantiert. Das Fraunhofer IESE hat diesen Ansatz zur Patentierung eingereicht.

Großer Vorteil für Entwickler: Das Ganze kann vollautomatisch oder unterstützend genutzt werden, was hohe Kosteneinsparungen in der aufwändigen Entwicklungsphase garantiert. Das Fraunhofer IESE hat diesen Ansatz zur Patentierung eingereicht.Großer Vorteil für Entwickler: Das Ganze kann vollautomatisch oder unterstützend genutzt werden, was hohe Kosteneinsparungen in der aufwändigen Entwicklungsphase garantiert. Das Fraunhofer IESE hat diesen Ansatz zur Patentierung eingereicht.Analog zu der momentan stattfindenden Konsolidierung und Virtualisierung von Servern wird dieser Trend auch bei der Zusammenführung von Electronic Control Units (ECU) in eingebetteten Systemen sichtbar. Begünstigt wird dies durch Mehrkernprozessoren, die eine effiziente Verteilung anfallender Arbeiten auf mehrere Rechenkerne ermöglichen. Ferner lässt sich so eine größere Redundanz und damit mehr Ausfallsicherheit erreichen.

Das Fraunhofer-Institut für experimentelles Software-Engineering (IESE), Karlsruhe, will modellorientierte Entwicklungswerkzeuge so erweitern, dass sie Software automatisch parallelisieren können. Bei den Prozessoren, die das Fraunhofer-Institut im Blick hat, handelt es sich nicht um hochgetaktete Intel-Chips mit mehreren gleichartigen Kernen sondern um Mikrocontroller-Architekturen, die aus mehreren langsameren, dafür aber spezialisierten Rechenkernen bestehen.

Um diese Prozessoren effektiv nutzen zu können müssen jedoch Anwendungen bzw. deren Algorithmen parallelisiert werden. Dabei muss auch die Kommunikation berücksichtigt werden. Parallele Algorithmen müssen miteinander Daten austauschen, was über geteilte Speicherbereiche, Bussysteme oder Punkt-zu-Punkt-Verbindungen geschieht. Der Wettbewerb um diese Kommunikationsressourcen sowie sich kreuzende Nachrichtenströme können hohe Leistungseinbußen nach sich ziehen.

Der Ansatz des Fraunhofer IESE setzt auf modellgetriebene Tools wie Simulink und berücksichtigt spezialisierte Rechenkerne und Kommunikationsnetzwerke bei der Parallelisierung. So sollen Beeinträchtigungen von Anfang an verhindert werden. Gleichzeitig müssen kritische Zeitschranken eingehalten werden, wie sie etwa für die Reaktionszeiten von Airbags existieren. In dieser Komplexität ist dies bisher keinem Alternativansatz im Bereich der Mehrkernprozessoren-Optimierung gelungen.

Großer Vorteil für Entwickler: Das Ganze kann vollautomatisch oder unterstützend genutzt werden, was hohe Kosteneinsparungen in der aufwändigen Entwicklungsphase garantiert. Das Fraunhofer IESE hat diesen Ansatz zur Patentierung eingereicht.Analog zu der momentan stattfindenden Konsolidierung und Virtualisierung von

Servern wird dieser Trend auch bei der Zusammenführung von Electronic Control

Units (ECU) in eingebetteten Systemen sichtbar. Begünstigt wird dies durch

Mehrkernprozessoren, die eine effiziente Verteilung anfallender Arbeiten auf

mehrere Rechenkerne ermöglichen. Ferner lässt sich so eine größere Redundanz

und damit mehr Ausfallsicherheit erreichen.

Das Fraunhofer-Institut für experimentelles Software-Engineering (IESE),

Karlsruhe, will modellorientierte Entwicklungswerkzeuge so erweitern, dass sie

Software automatisch parallelisieren können. Bei den Prozessoren, die das

Fraunhofer-Institut im Blick hat, handelt es sich nicht um hochgetaktete

Intel-Chips mit mehreren gleichartigen Kernen sondern um

Mikrocontroller-Architekturen, die aus mehreren langsameren, dafür aber

spezialisierten Rechenkernen bestehen.

Um diese Prozessoren effektiv nutzen zu können müssen jedoch Anwendungen bzw.

deren Algorithmen parallelisiert werden. Dabei muss auch die Kommunikation

berücksichtigt werden. Parallele Algorithmen müssen miteinander Daten

austauschen, was über geteilte Speicherbereiche, Bussysteme oder

Punkt-zu-Punkt-Verbindungen geschieht. Der Wettbewerb um diese

Kommunikationsressourcen sowie sich kreuzende Nachrichtenströme können hohe

Leistungseinbußen nach sich ziehen.

Der Ansatz des Fraunhofer IESE setzt auf modellgetriebene Tools wie Simulink

und berücksichtigt spezialisierte Rechenkerne und Kommunikationsnetzwerke bei

der Parallelisierung. So sollen Beeinträchtigungen von Anfang an verhindert

werden. Gleichzeitig müssen kritische Zeitschranken eingehalten werden, wie sie

etwa für die Reaktionszeiten von Airbags existieren. In dieser Komplexität ist

dies bisher keinem Alternativansatz im Bereich der

Mehrkernprozessoren-Optimierung gelungen.

Großer Vorteil für Entwickler: Das Ganze kann vollautomatisch oder

unterstützend genutzt werden, was hohe Kosteneinsparungen in der aufwändigen

Entwicklungsphase garantiert. Das Fraunhofer IESE hat diesen Ansatz zur Patentierung eingereicht.