Kernel: Google will User-Threads für Linux
Typischerweise werden Threads vom Kernel verwaltet. Google will nun aber seine Arbeit an User-Level-Threads für Linux offenlegen.

Rund sieben Jahre nach der ersten öffentlichen Vorstellung plant Google, seine Implementierung von User-Level-Threads unter Linux als Open-Source-Software zur Verfügung zu stellen. Das geht aus Patches hervor, die der Entwickler Peter Oskolkov auf der Kernel-Mailing-Liste veröffentlicht hat. Die nun veröffentlichen Patches zur Änderung der Linux-Kernel-API seien dabei nur der erste Schritt der geplanten Offenlegung, schreibt Oskolkov.
Üblicherweise übernehmen die Betriebssystemkernel die Verwaltung von Threads eines Programms. Mit den User-Level-Threads wird dies jedoch an die Anwendung im Userspace selbst übertragen. Die bisher interne Implementierung von Google setzt dabei auf ein hybrides System mit beliebig vielen User-Threads, die in einem einzelnen Kernel-Kontext verarbeitet werden (N:1). Zusätzlich skaliert das System von Google aber auch auf mehrere Kernel-Kontexte (M:N).
Laut der Einführung in den Patches nutzt Google dieses Subsystem für "latenzempfindliche Dienste" im Userspace mit einer sehr fein abgestimmten Kontrolle und Scheduling dafür, "was wann ausgeführt wird". Der E-Mail zufolge ist das Subsystem bei Google-internen Projekten sehr weit verbreitet. Details dazu nennt Oskolkov jedoch nicht.
Die nun veröffentlichten Patches basieren auf der Futex-Architektur (Fast Userspace Mutex) des Linux-Kernels und erweitern dessen Basis-Funktionen Wait und Wake um eine Swap-Funktion. Damit soll vor allem der typische Ablauf von Aufwachen und Warten eines Threads auf das Ergebnis eines zweiten Threads auf eben diesen einen Swap-Aufruf reduziert werden. Der neue Aufruf soll den gesamten Ablauf der Operationen außerdem um das Fünf- bis Zehnfache beschleunigen. Weitere Details zu dem System von Google liefert die Präsentation (PDF) aus dem Jahr 2013.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
- ohne Werbung
- mit ausgeschaltetem Javascript
- mit RSS-Volltext-Feed
https://en.wikipedia.org/wiki/Cooperative_multitasking "Cooperative multitasking is used...
Jupp, 2002 das waren noch wilde Zeiten.
Ich glaub du verstehst da was falsch. Die Idee von User-Threads ist schon ziemlich alt...
Na super, dann dürfte systemd auch noch das Scheduling an sich reißen. Natürlich in...