Hi Norman,

Thanks for responding to my post and for the clarification with regards to NOVA and Muen.

The performance issues that you mention are something that I had not heavily considered at this stage yet but can see that it will be vital towards going forward with the project.

What I will probably do, at least initially, is to just go with NOVA and Bhyve (or similar) although I had looked at the NOVA+Genode with VirtualBox in the past that you and your team had been working on as well. At that time, VB was still under heavy development to get stabilized for the platform so I might also revisit that approach since I am also still in the refreshing stage after being away for longer than expected from all of the wonderful development work that everyone has been doing with Genode.

Appreciate all of your insight and will keep you up to date on the progress.
Cheers and stay safe,
Lonnie


On Thu, Apr 2, 2020 at 8:30 AM Norman Feske <norman.feske@genode-labs.com> wrote:
Hello Lonnie,

thanks for dropping by on the mailing list from time to time. ;-)

> I was thinking that the layers could be (bottom to top)
>
> 1. MuenSK ---- Provides Separation Kernel for real hardware configuration
> 2. NOVA Hypervisor ---- Provides virtualization of the real hardware
> provided by the SK
> 3. Bhyve --- Provides the VMM for each instance given by NOVA
>
> Of course, there are other things to be included but this is just the
> base that I am working towards.
>
> Do you see an advantage to something like this?

The answer would ultimately depend on your goal. I must admit that this
particular combination of technologies does not strike me as tempting
but that may just be me, being unfamiliar with Bhyve.

>From an engineering perspective, I see two technical challenges with
your idea.

- Running NOVA on top of Muen requires nested virtualization because
  both kernels leverage hardware-based virtualization. AFAIK, Muen has
  gained support for nested virtualization by now but nobody has tried
  executing NOVA as Muen subject.

- I presume that you want to use Genode on top of NOVA as the runtime
  environment of Bhyve. This scenario comes down to porting Bhyve to
  Genode, which is probably not straight-forward.

> Any thoughts, suggestions, or comments?

Personally, I think that the three technologies are not orthogonal but
rather have substantial overlap. Stacking multiple kernels upon each
other creates administrative and integrative complexity. I generally try
to into the opposite direction, reducing the layering whenever possible.

That said, I'd greatly appreciate you sharing your experiences and
gained insights along the way!

Cheers
Norman

--
Dr.-Ing. Norman Feske
Genode Labs

https://www.genode-labs.com · https://genode.org

Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden
Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth

_______________________________________________
Genode users mailing list
users@lists.genode.org
https://lists.genode.org/listinfo/users