Login
Newsletter
Werbung

Mi, 13. Oktober 2010, 08:00

Unternehmen

Simulation des Linux-Schedulers vorgestellt

Ranjit Manomohan hat die Verfügbarkeit von Linsched bekannt gegeben, einem Programm, das den Scheduler von Linux 2.6.35 simuliert.

Linux Scheduler Simulator (Linsched) wurde an der Universität von North Carolina entwickelt und enthält das komplette Linux-Scheduler-Subsystem. Mit dieser Software lässt sich das Verhalten des Schedulers in einem normalen Anwenderprogramm beobachten und ändern. Dadurch lassen sich neue Verbesserungen finden und neue Konzepte auf einfachere Weise ausprobieren, als wenn man den realen Scheduler booten und auf echter Hardware testen müsste.

Da das Scheduling auch von der Hardware, besonders der Zahl und Anordnung der Prozessoren abhängt, haben Entwickler meist nicht die Möglichkeit, Änderungen auf allen relevanten Systemen zu testen. Linsched ermöglicht es nun, beliebige Hardware-Topologien zu simulieren, so dass die Entwickler die Auswirkungen ihrer Änderungen auch auf Hardware untersuchen können, die ihnen nicht zur Verfügung steht.

Eine annähernd vergleichbare Möglichkeit stand den Entwicklern bisher schon mit User Space Linux (UML) zur Verfügung. Linsched hat aber laut Manomohan weniger Abhängigkeiten und benötigt nur einen kleinen Teil der Dateien im Kernel. Es bietet außerdem stabile und reproduzierbare Ergebnisse, die nicht von der Umgebung oder der Hardware, auf der die Simulation läuft, beeinflusst werden.

Linsched beruht aktuell auf Linux 2.6.35 und steht als Quellcode in einem Git-Repositorium bereit. Es unterstützt unter anderem Group Scheduling, hochauflösende Timer, Tickless Scheduling (ohne regelmäßige Timer-Interrupts) und Scheduler-Domains, und man kann beliebige Schlaf- und Aufweck-Muster für Prozesse angeben.

Manomohan, der bei Google arbeitet, berichtet, dass das Programm bei Google bereits benutzt wurde, um das Verhalten des Schedulers zu validieren. Einige Tests wurden dem Quellcode-Archiv hinzugefügt. Auf dieser Basis haben die Entwickler bereits einige Verbesserungen für den aktuellen Scheduler (CFS) von Linux vorgeschlagen: Bandbreitensteuerung und verbesserte Lastverteilung für Prozesse mit niedriger Last. Außerdem wurden verschiedene Fehler gefunden und korrigiert, beispielsweise eine leicht ungleichmäßige Verteilung von Prozessen auf zwei Mehrkern-Prozessoren. Eine Aktualisierung von Linsched auf den Scheduler von Linux 2.6.36 ist in Arbeit.

Werbung
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung