skip to main content
research-article
Free Access

Unikernels: Rise of the Virtual Library Operating System: What if all the software layers in a virtual appliance were compiled within the same safe, high-level language framework?

Published:15 December 2013Publication History
Skip Abstract Section

Abstract

Cloud computing has been pioneering the business of renting computing resources in large data centers to multiple (and possibly competing) tenants. The basic enabling technology for the cloud is operating-system virtualization such as Xen1 or VMWare, which allows customers to multiplex VMs (virtual machines) on a shared cluster of physical machines. Each VM presents as a self-contained computer, booting a standard operating-system kernel and running unmodified applications just as if it were executing on a physical machine.

References

  1. Barham, P., Dragovic, B., Fraser, K., Hand, S., Harris, T., Ho, A., Neugebauer, R., Pratt, I., Warfield, A. 2003. Xen and the art of virtualization. In Proceedings of the 19th ACM Symposium on Operating Systems Principles: 164-177. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Cloudius Systems. OSv; https://github.com/cloudius-systems/osv.Google ScholarGoogle Scholar
  3. Colp, P., Nanavati, M., Zhu, J., Aiello, W., Coker, G., Deegan, T., Loscocco, P., Warfield, A. 2011. Breaking up is hard to do: security and functionality in a commodity hypervisor. In Proceedings of the 23rd ACM Symposium on Operating Systems Principles (SOSP): 189-202. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Crowcroft, J., Madhavapeddy, A., Schwarzkopf, M., Hong, T., Mortier, R. Unclouded vision. In Proceedings of the International Conference on Distributed Computing and Networking (ICDCN) 29-40. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Eisenstadt, M. My hairiest bug war stories. 1997. Communications of the ACM 40(4): 30-37. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Engler, D. R., Kaashoek, M. F., O'Toole, Jr., J. 1995. Exokernel: an operating system architecture for application-level resource management. In Proceedings of the 15th ACM Symposium on Operating Systems Principles (SOSP): 251-266. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Eriksen, M. 2013. Your server as a function. In Proceedings of the Seventh Workshop on Programming Languages and Operating Systems (PLOS): 5:1-5:7. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Galois Inc. The Haskell Lightweight Virtual Machine (HaLVM) source archive; https://github.com/GaloisInc/HaLVM.Google ScholarGoogle Scholar
  9. Kantee, A. 2012. Flexible operating system internals: the design and implementation of the anykernel and rump kernels. Ph.D. thesis, Aalto University, Espoo, Finland.Google ScholarGoogle Scholar
  10. Leslie, I. M., McAuley, D., Black, R., Roscoe, T., Barham, P. T., Evers, D., Fairbairns, R., Hyden, E. 1996. The design and implementation of an operating system to support distributed multimedia applications. IEEE Journal of Selected Areas in Communications 14(7): 1280-1297. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Madhavapeddy, A., Ho, A., Deegan, T., Scott, D., Sohan, R. 2007. Melange: creating a "functional" Internet. SIGOPS Operating Systems Review 41(3): 101-114. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Madhavapeddy, A., Mortier, R., Crowcroft, J., S. Hand, S. 2010. Multiscale not multicore: efficient heterogeneous cloud computing. In Proceedings of ACM-BCS Visions of Computer Science. Electronic Workshops in Computing, Edinburgh, UK. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Madhavapeddy, A., Mortier, R., Rotsos, C., Scott, D., Singh, B., Gazagnaire, T., Smith, S., Hand, S., Crowcroft, J. 2013. Unikernels: library operating systems for the cloud. In Proceedings of the 18th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS): 461-472. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Minsky, Y. 2011. OCaml for the masses. Communications of the ACM 54(11): 53-58. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Mortier, R., Madhavapeddy, A., Hong, T., Murray, D., Schwarzkopf, M. 2010. Using dust clouds to enhance anonymous communication. In Proceedings of the 18th International Workshop on Security Protocols (IWSP).Google ScholarGoogle Scholar
  16. Porter, D. E., Boyd-Wickizer, S., Howell, J., Olinsky, R., Hunt, G. C. 2011. Rethinking the library OS from the top down. In Proceedings of the 16th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS): 291-304. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Scott, D., Sharp, R., Gazagnaire, T., Madhavapeddy, A. 2010. Using functional programming within an industrial product group: perspectives and perceptions. In Proceedings of the 15th ACM SIGPLAN International Conference on Functional Programming (ICFP): 87-92. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Vinge, V. 1992. A Fire Upon the Deep. New York, NY: Tor Books.Google ScholarGoogle Scholar
  19. Watson, R. N. M. 2013. A decade of OS access-control extensibility. Communications of the ACM 56(2): 52-63. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Weeks, S. 2006. Whole-program compilation in MLton. In Proceedings of the 2006 Workshop on ML. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Unikernels: Rise of the Virtual Library Operating System: What if all the software layers in a virtual appliance were compiled within the same safe, high-level language framework?

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in

        Full Access

        • Published in

          cover image Queue
          Queue  Volume 11, Issue 11
          Distributed Computing
          November 2013
          35 pages
          ISSN:1542-7730
          EISSN:1542-7749
          DOI:10.1145/2557963
          Issue’s Table of Contents

          Copyright © 2013 ACM

          Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 15 December 2013

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article
          • Popular
          • Refereed

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader

        HTML Format

        View this article in HTML Format .

        View HTML Format