Die Optimierer

Die Universität Innsbruck ist eine der internationalsten Hochschulen der Welt. Zu diesem Schluss kommen zwei renommierte Hochschulrankings (Leiden, Times Higher Education), welche die 1669 gegründete Uni in den Bereichen „International Collaboration“ bzw. „International Outlook“ weltweit auf Platz 11 reihen. Internationales Flair verleihen sowohl Studierende als auch Wissenschaftler. Rund 40 Prozent der 28.560 Studierenden und der mehr als 3300 Forscherinnen und Forscher kommen aus dem Ausland nach Tirol, um hier zu studieren und zu forschen. Geforscht wird zudem über die Grenzen hinweg. 72 Prozent der wissenschaftlichen Arbeiten im Web of Science werden mit internationalen Beteiligung publiziert, seit 1998 wurde in mehr als 200 EU-Projekten mit Wissenschaftlern aus dem In- und Ausland zusammengearbeitet. Im aktuellen Förderprogramm Horizon 2020 ist die Universität Innsbruck an 23 Projekten beteiligt, fünf davon werden von Tiroler Forschern geleitet. Einer davon ist Thomas Fahringer, Leiter der Forschungsgruppe Distributed and Parallel Systems. Der Informatiker koordiniert zwei EU-Projekte, die Hochleistungsrechner und Cloud Computing für Laufzeiten und Energieeffizienz optimieren.

Mit AllScale und ENTICE koordinieren Sie zwei international besetzte EU-Projekte, bei beiden spielt Green IT, also das Bestreben, Informationstechnologie umwelt- und ressourcenschonend zu gestalten, eine entscheidende Rolle. Worum geht es bei diesen Projekten?

Thomas Fahringer: Meine Gruppe beschäftigt sich mit drei großen Themen der Informatik. Dazu zählen das Hochleistungsrechnen, Cloud Computing und Green IT. Ein Schwerpunkt in diesen Bereichen ist das Optimieren von Programmen. Beim Optimieren geht es um Laufzeit sowie um Energie. AllScale hat die Optimierung von Laufzeit und Ressourceneffizienz der neuen Superrechner zum Projektinhalt. Bei ENTICE wollen wir Cloudanwendungen so optimieren, dass sie möglichst schnell ausgeführt werden können, d.h. die verschiedenen Cloud- bzw. Softwarekomponenten schnell gefunden und zusammengesetzt werden sowie die Anwendung für den Endbenutzer rasch bereitsteht. Dabei geht es auch um Energie, denn häufig ist es ja so: Je schneller eine Anwendung abgearbeitet ist, desto weniger Energie benötigt sie.

Optimiert wird unter anderem mit dem von Ihrer Gruppe entwickelten Compiler Insieme.

Thomas Fahringer: Unser Fokus liegt beim Anwendungsentwickler, der API’s oder Programme entwickelt, das reicht von Spielanwendungen über Videoverarbeitung bis zu Simulationsprogrammen.

Entwickelt werden diese mit Blick auf einen seriellen Rechner, der mit einem Prozessor Instruktion um Instruktion abarbeitet. Es gibt jedoch keine seriellen Rechner mehr, selbst Smartphones sind Parallelrechner mit einer größeren Prozessoren-Anzahl. Will man diese effizient nutzen, um alle parallelen Prozessoren zu verwenden, muss man die Programme zeitaufwendig umschreiben – oder man verwendet einen Compiler.

Heißt das, dass derzeitige Rechner nicht optimal, also nicht umwelt- und ressourcenschonend, genutzt werden?

Thomas Fahringer: Seit ungefähr 2005 gibt es keine seriellen Rechner mehr. Man konnte die Leistungsfähigkeit von seriellen Rechnern nur mehr mit sehr hohen Kosten steigern. Der einzige ökonomisch vertretbare Weg führt über mehr Prozessoren pro Rechner. Für den Programmierer heißt das aber, dass seine Programme, die für einen seriellen Rechner entwickelt wurden, nur dann schneller werden, wenn sie für Parallelrechner umgeschrieben werden. Und das ist komplex, zeitaufwendig und kostenintensiv. Ein heutiger Standardrechner hat acht bis zu zwölf Prozessoren, das heißt, man muss überlegen, wie man Programmschritte so auf die Prozessoren verteilt, dass die Laufzeit minimiert wird. Diese Vorgangsweise ist nicht so einfach, da es z.B. Abhängigkeiten zwischen den Instruktionen geben kann: Bestimmte Instruktionen können erst gestartet werden, wenn andere bereits ausgeführt worden sind. Dazu kommt noch, dass diese Instruktionen Daten benötigen, also auch diese aufgeteilt werden müssen. Das ist sehr komplex und fehleranfällig und kann nur bedingt automatisch ausgeführt werden.

