Marktübersicht aktueller Multicore-Werkzeuge

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 mehreren Prozessorkernen. Performanzgewinne 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 fünf Fraunhofer-Institute IAO, ITWM, IESE und SCAI ihre Kompetenzen gebündelt, um Unternehmen beim Übergang ins Multicore-Zeitalter methodische und anwendungsbezogene Hilfestellung zu geben. Die Fraunhofer-Wissenschaflter erarbeiten in »MWare« Methoden und Werkzeuge für die Entwicklung von Multicore-Software.

In der englischsprachigen Marktübersicht »Tools for Multicore Software Development« stellt das Fraunhofer IAO 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 Studie ist nicht nur für die Anpassung bestehender Software relevant, sondern eignet sich auch für die Parallelisierung bei der Entwicklung neuer Software. Die Marktübersicht ist kostenlos auf der Homepage des MWare-Projekts unter www.mware.fraunhofer.de erhältlich.