Trend Embedded: Parallel ist schnell

| |
1 Star2 Stars3 Stars4 Stars5 Stars

Embedded-Systeme werden immer komplexer. Damit kommen auf die in ihnen verbauten Mikrocontroller mehr Aufgaben zu, die sie in kürzerer Zeit und noch zuverlässiger als heute abzuarbeiten haben.

Zukünftige Embedded-Systeme werden von leistungsfähigen Mikrocontrollern mit mehreren Recheneinheiten gesteuert, geregelt und überwacht. Solche Multicore-Prozessoren liefern eine hohe Rechenleistung bei vergleichsweise geringem Energieverbrauch. Allerdings bringen erst richtig beherrschte Vielkern-Prozessoren ihre volle „eingebettete“ Leistung. Denn was auf dem Desktop oder etwa in der Telekommunikation, wo gleichzeitig viele gleichartige und rechenintensive Aufgaben zu erledigen sind, gut funktioniert, ist in Embedded-Systemen komplizierter.

Parallel ist schwer

Die drei Software-Technologien Autosar, Genivi/Linux und Android laufen parallel und strikt separiert auf virtuellen Maschinen, die nicht notwendigerweise mit einzelnen Kernen identisch sind. Derzeit kommen dafür Multicore-CPUs mit bis zu vier Kernen zum Einsatz. (Bild Continental)
Die drei Software-Technologien Autosar, Genivi/Linux und Android laufen parallel und strikt separiert auf virtuellen Maschinen, die nicht notwendigerweise mit einzelnen Kernen identisch sind. Derzeit kommen dafür Multicore-CPUs mit bis zu vier Kernen zum Einsatz. (Bild Continental)

Die Programmierung und Wartung paralleler Software-Architekturen ist aufgrund ihrer Komplexität generell sehr schwierig. Im Embedded-Bereich müssen dazu das Echtzeitverhalten und die begrenzten Ressourcen gehandhabt werden. Noch gibt es keine geeigneten Entwicklungstools, die beide Aspekte – Parallelität und Embedded-Systeme – berücksichtigen.

So wurden in einer vom Fraunhofer ESK durchgeführten Umfrage unter rund 50 Software-Entwicklern Software-Werkzeuge für Debugging und Testvon Multicore-Umgebungen gefordert. Dabei bemängelte man insbesondere das Debugging zeitkritischer Software, die Reproduzierbarkeit von Fehlern und unzureichend spezifizierte Anforderungen. Darüber hinaus spielen aber auch die hohen Beschaffungskosten für Softwarewerkzeuge eine maßgebende Rolle. Nach den Wünschen der Entwickler sollten zukünftige Werkzeuge insbesondere Softwareanforderungen wie Performanz, deterministisches Verhalten und Echtzeit berücksichtigen. Als besonders herausfordernd sehen sie hierbei aber die Schwierigkeit parallele Strukturen mit bestehenden Programmiersprachen abzubilden.

Mehr Kerne für Europa

Um Multicore fit für Embedded Systeme zu machen, wird weltweit geforscht und entwickelt. So beschäftigt sich EMC2, das Schlüsselprojekt für den Ausbau der europäischen Embedded-Expertise, mit Multicore-Prozessoren, um Embedded-Systeme für die Automobil- und Fertigungsindustrie, für das Internet der Dinge, das Gesundheitswesen, sowie die Luft- und Raumfahrt leistungsfähiger und effizienter zu machen. Unter der Führung von Infineon wollen die Projektpartner an einer neuen Mehrkern-Mikrocontroller-Architektur forschen, die so flexibel und zuverlässig ist, dass sie in allen relevanten industriellen Anwendungsbereichen in Europa eingesetzt werden kann.

Hypervisor – der Chef im Ring

Continental setzt dagegen auf die sogenannten Hypervisor-Technologie. Damit lassen sich Software-Welten mit unterschiedlichen Anforderungen sicher auf einer Hardware zusammenführen. Die in Zusammenarbeit mit SYSGO ins Auto transferierte Hypervisor-Technologie erlaubt es AUTOSAR-Systeme, GENIVI Anwendungen und Android Apps gemeinsam zu betreiben. Dazu teilt der Hypervisor die Rechenleistung eines Multikern-Prozessors in mehrere virtuelle Rechner auf. Solche Hypervisor-Architekturen werden bereits erfolgreich in der Luftfahrt, Bahn- und Medizintechnik genutzt.

Multicore Fraunhofer ESK

Multicore-Prozessoren finden sich zunehmend in eingebetteten Systemen. Sie sind inzwischen günstig und bieten eine hohe Rechenleistung. (Bild: Fraunhofer ESK)