Am gestrigen runden Tisch bei Intel wurde viel über die Zukunft und Vielkernprozessoren gesprochen. Dazu wurden Vertreter der Universität Wien und Innsbruck eingeladen, die über ihre Forschung mit
48-Kern-Prozessoren aus dem
Single-Chip Cloud Computing(SCC) sprachen.
Als Angehörige der
Many-Core Applications Research Community (MARC) beschäftigen sie sich mit der Parallelisierung unter anderem auf Intels SCC - Prozessoren welche derzeit mit
48 Cores aufwarten können, während sogar hunderte bis
tausende Cores möglich sein sollen.
Diese Cores sind aber nicht zu vergleichen mit heutigen Single-Core Prozessoren. Sie haben etwa
300-800 MHz und entsprechen von der Architektur Intel 8086 oder 80186 CPUs aus den 80er Jahren. Ferner sind sie nicht etwa über einen Hochgeschwindigkeitsbus sondern
über ein Netzwerk verbunden; es hat auch
jeder Core sein eigenes OS und einen Software-Stack. Die Leistungsaufnahme bewegt sich derzeit bei 25-125 Watt für alle 48 Kerne gemeinsam.
Wer möchte dort nicht arbeiten ? Da Single-Core Prozessoren mit sequentieller Abarbeitung der Aufgaben im Großen und Ganzen seit 2003 nicht mehr schneller geworden sind, stehen Programmierer seit nunmehr einigen Jahren vor einer komplett neuen Aufgabe: Parallelisierung. Und genau hier setzt zum Beispiel die Forschung der Uni Innsbruck an. Sie entwickelt einen
Compiler der sequentielle Programme parallelisiert und parallelisierte Programme
optimiert. Zusätzlich lässt sich dieser auf
verschiedene Ziele hin optimieren: minimale Laufzeit, minimale Energieaufnahme oder minimale Kosten.
Das wird bei SCC unter anderem dadurch möglich, dass die
Hardware an die Software angepasst wird. So werden zum Beispiel einzelne Kerne oder auch Gruppen von Kernen im Sinne einer
Spezialisierung mit spezifischen Aufgaben betraut und entsprechend getaktet. Das optimiert die Leistung pro Watt und erlaubt das möglichst vollständige Ausnützen von Ressourcen. Die
Anwendungsgebiete von SCC liegen (vorläufig) nämlich nicht im privaten Bereich sondern hauptsächlich in der Simulation wie etwa von Motoren oder Fahrzeugen für die Industrie.
Doch bis zum tatsächlichen Einsatz von Vielkernprozessoren muss es noch viel Arbeit in den Bereichen Parallelisierung, Scheduling, Spezialisierung und nicht zuletzt auch der
Aus- und Weiterbildung von Programmierern geben.
» Beitrag diskutieren (5 Kommentare)