Multicores stressen Software-Entwickler:
Programme lasten neue Hardware nicht aus

Die Entwicklung von Chips mit mehreren Prozessorkernen bedeutet für die Programmierer von Betriebssystemen und Anwendungen eine große Herausforderung. Die Hardware entwickelt sich so schnell, dass die Software kaum Schritt halten kann. "Es ist das Szenario denkbar, dass die Leute keine Laptops und PCs mehr kaufen, weil wir keine Lösung dafür finden", meint gar David Patterson, der sich als Informatik-Professor an der University of California in Berkeley auf die Architektur von Computersystemen spezialisiert hat.

Über viele Jahre hinweg war die Entwicklung von Software eine recht überschaubare Angelegenheit. Nach dem Modell "Eingabe, Verarbeitung, Ausgabe" werden über den Bus einzelne Befehle an den Prozessor geschickt, also an die "Central Processing Unit" (CPU). Diese Instruktionen werden eine nach der anderen abgearbeitet, das Ergebnis erscheint auf dem Bildschirm. Um die Ausführung der Befehle zu beschleunigen, wurde der Prozessor auf immer höhere Taktraten gebracht. Bei vier Gigahertz war im vergangenen Jahr erst einmal Schluss - diese Prozessoren verbrauchen viel Energie und entwickeln entsprechend viel Wärme. Stattdessen werden jetzt zwei und mehr Prozessorkerne auf einen Chip gebracht, die sich die Arbeit teilen.

Mehr als acht Kerne nicht sinnvoll
Bei den bereits sehr weit verbreiteten Doppelkernprozessoren ist diese Arbeit noch recht überschaubar. Intel und AMD haben aber auch schon Chips mit vier Kernen eingeführt und entwickeln bereits die nächste Generation von Mehrkernprozessoren. Intel hat zu Forschungszwecken sogar einen Chip mit 80 Kernen präsentiert, der so komplex ist, dass bisher kein Betriebssystem damit zurechtkommt. Die meisten Anwendungen für den privaten PC sind bisher auch nicht darauf vorbereitet, um acht und mehr Kerne eines Chips anzusprechen. Experten warnen vor einem Stillstand der Software-Entwicklung, wenn die Programmierer ihre bisher gewohnten Arbeitsweisen nicht an die neue Prozessortechnik anpassen. "Wir befinden uns da in unkartiertem Gelände", sagt Patterson.

Hürde Mensch (noch) unüberwindbar
Wieviele Prozessorkerne aber sind überhaupt sinnvoll für den durchschnittlichen PC-Nutzer? Schon jetzt verbringe der Prozessor die meiste Zeit damit, um auf Eingaben des Nutzers zu warten, gibt der technische Leiter von AMD, Phil Hester, zu bedenken. Diese "Human-Response-Time" bilde eine entscheidende Begrenzung für die Entwicklung von Anwendungen für den Heim-PC. "Wenn man eine Textverarbeitung für Vierkernprozessoren entwickelt, merkt man keinen Unterschied."

Durchbruch mit komplexem 3D?
Anders aber stellt sich die Situation beim Umgang mit riesigen Datenbanken oder Programmen mit komplexer 3D-Grafik dar. Wenn der Ausflug in virtuelle Welten oder das dreidimensionale Web einmal zum Alltag gehört, bekommen Mehrkernprozessoren gut zu tun. Unternehmen, die massenmarkttaugliche Anwendungen für parallele Architekturen entwickeln, werden sich entsprechend lukrative Chancen bieten. (apa/red)