Womit Compiler ins Spiel kommen.

Thomas Fahringer: Der Compiler übersetzt ein serielles Programm in ein paralleles Programm. Dabei wird die Arbeit, die ein Programm leistet, mit den dazugehörigen Daten, auf welche die Instruktionen zugreifen, so auf einen Parallelrechner aufgeteilt, dass alle Prozessoren maximal genutzt werden. Wenn das gelingt, dann erzielt man die schnellstmögliche Laufzeit. Herauszufinden, welche Arbeitsschritte parallel ausgeführt werden können, ist leider nicht trivial. Dazu wird viel Analyse und Mathematik eingesetzt. Ein Compiler nimmt diese Analysearbeit dem Programmierer ab. Unser Hauptziel ist daher, die Programmierer zu unterstützen, damit moderne Rechner möglichst einfach und effizient verwendet werden können. Und wir reden nicht nur von Programmen für Superrechner, sondern für Smartphones, PCs und Server, die alle von einer Leistungssteigerung profitieren können.

Insieme ist schon im Einsatz?

Thomas Fahringer: Ja, Insieme ist eine Open-Source-Software. Wir arbeiten seit sieben Jahre an dem Projekt, bekamen immer wieder Förderungen, von der Standortagentur Tirol, vom FWF, vom FFG und seit etlichen Jahren auch von der EU, um diesen Compiler weiterentwickeln zu können. Ungefähr alle zwei Wochen bekommen wir Anrufe von kleineren oder mittleren heimischen Firmen, die um Hilfe bitten, ihre riesigen Codes, die bislang seriell abgearbeitet wurden, zu parallelisieren.

Ein grenzübergreifendes Insieme-Projekt war EN-ACT, durchgeführt mit der Universität Bozen.

Thomas Fahringer: Es gab verschiedene internationale Kooperationen für unterschiedliche Komponenten. Der Compiler ist ja ein sehr großes Softwareprojekt. Mit Bozen haben wir uns auf Green IT konzentriert, ging es doch darum, Energie zu sparen, indem man besonders leistungsintensive Berechnungen vom Smartphone in die Cloud auslagert, um damit den Energiebedarf für Smartphones dramatisch zu reduzieren. Aus der Cloud holt man sich dann die Ergebnisse. Wir konnten dabei auch hinsichtlich Performance zulegen – Videobearbeitung kann auf einem Cloudrechner sehr viel schneller durchgeführt werden als am Smartphone.

Zurück zu AllScale. Das 3,3-Millionen-Projekt beschäftigt sich sozusagen mit der Formel 1 der Rechner, mit den schnellsten Rechnern der Welt.

Thomas Fahringer: Ungefähr alle zehn Jahre verbessert sich die Rechenleistung um den Faktor 1000 für die schnellsten Rechner der Welt. Petaflop, also 1015 Berechnungen pro Sekunde, gibt es seit 2010. Der nächste Schritt wird Exaflop sein, das sind 1018 Berechnungen in der Sekunde. Im Vorfeld muss geklärt werden, wie ein Rechner dieser Generation überhaupt programmiert werden kann. Über Horizon 2020 wird ein Projekt von uns gefördert, um die Programmierung für solche Superrechner zu vereinfachen bzw. überhaupt zu ermöglichen. Wir reden bei diesem Rechner von Milliarden von Threads bzw. Tasks und Millionen von Prozessoren, die zur Verfügung stehen. Die sollte man immer in Beschäftigung halten, ansonsten bekommt man nicht die Leistung, die man eigentlich erzielen könnte. Ein Detail am Rande: Ein durchschnittlicher Benutzer eines herkömmlichen PCs nutzt nur ca. 20 Prozent der Rechenleistung. Die restlichen 80 Prozent liegen brach und werden nicht genutzt. Das liegt unter anderem an der Software, die nicht in der Lage ist, die Hardware-Ressourcen effizient zu nutzen.

Die Partner bei diesem Projekt sind über den Kontinent verstreut.

Thomas Fahringer: Ja, neben der Queen’s University in Belfast, der Universität Erlangen und dem KTH Royal Institute of Technology in Stockholm sind IBM in Irland und Numeca aus Belgien daran beteiligt.

 Numeca ist eine mittelgroße Firma in Brüssel, die mit vielen Firmen aus der Fahrzeugindustrie und dem Schiffbau zusammenarbeitet, mit Unternehmen, die große Maschinen und Motoren herstellen und diese simulieren, ehe sie gebaut werden. Die parallelisierte Software von Numeca, die auf Superrechnern ausgeführt wird, ermöglicht deren Kunden wesentlich bessere Produkte deutlich schneller auf den Markt zu bringen.

