Der Prozessor ist das "Gehirn" des Computers: Dort laufen alle Operationen zusammen. Die neue PC-Generation verwendet sogenannte Multicore-Prozessoren, wie man sie aus dem Supercomputer-Bereich kennt. Sie enthalten nicht nur einen, sondern mehrere parallele Prozessorkerne. Mit der Entwicklung neuer Programmierungsstrategien für Multicore-Prozessoren beschäftigt sich ein Team am Institut für Scientific Computing: Im EU-Projekt "PEPPHER" werden gemeinsam mit Universitäten und Computerfirmen Tools entwickelt, um Supercomputer-Programme "wohnzimmerreif" zu machen. |
"Mehr Leistung!" Seit der Erfindung der ersten Rechner scheinen Computerindustrie und Käufer diesem Leitspruch zu folgen: Ständig wird nach neuen, leistungsfähigeren Rechnern verlangt. Gleichzeitig werden einzelne Computerprogramme immer komplexer. Diesen Anforderungen versuchen Prozessorhersteller - wie die Firmen "Intel" oder "AMD" - gerecht zu werden.
Das führte 2005 zur Markteinführung der sogenannten Multicore-Prozessoren, die heute in nahezu jedem Laptop zu finden sind. "Damit werden Rechenbefehle nicht mehr nur von einem Prozessor schrittweise bearbeitet, sondern auf mehrere verteilt", erklärt Siegfried Benkner, Leiter des Instituts für Scientific Computing und Koordinator des dreijährigen EU-Projekts "Performance Portability and Programmability for Heterogeneous Many-core Architectures", kurz "PEPPHER".
Parallele Verarbeitung
Multicore-Prozessoren ist es zu verdanken, dass wir heute an unserem Computer viele Anwendungen möglichst rasch, gleichzeitig und ohne spürbare Verzögerung ausführen können. "Es ist vorstellbar, dass die Laptops, die heute mit zwei Prozessoren ausgestattet sind, in Zukunft dreißig davon auf einem Chip haben", prognostiziert Benkner.
Der Informatiker beschäftigt sich schon seit mehreren Jahren mit der Programmierung solcher Chips und kennt daher die große Herausforderung, die das neue System mit sich bringt: "Viele der derzeitigen Programme sind nicht darauf ausgerichtet, einzelne Befehle auf verschiedene Prozessoren aufzuteilen." Im Rahmen von "PEPPHER" wollen er und sein Team nun in Kooperation mit Partneruniversitäten aus Deutschland und Schweden sowie europäischen Computerfirmen einen Lösungsansatz finden: "Ziel unserer Forschung ist es, Werkzeuge und Grundlagen für die parallele Programmierung zu liefern. Ohne sie ist die optimale Nutzung von Multicore-Prozessoren nicht möglich."
Supercomputer-Programme für Standardcomputer adaptieren
Bei der neuen Programmiertechnik wird ein großer Datensatz auf kleinere Abschnitte aufgeteilt und von mehreren Prozessoren parallel bearbeitet, um die Arbeitsgeschwindigkeit zu erhöhen. "Wir kennen diese Methode aus dem Supercomputer-Bereich, wo Multiprozessor-Systeme schon länger im Einsatz sind. Für die optimale Auslastung des Rechners muss die Programmierung auf die einzelnen, parallel arbeitenden Prozesse genau abgestimmt sein", so Benkner: "Wir haben nun vor, diese Programmierung für Standardcomputer zu adaptieren."
Forschung vorantreiben
Dass dieses Unterfangen alles andere als leicht ist, darüber sind sich alle Beteiligten einig: "Ein Problem ist, dass für die parallele Datenverarbeitung noch keine adäquate Programmiersprache oder effektive Entwicklungstools vorhanden sind", berichtet Sabri Pllana, administrativer Koordinator des Projekts. Denn bis dato gab es nur wenige Projekte, um die Forschung auf diesem Gebiet voranzutreiben: "Die Parallelprogrammierung war lange Zeit nur für den Supercomputer-Bereich, der nur etwa ein Prozent der gesamten Computerindustrie ausmacht, wichtig und wurde daher wenig unterstützt", ergänzt Benkner. Das hat sich mit dem Einbau der Multicore-Prozessoren in gängige PCs geändert: "Jetzt beteiligt sich auch die Industrie verstärkt an der Forschung."
Fruchtbare Kombination von Wissenschaft und Praxis
Im PEPPHER-Projekt konnten u.a. der Prozessorhersteller "Intel" sowie die englische Softwarefirma "Codeplay" als Partner gewonnen werden. Sie bringen ihr Know-How aus den Bereichen Parallelisierung von Server-Plattformen und der Programmierung von Computerspielen mit ein. Das Wissen der Industrie ergänzt die Zusammenarbeit mit den beteiligten europäischen Universitäten, u.a. den schwedischen Universitäten Linköping und Chalmers sowie der Universität Karlsruhe. "Ob aus der Wissenschaft oder der Praxis: Alle ProjektteilnehmerInnen lassen ihre bisherige Forschungsarbeit auf diesem Gebiet einfließen", freut sich Benkner über die fruchtbare Kooperation: "Unsere große Stärke hier am Institut für Scientific Computing ist, dass wir uns schon seit über zwanzig Jahren mit der parallelen Programmierung auseinandersetzen." (pp)
|