Web

 

Microsoft: Multicore-Chips verändern das Softwaredesign

27.10.2005
Kein "Freibier" mehr - Entwickler von Client-Software sind durch Multicore gezwungen, den neuen und bislang unbekannten Weg der Concurrency zu gehen.

MÜNCHEN (COMPUTERWOCHE) - Herb Sutter leitet bei Microsoft die interne Entwicklungsgruppe "Concur". Auf dem Fall Processor Forum in San Jose erläuterte er dem vorwiegend hardwarelastigen Publikum, wie sehr aus seiner Sicht die zunehmende Verbreitung von Prozessoren mit mehreren Kernen (um Problemen mit der Abwärme immer schnellerer Chips aus dem Wege zu gehen) die Arbeit von Softwareentwicklern verändern und sie vor Probleme stellen.

"Es gibt kein 'Freibier' mehr", klagte Sutter und spielte damit auf die Tatsache an, dass in der Vergangenheit ein Softwerker eigentlich mehr oder weniger tatenlos zuschauen konnte, wie die Rechner immer schneller wurden und seine Applikationen damit auch.

Die Multicore-Designs hingegen zwängen jetzt auch die Welt der Client-Software dazu, sich mit Concurrency (verzahnter Verarbeitung) zu befassen - der Fähigkeit, eine einzelne Aufgabe in mehrere Teile aufzubrechen, die separat abgearbeitet und anschließend wieder zusammengesetzt werden können.

Entwickler von Server-Programmen hätten diese Hürde bereits genommen, weil es dort schon sehr viel länger Mehrprozessorsysteme und Prozessoren mit mehreren Kernen gebe. Viele Anwendungen seien mit mehreren Threads versehen, die den Parallelismus solcher Systeme nutzen könnten. Die Developer auf der Client-Seite steckten aber in einer single-threaded Welt fest, die, so Sutter, seit vielen Jahren "sequentielle Applikationen" hervorbringe.

In der Folge müssten die Entwickler nun neue Wege beschreiten. Genauso wie das Aufkommen der Objektorientierung den Maschinensprachen eine Komplexitätsebene hinzugefügt habe, erfordere auch das Concurrent Programming eine neue Abstraktionsschicht. Microsofts Concur-Projekt versuche, diese Abstraktion zu definieren und wieder an die Hardware zu binden, um "das 'Freibier' wiederzubekommen".