In neueren Desktop-PCs, Notebooks, Tablets, Smartphones, Kameras und vielen weiteren Elektronikprodukten stecken sogenannte Multicore-Systeme, die mehrere Prozessorkerne auf einem Chip vereinen. Die Kerne können parallel arbeiten und dadurch mehr Geschwindigkeit und Leistung bringen. Allerdings lassen sich diese Vorteile nur dann ausschöpfen, wenn die Software ihre Aufgaben auf zwei oder mehr Prozessorkerne verteilen kann, das heißt parallel programmiert ist. Das Programmieren erforderte bisher einen hohen Aufwand an Zeit und Kosten sowie spezielle Kenntnisse.
Im Rahmen des EU-Projekts ALMA, koordiniert von Professor Jürgen Becker, Leiter des Instituts für Technik der Informationsverarbeitung (ITIV) des KIT, hat ein Konsortium aus Forschung und Industrie eine Werkzeugkette entwickelt, die dem Programmierer die Arbeit erheblich erleichtert: Gewöhnlich muss der Programmierer seinen Code, das heißt die Anweisungen an den Computer, 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 ALMA Toolchain gleicht diesen Nachteil durch eine automatische Parallelisierung aus. So verbirgt ALMA die Komplexität von eingebetteten Mehrkernprozessoren und erzeugt zugleich optimierten parallelen Code.
Zum Abschluss von ALMA haben zwei Projektpartner, das Fraunhofer-Institut für Optronik, Systemtechnik und Bildauswertung (IOSB; Karlsruhe und Ettlingen), sowie Intracom SA Telecom Solutions (Intracom; Griechenland) die Toolchain evaluiert. Beide setzten die ALMA Werkzeugkette ein, um eine existierende, für Einkernprozessoren programmierte Software auf einen Vierkernprozessor zu portieren. Als Referenzsoftware diente beim Fraunhofer IOSB eine Anwendung zur Multi-Objekterkennung und -verfolgung, bei Intracom Telecom eine WIMAX (Worldwide Interoperability for Microwave Access) -Anwendung für den drahtlosen Zugang zu breitbandigem Internet. Die Ergebnisse sind umso bemerkenswerter, als es sich um zwei völlig unterschiedliche Anwendungen handelt: 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 beim Fraunhofer IOSB um bis zu 30 Prozent niedriger war als bei der Programmierung für den Einkernprozessor. Bei Intracom war er sogar um bis zu 58 Prozent niedriger.
Programmierer, die mit ALMA arbeiten, schreiben ihre Anwendung in der Open-Source-Software Scilab, die mit der kommerziellen Software MATLAB kompatibel ist. Beide wurden ursprünglich zur Lösung mathematischer Probleme entwickelt. Die Anwendung wird dann in ALMA eingebunden. Daraufhin überträgt ALMA die Anwendung in die Programmiersprache C, parallelisiert und optimiert sie automatisch. „Dies erspart dem Programmierer die Mühe der Parallelisierung und reduziert die Anwendungsentwicklungszeit um mindestens ein Drittel“, erklärt Dr. Timo Stripf vom ITIV des KIT. „Es bietet sich an, die ALMA Werkzeugkette in Unternehmen einzusetzen, die bereits MATLAB in ihrem Entwicklungsprozess verwenden.“ Daher gründet Stripf zusammen mit weiteren Mitarbeitern des ITIV das Spin-off emmtrix Technologies (www.emmtrix.com), das die Toolchain vermarkten wird.
ALMA (griechisch „Sprung“) steht für „ALgorithm parallelization for Multicore Architectures“. Neben dem KIT waren das Fraunhofer IOSB, die Universität Rennes (Frankreich), Recore Systems B.V. (Niederlande), die Universität Peloponnes, das Technological Educational Institute of Western Greece sowie Intracom Telecom (alle Griechenland) an dem Konsortium beteiligt. Die EU förderte ALMA mit 3,2 Millionen Euro.
Kontakt:
Monika Landgraf
Pressesprecherin
Kaiserstraße 12
76131 Karlsruhe
Tel.: +49 721 608-47414
Fax: +49 721 608-43658
E-Mail: presse(at)kit.edu