14 Punkte von xguru 2023-08-31 | 5 Kommentare | Auf WhatsApp teilen
  • MicroVMs waren in den letzten fünf Jahren ein heißes Feld in der technischen F&E
  • Die Kernidee ist eine Neuerfindung einiger Konzepte und Techniken, die IBM in den 1960er-Jahren zusammen mit dem Hypervisor erfunden hat
    • Das Betriebssystem gezielt so zu entwerfen, dass es auf anderen Betriebssystemen als Gast läuft
    • Innerhalb der VM auszuführen, aber mit den von einem bestimmten Hypervisor bereitgestellten Ressourcen (VirtIO) zu kommunizieren statt mit vorgetäuschter Hardware
  • Das kommerzielle Ziel ist es, die Leistung von „serverlosem“ Computing bereitzustellen
    • AWS Lambda läuft auf Firecracker
    • Firecracker basiert auf dem im Linux-Kernel integrierten KVM-Hypervisor (frühere AWS-Systeme basierten auf dem Xen-Hypervisor)
    • Linux-on-Linux
  • In derselben Umgebung, in der FreeBSD in 25 ms booten kann, braucht Linux 75–80 ms
  • Als der FreeBSD-Kernel-Entwickler Colin Percival ursprünglich mit der Arbeit an der Verbesserung der Bootgeschwindigkeit begann, lag sie bei 10 Sekunden – inzwischen ist sie 400-mal schneller
  • Derzeit ist dies für x86-64 optimiert, aber auch an Arm64 wird gearbeitet
  • Firecracker ist derzeit eine der bekanntesten MicroVMs, aber es gibt auch andere Produkte
    • QEMU hat die virtuelle Plattform microvm hinzugefügt, und der Online-Entwicklungsumgebungsdienst Hocus ist von Firecracker auf QEMU umgestiegen
  • Es könnte nicht nur für die Cloud, sondern auch für andere Einsatzzwecke nützlich sein
    • Ein einzelnes Programm, das für ein bestimmtes Betriebssystem entwickelt wurde, auf einem völlig anderen Betriebssystem auszuführen, kann in vielen Situationen nützlich sein

5 Kommentare

 
galadbran 2023-08-31

Wie groß ist der Unterschied zwischen 80 Millisekunden und 20 Millisekunden eigentlich aus Sicht des gesamten Dienstes bzw. der Erfahrung des Service-Anbieters? Irgendwie habe ich vage das Gefühl, dass selbst 80 Millisekunden schon ausreichend sein könnten. 10 Sekunden waren allerdings schon etwas zu viel.

 
kunggom 2023-08-31

Wenn es gelingt, die Cold-Start-Zeit unter die Zeit zu senken, die für den TLS-Handshake mit dem Client benötigt wird, sind Maßnahmen wie eine durch langsame Cold Starts verursachte anfängliche gefühlte Verlangsamung für manche Nutzer oder ein Warm-up zu deren Vermeidung nicht mehr nötig.
CloudFlare hat einmal damit geprahlt, dies tatsächlich erreicht zu haben, indem die Ladezeit des Workers-Dienstes auf ganze 5 Millisekunden gesenkt wurde.

 
alstjr7375 2023-09-01

Die technische Kompetenz von Cloudflare ist wirklich beeindruckend ...

 
xguru 2023-08-31

Kürzlich war Colin Percival wegen der Änderung von Bubble Sort zu Merge Sort in SYSINIT ein Thema,
do dieser Beitrag aber auch die zugrunde liegende Verbesserung der Boot-Geschwindigkeit von FreeBSD und ihren Zusammenhang mit microVMs erklärt, habe ich ihn übersetzt.

Hocus - die Open-Source-Alternative zu GitHub Codespaces
Warum Firecracker QEMU ersetzt hat

FreeBSD verwendet beim Booten 7 % der Zeit darauf, SYSINITs mit Bubble Sort zu sortieren
FreeBSD ändert den Bubble Sort von SYSINIT zu Merge Sort

 
cosine20 2023-08-31

Ah, das ist also ein Artikel in einem ähnlichen Kontext. Interessant.