Wer arbeitet an dem zukünftigen Exascale-Rechner?

Thomas Fahringer: Es bemühen sich mehrere Firmen und Gruppen, den ersten Exascale-Rechner auf den Markt zu bringen. Bei der Hardware-Entwicklung streiten sich Japan, China und die USA um den ersten Platz. Europa hat dabei den Anschluss vor vielen Jahren verloren. Europa – und dazu zählt auch unsere Gruppe in Innsbruck – ist aber bei der Entwicklung von Software für Hochleistungsrechner führend. AllScale ist eines von circa sechs EU-Projekten, welche die Software für Hochleistungsrechner verbessern und vereinfachen. In Europa gibt es nur sehr wenige Gruppen, die einen Forschungs-Compiler für Parallelrechner entwickeln. Innsbruck gehört dazu und wir sind momentan die einzige Gruppe in Österreich, die von der EU bezüglich Exascale-Hochleistungsrechnen gefördert wird. Wichtig ist aber, dass AllScale Software-Lösungen entwickelt, die für beliebige Parallelrechner funktionieren werden, also nicht nur für die größten Superrechner, sondern auch für Desktop PCs, Smartphones und Server.

Wie wichtig ist für Ihre Arbeit die internationale Kooperation?

Thomas Fahringer: Viele Forschungsziele und -projekte sind nur in Zusammenarbeit mit den besten Gruppen aus aller Welt möglich. Die Förderung durch die EU ermöglicht viele internationale Forschungsprojekte und fördert nachhaltig die Zusammenarbeit mit Gruppen nicht nur aus Europa, sondern aus der ganzen Welt. So arbeiten wir z.B. auch mit Partnern aus Australien, Brasilien, China und Indien an gemeinsamen Projekten. Ein wichtiger Aspekt unserer Arbeiten besteht darin, dass wir unsere erzielten Ergebnisse publizieren. Über diese Publikationen und diverse Vorträge bei Konferenzen und Messen kommen dann Anfragen von Firmen – so wie von Magna Steyr oder Samsung, aber auch von kleineren Firmen aus Tirol. Über die Projekte und die Vernetzung erzielt man Sichtbarkeit; unsere Studenten arbeiten an diesen Projekten bereits mit und steigen nach Studienende bei Firmenpartnern aus unseren Projekten ein – und initiieren später wieder neue Projekte mit uns. Die Kooperation mit Partnern aus der Industrie und Wirtschaft funktioniert gut und bietet allen Beteiligten viele Vorteile.

Was sind die Projektziele von AllScale?

Thomas Fahringer: Das Hauptziel ist die Entwicklung einer Programmierumgebung zur vereinfachten Programmierung von Parallelrechnern, wobei hinsichtlich mehrerer Ziele optimiert werden kann. Diese Entwicklungsumgebung besteht aus einem Compiler und aus einem Laufzeitsystem. Der Compiler erzeugt ein paralleles Programm mit einigen Parametern, die dann vom Laufzeitsystem dazu verwendet werden, die Laufzeit, den Energiebedarf und auch die Ressourcennutzung zu optimieren. Die Optimierung von Programmen für beliebig viele Ziele ist ein Alleinstellungsmerkmal meiner Gruppe.

Kann der „normale“ Rechnerbenutzer von dem aus AllScale gewonnenen Know-how profitieren?

Thomas Fahringer: Bei den Superrechnern ist es wie mit der Formel 1, aus der viele Entwicklungen von der Autoindustrie für Serienautos übernommen wurden. Viele Techniken und Methoden, die ursprünglich für Superrechner erforscht und getestet wurden, finden später den Weg in die IT-Industrie für Standardrechner oder mobile Endgeräte. Dazu zählen Programmiersprachen, Betriebssystem- und Netzwerkkomponenten.

Wird das Projekt auch außerhalb der wissenschaftlichen Community wahrgenommen?

Thomas Fahringer: Ja, das Interesse ist sehr groß. Im Schnitt reise ich zweimal im Monat zu verschiedenen Events in Europa und präsentiere das Projekt. Eine Besonderheit von AllScale ist, dass die meisten Technologien, die im Rahmen des Projekts entwickelt werden, für beliebige andere Rechner verwendet werden können. Hinsichtlich mobiler Endgeräte sind unsere Energiespartechniken von Interesse, bei Servern aber auch bei Desktop-PCs stoßen wir auf breites Interesse für unsere Laufzeitoptimierungstechniken.

