SC(8): MirageOS und Linux als Unikernel

SC(8): MirageOS und Linux als Unikernel

1 Stunde 1 Minute
Podcast
Podcaster
Forschungspodcast über Betriebssysteme
snaums

Kein Benutzerfoto
Hannover

Beschreibung

vor 3 Jahren

In dieser achten Sendung des SystemCalls beschäftigen wir uns mit
dem Thema Unikernels. Unter Unikernels versteht man auf die
Zielanwendung optimierte, oftmals im Cloud-Bereich eingesetzte
Images für virtuelle Maschinen. Durch die zielgenaue Anpassung an
die Anwendung soll nur Code enthalten sein, der wirklich
gebraucht wird, was die Kosten dieser VMs im Gegensatz zu einem
Standard-Linux deutlich senkt, Bootzeiten erheblich verkürzt und
Angriffsfläche reduziert. Dadurch sollen physische Server besser
mit virtuellen Maschinen ausgenutzt werden, weil nicht jede
virtuelle Maschine, die effektiv ohnehin nur eine einzige Aufgabe
in der Cloud hat, ein volles Linux und den vollen Userspace
mitbringen muss.


Stefan stellt den "Großvater" der Unikernel vor - MirageOS
(ASPLOS'13), was die Idee in einem clean-slate Ansatz erarbeitet
hat. Mirage wurde in OCaml geschrieben, einer typsicheren
funktionalen/objektorientierten Programmiersprache. Basierend auf
der Idee der Bibliotheksbetriebesysteme (Library OS) ist das
gesamte System, in ein Image für den Xen-Hypervisor
zusammengelinkt. Betriebssystemfunktionalität kann so von der
Anwendung wie eine normale Bibliothek verwendet werden. So kann
die OCaml Toolchain das gesamte System, also
Betriebssystemfunktionalität und die Anwendung durchoptimieren
(Whole-System-Optimization), d.h. nur Code im VM Image
einschließen, der wirklich von der Anwendung gebraucht wird.
Configurationsoptionen werden hier auch als Code gesehen, der dem
Compiler zur Optimierung zur Verfügung steht. Wir besprechen
neben einigen Grunddaten von MirageOS, vor allem die
durchgeführte Evaluation.


Im zweiten Thema beschreibt Florian den nächsten Schritt in
Richtung Linux' Dominanz (HotOS'19). Die Autoren beschreiben in
dem Paper die Entwicklung eines prototypischen Linux-Targets, bei
dem die Anwendung zusammen mit dem Kernel gebunden wird und die
Unterscheidung zwichen Kernel- und Userspace eingerissen wird.
Dazu wurden die Systemrufe durch Funktionsaufrufe überarbeitet
und das main-Symbol für den Startpunkt der Anwendung eingefügt.
In einer ersten Evaluation konnte die Latenz eines Echo-Servers
halbiert werden.
Links

unikernel.org
Unikernels: Library Operation Systems for the Cloud

Anil Madhavapeddy, Richard Mortier, Charalampos Rotsos, David
Scott, Balraj Singh, Thomas Gazagnaire, Steven Smith, Steven Hand
and Jon Crowcroft (2012). Unikernels: Library Operating Systems
for the Cloud ACM SIGARCH Computer Architecture News 41.1. DOI:
10.1145/2490301.2451167


ACM

unikernel.org

Unikernels: The Next Stage of Linux's Dominance

Ali Raza, Parul Sohal, James Cadden, Jonathan Appavoo, Ulrich
Drepper, Richard Jones, Orran Krieger, Renato Mancuso, and Larry
Woodman (2019). Unikernels: The Next Stage of Linux's Dominance.
In Proceedings of the Workshop on Hot Topics in Operating Systems
(HotOS '19). DOI: 10.1145/3317550.3321445


ACM

Authors Copy

Intro-/Outrotheme

the_emergent

Kommentare (0)

Lade Inhalte...

Abonnenten

15
15