Informatiker tüfteln an richtiger Verteilung

Komplexe Programme nehmen große Rechenleistungen in Anspruch. Um ihre Ausführung zu beschleunigen, kann man sie parallel auf mehreren Prozessoren ablaufen lassen. Theoretisch zumindest, denn die „richtige“ Verteilung der einzelnen Programmkomponenten ist ein noch nicht hinreichend gelöstes Problem. Diesem widmet sich der Informatiker Radu Prodan in einem hochdotierten FFG-Projekt.
Radu Prodan beschäftigt sich in einem hochdotierten FFG-Projekt mit der richtigen Ver …
Radu Prodan beschäftigt sich in einem hochdotierten FFG-Projekt mit der richtigen Verteilung bei parallelen Systemen.

Im März 2010 startet ein hochdotiertes Projekt der Österreichischen Forschungsförderungsgesellschaft (FFG) am Institut für Informatik. Dr. Radu Prodan, Mitglied  der Forschungsgruppe Verteilte und Parallele Systeme, wird gemeinsam mit einem dreiköpfigen Team zwei Jahre lang in Zusammenarbeit mit dem Unternehmen Matrixware ein Programm entwickeln, das Patente wesentlich schneller und genauer kategorisiert, als dies bisher möglich ist. „Das ist aber nur ein kleiner Baustein des Projekts, der mit circa 80 Prozent weitaus größere Teil ist Grundlagenforschung“, erklärt Projektleiter Prodan. Ziel des Forschungsvorhabens ist es, ressourcenaufwändige Anwendungen möglichst effizient auf mehrere Prozessoren zu verteilen. „Was spezialisierte Programmierer derzeit für einzelne Programme manuell machen können, wollen wir für verschiedenste Anwendungen automatisieren“, so der Wissenschaftler, der bereits langjährige Erfahrung im Bereich parallele und verteilte Systeme hat. „Wir werden die ersten sein, die sich ganzheitlich mit der Übersetzung, Optimierung und Planung von parallelen Programmen auf neuartigen heterogenen Multicoresystemen beschäftigen.“

 

Multitalentierter Übersetzer

 

Beim Einsatz mehrerer verschiedenartiger Prozessoren – heterogene, gemischte Multicore- und Grafikprozessoren – sollte idealerweise der richtige Prozessor zur richtigen Zeit die richtige Programmkomponente ausführen und so die Gesamtausführungszeit der Anwendung minimieren. Grundvoraussetzung dafür ist die Kommunikation zwischen Programm und Prozessoren.  Ein sogenannter Compiler fungiert dabei als Übersetzer. „Wir arbeiten an einem neuartigen Compiler, der Programme auf allen Prozessorenarten automatisch ausführen kann“, verdeutlicht Prodan den zentralen Aspekt des Vorhabens. Zwar entwickeln einzelne Prozessoren-Hersteller bereits Compiler für ihre Produkte, einen Ansatz, der unterschiedliche heterogene Architekturen zugleich in einer Lösung miteinander kombiniert, gibt es jedoch noch nicht.

Nicht nur die Wissenschaft kann von den Ergebnissen des Projekts profitieren. „Die neueste Entwicklung auf dem Gebiet der Prozessortechnologie zeigt, dass heute Parallelrechner nicht mehr nur in spezialisierten Systemen für wissenschaftliche Zwecke eingesetzt werden, sondern vielmehr jeder PC und Laptop ein Parallelrechner mit vielen Prozessorkernen ist. Daher wird es in Zukunft eine absolute Grundvoraussetzung sein, auch Programme für Personal Computer auf heterogene parallele Systeme zu optimieren, um die verfügbare Leistung überhaupt nutzen zu können“, sagt der Informatiker.

 

Einzigartiges Know-how an der Uni Innsbruck

 

Der Forschungsbereich Verteilte und Parallele Systeme unter der Leitung von Prof. Thomas Fahringer konzentriert einzigartiges Know-how auf dem Gebiet paralleler und verteilter Systeme, das immer wieder von weltweit tätigen Unternehmen in Anspruch genommen wird.  Die Forschungsgruppe entwickelt außerdem  das ASKALON Toolkit, die Programmier- und Ausführungsumgebung für das Austrian Grid Projekt, und ist an mehreren facheinschlägigen Großprojekten beteiligt.

(ef)