Intel Software Conference 2010: Parallel Computing auf dem Weg zum Mainstream

Alljährlich lädt Intels Softwareabteilung ausgewählte Programmierer sowie Presse, Reseller und Kunden zu der Intel Software Conference ein.

In Pocket speichern vorlesen Druckansicht
Lesezeit: 7 Min.
Von
  • Alexander Neumann

Alljährlich lädt Intels Softwareabteilung ausgewählte Programmierer sowie Presse, Reseller und Kunden zu der Intel Software Conference ein, um ihnen einen Einblick in Strategie des Unternehmens zu geben. Wieder war das Leitthema Parallel Computing, wenn auch mit anderer Schattierung.

Die etwas anders andere Ausrichtung der zum fünften Mal ausgetragenen Veranstaltung, die im letzten Jahr ebenfalls die Multicore-Programmierung in den Vordergrund gestellt hatte, lag darin begründet, dass Intel im letzten Jahr kurz vor der finalen Freigabe seiner Toolsuite Parallel Studio stand, weswegen Themen rund um diese ein Gros der Sessions ausmachte. Dass 2010 nicht ein vergleichbares Release ansteht, davon profitierte der diesjährige Event. Es wurde den knapp 100 Teilnehmern mehr Vielfalt geboten.

Neben Intels Produktstrategie für Softwareentwickler gab es einen Vortrag zum JuRoPa-Projekt, einem von zwei Supercomputern aus dem Forschungszentrum Jülich, die sich in der Top 10 des letztjährigen Top-500-Rankings der schnellsten Rechner wiederfinden. Hier kommen Intel-Tools zum Einsatz. Des Weiteren waren Erfahrungen der Technischen Hochschule in Aachen mit "High Performance (aka 'Productivity') Computing"-Werkzeugen ein Thema genauso wie die neuen Funktionen im Parallel-Computing-Bereich in Microsofts jüngst erschienenem Visual Studio 2010. Gleich zwei Vorträge behandelten das Thema Embedded, vielleicht verständlich, positioniert Intel seine Atom-Prozessoren erkennbar im Mobility-Segment, und auch das in diesem Jahr präsentierte MeeGo-Linux-Betriebssystem, das das Beste aus Nokias Maemo mit Intels Moblin zusammenbringen soll, und der AppUp Center sind Ausdruck von Intels Strategie im Embedded-Markt. Vom Online-Shop erhofft sich Intel eine möglichst große Menge an kostenlosen und kommerziellen Programmen und Anwendungen für Netbooks, die mit den Atom-Prozessoren laufen.

Nicht nur für Intel-Chief-Evangelist James Reinders ("Parallelism is here to stay"), auch für Steve Teixeira ("Multicore is the new normal"), der der Parallel Computing Platform Developer Division vorsteht, ist die Multicore-Programmierung im Mainstream angekommen, wenngleich Reinders im Interview später einräumte, dass das Thema bislang wegen seiner Komplexität eher eines für Softwarearchitekten darstellt und nicht für das Gros der Softwareentwickler, zumal auch an Universitäten Parallel Computing zumeist nur ein Randthema darstellt.

Paris-Panorama auf www.paris-26-gigapixels.com

Die Notwendigkeit der Parallelprogrammierung ist aber allen klar. Schuld daran ist das riesige Aufkommen an zu verarbeitenden Daten. Reinders sieht für die letzten fünf Jahren eine Datenexplosion um den Faktor 10 und das wird sich auch in den nächsten Jahren exponentiell weiter vervielfachen. Als Beispiel mag dienen, dass eine Standardfotografie mit 70 Millimeter Durchmesser das Vierfache an Daten mit sich schleppt als der 35-Millimeter-Vorgänger. Wie weit die Anforderungen gehen können, verdeutlicht als weiteres Beispiel das auf der Konferenz gezeigte Paris-Panorama auf der Website "Paris 26 Gigapixels", dessen Zoommechanismus die Teilnehmer des Events zu spontanen Beifallsbekundungen hinriss. Um der allgemeinen Datenmenge Herr zu werden, ist es nötig, die Daten – wo es möglich ist – parallel zu verarbeiten. Spricht man heute noch von serieller und paralleler Programmierung, geht Reinders davon aus, dass zukünftig Entwickler einfach nur noch von Programmierung sprechen werden – und damit die heutige parallele meinen.

Wie sich Intel uns Microsoft das Zusammenspiel ihrer Parallel-Computing-Tools vorstellen

