Heterogene Systeme programmierbar machen

Heterogene Systeme für Bildverarbeitung
Prof. Dr.-Ing. Diana Göh­rin­ger

Das Neuronen-Netz in unserem Kopf ist ein leistungsstarkes Werkzeug. Das Gehirn bearbeitet Videodaten, analysiert mögliche Entwicklungen bestimmter Situationen, reagiert und speichert ab. Die unvorstellbare Geschwindigkeit unseres Gehirnprozessors macht es möglich. Damit moderne Maschinen uns zu immer hilfreicheren Partnern werden können, ist eine dahingehende Entwicklung von Nöten. Und sie sind auf einem guten Weg dahin. Die Grundvoraussetzungen sind bereits teilweise erfüllt. Trotzdem gibt es an gewissen Stellen Handicaps. Die gute Nachricht dabei – sie sind überwindbar. An Beispielen innerhalb konkreter technischer Bereiche, wie z.B. Bildverarbeitung, Fahrerlosen Transportsystemen oder Drohnen, wird die Problematik deutlicher.

Energiehunger

Bereits vor Jahrzehnten wurden mehrere funktionierende Bildverarbeitungsverfahren entwickelt. Seitdem in den letzten Jahren die Leistung der industriellen Rechner das nötige Niveau erreicht hat, werden sie aktiv angewendet. Diese Systeme müssen nicht unbedingt eine gute Auflösung liefern, dafür aber eine rasante Geschwindigkeit der Datenverarbeitung aufbringen können. Dies fordert viel Energie, was besonders bei autonomen Systemen, einen unerwünschten Nebeneffekt darstellt.

Auch von einem Elektromobil, als Musterbeispiel für die Vorzüge neuer Mobilität, wird viel Intelligenz erwartet. Darunter fallen Fahrassistenzsysteme, Personenerkennung usw. Alles zusätzliche Stromverbrauchstellen, die zwar ein lösbares, aber sehr ernstes technisches Problem darstellen. Als problematisch erweist sich ebenso die Kühlung der Systeme bei höherem Energieverbrauch. Bei der Entwicklung von unbemannten fliegenden Anwendungen werden die Anforderungen nicht geringer. Hier geht es nicht nur darum mit der verfügbaren Energie in der Luft zu bleiben, sondern auch blitzschnell auf Kollisionsgefahren reagieren zu können.

„Pünktlichkeit“ des Betriebssystems

Die absolute Berechenbarkeit des Prozesses und dessen Verzögerungen ist eine weitere essentielle Anforderung an solche Systeme. Deterministisches Timing ist hier ein Muss. Dies bedeutet, dass alle Rechenprozesse innerhalb einer definierten Zeitspanne abgeschlossen sein müssen. Dies ist absolut wichtig. Nicht umsonst werden bereits existierende Echtzeitbetriebssysteme permanent weiterentwickelt.

Heterogene Strukturen

Ein echter Flaschenhals bei alledem ist die Heterogenität der Netze und Architekturen. Eine herstellerübergreifende Verwaltung von Soft- und Hardware könnte dem technischen Fortschritt Flügel verleihen.
Genau auf diese Herausforderungen ist die Arbeit des Teams um Prof. Dr. Diana Göhringer von der Ruhr-Universität Bochum ausgerichtet. Im Rahmen des europäischen Forschungsprojektes Tulipp (Towards ubiquitous low-power image processing platforms) wird zusammen mit 7 internationalen Partnern aus Forschung und Industrie ein StarterKit bestehend aus einer kleinen Platine mit vielen Schnittstellen, aufgespieltem Echtzeitbetriebssystem und Toolflow für Programmierungen entwickelt. Ein Testexemplar der Platine ist bereits funktionsfähig.

Bei der Plattform für die weitere Entwicklung der anwendungsspezifischen Applikationen, handelt es sich um einen Prototyp.

Heterogene Architektur
StarterKit

