Marktübersicht aktueller Multicore-Werkzeuge

Im Rahmen des Kooperationsprojekts ‘MWare‘ wollen Fraunhofer-Institute Software-Entwicklern Hilfestellung für den Start in die Multicore-Zukunft bieten. Eine neue kostenlose Marktstudie verschafft eine Übersicht verfügbarer Werkzeuge für die Multicore-Entwicklung.

Der Begriff Multicore steht für den aktuellen Wandel in der Prozessortechnik. Höhere Taktraten haben die Prozessoren in der Vergangenheit zwar schneller gemacht, der Energie- und Kühlungsbedarf stieg aber ebenso rasant. Da die Schwelle des physikalisch Machbaren erreicht ist, produzieren die Hersteller nun Chips mit vielen Prozessorkernen. Mehr Performance kann man bei dieser Methode ausschließlich durch die gleichzeitige Abarbeitung mehrerer Befehle erzielen.

Um dieses Ziel zu erreichen, müssen Entwickler die Software jedoch – anders als in der Vergangenheit – für die Ausführung auf Multicore-Prozessoren optimieren. Unterstützung dabei bietet die Fraunhofer-Gesellschaft: Im Rahmen des Projekts MWare haben die Institute IAO, ITWM, IESE und SCAI ihre Kompetenzen gebündelt, um Methoden und Werkzeuge für die Entwicklung von Multicore-Software zur Verfügung zu stellen.

In der englischsprachigen Marktübersicht ‘Tools for Multicore Software Development’ stellt das Fraunhofer IAO jetzt Werkzeuge für die Multicore-Softwareentwicklung in den Bereichen Profiling, Entwicklung, Debugging und Tuning vor. Dabei handelt es sich unter anderem um Softwareprodukte, die zum einen analysieren, welche Bestandteile bestehender Programme parallelisiert werden können und sollten, und zum anderen die Abläufe innerhalb paralleler Anwendungen überprüfen und auf Schwachstellen hinweisen können.

Mit Profilern entdecken Entwickler Programmstellen, bei denen sich eine Parallelisierung lohnt. Modellierungswerkzeuge, Bibliotheken und Programmiersprachen ermöglichen es, die Parallelisierung zu planen und durchzuführen. Mit Debuggern wird die parallelisierte Version auf mögliche Fehler untersucht. Tuner decken auf, an welchen Stellen die Parallelisierung noch verbessert werden kann, damit die Performanz der Software mit der steigenden Anzahl an Kernen in zukünftigen Multicore-Prozessoren skaliert.

Basis für die Studie war eine Befragung unter Anbietern bezüglich der Anforderungen an Multicore-Werkzeuge. Um diese zu definieren, wurden zunächst die softwaretechnischen Herausforderungen charakterisiert, um daraus die Anforderungen an die Werkzeuge abzuleiten. Die Marktübersicht ist nach einer Registrierung auf der Homepage des MWare-Projekts erhältlich.