Zum Hauptinhalt Zur Navigation Zur Suche

Helios - Microsoft forscht am Betriebssystem der Zukunft

Satellitenkernel laufen selbstständig auf verschiedenen Chips im Rechner. Microsoft hat mit Helios ein neues Betriebssystem entwickelt, das auf heterogene Systemarchitekturen ausgelegt ist. Sogenannte Satellitenkernel sollen auf möglichst vielen Chips im System laufen und die heute ungenutzte Rechenkapazität beispielsweise von Grafikkarten und Netzwerkkarten nutzen.
/ Jens Ihlenfeld
213 Kommentare Auf Google folgen (öffnet im neuen Fenster)

Das von Microsoft Research entwickelte System Helios setzt auf Microsofts Projekt Singularity auf, ein Betriebssystem, das Microsoft für Forschungszwecke entwickelt hat. Helios ist ein solches Forschungsprojekt, um zu untersuchen, wie sich die in modernen Rechnern auf verschiedene Chips verteilte Rechenkapazität nutzen lässt. Bei Microsofts Experimenten ließ sich dadurch die Leistung von Applikationen um bis zu 39 Prozent steigern.

Dazu setzt Helios auf ein System von sogenannten Satellitenkerneln, die autonom auf den einzelnen Chips laufen, sei es der Prozessor auf einer Netzwerkkarte, ein Grafikchip oder Prozessorkerne einer CPU. Helios soll Applikationen dabei beliebig auf den heterogenen Chips mit ihren unterschiedlichen Architekturen verteilen, ein Affinitätsindex dafür sorgen, dass Applikationen auf den Chips landen, auf denen sie am besten aufgehoben sind.

Damit Applikationen zwischen den Chips trotz unterschiedlicher Architekturen problemlos verschoben werden können, setzt Microsoft auf seine Common Intermediate Language (CIL). Helios nutzt den CIL-Code, um daraus eine an den jeweiligen Chip angepasste Version zu kompilieren. Ist dazu Assemblercode notwendig, werden verschiedene Codevarianten für unterschiedliche Chips in die Applikation eingebettet und jeweils der passende Code verwendet. So kann Helios Applikationen ein einheitliches Interface zur Verfügung stellen, unabhängig davon, auf welchem Chip diese laufen sollen.

Die zentrale Steuerung übernimmt ein Koordinatorkernel. Dieser Satellitenkernel wird als Erster gestartet, sucht dann nach verfügbaren Chips und startet weitere Satellitenkernel. Dennoch laufen die Kernel unabhängig, so dass es keinen zentralen Kernel gibt, der zu einem Flaschenhals werden kann.

Zugriffe auf I/O-Dienste wie das Dateisystem werden transparent über ein Nachrichtensystem weitergereicht. Laufen zwei Applikationen auf dem gleichen Kernel, können sie Nachrichten direkt und besonders schnell austauschen, an der Funktion des Systems ändert das nichts. So muss eine Applikation nicht geändert werden, soll sie auf einen anderen Kernel verschoben werden.

Helios soll auch Chips mit sehr beschränktem Funktionsumfang nutzen können, einige müssen aber vorhanden sein: ein Timer, Interrupt-Controller und die Fähigkeit, Ausnahmen abzufangen. Andernfalls wäre es nicht möglich, Basisdienste wie Scheduling zu implementieren. Damit fallen aktuelle Grafikchips aber heraus, ihnen fehlen in der Regel Timer und Interrupt-Controller. Intels Larrabee bringt diese mit einer Vielzahl von Kerneln aber mit und wird sich für Helios voraussichtlich besonders gut eignen.

Details zu Helios beschreibt Microsoft Research im Aufsatz Helios: Heterogeneous Multiprocessing with Satellite Kernels(öffnet im neuen Fenster).


Relevante Themen