Ziel ist es, den Produzenten von zum Beispiel bildverarbeitenden Modulen Hilfestellung bei der Entwicklung von leistungsstarken energiesparenden Rechnersysteme zu leisten. Solch ein modularer Ansatz zur Unterstützung der heterogenen Struktur ist absolut neu, und bringt auch den Entwicklern der projektspezifischen Anwendungen sichtbare Vorteile. Denn erwirbt ein Unternehmen die Hardware herstellerspezifischer Architektur, ist es de facto gezwungen die Entwicklertools vom Hersteller zu nutzen. Wenn man aber den entwickelten Code für eine andere Architektur verwenden möchte, muss dementsprechend viel angepasst oder neu programmiert werden. Durch die Nutzung des neu entwickelten Kits, soll dieses  Problem reduziert werden. Betriebssystem und Toolflow dieses Moduls sollen die Programmierung eines beliebigen Systems und der Geräte verschiedener Hersteller ermöglichen. Der Toolflow wird als erweiterbares Werkzeug konzipiert und schließlich als Open Source freigegeben. Mit dem neuen Kit können die Entwickler schneller und sicherer arbeiten. Das hat zur Folge, dass Arbeitsstunden reduziert werden können.

Der Prototyp ist für die Anwendungen im Bildverarbeitungsbereich gedacht. Später können ihn interessierte Unternehmen für eigene Weiterentwicklungen in unterschiedlichen Bereichen, wie zum Beispiel Spracherkennung nutzen. Momentan wird in Tulipp an drei Anwendungsfällen gearbeitet. Die Richtung für die Entwicklungsarbeit der Akademiker wird durch fest definierte Ziele vorgegeben.

Überwachung und Rettung. Ziel – Intelligente Drohnen entwickeln
Medizinische Röntgenbildgebung. Ziel – Radiation auf 75% reduzieren
Fortgeschrittene Fahrerassistenz.  Ziel – Mehr Sicherheit fürs Fahren

Die heterogene Plattform ist für verschiedene Prozessortypen und FPGAs ausgelegt und bietet den Entwicklern vor allem viele Schnittstellen und eine hohe Rechenleistung. Die Energieeffizienz wird durch automatische Anpassung der Frequenzen und Abschaltung der nicht verwendenden Komponenten beim Scheduling gewährleistet.
Um die erwünschte Geschwindigkeit der Prozesse zu erreichen, müssen die FPGAs dementsprechend mit der Hardware-Beschreibungssprache programmiert werden. Die Wissenschaftler greifen dafür auf Entwicklungswerkzeuge zurück, welche in der Lage sind aus einem C/C++ Code eine Schaltung zu erzeugen. Dadurch wird die Software für den Prozessor und den FPGA generiert. Gut geeignet dazu ist SDSoC von XLINX. Danach wird der sequenzielle Code harmonisiert und auf alle Rechenelementen (Prozessoren und Hardwarebeschleuniger) gut verteilt.
Das Projekt wird durch mehrere Partner international unterstützt. Um die Hardware kümmert sich das Unternehmen Sundance aus England, das Echtzeitbetriebssystem kommt vom belgischen HIPPEROS, für den use case für medizinische Anwendung ist die französische Firma THALES verantwortlich. THALES koordinitert dieses Forschungsprojekts und wird beim Management von der französischen Firma efficient innovation unterstützt. Der use case für die Fahrerassistenz kommt von der schwedischen Firma Synective Labs und der use case für die intelligenten Drohnen kommt vom Fraunhofer IOSB. Die akademischen Partner Norwegian University of Science and Technology (NTNU) und die Universität Bochum  arbeiten an dem Toolflow.
Das Projekt „Tulipp“ wird durch die Europäische Union mit 4 Millionen Euro gefördert.

Autoren
Prof. Dr. Diana Göhringer
Yevgeniy Kucherskyy

Hinterlasse jetzt einen Kommentar

Kommentar hinterlassen

E-Mail Adresse wird nicht veröffentlicht.


*