Das mit 2,7 Millionen Euro dotierte Horizon-2020-Projekt ENTICE setzt ebenso auf optimale Nutzung von Software und Hardware Ressourcen – und zwar die der Cloud.

Thomas Fahringer: Auch hier wollen wir Anwendungsentwickler unterstützen, die nicht mit der komplexen Software/Hardware-Infrastruktur von Clouds vertraut sind, vor allem, wenn wie in der Cloud Millionen von Prozessoren und eine Vielzahl von Software Umgebungen zur Verfügung stehen. In der Cloud werden Anwendungen häufig aus sogenannten virtuellen Rechnersystemen – den Images – dynamisch zusammengesetzt, die in der Cloud beliebig verstreut abgelegt sind.

Dazu gibt es viele vorgefertigte Images, die von sogenannten Cloudprovidern gegen Geld angeboten werden. ENTICE entwickelt eine Art Cloudbetriebssystem, das diesen Prozess vereinfacht und optimiert.

Das Problem mit den virtuellen Images ist ja, dass sie sehr generisch entworfen sind und deswegen sehr viele Daten und Programme enthalten können, die ein Cloudanwender oder Endbenutzer gar nicht benötigt, aber trotzdem dafür bezahlen muss. ENTICE entwickelt dazu ein Programm, dass diese Images so weit komprimiert, dass nur mehr Daten enthalten sind, die vom Endbenutzer benötigt werden. Unsere Technologien sollten in der Lage sein, diese Images um bis zu 80 Prozent zu reduzieren. Das wird zum einen die Kosten für die Verwendung von Clouds reduzieren, zum anderen auch den Energiebedarf.

Für Insieme haben Sie sich auch mit der Hardware beschäftigt?

Thomas Fahringer: Das war noch GemSclaim, ein von uns koordiniertes europäisches Projekt, das indirekt über „Future and Emerging Technologies“ im 7. Rahmenprogramm finanziert wurde. Ein Compiler kann effizient bezüglich Energie optimieren, wenn ihm von der Hardware entsprechende Parameter zur Verfügung gestellt werden, z.B. die Taktfrequenz des Prozessors. Sie gibt vor, wie viel Zeit die Abarbeitung einer Instruktion benötigt. Die Taktfrequenz kann man erhöhen, dann werden Instruktionen und damit das gesamte Programm schneller abgearbeitet. Bestimmte Programmteile könnten weniger wichtig sein, folglich könnte man dafür die Taktfrequenz von Prozessoren reduzieren und so Energie sparen. Es gibt zahlreiche andere Hardware-Parameter für solche Zwecke, die aber für die meisten industriell verfügbaren Prozessoren und Rechner häufig nicht offengelegt sind.

Was haben Sie im Projekt konkret entwickelt?

Thomas Fahringer: Mit Gruppen aus Nordirland, Rumänien und Deutschland ein kombiniertes Software/Hardware-System, das viele dynamisch regulierbare Parameter anbietet. Diese Parameter können während der Laufzeit eines Programms geändert werden und so mithilfe unseres Compilers sowohl Laufzeit als auch Energie von mobilen Geräten optimieren. In diesem Projekt wurde auch die Rechnerarchitektur selbst entwickelt, um zu demonstrieren, welche Optimierungen möglich wären, wenn die Industrie solche Parameter offenlegen würde. Wir konnten nachweisen, dass man mit den von uns entwickelten Technologien bis zu 70 Prozent Energieersparnis auf mobilen Geräten und bis zu 30 Prozent auf PCs erreichen könnte. Einer der größten Smartphone-Hersteller der Welt hat uns daraufhin kontaktiert, um Teile dieser Technologie zu evaluieren. Darüber hinaus wurde ein Start-Up von der RWTH Aachen gegründet, die Teile dieser Hardware und die dazugehörige Simulationssoftware vermarktet. Aus diesem Projekt ist auch AllScale hervorgegangen.

Mehr aus dem Dossier

Leichte Innovationen

Das Tiroler KMU Alpex ist in internationalen F&E-Projekten gefragter Partner der weltweiten Flugzeug- und Autobranche.

Mehr erfahren

Global vernetzt

Internationale Großkonzerne wie GE, Sandoz und STIHL setzen mit Tochter-Firmen auf Tiroler Know-how.

Mehr erfahren

Waren für die Welt

Empl, IONICON und planlicht und sind drei von vielen Tiroler Unternehmen, deren Waren in die ganze Welt gelangen.

Mehr erfahren