Blitzstart: Entwickler bootet FreeBSD-Unix in 25 Millisekunden

Ein Entwickler hat es geschafft, den Kernel des Unix-Betriebssystems FreeBSD so zu optimieren, dass das Betriebssystem binnen 25 Millisekunden gebootet werden konnte. Der entscheidende Schritt war die Wahl eines neuen Sortieralgorithmus.
Betriebssystem, Sicherheit, Sicherheitslücke, Hacker, Security, Hack, Linux, Kriminalität, Cybersecurity, Cybercrime, Hacking, Hackerangriff, Internetkriminalität, Hacken, Hacks, Unix, Basis

Optimierung in VM

Der schnelle Bootvorgang wurde dabei allerdings nicht auf physischer Hardware erreicht, sondern in einer Virtualisierungsumgebung. Während die herkömmlichen VMs vor allem die Kommunikation über das Host-Betriebssystem mit der Hardware erledigen, hat IBM bereits sehr früh Technologien entwickeln, bei denen das Gastsystem so gut wie keinen direkten Hardwarekontakt mehr herstellt. Es gibt stattdessen eine hochoptimierte Kommunikation zwischen Gastsystem und Hypervisor.

Solche als "serverlos" bezeichneten Techniken bietet beispielsweise Amazons AWS mit seinem Firecracker an. Dabei handelt es sich eigentlich um einen Linux-on-Linux-Hypervisor. Der FreeBSD-Kernelentwickler Colin Percival fühlte sich allerdings herausgefordert, auch seinen Unix-Kernel in der Umgebung zum Laufen zu bekommen. Als dies erst einmal funktionierte, machte er sich an die Leistungsoptimierungen, wie das britische Magazin The Register berichtet.


Und hier machte er dann gravierende Fortschritte. Durch den Austausch eines Sortieralgorithmus wurde ein Teil des Startprozesses des FreeBSD-Kernels um das Hundertfache beschleunigt, wodurch die Ladezeit des Kernels im Hypervisor auf beeindruckende 25 Millisekunden sank.

Immer schneller

Dies war aber im Grunde nur das Sahnehäubchen auf der Entwicklungsarbeit. Um FreeBSD überhaupt im Firecracker lauffähig zu bekommen, waren ganz andere Schritte nötig: So mussten mehrere Initialisierungsschritte beseitigt werden, da der Kernel sonst annahm, unter Xen zu booten. Auch die ACPI-Abfragen nach dem Typ und der Anzahl der Prozessoren mussten weg. Dann schlug die Initialisierung eines der wenigen Teile der Hardware, die er emuliert, nämlich einer seriellen Konsole, fehl.

Als es dann endlich einen erfolgreichen Start gab, der noch rund 10 Sekunden dauerte, wurde der Speicher schnell zum Problem, da Firecracker dem Gastsystem erst einmal nur 128 Megabyte RAM anbietet. Es folgten also diverse Optimierungsarbeiten, die Schritt für Schritt mehr Performance brachten - bis hin zum letzten Trick, der die Boot-Zeit dann so weit herunterschraubte. Vergleichbare Linux-Kernel benötigen in der Firecracker-Umgebung übrigens 75 bis 80 Millisekunden.

Zusammenfassung
  • Entwickler optimiert Unix-Kernel FreeBSD für schnelleres Booten
  • Bootvorgang in 25 Millisekunden in Virtualisierungs-Umgebung erreicht
  • Optimierung durch Sortieralgorithmus und Anpassungen im Hypervisor
  • FreeBSD-Kernel läuft in "serverloser" Umgebung von Amazons Firecracker
  • Speicherproblem durch Limitierung von Firecracker auf 128 MB RAM
  • Vergleichbare Kernel benötigen 75 bis 80 Millisekunden zum Booten.

Siehe auch:
Jetzt einen Kommentar schreiben


Alle Kommentare zu dieser News anzeigen
Tipp einsenden
❤ WinFuture unterstützen
Sie wollen online einkaufen? Dann nutzen Sie bitte einen der folgenden Links, um WinFuture zu unterstützen: Vielen Dank!