Forschung Mit Software die Parallelität in den Griff bekommen

Wärmeflusssimulation in einem Rechenzentrum. Solche Simulationen sind vom Rechenaufwand äußerst aufwendig.
Wärmeflusssimulation in einem Rechenzentrum. Solche Simulationen sind vom Rechenaufwand äußerst aufwendig.

Immer mehr Rechenkerne, immer mehr Energieaufnahme, immer schwerer programmierbar: Die EU fördert ein Projekt, das diese Probleme angeht – vom Embedded-System bis zum Supercomputer. Federführend ist die Uni Ulm.

Moderne Rechnersysteme stoßen heute immer stärker an ihre Leistungsgrenzen. Dies gilt für eingebettete Systeme genauso wie für Supercomputer. Ob Handy, Camcorder oder Fotoapparat: Die Geräte werden zwar immer kleiner, aber auch die Anforderungen steigen ständig. Bei den Supercomputern sind heute bis zu einer Trillion (10 hoch 18) Rechenoperationen pro Sekunde möglich, doch zu programmieren sind diese Großrechner außerordentlich schwer. Früher wurden wachsende Leistungsanforderungen durch immer schnellere Prozessoren ausgeglichen. »Doch seit 2006 ist das Potential herkömmlicher Rechnereinheiten weitestgehend ausgeschöpft, sodass zur Leistungssteigerung in den Rechnern vor allem die Prozessorenanzahl und deren Spezialisierungsgrad erhöht wird«, sagt Professor Stefan Wesner.

Der Leiter des Instituts für Organisation und Management von Informationssystemen (OMI) der Universität Ulm koordiniert ein internationales Forschungsprojekt, das von der Europäischen Union mit 4,2 Millionen Euro gefördert wird. POLCA – »Programming Large Scale Heterogeneous Infrastructures« heißt das Projekt. Das Ziel: die Nutzbarkeit und Energieeffizienz moderner Rechensysteme durch optimierte Programmierung deutlich zu verbessern. Das POLCA-Konsortium vereint Experten aus den Bereichen eingebettete Systeme und Hochleistungsrechnen. Eingebunden sind dabei Industrie- und Forschungspartner aus zwei Firmen und sechs Forschungseinrichtungen aus ganz Europa.

Die Leistungsfähigkeit eingebetteter Systeme voll ausschöpfen

Insbesondere moderne eingebettete Systeme, wie sie in Smartphones, Navis u.a. Verwendung finden, haben mit den zunehmenden Leistungsanforderungen zu kämpfen. Nur durch die Parallelisierung und Spezialisierung im Einsatz von Recheneinheiten können hier noch Spielräume nach oben geschaffen werden. »Mögliche Kapazitäten werden hier aber nicht ausgeschöpft, weil die Programmierung nicht wirklich an die Systemeigenschaften der Hardware angepasst ist«, erklärt Wesner. Das Ziel der Wissenschaftler ist es nun, die Leistungsfähigkeit eingebetteter Systeme an die von Hochleistungsrechnern heranzuführen, und zwar allein durch den Einsatz optimierter Programme. »Dies ist nicht zuletzt entscheidend für die Verwendung hochspezialisierter Mikrocontroller, wie sie beispielsweise bei der Radaranalyse, der Erdbeben-Vorhersage oder der Suche nach Ölquellen angewendet werden«, erklärt Professor Manuel Carro von IMDEA, einem der Projektpartner.

Parallelisierung und Spezialisierung sind aber auch ein Problem für das Hochleistungsrechnen, also den Einsatz von Supercomputern. »Die Entwickler dieser Rechensysteme haben hier vor allem mit der Kombination vielfältiger hochspezialisierter Recheneinheiten zu kämpfen, die notwendig ist, um immer spezielleren Anforderungen gerecht werden zu können«, ergänzt Dr. Colin Glass vom Höchstleistungsrechenzentrum (HLRS) Stuttgart. »Moderne Supercomputer sind nicht mehr so homogen. Das macht eine effiziente Programmierung umständlich und aufwändig. Weltweit gibt es nur eine Handvoll Experten, die das überhaupt noch können«, meint Glass.

POLCA greift dort, wo klassische Ansätze nicht weiterkommen

Der POLCA-Ansatz greift dort, wo die klassischen Konzepte zur Leistungssteigerung nicht mehr weiter helfen: Durch die Entwicklung eines übergreifenden Programmiermodells und der dazugehörigen Werkzeuge soll der Programmierer die spezifischen Hardwareeigenschaften besser ausnutzen und in ein übergeordnetes System integrieren können. Anders gesagt: das POLCA-Programmiermodell ermöglicht es, Anwendungen über ein breites Spektrum von Prozessortypen zu verteilen. »Damit bereitet das Projekt den Weg für die nächste Generation von Anwendungen, die eine Vielzahl unterschiedlichster Prozessortypen gleichzeitig adressieren müssen«, erläutert Projektkoordinator Stefan Wesner.

Die Wettbewerbsfähigkeit europäischer Hersteller verbessern.

Möglicherweise lässt sich damit langfristig auch die Wettbewerbsfähigkeit europäischer Hardware-Hersteller verbessern, denn obwohl in Europa einige der besten spezialisierten Prozessoren hergestellt werden, dominieren noch immer die USA den Prozessor-Markt. »Die POLCA-Programmierung wird uns dabei helfen, die Kapazitäten moderner Rechner-Systeme besser auszuschöpfen ohne dabei an spezielle Anbieter gebunden sein«, hoffen die europäischen Projektpartner. Das Dilemma bisher: »Hoch spezialisierte Systeme wie Maxelers Datenfluss-Rechner liefern bereits jetzt schon hohe Effizienzsteigerungen, sind allerdings noch immer schwer zu programmieren«, so Oliver Pell von Maxeler Technologies. Der System-Hersteller weiter: »Durch einen neuen Programmieransatz wie POLCA kann dieser Aufwand beträchtlich reduziert werden, sodass diese hoch spezialisierten Hardware-Systeme für ein breites Kundenspektrum interessant werden«.