Login
Newsletter
Werbung

Fr, 20. November 2009, 13:33

Software::Kernel

Linux-Kernel mit Checkpoint/Resume für Prozesse

Eine Gruppe von Entwicklern arbeitet derzeit unter dem Namen Linux-CR an einem sogenannten Checkpoint/Resume-Framework für Prozesse.

Checkpoint/Resume erlaubt die Erstellung eines Prozess-Schnappschusses, der zu einem späteren Zeitpunkt wieder gestartet werden kann. Der Schnappschuss enthält den kompletten Prozess-Zustand inklusive aller notwendigen Ressourcen (Datei-Handles, Sockets etc.) und ist nicht an einen bestimmten Rechner gebunden, kann also theoretisch auch auf einem anderen System gestartet werden, wenn alle notwendigen Voraussetzungen erfüllt werden können.

Entwickler sollen die Schnittstelle möglichst über nur zwei einfache Funktionen nutzen können:

int checkpoint(pid_t pid, int fd, unsigned long flags);

int restart(int crid, int fd, unsigned long flags);

checkpoint() erstellt einen Schnappschuss und schreibt alle notwendigen Daten in den angegebenen File-Deskriptor, restart() liest ihn wieder ein und erzeugt den Prozess.

Die Entwickler führen eine Reihe von Beispielen auf, in denen Checkpoint/Resume nützlich sein kann. Der Haupteinsatzzweck dürfte wohl im Bereich Clustering liegen, ein einzelner Prozess kann bei Überlast eingefroren und auf einen anderen Knoten migriert werden. Treten schwere Fehler auf, kann ein Prozess auf einen funktionierenden Schnappschuss zurückgesetzt werden.

Lange Startzeiten komplexer Anwendungen (z.B. Anwendungs-Server) lassen sich möglicherweise umgehen, indem sofort nach der Initialisierung ein Schnappschuss erzeugt wird. Hat sich die Konfiguration nicht geändert, kann die Anwendung durch Wiederherstellung dieses Schnappschusses in wenigen Augenblicken neu gestartet werden. Interessant ist möglicherweise auch der Gedanke, lang laufende Jobs automatisiert einzufrieren, wenn das System unter zu hohe Last gerät, um sie bei Rückkehr zu Normallast wieder anzustoßen.

Einige Funktionen von Checkpoint/Resume lassen sich auch heute schon durch Virtualisierungs-Schichten wie OpenVZ und Xen realisieren, erfordern aber spezielle Container oder vollständig virtualisierte Betriebssysteme und damit einen deutlich höheren Aufwand.

Die Arbeit an Checkpoint/Resume unter Linux läuft bereits seit fast zehn Jahren und mündete unter anderem in CRAK, einem Kernel-Modul für Linux 2.2 und 2.4, sowie einer Reihe von Forschungsprojekten. Auch Linux-CR hat noch einen langen Weg vor sich, so ist das API nicht stabil und wird derzeit entwickelt. Im Gegensatz zu früheren Projekten wird Linux-CR aber bereits als Teil des Standard-Kernels entwickelt und ist durch Linus Torvalds akzeptiert.

Auf der Homepage des Zap-Projektes finden sich viele weitere Informationen zum Thema.

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