Unikernels: library operating systems for the cloud

  • Authors:
  • Anil Madhavapeddy;Richard Mortier;Charalampos Rotsos;David Scott;Balraj Singh;Thomas Gazagnaire;Steven Smith;Steven Hand;Jon Crowcroft

  • Affiliations:
  • University of Cambridge, Cambridge, United Kingdom;University of Nottingham, Nottingham, United Kingdom;University of Cambridge, Cambridge, United Kingdom;Citrix Systems Ltd., Cambridge, United Kingdom;University of Cambridge, Cambridge, United Kingdom;OCamlPro SAS, Nice, France;University of Cambridge, Cambridge, United Kingdom;University of Cambridge, Cambridge, United Kingdom;University of Cambridge, Cambridge, United Kingdom

  • Venue:
  • Proceedings of the eighteenth international conference on Architectural support for programming languages and operating systems
  • Year:
  • 2013

Quantified Score

Hi-index 0.02

Visualization

Abstract

We present unikernels, a new approach to deploying cloud services via applications written in high-level source code. Unikernels are single-purpose appliances that are compile-time specialised into standalone kernels, and sealed against modification when deployed to a cloud platform. In return they offer significant reduction in image sizes, improved efficiency and security, and should reduce operational costs. Our Mirage prototype compiles OCaml code into unikernels that run on commodity clouds and offer an order of magnitude reduction in code size without significant performance penalty. The architecture combines static type-safety with a single address-space layout that can be made immutable via a hypervisor extension. Mirage contributes a suite of type-safe protocol libraries, and our results demonstrate that the hypervisor is a platform that overcomes the hardware compatibility issues that have made past library operating systems impractical to deploy in the real-world.