Schneller Booten dank Parallelisierung

Schneller Booten dank Parallelisierung

Systemd macht Tempo

Lennart Poettering von Red Hats Desktop-Team hat auf dem Linuxtag seinen runderneuerten Linux-Systemstart mit Systemd vorgestellt. Zum Abschluss führte er auf seinem Laptop vor, wie schnell die Software tatsächlich ist.

Unter dem Namen Systemd entwickelt er einen Init-Ersatz, der auch als Session-Manager dient. Er soll mit Sys-V- und LSB-Init-Skripten funktionieren und stark auf Parallelisierung setzen, um den Systemstart zu beschleunigen.

Poettering legt in Systemd besonderen Wert auf Parallelisierung. In seinem Vortrag zeigte er anhand von Diagrammen, wie Sys-V-Init die Dienste Syslog, D-Bus, Avahi und Bluetooth hintereinander startet. Suse und Ubuntu können mit Upstart bereits Avahi und Bluetooth parallel starten. Systemd dagegen soll alle diese Dienste so gut wie gleichzeitig starten, obwohl beispielsweise D-Bus von Syslog abhängig ist.

Lennart Poettering von Red Hat stellte Systemd auf dem Linuxtag 2010 vor.

Lennart Poettering von Red Hat stellte Systemd auf dem Linuxtag 2010 vor.

Damit das gelingt kommt Socket-based Activation zum Einsatz, die von Apples Launchd inspiriert ist: D-Bus wartet eigentlich nur, bis Syslog einen Socket zur Verfügung stellt. Solche Sockets lässt sich aber auch schon frühzeitig mit Systemd anlegen, womit sich bereits sämtliche Daemons starten lassen. Die Dateideskriptoren aller benötigten Sockets bleiben geöffnet, und Schreibvorgänge auf diese werden vorerst gepuffert. So können die Dienste beispielsweise schon Logging-Meldungen absetzen, bevor Syslog läuft. Auf diese Weise lässt sich laut Poettering der Systemstart wesentlich beschleunigen, ein Patch von 10 Zeilen am Syslog-Quellcode reichte zur Umsetzung. Selbst bei einem Syslog-Neustart blieben außerdem dank der Socket-Puffer die Logging-Informationen erhalten.

Auch bei den Dateisystemen soll Parallelisierung Einzug halten, wozu Autofs dient. Noch während beispielsweise Fsck eine Partition prüft, soll es bereits möglich sein, auf einen Autofs-Mountpoint zu schreiben. Dank Pufferung geht nichts verloren, analog zu den Sockets.

Bei seinen Bemühungen macht der Red-Hat-Entwickler zudem “Shell ist böse” zu seinem Motto. Er möchte sich von Systemskripten verabschieden, die ständig “aus trivialen Gründen Sed- und Awk-Prozesse aufrufen”. Wie viele solcher Prozesse ein System starte lasse sich an den verbrauchten Prozess-IDs ablesen: Nach dem Start habe Linux rund 2000 verbraucht, Mac OS X dagegen nur wenige Hundert. Poettering und seine Mitarbeiter haben daher den Großteil solcher Shellskripte abgeschafft und deren Funktion teilweise in die Daemons und Systemd selbst verlegt. Für Debugging-Zwecke bietet Systemd zudem einen interaktiven Startup-Modus an und bietet eingebautes Tracing.

Systemd lässt sich aus dem Git-Repository des Projekts bauen, daneben ist es vor kurzem in den Fedora-Zweig Rawhide eingegangen. Es lässt sich einfach als Init-Ersatz anwenden, indem man dem Kernel “init=/bin/systemd” zum Starten mitgibt. Um von den interessanten Features von Systemd zu profitieren, ist allerdings die Installation weiterer Pakete notwendig. Lennart Poettering zeigte zum Abschluss des Vortrags mit seinem Notebook, wie sich Linux mit dem neuen Init-System in unter 5 Sekunden booten lässt. Dafür erntete er den freudigen Applaus der Linuxtag-Besucher.

E-Mail Benachrichtigung
Benachrichtige mich zu:
3 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Dominik
15 Jahre her

Servus,

weiß vielleicht jemand, wann und ob systemd in Ubuntu integriert wird???

danke

sebastian1121
15 Jahre her
Reply to  Dominik

Also ich weiß ja nicht was sich der Entwickler alles vorgenommen hat, aber ich glaube er hat erst vor kurzem begonnen. Ich fürchte da wird noch einiges an Features offen sein, von Testphasen mal ganz abgesehen. Ist ja ein sehr kritisches Stück Software, das darf nicht an irgend einer Stelle einfach versagen. Ich würde aber wetten, dass es erst bei Fedora an den Start geht, Ubuntu dann erst eine oder zwei Versionen später mitzieht — wenn es sich denn wirklich lohnt. Man darf auch nicht vergessen, dass Canonical sehr viel Zeit in den Bootprozess gesteckt hat und oft schon vielleicht… Mehr »

maxiq
15 Jahre her

Bootzeit unter 5 Sekunden hört sich zwar super an, aber das sagt leider noch gar nichts aus. Was für ein Notebook hat er denn ? Wie ist sein Linux konfiguriert (nur auf schnelles Booten ausgerichtet oder auch zum täglichen Arbeiten geeignet ?). Auch Moblin hat ja z.B. solche Bootzeiten in Aussicht gestellt, aber geht von SSD Platten aus, wo die Bootzeiten ohnehin automatisch viel schneller werden. Auch ich habe bei Moblin die Erfahrung gemacht, dass mich die Bootzeit auf USB-Stick begeisterte, dann aber auf Festplatte deutlich langsamer war (langsamer als mein “normales” ArchLinux-System auf derselben Netbook-Platte). Da Systemd ausserdem recht… Mehr »

Nach oben