Public compute clouds provide a flexible platform to host applications as a set of appliances, e.g., web servers or databases. Each appliance usually contains an OS kernel and userspace processes, within which applications access resources via APIs such as POSIX. The flexible architecture of the cloud comes at a cost: the addition of another layer in the already complex software stack. This reduces performance and increases the size of the trusted computing base.
Our new Mirage operating system proposes a radically different way of building these appliances. Mirage supports the progressive specialisation of functional language (OCaml) application source code, and gradually replaces traditional OS components with type-safe libraries. This ultimately results in “unikernels”: sealed, fixed-purpose images that run directly on the hypervisor without an intervening guest OS such as Lin ux.
Developers no longer need to become sysadmins, expert in the configuration of all manner of system components, to use cloud resources. At the same time, they can develop their code using their usual tools, only making the final push to the cloud once they are satisfied their code works. As they explicitly link in components that would normally be provided by the host OS, the resulting unikernels are also highly compact: facilities that are not used are simply not included in the resulting unikernel. For example, the self-hosting Mirage web server image is less than a megabyte in size!
We will describe the architecture of Mirage in the talk, show some code examples, and interesting benchmark results that compare the performance of our unikernels to traditional applications such as Apache, BIND and OpenSSH.
Dr. Anil Madhavapeddy is a Senior Research Fellow at Wolfson College and is based in the Cambridge University Computer Laboratory, investigating programming models for cloud computing. Anil was on the original team at Cambridge that developed the Xen hypervisor, and subsequently served as the senior architect and product director for XenSource/Citrix before returning to academia.
Anil has a diverse background in industry at Network Appliance, Citrix, NASA, and Internet Vision. He is an active member of the open source development community with the OpenBSD operating system and more, and the co-chair of this year’s Commercial Uses of Functional Programming conference.
Richard Mortier is Horizon Transitional Fellow in Computer Science at the University of Nottingham. His research focuses on user-centred systems, investigating the challenges that arise when we design and deploy infrastructure technology with which real people must interact. Specific current projects include exokernels for secure high-performance multiscale computing (Mirage); infrastructure for building a market around privacy-preserving third-party access to personal data (Dataware); and novel approaches to deploying and managing personal network services. Prior to joining Nottingham he spent two years as a founder of Vipadia Limited designing and building the Clackpoint and Karaka real-time communications services (acquired by Voxeo Corp.), six years as a researcher with Microsoft Research Cambridge, and seven months as a visitor at Sprint ATL, CA. He received a Ph.D. from the Systems Research Group at the University of Cambridge Computer Laboratory, and a B.A. in Mathematics, also from the University of Cambridge.
For information on exhibition and sponsorship opportunities at the conference, contact Sharon Cordesse at (707) 827-7065 or firstname.lastname@example.org.
View a complete list of OSCON contacts