[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Restarting MirageOS bi-weekly meetings, next: 2022-05-11 14:00 CEST



Thanks for attending the meeting yesterday, notes below -- I'll send a reminder for May 11th (14:00 CEST) on Friday May 6th (ICS attached), pad https://pad.data.coop/UYg4LbYLSNySD50QiQrPYg#


Best,

Hannes

# MirageOS meeting 2022-04-27

attendees: Taka (@timada), Romain (@dinosaure), magnus (@magnuss), pierre (@palainp), gwen (@clecat), Thomas Leonard (@talex5), Mindy (@yomimono) https://somerandomidiot.com, hannes (@hannesm), thomas (@samoht), Lucas (@thelortex)

## Brief introductions
- H: getting MirageOS unikernels deployed
- Y: Web App & File system
- M: Motivation is everything compiled to a single binary, interesting network applications w/composable stack
- TL: last main thing was mirage-qubes-firewall, now OCaml 5 and effects
- P: teaching at university, bringing computing to students
- G: surrounding libraries like decompress etc.
- Taka: joined OCamlLabs in 2016 for 1 year, working on real-time OS vendor, MirageOS talking to embedded microcontrollers - TG: leading Tarides team including (Multicore) OCaml compiler, tooling, goal is making MirageOS a sustainable OS community, getting shared funding - L: since 2018 working with MirageOS & OCaml, now at Tarides, did the MirageOS 4.0 release (cross-compiling, interested in multicore)
- D: deploying MirageOS unikernels, worked on various libraries

## MirageOS for microcontrollers:
- Taka has a board with one SOC (ARM cortex 53/64) - similar to raspberry Pi3 (32 bit)
- also some more cores (ARM & texas instruments)
- TI AM64X
- goal is: real-time video streaming (with MirageOS)
- https://www.ti.com/product/AM6442?keyMatch=AM64X
- Taka opened various PRs for OCaml-solo5 & solo5 & ... 32 bit support
- Bare-metal MirageOS on ARM64 by dinosaure (including device drivers, how to handle interrupts, ...) -- see https://github.com/dinosaure/gilbraltar - Plan: use a hardware abstraction layer for device drivers, see https://www.st.com/resource/en/user_manual/dm00105879-description-of-stm32f4-hal-and-ll-drivers-stmicroelectronics.pdf - TG: we looked into riot os for device drivers (and reuse their drivers), M: there will be a presentation in a few weeks (Tarides had two internships about that; target was to run on a SoC from nordic semiconductors)

## Unikraft

- TG joined their discourse instance
- Lots of activity there, including deployment stories
- Unikraft is a set of libraries to run your unikernel on
- Basically a split of mini-os into different libraries
- They have open weekly meetings Thursday 10:00 CEST
- Lively community, let's collaborate (and have a Mirage-unikraft story)
- Comparison between unikraft and solo5: unikraft tries to support a lot of syscalls (is there a way to exclude some, and minimize the binary?)
- Do they support SMP? Not yet, they're working on it.
- Effect system of OCaml 5 with unikraft
- L: Build system is much more complex, we need to figure out a way to have the build systems of unikraft and mirage collaborate
- Y: there may be others building on top of unikraft
- L: root build system is unikraft, mirageos is only one module
- TG: we want mirage to drive the build, let's discuss this with unikraft people

## OCaml 5
- L: first let's get effects in MirageOS and a single domain
- L: as a second step, get multi domain support in MirageOS
- H: let's also investigate the performance of MirageOS unikernels on single core
- TL: we'd have to rewrite the drivers (to use multiple cpus)
- let's get a performance harness (firewall, video streaming, web server) in place to measure and improve
- Taka: something like the perf command in Linux
- TG: we have memtrace (of the OCaml runtime), OCaml 5 has a new API and better event tracing system (of low level tracing)
- Taka: there is mirage-tracing which does not support solo5
- TL: hannes has a memtrace with MirageOS, mirage-tracing needs a shared memory buffer (and works when the unikernel crashes)
- Taka: wants performance tracing for solo5

## magic-trace
- TG: anyone used magic-trace? would be nice to get it working with VMs
- L: works only on Linux
- TG: could be used with spt unikernels?

## multiboot and MirageOS
- P: doesn't work anymore, worked with earlier versions of xen & qubes & solo5
- Y: this is a really good question for qubes-devel
- H: try use a binary from https://builds.robur.coop/job/qubes-firewall/ (mirage3 + solo5 0.6)

## next meeting May 11th 14:00 CEST https://whereby.com/ocamllabs

Attachment: mirage-20220511.ics
Description: Text Data


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.