Intel Software Conference: Intel goes Parallel

Auf der Intel Software Conference verdeutlichte Intel die zunehmende Wichtigkeit von Parallel Computing und stellte seine demnächst erscheinende, den gesamten Parallel-Computing-Prozess abdeckende Software-Suite Parallel Studio vor.

In Pocket speichern vorlesen Druckansicht 37 Kommentare lesen
Lesezeit: 5 Min.
Von
  • Alexander Neumann

Alljährlich lädt Intels Entwickler-Tools-Sparte zur Intel Software Conference ein, um Presse, wichtigen Kunden und Resellern einen aktuellen Überblick zu seinen Softwareprodukten zu geben. Waren in den letzten Jahren die Veranstaltungsorte London, Prag oder Lissabon, versammelten sich diese Woche rund 100 Gäste im schönen und sonnigen Salzburg. Wichtigste Botschaft der sieben Vorträge war Intels Parallel-Computing-Strategie und die sie flankierenden Softwarekomponenten des Ende Mai zu erwartenden neuen Parallel Studio (zurzeit im Beta-Status). Christian Staudinger, Worldwide Cannel Manager für die Entwicklungsprodukte des Konzerns, sieht in Parallel Studio gar die wichtigste Softwareveröffentlichung der letzten Jahre.

Intel Chief Software Evangelist und Chef der Softwareentwicklung James Reinders verdeutlichte eingangs das Dilemma, für die Intels Strategie eine Lösung sein möchte. Die Leistung der Prozessoren ist aufgrund der nicht mehr nach oben gehenden Taktraten mittlerweile begrenzt, und mehr Prozessoren bedeuten nicht gleich mehr "Power". Deswegen macht es Sinn, Möglichkeiten auszutesten oder zu erfinden, die Anwendungen gleichzeitig auf mehreren CPUs ablaufen lassen zu können.

Hier setzt Parallel Studio an, das das Unternehmen als Mainstream-Produkt für C++-Programmierer auf den Markt bringt. Dadurch grenzt es sich von den anderen Intel-Tools ab, die sich eher an "High Performance Computing"-(HPC-)Entwickler und solche richten, die nicht C++ unter Windows entwickeln. Parallel Studio soll langfristig aus vier Bausteinen bestehen, die den Prozess der parallelen Programmierung abdecken sollen. Für den Bereich Design wird es wohl noch in diesem Jahr Parallel Advisor geben. Das Tool soll helfen, den geeigneten Parallel-Computing-Ansatz für Anwendungen zu finden. Die drei anderen Module decken die Bereiche Entwicklung/Testing, Verifizierung und Tuning ab. Die hierfür zuständigen Produkte heißen Parallel Composer, Parallel Inspector und Parallel Amplifier. Für sie verantwortliche Entwickler stellten sie in separaten Vorträgen ausführlich vor.

Parallel Composer – zuständig für den Bereich Entwicklung und Testen – besteht aus unterschiedlichen Tools wie OpenMP 3.0, C++-Compiler, einem Parallel-Debugger-Plug-in, das den Visual-Studio-Debugger um parallele Funktionen erweitert und Threading Building Blocks. Es unterstützt unter anderem Lambda-Funktionen, einfache Spracherweiterungen, automatische Parallelisierung und die "Intel Integrated Performance Primitives"-Bibliothek der Standard-C++-Bibliotheken.

Parallel Inspector ist ein Tool für das Überprüfen der Threads und der Speicher. Es ist als überarbeitete Version aus dem Intel Thread Checker hervorgegangen, spürt aber wohl Speicherfehler zur Laufzeit besser auf. Wie alle Parallel-Studio-Komponenten ist das Werkzeug leicht in Visual Studio einzubetten und lässt sich darüber hinaus sowohl in den Intel-C++- als auch den Microsoft-Compiler beziehungsweise andere kompatible Compiler integrieren.

Für das Optimieren von parallelen Anwendungen ist Parallel Amplifier zuständig. Das Werkzeug spürt – vergleichbar mit den Intel-Tools VTune und Thread Profiler – Bottlenecks auf und greift auf Hotspot-Optimierungen in parallel laufenden Applikationen zurück. Unterlegte Tests helfen dabei herauszufinden, welches die geeignete Anordnung der verwendeten Funktionen ist.

Reinders machte weiterhin deutlich, dass auch die anderen Softwareprodukte des Unternehmens sich evolutionär weiterentwickeln. Mit einer überarbeiteten Version des Intel-C++-Compilers ist wohl im Juni zu rechnen. Auch Parallel Studio wird regelmäßig Neuerungen erfahren. Die Integration des Parallel Advisor ist hier eine Sache, Intel beobachtet aber auch "Windows 7"- und "Visual Studio 2010"-Entwicklung und arbeitet an der Unterstützung für Microsofts nächste Version der Concurrency Runtime.

Zudem kündigt sich bereits eine weitere Beta eines Produkts an, die Reinders für Ende 2009 versprach. Es handelt sich um ein Tool für die datenbasierte Programmierung von parallelen Applikationen mit C++. Das zurzeit unter dem Namen Ct (C/C++ for Throughput Computing) entwickelte Projekt soll zum Beispiel die Entwicklung von Bild- und Videobearbeitungswerkzeugen vereinfachen.

Parallel Studio ist eine Software-Suite für Visual-Studio-Entwickler, von daher macht es Sinn, dass Intel und Microsoft eng zusammenarbeiten, zumal Microsoft ebenfalls in jüngerer Zeit eine eigene Parallel-Computing-Strategie fährt. Die Zusammenarbeit resultiert zum einen in im Juni in Deutschland gemeinsam durchgeführten Roadshows zu Parallel Programming und zu Parallel Studio, zum anderen dass Microsoft-Entwickler zur Konferenz geladen wurden, die Vorteile der Integration der Suite in das kommende Visual Studio zu verdeutlichen. Das Load Balancing und Task Scheduling geschehen sehr ausgewogen, resümierten sie. Zudem würden die bestehenden Ressourcen wie Thread Building Blocks und Microsoft Parallel Pattern Library (PPL) gut gemeinsam genutzt werden. Letztlich gehen die Microsoft-Entwickler den gleichen Fragen nach wie Intel: Wie programmiert man parallel? Wie sind Entwickler mit Tools für ein effizientes und skalierendes Parallel Programming zu unterstützen?

Intels "Go Parallel"-Strategie ist als Multicore-Prozessor-Entwickler durchaus nachvollziehbar und ein Schritt in die richtige Richtung. Das Thema Parallel Programming ist nicht trivial, und Entwickler werden hier Hilfe durch gute Tools benötigen. Glaubt man Beta-Testern wie dem Hersteller der Brennsoftware Nero, hat Parallel Studio das Potenzial, eine hilfreiche Parallel-Computing-Umgebung sein zu können. Zum gleichen Ergebnis kommt übrigens auch Michael Hülskötter in seinem "Software Dev Blog" rund um die Themen Multithreading, Concurrency und Parallel Programming, der zur Intel Software Conference einiges zu sagen hat. (ane)