Unikraft Support for MirageOS Unikernels
8 days ago
- #MirageOS
- #Unikraft
- #OCaml
- Announcement of Unikraft backend support for MirageOS unikernels by a team including Fabrice Buoro, Virgile Robles, Nicolas Osborne, and Samuel Hym.
- Unikraft is a modular unikernel development kit with a broader scope than Solo5, aiming to convert Unix servers into efficient unikernels.
- Motivation for using Unikraft includes performance improvements, multicore compatibility potential, and support for new targets like Firecracker.
- Unikraft's POSIX compatibility could enable embedding unported OCaml libraries in MirageOS unikernels.
- Implementation involved creating an OCaml cross compiler, new libraries for Unikraft system support, and backend support in the mirage tool.
- Performance benchmarks show variability between Unikraft and Solo5 backends, with Unikraft showing promise in network and block device performance.
- Current limitations include Linux-only compilation support and limited backend testing (QEMU and Firecracker only).
- Instructions provided for trying out the Unikraft backend with OCaml 5.3 or 5.4.
- The OCaml/Unikraft cross compiler is split into multiple packages for flexibility in backend and architecture choices.
- Future work may explore leveraging Unikraft's POSIX compatibility more deeply for easier inclusion of Unix-only OCaml libraries.