Multicore

Effiziente Embedded-Multicore-Programmierung

Seite: 3/3

Firmen zum Thema

Ergebnisse

Die Werkzeugkette soll zwei Ziele erfüllen: zum einen soll die Leistungsfähigkeit von Mehrkernsystemen durch eine sinnvolle Parallelisierung der Anwendung ausgenutzt werden können. Zum anderen soll die Produktivität gesteigert werden, indem der Entwicklungsaufwand für parallele eingebettete Systeme reduziert wird.

In Bild 3 ist die im Projekt ermittelte Reduktion des Entwicklungsaufwands dargestellt. Verglichen wurde eine manuelle Umsetzung eines bestehenden Algorithmus in parallelem C-Code mit dem Einsatz des Parallelisierungswerkzeugs, das in ALMA entwickelt wurde. Bei den gewählten Beispielen konnten dabei Einsparungen von 30 bis 57 % in der Entwicklungszeit erreicht werden. Dabei konnte wie in Bild 4 der Bildergalerie dargestellt wird, ein Speedup von 2,8 beim Einsatz von vier Kernen erreicht werden.

Bildergalerie
Bildergalerie mit 5 Bildern

Zusammenfassung und Ausblick

Die vorgestellte ALMA-Werkzeugkette erleichtert die Programmierung von eingebetteten Multicore-Systemen, indem die zeitaufwändige Parallelisierung automatisiert durchgeführt wird. Die Evaluation zeigte, dass der Entwicklungsaufwand um bis zu 57 % reduziert werden konnte und dabei ein Speedup von 2,8 beim Einsatz von vier Kernen erreicht werden konnte.

Die ALMA-Technologie wird der Industrie durch das EXIST-geförderte KIT-Spin-Off „emmtrix Technologies“ (www.emmtrix.com) verfügbar gemacht, weiterentwickelt und an spezielle Kundenanforderungen angepasst. Die Technologie ermöglicht Unternehmen Mehrkernprozessoren im eingebetteten Bereich einfacher einzusetzen. Bei der Entwicklung werden Kosten reduziert sowie die Time-to-Market verkürzt. Für Entwickler wird durch Automatisierung und Integration von Spezialwissen die Programmierung eingebetteter Mehrkernsysteme vereinfacht.

emmtrix setzt dabei auf einen in der Industrie etablierten Workflow, bei dem Algorithmen in MATLAB entwickelt werden und für die Ausführung auf der Hardware nach C-Code übersetzt werden. Dies erfolgt bei Singlecore-Prozessoren automatisch mit Hilfe eines Codegenerators. Für die Umsetzung auf Multicore-Prozessoren muss derzeit jedoch auf eine manuelle Neu-Implementierung zurückgegriffen werden. Die emmtrix-Lösung wird vollständig in diesen Workflow integriert (siehe Bild 5 der Bildergalerie) und erlaubt es dem Entwickler, den MATLAB-Code effizient auf eingebettete Multicore-Systeme umzusetzen.

This work is co-funded by the European Union under the 7th Framework Programme under grant agreement ICT-287733.

Literatur- und Quellenverzeichnis

[1] „Next Generation Embedded Hardware Architectures: Driving Onset of Project Delays, Costs Overruns, and Software Development Challenges,“ VDC Research, September 2010.

[2] J. Becker, T. Stripf, O. Oey, M. Huebner, S. Derrien, D. Menard, O. Sentieys, G. Rauwerda, K. Sunesen, N. Kavvadias, K. Masselos, G. Goulas, P. Alefragis, N. Voros, D. Kritharidis, N. Mitas and D. Goehringer, “From Scilab to High Performance Embedded Multicore Systems: The ALMA Approach,” in Digital System Design (DSD), 2012 15th Euromicro Conference on, 2012.

[3] R. Koenig, L. Bauer, T. Stripf, M. Shafique, W. Ahmed und J. a. H. J. Becker, „KAHRISMA: A Novel Hypermorphic Reconfigurable-instruction-set Multi-grained-array Architecture,“ in Proceedings of the Conference on Design, Automation and Test in Europe, Dresden, Germany, 2010.

[4] T. Bruckschloegl, O. Oey, M. Ruckauer, T. Stripf und J. Becker, „A Hierarchical Architecture Description for Flexible Multicore System Simulation,“ in Parallel and Distributed Processing with Applications (ISPA), 2014 IEEE International Symposium on, Milano, Italy, 2014.

[5] G. Deest, T. Yuki, O. Sentieys und S. Derrien, „Toward scalable source level accuracy analysis for floating-point to fixed-point conversion.,“ in Proceedings of the 2014 IEEE/ACM International Conference on Computer-Aided Design (ICCAD '14), Piscataway, NJ, USA, 2014.

[6] G. Goulas, C. Valouxis, P. Alefragis, N. Voros, O. Oey, T. Stripf, T. Bruckschloegl, J. Becker, C. Gogos, A. El Moussawi, M. Naullet und T. Yuki, „Coarse-Grain Optimization and Code Generation for Embedded Multicore Systems,“ in Digital System Design (DSD), 2013 Euromicro Conference on , 2013.

[7] J. Becker, T. Bruckschloegl, O. Oey, T. Stripf, G. Goulas, N. Raptis, C. Valouxis, P. Alefragis, N. Voros und C. Gogos, „Profile-Guided Compilation of Scilab Algorithms for Multiprocessor Systems,“ in Reconfigurable Computing: Architectures, Tools, and Applications, Springer International Publishing, 2014, pp. 330-336.


* Dipl.-Ing. Oliver Oey hat ein Diplom in Elektrotechnik vom Karlsruher Institut für Technologie (KIT). Er ist ein Experte in Design und Programmierung von Networks-on-Chip für Multicore-Prozessoren sowie der parallelen Codegenerierung.

* Dr.-Ing. Timo Stripf hat am KIT Informatik studiert und hat seinen Doktor in Elektrotechnik im Bereich der Compiler im Dezember 2013 bekommen. Seit Anfang 2012 hat er gemeinsam mit Prof. Jürgen Becker das ALMA EU-Projekt koordiniert.

(ID:44287984)