• IT-Karriere:
  • Services:

Neuer Prozess-Scheduler soll Linux Beine machen

Überarbeiteter Scheduler und genetische Optimierungen für den Linux-Kernel

Nick Piggin hat den O(1)-Scheduler im Linux-Kernel überarbeitet und auf der Linux-Kernel-Mailing-Liste einen entsprechenden Patch veröffentlicht, mit dem der Kernel für SMP-, CMP- und NUMA-Systeme optimiert wird. Zuvor veröffentlichte Jake Moilanen eine Kernel-Bibliothek für genetische Algorithmen, die ebenfalls den Scheduler optimiert und so die Systemleistung erhöhen soll.

Artikel veröffentlicht am ,

Die von Nick Piggin vorgestellten Veränderungen sollen den Linux-Prozess-Scheduler für Mehrprozessor-Systeme weiter beschleunigen. Dabei sollen auch explizit Verbesserungen mit Intels CMP-Technik (Chip-Multi-Processing) "Hyper Threading" und AMDs Opteron-Systemen zu erzielen sein.

Stellenmarkt
  1. Versicherungskammer Bayern, München, Saarbrücken
  2. Lidl Digital, Neckarsulm

Bei Opteron-Systemen ist zwar der gesamte Speicher für jede CPU sichtbar, besonders schnell ist jedoch der lokal an die CPU angebundene Speicher (NUMA - Non Unified Memory Architecture). Piggins Veränderungen verbesseren die Bindung von Prozessen an eine CPU, so dass diese nicht unnötig auf unterschiedlichen Prozessoren hin und her wandern und somit der Cache besser ausgenutzt wird.

Auch der Overhead des aktuellen Schedulers bei der Suche nach freien CPUs soll weiter verringert werden. Dieser ist erst in letzter Zeit angewachsen, als man einige Benchmarks beschleunigte - was allerdings für Chip-Multi-Processing zu Geschwindigkeitseinbußen führte.

Modifiziert wurde auch die initiale Verteilung neuer Prozesse: Aktuell werden alle logischen CPUs der Reihe nach aufgefüllt, d.h. zum Beispiel zuerst die beiden logischen Kerne der ersten CPU vor denen der zweiten, echten CPU. Dies führt oft zu einer suboptimalen Auslastung.

Erst in den letzten Jahren wurde der aus Linux-Urzeiten kaum modifizierte Scheduler, den Linus Torvalds Anfang der 90er-Jahre geschrieben hatte, von dem Red-Hat-Mitarbeiter Ingo Molnar neu geschrieben, um die Geschwindigkeit auf SMP-Systemen zu erhöhen. Hauptsächlich besteht der O(1) Scheduler aus neuem Code für das Suchen ausführbarer Prozesse und freier CPUs. Zuvor war dafür das zeitaufwendige Durchsuchen von Listen nötig, was jetzt durch explizite Sortierung der Listen durch wesentlich einfachere Operationen realisiert wird. Durch die konstante Zeit, die dieser Vorgang in Anspruch nimmt, wurde der Scheduler auch nach mathematischer Notation O(1), für konstante Komplexität, benannt.

Ingo Molnar segnete die Modifikationen bereits als konsequente Weiterentwicklung seiner Arbeit ab.

Weit experimentellere Änderungen stellt Jake Moilanen bereit: Er entwickelte eine Bibliothek als Basis für genetische Optimierungen, mit der er den Prozess- sowie den I/O-Scheduler oder den TCP/IP Stack beschleunigen möchte.

Dabei werden mit Prinzipien der Biologie Probleme mit Hilfe von selbst modifizierenden Algorithmen gelöst. Ein Satz von Parametern wird beispielsweise durch simulierte Fortpflanzung und Rekombination modifiziert und bei verbesserten Resultaten weiter verwendet. Moilanen stellt sogar in Aussicht, dass verschiedene Parametersätze vorgehalten werden könnten, um so jeweils der Situation angepasste zu laden.

Ob die genetischen Algorithmen jedoch Einzug in die offiziellen Kernel-Quellen halten, ist fraglich: Bisher hat sich noch kein Kern-Entwickler dazu geäußert und einem Einzug von Algorithmen der künstlichen Intelligenz in einen Betriebssystem-Kernel steht man eher ablehnend gegenüber, da die Geschwindigkeit nicht vom aktuellen Trainingsstand evolutionär entstandener Parameter abhängen sollte. [von René Rebe]

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed


Anzeige
Spiele-Angebote
  1. (-82%) 11,00€
  2. (u. a. Rage 2 für 11€, The Elder Scrolls V: Skyrim Special Edition für 11,99€, Doom Eternal...
  3. 16,49€

nuguckmormal 03. Mär 2005

Wo, beim Wahnsinn oder beim Solaris ;-.) nuguckmormal

Anonymer Nutzer 02. Mär 2005

Wozu braucht die Welt noch einen Papst ? Oder einen Gott ? "Ingo Molnar segnete die...


Folgen Sie uns
       


Die Evolution des Microsoft Flugsimulator (1982-2020)

Die Entwicklung des Flugsimulator zeigt die beeindruckenden Fortschritte der Spielegrafik in den letzten Jahrzehnten.

Die Evolution des Microsoft Flugsimulator (1982-2020) Video aufrufen
Ryzen 7 Mobile 4700U im Test: Der bessere Ultrabook-i7
Ryzen 7 Mobile 4700U im Test
Der bessere Ultrabook-i7

Wir testen AMDs Ryzen-Renoir mit 10 bis 35 Watt sowie mit DDR4-3200 und LPDDR4X-4266. Die Benchmark-Resultate sind beeindruckend.
Ein Test von Marc Sauter

  1. Ryzen 4000G (Renoir) AMD bringt achtkernige Desktop-APUs mit Grafikeinheit
  2. AMD Ryzen Threadripper Pro unterstützen 2 TByte RAM
  3. Ryzen 3000XT im Test Schneller dank Xtra Transistoren

MS Flight Simulator angespielt: Airbus 320neo mit Tastatur gesteuert
MS Flight Simulator angespielt
Airbus 320neo mit Tastatur gesteuert

Wie fliegt sich der Airbus 320neo? Golem.de hat es am PC ausprobiert - und von den Entwicklern mehr über den Flight Simulator erfahren.
Von Peter Steinlechner

  1. Microsoft Flight Simulator startet auf Steam und fliegt mit Valve-VR
  2. Microsoft Flight Simulator enthält eigenen Marktplatz
  3. Aerosoft MS Flight Simulator kommt auf 10 DVDs in den Handel

Mars 2020: Was ist neu am Marsrover Perseverance?
Mars 2020
Was ist neu am Marsrover Perseverance?

Er hat 2,5 Milliarden US-Dollar gekostet und sieht genauso aus wie Curiosity. Einiges ist dennoch neu, manches auch nur Spielzeug.
Von Frank Wunderlich-Pfeiffer


      •  /