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

Re: MirageOS meeting 2024-04-08


  • To: mirageos-devel@xxxxxxxxxxxxxxxxxxxx
  • From: Hannes Mehnert <hannes@xxxxxxxxxxx>
  • Date: Mon, 8 Apr 2024 08:18:25 +0000
  • Autocrypt: addr=hannes@xxxxxxxxxxx; keydata= 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
  • Delivery-date: Mon, 08 Apr 2024 08:18:31 +0000
  • List-id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>

Hello,

our next meeting is on April 29th 09:00 CEST (https://www.timeanddate.com/worldclock/fixedtime.html?msg=MirageOS+call&iso=20240429T09&ah=1) on https://meet.jit.si/mirageos-call

Agenda is tracked on https://pad.data.coop/wGS4r8RyTKqQ73mcw7FrwA?both#


The meetings notes from today:

Participants: Magnus, Pierre, Kaushik, Vincent, Shakthi, Reynir, Hannes, Thomas, Samuel

- Why are you here?
- Kaushik: 2nd meeting, want to understand what he didn't know that he didn't know; use MirageOS in real-world problem solving - Vincent: working at Tarides on SpaceOS, still learning MirageOS, learn and understand what is going on; prepare the Marrakech retreat - Pierre: associate professor in network security, know and understand what people are working on in the MirageOS ecosystem, uses QubesOS (and the mirage-qubes-firewall) and MirageOS, is motivated to get rid of cstruct (based on bigarrays, there are issues (with q-m-f & bigarray due to malloc)), interested in the OCaml 5 release of MirageOS for better performance - Magnus: working on MirageOS since ~10 years, interested in the technology, worked on MirageOS in Docker, Tarides, now back to research -- working e.g. on IncludeOS/MirageOS performance with Alfred - Shakthi: works at Tarides on the ocaml.org team, fixing CI issues, looking at good first issues for newcomers - Samuel: engineer at Tarides, worked in the last months on OCaml 5 support for MirageOS (now solo5 works on OCaml 5.2 beta), works on Unikraft support for MirageOS, has interest in low-level stuff - Reynir: work in robur.coop with hannes and dinosaure, we develop MirageOS applications and maintain quite some libraries, interest to develop and deploy applications - Thomas: working on MirageOS for a while, happy to see the call starting again, still there are several parties interested in MirageOS, nice area of system research, interest: how to apply that to deployment - how to improve the IT landscape, MirageOS brings something new to IT (type-safe, memory-safe, formal verification): low-level systems with high-level languages, short term interest: CLI tool is more usable / friendly -- the OCaml ecosystem has evolved a lot since MirageOS started -- take ideas from MirageOS and upstream them to OCaml - Hannes: Interest in getting MirageOS used & deployed -- has had this goal for roughly a decade since he started on Mirage. Have done a PhD about formal verification of java programs. Would like to have more formally verified systems, so joined Mirage OS project where there is less mutable state. Worked on network protocols. Recent months worked on performance as we should have good performance when we run without kernel & user space. Not afraid of big API changes - they are a challenge. Big performance bottleneck is bigarray allocations, so recent PRs have been about replacing cstruct with string or bytes with promising benchmark results. How do we safely and pragmatically remove bounds checks? Worked on dependently typed systems such as Coq (now Rocq) and Idris where this is somewhat easier to express safely. Wants people to run their own services instead of using Google etc. Interested in getting reproducible builds for deployment reasons. Also interested in binary sizes. Getting more deployments requires getting more people involved => organizing retreats and hanging out on the weekly call to get more people interested/involved (since it is not feasible to do it alone).
- Proposal for next MirageOS release 4.5.0 (Thomas)
    - Contents: what we have now in `main` (main update: runtime arguments)
    - When: before or after the retreat?
- Proposal: Dune UX not quite ready for 5.0, better to release current version. Would be nice to release this before the retreat, so people there have an opportunity to test. So suggest tagging the release now and updating the documentation. Then continue discussion about other features.
    - Will make release before the retreat
- Next: better Dune integration with Mirage
- Design doc: https://gist.github.com/samoht/98127448fcf6a2483fa36099649fba5a -- feedback welcome!
    - PR: https://github.com/mirage/mirage/pull/1495
    - Blockers: bugs in Dune - need experiments with the UX/UI (promotion?)
- Next: OCaml5 + Mirage
- PR almost ready: https://github.com/shym/ocaml-solo5/tree/ocaml-5.2 with its [Description](https://paste.sr.ht/~rustyne/0f76561709ca6c28852fae312e835e1059918f6e). - Hannes: this is very exciting. Just to be clear, the new ocaml-solo5 will only support OCaml 5.2, if we need releases for 4.x compatibility, we'll just branch off the latest release and put in changes - Thomas: it would also be nice if cross-compilation worked again on MacOS, can test
- Next: `dune pkg` + Miragemail-betreuung bis nächsten montag übernehmen
- The performance perspective: "no-cstruct" and bounds checking (Hannes)
  - opam overlay https://github.com/robur-coop/no-cstruct
- Hannes: would be nice to have a mirage release that would support this as it needs changes to the mirage tool - Started thread to discuss using type system for bounds checking, but looks like this would require ppx right now, which I'd like to avoid: https://discuss.ocaml.org/t/bounds-checks-for-string-and-bytes-when-retrieving-or-setting-subparts-thereof/14422/6 - Interested in testing whether programs runs faster if bounds checks are removed from the compiler, how much faster is it?
    - `-unsafe` doesn't remove bounds checks from `String.get_*`
- but a modified Stdlib (or compiler) emitting no bounds checks could do the trick - then measure on some real applications and take a look at the difference - Random/Clock/Time functors (Hannes) https://github.com/mirage/mirage/issues/1513 - As Hannes understands, a functor is useful if we use a single implementation multiple times (e.g. Set/Map -- a set of string, a set of int) - All Mirage unikernels are functorised over these. Have not seen different implementations of these, could we simplify the unikernels to not use functors for these?
    - we could replace that by the "linking trick" (dune variants)
- testing sometimes (such as mirage-tcpip) uses a clock that runs faster than - would be great to cope with that - Next meeting in three weeks (Apr 29th 09:00 CEST), skip one week due to retreat -- https://www.timeanddate.com/worldclock/fixedtime.html?msg=MirageOS+call&iso=20240429T09&ah=1

On 05/04/2024 17:59, Magnus Skjegstad wrote:
Hi everyone,

The next MirageOS community call will be Monday April 8th at 9:00-10:00 CEST.

As usual everyone is welcome to attend this bi-weekly meeting. The current 
agenda is here: https://pad.data.coop/wGS4r8RyTKqQ73mcw7FrwA

Feel free to add any additional items you'd like to discuss.

The Jitsi link for the meeting is https://meet.jit.si/mirageos-call

See you there,

Magnus





 


Rackspace

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