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

Re: [MirageOS-devel] Projects for Students at the University of Texas in Austin

  • To: mirageos-devel@xxxxxxxxxxxxxxxxxxxx
  • From: Joe <joe@xxxxxxx>
  • Date: Mon, 28 Oct 2019 07:48:52 +0100
  • Delivery-date: Mon, 28 Oct 2019 06:50:20 +0000
  • Dkim-filter: OpenDKIM Filter v2.10.3 smtp2.servers.tyknet.dk 942A42F10D
  • List-id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>

On 10/24/19 11:35 PM, Jie Hao Liao wrote:
For whom may this concern,

I'm Jay, one of the students at the University of Texas in Austin majoring
in Computer Science. This fall 2019 semester I'm taking a Virtualization
<https://github.com/vijay03/cs378-f19> course for understanding and
building Hypervisors, Containers, and Unikernels. We would like to work on
a project related to building features for Unikernels for this class.

It is not 100% clear to me if you're looking for a C programming project or an OCaml programming project, but in case it's C:

I think the Solo5 project [1] is a good place to start; it's small, modular, and tidy, which makes it nicer to work with than some of the larger behemoths in our ecosystem. It supports a number of backends ranging from "real" hypervisors (Xen, Genode) to the Linux seccomp target ("spt") which is basically just sandboxed Linux applications.

- Mato mentioned that reviving the Mac OS target for Solo5 might be a fun and useful project (well, at least useful) :-)

- I am personally interested in having some building blocks for RPC among Solo5 guests, namely shared memory and a synchronous datagram-based communication channel (like the Xen hypervisor's "vchan" implementation). The "io_uring" ringbuffer [2] implementation recently added to Linux could serve as inspiration, as could some of the XDP ("eXpress Data Path") building blocks. The value proposition of shared memory is that it enables fast communication with low copying overhead, which makes it well-suited for things like graphics. This would allow us to build implementations like Genode's "Nitpicker" [3] for MirageOS applications.


[1] https://github.com/solo5/solo5
[2] https://zedware.github.io/IO-URING
[3] https://genode-labs.com/publications/nitpicker-secure-gui-2005.pdf

MirageOS-devel mailing list



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