(Bild: Intel/Microsoft)

Neben grundsätzlichen Erwägungen, die schon länger Allgemeingut der Softwareentwicklung darstellen, wie der Visualisierung der Anforderungen und Probleme, dem frühen Reproduzieren möglicher Fehler und dem fortwährenden Testen ist für Intel selbstverständlich die Unterstützung der Entwickler durch Tools ein zentrales Thema. Das letztes Jahr vorgestellte Parallel Studio sollte eigentlich zeitgleich mit dem ursprünglich für 2009 anvisierten Visual Studio 2010 erscheinen. Doch Microsoft hatte den Zeitplan nicht halten können, weswegen sich der Verkauf der Toolsammlung trotz intensiver Marketing-Bemühungen erst mal schwieriger gestaltet als erwartet. Viele Programmierer scheinen erst mal warten zu wollen, was denn Microsoft mit der neuen Generation bringt, die die erste Visual-Studio-Version mit Parallel-Computing-Funktionen ist. Dabei positioniert Intel (und auch Microsoft) Parallel Studio als Ergänzung zur IDE der Redmonder. Reinders ist zuversichtlich und verweist darauf, dass Intels Strategie langfristig ausgerichtet sei.

Für Parallel Studio, das sich bislang in Visual Studio 20005 und 2008 einbinden lässt, gibt es dieses Jahr noch Unterstützung für Visual Studio 2010. Das Paket wird in Kürze um die früher vorgestellte vierte Komponente Parallel Advisor erweitert, dadurch kann die Parallelierungssuite den gesamten Lebenszyklus der Softwareentwicklung abdecken. Der Advisor hilft, das Parallelisierungspotenzial bei C++-Anwendungen zu identifizieren. Die weiteren Komponenten Parallel Composer, Parallel Inspector und Parallel Amplifier kümmern sich um das Coding und Debugging, Überprüfen und Tunen von parallelen Anwendungen.

Über kurz oder lang werden zwei Übernahmen des letzten Jahres Aufnahme in Intels Portfolio finden: Als Erstes soll Cilk C++-Entwicklern helfen, die Anwendungsperformance von Mehrkernprozessoren zu verbessern, und stellt dafür Compiler-Erweiterungen sowie eine Laufzeitumgebung für multicorefähige Anwendungen zur Verfügung. Cilk ist wohl eine Untermenge von Intels erfolgreichen Threading Building Blocks (TBB) (über 60.000 Downloads der Open-Source-Variante, 12.000 kommerzielle Nutzer). Das zweite Produkt Ct (C/C++ for Throughput Computing) ist keine Compiler-Technik, aber ein Tool für die datenbasierte Programmierung von parallelen Applikationen mit C++. Es soll zum Beispiel die Entwicklung von Bild- und Videobearbeitungswerkzeugen vereinfachen. In Ct fließen zurzeit auch die Ideen des RapidMind-Frameworks ein, mit dem sich Daten in C++-Anwendungen parallelisieren und diese auf Mehrkernprozessoren zum Laufen bringen lassen. Geplant ist, eine Beta im dritten Quartal 2010 zu veröffentlichen. Das fertige Produkt soll 2011 folgen. Als Drittes arbeitet Intel am Launch von "SIMD pragmas and array notations for C", einem Compiler-Konstrukt für die Datenparallelisierung.

Das Thema Multicore-Programmierung dürfte in den Köpfen der meisten Entwickler zumindest angekommen sein. Allerdings, das verdeutlichten viele Vorträge der Intel Software Conference, ist das Thema schwierig. Deswegen ist es von architektureller Seite unerheblich, sich genau Gedanken zu machen, wie die Einführung eines parallelen Programmiermodells oder die Migration eines seriellen in eine parallel ausgeführte Anwendung auszusehen hat. Ansätze gibt es viele, und Intel geht nur einen Weg, wenngleich das Unternehmen andere Ansätze wie den von Scala und Axum (Agents, Actors) oder den funktionaler Programmierung beobachtet. Dass jedes IT-Unternehmen eine Multicore-Strategie hat, wie es  der Analyst David Norfolk von Bloor Research einforderte, ist reine Zukunftsmusik. Intel dürfte mindestens langfristig für den steigenden Bedarf nach Entwicklerwerkzeugen für das Parallel Computing gewappnet sein, zumindest wenn es um C- und C++-Programmierung geht. (ane)