Da darf sich das Linux-Maskottchen Tux freuen: Es soll wieder flotter werden.

Grafik: Linux Foundation

Wie schnell soll ein Computer starten? Die einzig gültige Antwort auf diese Frage ist natürlich: schneller. Entsprechend haben die Entwickler diverser Betriebssysteme in den vergangenen Jahren zahlreiche Optimierungen vorgenommen, um den Systemstart zu beschleunigen. Und natürlich hilft auch der Wechsel auf Technologien wie Solid State Disks, die im Vergleich zu Festplatten – nicht nur – in dieser Hinsicht einen deutlichen Fortschritt gebracht haben.

Vorgeschichte

Bereits vor gut zehn Jahren hat Intel-Entwickler Arjan van de Ven demonstriert, wie sich ein komplettes Linux-System mithilfe spezifischer Optimierungen innerhalb von fünf Sekunden starten lässt. Sein Firmenkollege Feng Tang widmet sich nun erneut diesem Thema, und kann dabei mit beeindruckenden Ergebnissen aufwarten.

Zwei Sekunden

Im Rahmen der Linux Plumbers Conference demonstrierte Intel-Entwickler Tang, wie sich ein komplettes Linux-System innerhalb von zwei Sekunden starten lässt. Der entscheidende Fortschritt gelang ihm dabei beim Start des Linux Kernels: Dank einer Reihe von Optimierungen konnte der Zeitverbrauch hier auf ein Zehntel reduziert werden – von drei Sekunden auf 300ms. Damit bleiben noch 1,7 Sekunden für alle anderen Aufgaben – von der Initialisierung der Hardware, dem Aufruf der Firmware und des Bootloaders bis zum Start des User Spaces mittels Systemd und dem Aufruf einer Kamera-App.

Der letzte Punkt hat dabei einen sehr guten Grund, steckt dahinter doch die Motivation von Intel. Es geht nämlich um den Einsatz von Linux in Fahrzeugen. Und diese zwei Sekunden sind jenes Zeitbudget, das man sich vom Betätigen der Zündung bis zur Verfügbarkeit der Rückfahrkamera gesetzt hat. Als Testplattform nutzte Tang einen Intel Apollo Lake Prozessor mit vier Kernen (1,9 und 2,4 GHz) samt 8 GB RAM und 16GB lokalen eMMC-Speicher.

Trickreich

Auch wenn die Optimierungen für diesen spezifischen Einsatz entwickelt wurden, zeigt sich Tang davon überzeugt, dass auch andere Linux-Systeme davon profitieren können. So würde sich über die Nutzung von Async-init der Start von vielen Treibern parallelisieren lassen – leider benutzen aber viele davon auch zehn Jahr nach der Einführung die Technologie noch nicht. Aber auch sonst gebe es noch viel Potential zur Beschleunigung. Ein Beispiel: Derzeit verbrauche der SATA-Treiber selbst dann 200ms wenn gar keine Festplatte angehängt sei. Auch die Initialisierung des Arbeitsspeichers brauche mehr als 100ms, hier könne man sich damit behelfen zunächst einmal nur 2 GB einzubinden, und den Rest später folgen zu lassen. (Andreas Proschofsky, 22.9.2019)