Archiv


Darf’s ein Kern mehr sein

Nach Ansicht des Analysten-Hauses Gartner stehen Multicore-Chips, wie sie schon längst in PCs von Discounter verbaut werden, ganz oben auf der Hitliste der IT-Themen. Doch die Ausnutzung der geballten Rechenkraft stellt Entwickler vor große Herausforderungen.

Von Achim Killer |
    Das Veränderungspotential, das in Mehrkern-Prozessoren steckt, kann man am einfachsten dadurch abschätzen, dass man sich anschaut, was sich ändert, wenn man seinen alten PC mit einem Prozessorkern durch einen modernen mit 4-Kern-Chip ersetzt: Meist ändert sich nichts. Programme werden vom neuen Rechner genauso langsam verarbeitet wie vom alten.

    "Ich benutze 4-Kern-Systeme. Wenn man darauf eine Monitor-Software laufen lässt, die anzeigt, was mit den verschiedenen Kernen passiert, dann sieht man, dass bei vielen Anwendungen drei der vier Kerne überhaupt nichts tun. Das heißt: Es gibt jede Menge Leistungskapazitäten, die gar nicht genutzt werden."

    So Gartner-Vice-President David Cearly. Das Problem: Die Software wird sequentiell, also ein Befehl nach dem anderen, verarbeitet. Das erledigt ein Prozessorkern. Die anderen liegen brach. Das gab's schon einmal vor etlichen Jahren, als Server mit mehreren Prozessoren in großen Rechenzentren Einzug hielten. Gartner-Vice-President Andrew Butler:

    "Vor zehn Jahren war es ein Kampf, einen Computer mit zwei oder vier Prozessoren vernünftig einzusetzen. Und für einige Betriebssysteme ist es immer noch ein Kampf, einen Rechner mit 16 oder 32 Prozessoren zu verwalten. Dieses Problem verschwindet nicht allein dadurch, dass man die Prozessoren auf einen Chip packt und sie Kerne nennt."

    Allerdings für das Rechenzentrum hat es sich lösen lassen: Software, die besonders leistungshungrig ist und deshalb vorzugsweise auf Multi-Prozessor-Servern eingesetzt wird, wie Datenbanken beispielsweise, kann relativ leicht parallelisiert werden und nutzt so alle Server-CPUs. Aber Datenbanken gehören nicht unbedingt zu den Lieblingsprogrammen des Privatanwenders, der jetzt auch parallelisierte Programme benötigt, wenn er etwas Vernünftiges mit einem neuen PC anfangen will. Er kann darauf ein Computerspiel fahren. Da funktioniert es. Den Quelltext eines Spiels zerlegt der Kompiler recht effizient in Maschinen-Code-Stücke, die unabhängig von einander sind, also gleichzeitig von verschiedenen Prozessorkernen verarbeitet werden können. Bei den meisten Anwendungen allerdings versagt diese Technik, sagt Professor Erhard Plödereder vom Institut für Software-Technik der Uni Stuttgart:

    "Hier muss man aber feststellen, dass die Anwendungen, in denen es sinnvoll ist, im Wesentlichen eben numerische Applikationen sind und die Compiler dann doch in ihrer Fähigkeit, diese Art der Parallelisierung für beliebige Software herzustellen, sehr beschränkt sind. Wir haben es in 30,40 Jahren nicht geschafft, hier eine transparente Parallelität durch Compiler herzustellen. Ich glaube nicht, dass wir es in den nächsten fünf Jahren schaffen werden, und die Zeit haben wir gar nicht mehr."

    Also müssen die Software-Entwickler ihre Programme so schreiben, dass deren Einzelteile von Haus aus parallel verarbeitet werden können. Die tägliche Programmierarbeit in den Software-Häusern müsste demnach revolutioniert werden. Deshalb stehen die Multi-Kern-Prozessoren in der Gartner-Liste ganz oben. Das Problem dabei:

    "Wir schätzen, dass weniger als die Hälfte der Entwickler bei den Herstellern und auch bei den Unternehmen, die eigene Software einsetzen, wirklich in der Lage sind, parallel zu programmieren."

    Im Hochschulbereich sind Arbeitsgruppen eingerichtet worden, die die Lehrpläne überarbeiten, damit sie den neuen Anforderungen gerecht werden, die Multicore-Chips an die Informatik stellen. Denn diese Anforderungen betreffen nicht nur wie früher das Rechenzentrum, sondern jede Art von Software:

    "Diese weite Verbreitung ändert das Problem, weil jetzt plötzlich die gesamte Programmierung, die dort draußen stattfindet, sich in diese Richtung bewegen wird. Aber wie?"