Linuxtag 2013: Der Kernel-Spagat zwischen Embedded und HPC
Der Kernel-Entwickler Thomas Gleixner erklärte in seiner Keynote auf dem Linuxtag, wie der Kernel den Spagat zwischen Embedded und High Performance Computing bewältigt.
Es war die erste Keynote auf dem Linuxtag 2013, bestritten wurde sie vom Kernel-Entwickler Thomas Gleixner, einem Real-Time-Experten. In einem Symbolbild zeigte der Entwickler zunächst, wovon überhaupt die Rede sei: Während der kleinste Linux-Rechner etwa über die Größe einer Briefmarke verfüge, komme der größte Einzelrechner mit Linux - ein Sequoia von IBM - immerhin auf stattliche 280 Quadratmeter.
Das Problem sei nun, so Gleixner, all diesen Geräten mit demselben Kernel gerecht zu werden. Das geht nicht nur, sondern Gleixner zeigte, dass der Einer-für-alle-Ansatz auch interessante Phänomene erzeugt.
So wurde die Computer-Speicherarchitektur NUMA (Non-Uniform Memory Access) ursprünglich für große Server mit vielen Prozessoren entwickelt, die so schnell auf den lokalen Speicher zugreifen können. Als es an ganz anderer Stelle darum ging, ein Modell für den Umgang mit den Speichermodellen von Embedded-Systemen zu entwickeln, kam ein Entwickler auf die Idee, den NUMA-Ansatz auch dafür einzusetzen, was inzwischen erfolgreich getan werde.
Als zweites Beispiel brachte er die Kernel-Ticks, auch bekannt als Idle NoHz: Diese weckten in der Vergangenheit den Kernel immer wieder auf, um zu schauen, ob es etwas zu tun gibt. Doch die Mobilentwickler beschwerten sich über den Energieverbrauch und erarbeiteten eine Lösung, die High Resolution Timers, welche die Kernel-Ticks in ihrer bestehenden Form abschaffen.
Auch hier gab es plötzlich Entwickler aus ganz anderen Bereichen, die sich über die neue Technologie freuten. Virtualisierungsentwickler sparten enorm viel Strom ein, weil ihre virtuellen Maschinen nun nicht mehr ständig aufgeweckt wurden und Energie verbrauchten. Insgesamt sparen Data-Center laut Gleixner nur durch diese kleine Änderungen den Strom ein, den ein mittleres Atomkraftwerk pro Jahr erzeugt. Die Real-Time-Nutzer störte hingegen, dass die Kernel-Ticks ihre Events ein klein wenig verzögerten. Aktuell wird übrigens an einem Kernel gearbeitet, der überhaupt nicht mehr aufwachen muss (Full tickless operation).
Hier zeichnet sich also eine Linie ab: Es ist durchaus so, dass zwar nicht alle Hardwaregruppen alle Features des Kernel benötigen. Es gibt aber durchaus den Effekt, dass eine Technologie in einem Bereich relevant wird, die vorher so bei niemandem auf dem Radar war. Zudem versuchen die Kernel-Entwickler auch selbst den Prozess möglichst zu skalieren und Mechanismen zu schaffen, damit die Entwicklungen nicht aus dem Ruder laufen. Über den Integrations-Tree "linux-next" lassen sich die zukünftigen Kernel im Vorfeld auf verschiedensten Geräten testen. Daneben versuchen die Entwickler, mehrfach vorhandenen Code in den Kern aufzunehmen, und nur die hardware- und architekturspezifischen Unterschiede getrennt zu behandeln.





