Pipe 3C8 Unikernels: rise of the virtual-library operating system

Unikernels: rise of the virtual-library operating system

by
in code on (#3C8)
Mssrs. Anil Madhavapeddy and David J. Scott over at the Association for Computing Machinery (ACM) ask: What if all layers in a virtual appliance were compiled within the same safe, high-level language framework? Good question, and I suspect we'll find out soon enough, because the trend in virtualization seems to be leading us in this direction.
While operating-system virtualization is undeniably useful, it adds yet another layer to an already highly layered software stack now including: support for old physical protocols (e.g., disk standards developed in the 1980s, such as IDE); irrelevant optimizations (e.g., disk elevator algorithms on SSD drives); backward-compatible interfaces (e.g., POSIX); user-space processes and threads (in addition to VMs on a hypervisor); and managed-code runtimes (e.g., OCaml, .NET, or Java). All of these layers sit beneath the application code. Are we really doomed to adding new layers of indirection and abstraction every few years, leaving future generations of programmers to become virtual archaeologists as they dig through hundreds of layers of software emulation to debug even the simplest applications?
This project intends to reduce the different layers of software and operating system to simple-API systems that can be installed and used like virtual appliances, perhaps [ed. note: this is my analogy, not the author's] the way Busybox reduces the POSIX standard to a simpler and smaller binary executable.

History


Deprecated: mb_convert_encoding(): Handling HTML entities via mbstring is deprecated; use htmlspecialchars, htmlentities, or mb_encode_numericentity/mb_decode_numericentity instead in /var/pipedot/include/diff.php on line 25

Deprecated: Creation of dynamic property FineDiff::$granularityStack is deprecated in /var/pipedot/lib/finediff/finediff.php on line 217

Deprecated: Creation of dynamic property FineDiff::$edits is deprecated in /var/pipedot/lib/finediff/finediff.php on line 218

Deprecated: Creation of dynamic property FineDiff::$from_text is deprecated in /var/pipedot/lib/finediff/finediff.php on line 219

Deprecated: Creation of dynamic property FineDiff::$last_edit is deprecated in /var/pipedot/lib/finediff/finediff.php on line 372

Deprecated: Creation of dynamic property FineDiff::$stackpointer is deprecated in /var/pipedot/lib/finediff/finediff.php on line 373

Deprecated: Creation of dynamic property FineDiff::$from_offset is deprecated in /var/pipedot/lib/finediff/finediff.php on line 375

Deprecated: Creation of dynamic property FineDiffCopyOp::$len is deprecated in /var/pipedot/lib/finediff/finediff.php on line 155
2014-07-12 21:24
Unikernels: rise of the virtual-library operating system
zafiro17@pipedot.org
Mssrs. Anil Madhavapeddy and David J. Scott over at the Association for Computing Machinery (ACM) ask: What if all layers in a virtual appliance were compiled within the same safe, high-level language framework? Good question, and I suspect we'll find out soon enough, because the trend in virtualization seems to be leading us in this direction.
While operating-system virtualization is undeniably useful, it adds yet another layer to an already highly layered software stack now including: support for old physical protocols (e.g., disk standards developed in the 1980s, such as IDE); irrelevant optimizations (e.g., disk elevator algorithms on SSD drives); backward-compatible interfaces (e.g., POSIX); user-space processes and threads (in addition to VMs on a hypervisor); and managed-code runtimes (e.g., OCaml, .NET, or Java). All of these layers sit beneath the application code. Are we really doomed to adding new layers of indirection and abstraction every few years, leaving future generations of programmers to become virtual archaeologists as they dig through hundreds of layers of software emulation to debug even the simplest applications?
This project intends to reduce the different layers of software and operating system to simple-API systems that can be installed and used like virtual appliances, perhaps [ed. note: this is my analogy, not the author's] the way Busybox reduces the POSIX standard to a simpler and smaller binary executable.
Reply 0 comments