Geschwindigkeitserhöhung

Geschwindigkeitserhöhung

Mehr aus Mehrkernprozessoren herausholen

Die Softwareentwicklung für eingebettete Mehrkernprozessoren gilt als aufwendig. In einem EU-Projekt haben Wissenschaftler nun eine durchgehende Werkzeugkette entwickelt, die das Programmieren erleichtert. Wie Tests zeigen, senkt die Werkzeugkette den Zeit- und damit den Kostenaufwand beim Programmieren um bis zu 58%. Anwendungen laufen fast dreimal schneller als auf Einkernprozessoren.
In neueren Desktop-PCs, Notebooks, Tablets, Smartphones, Kameras und vielen weiteren Elektronikprodukten stecken Multicore-Systeme. Die Kerne arbeiten parallel und bringen dadurch mehr Geschwindigkeit und Leistung. Allerdings lassen sich die Vorteile nur dann ausschöpfen, wenn die Software ihre Aufgaben auf zwei oder mehr Prozessorkerne verteilen kann, d.h. parallel programmiert ist. Das Programmieren erforderte bisher aber einen hohen Aufwand an Zeit und Kosten, sowie spezielle Kenntnisse. Im Rahmen des EU-Projekts Alma (ALgorithm parallelization for Multicore Architectures) hat ein Konsortium eine Werkzeugkette entwickelt, die dem Programmierer die Arbeit erheblich erleichtert: Gewöhnlich muss der Programmierer seinen Code an die parallele Hardware-Architektur anpassen. Dies ist nicht nur mit viel Aufwand verbunden, sondern verhindert auch die Wiederverwendung des Codes für andere Hardware-Architekturen. Die neue Toolchain gleicht diesen Nachteil durch eine automatische Parallelisierung aus. So verbirgt Alma die Komplexität von eingebetteten Mehrkernprozessoren und erzeugt zugleich einen optimierten parallelen Code.

Zum Abschluss von Alma haben zwei Projektpartner, das Fraunhofer IOSB (Institut für Optronik, Systemtechnik und Bildauswertung), sowie Intracom SA Telecom Solutions die Toolchain evaluiert. Beide setzten die Werkzeugkette ein, um eine existierende, für Einkernprozessoren programmierte Software auf einen Vierkernprozessor zu portieren. Als Referenzsoftware diente beim Fraunhofer eine Anwendung zur Multi-Objekterkennung und -verfolgung, bei Intracom Telecom eine Wimax-Anwendung (Worldwide Interoperability for Microwave Access) für den drahtlosen Zugang zu breitbandigem Internet. Beide Partner berichteten, dass die Anwendung auf dem Vierkernprozessor etwa dreimal schneller lief als die Einkern-Version. Das Fraunhofer IOSB berechnete, dass der Zeit- und damit auch der Kostenaufwand – beim Programmieren mit Alma für den Vierkernprozessor um bis zu 30% niedriger war als bei der Programmierung für den Einkernprozessor, bei Intracom waren es sogar bis zu 58%. Programmierer schreiben zukünftig ihre Anwendung in der Open-Source-Software Scilab, die mit Matlab kompatibel ist. Die Anwendung wird dann in Alma eingebunden und in die Programmiersprache C übertragen, parallelisiert und automatisch optimiert. „Dies erspart dem Programmierer die Mühe der Parallelisierung und reduziert die Anwendungsentwicklungszeit um mindestens 1/3“, so Dr. Timo Stripf vom ITIV des KIT, der zusammen mit weiteren Mitarbeitern des ITIV das Spin-off emmtrix Technologies gründen wird, um die Toolchain zu vermarkten.

Das könnte Sie auch Interessieren