The Kylinx Project


Overview

Commodity clouds provide a public platform where tenants run their specific services on dedicated virtual machines (VMs) that are referred to as VM appliances. The library operating system (LibOS) architecture is a promising approach for VM appliances to achieve better performance and security, which refactors a traditional OS into libraries and builds the application binary and necessary libraries into a single bootable image that can run directly on a standard VM hypervisor.

Inspired by Unikernel, we present KylinX, a LibOS architecture for VM appliances that takes the hypervisor as an OS and provides the pVM (process-like VM) abstraction. We have implemented a prototype of Kylinx by modifying MiniOS on Xen 4.2.1. Kylinx not only offers remarkable reduction in image sizes and memory footprints, but also provides significant flexibility in managing pVM appliances, e.g., supporting online update for pVM libraries, and running conventional multi-process (multi-pVM) applications.

Downloads

Patch files

======================= Patch1: libxc.patch =========================

Modified:

tools/libxc/Makefile

tools/libxc/xc_dom_core.c

New:

tools/libxc/dev_xc_dom_elfdyn.c

tools/libxc/dev_xc_dom_elfdyn.h

 

======================= Patch2: libxl.patch =========================

Modified:

tools/libxl/Makefile

tools/libxl/xl.c

tools/libxl/xl.h

tools/libxl/xl_cmdtable.c

tools/libxl/xl_cmdimpl.c

tools/libxl/libxl_dom.c

 

======================= Patch3: stubdom.patch =========================

Modified:

stubdom/c/Makfile

stubdom/c/minios.cfg

stubdom/c/main.c

New:

stubdom/c/main_domU_fork.c

stubdom/c/main_origin.c

stubdom/c/main_so_test.c

stubdom/c_httpd_redis (directory)

stubdom/c_origin (directory)

stubdom/so_testx (directory)

stubdom/so_testy (directory)

 

======================= Patch4: minios.patch =========================

Modified:

extras/mini-os/Makefile

extras/mini-os/mini-os.mk

extras/mini-os/main.c

extras/mini-os/exents.c

extras/mini-os/include/lib.h

extras/mini-os/lib/sys.c

extras/mini-os/netfront.c

extras/mini-os/sched.c

New:

extras/mini-os/main_iac_gnttable_evtchn.c

 

Funding

Contact us

We welcome feedback, suggestions, patches, and so forth. Send them to ...


Last modified: 29 July., 2017 /