Unikernels are famous for providing excellent performance in terms of boot times, throughput and memory consumption, to name a few metrics. However, they are infamous for making it hard and extremely time consuming to extract such performance, and for needing significant engineering effort in order to port applications to them. We introduce Unikraft, a novel micro-library OS that (1) fully modularizes OS primitives so that it is easy to customize the unikernel and include only relevant components and (2) exposes a set of composable, performance-oriented APIs in order to make it easy for developers to obtain high performance. Our evaluation using off-the-shelf applications such as nginx, SQLite, and Redis shows that running them on Unikraft results in a 1.7x-2.7x performance improvement compared to Linux guests. In addition, Unikraft images for these apps are around 1MB, require less than 10MB of RAM to run, and boot in around 1ms on top of the VMM time (total boot time 3ms-40ms). Unikraft is a Linux Foundation open source project and can be found at www.unikraft.org.
翻译:单内核以在启动时间、吞吐量和内存消耗量方面提供优异的性能而闻名于出于名,不过,单内核却因难以和极其耗时来提取这种性能而闻名于名,而且需要大量的工程努力才能将应用移植到它们。我们引入了Unikraft,这是一个新的微图书馆OS的操作系统,它(1) 完全模块化了OS原始软件,从而容易自定义单内核,只包括相关部件,(2) 暴露了一套可折制的、面向性能的API,使开发者容易获得高性能。我们使用Nginx、SQLite和Redis等现成应用软件进行的评估显示,在Unikraft上运行这些软件的结果与Linux客人相比是1.7x-2.7x的性能改进。此外,这些应用软件的Unkraft图像约为1MBM, 需要不到10MB运行,在VMMM时间顶端约1米的启动器(总共3mfs-40ms)。 Unkraft 和wwwmuntromuntroft)是LinkFin 的开放源项目。