Hi All,
Hope that everyone is having a great day.
For a very long time now I have been wanting to put together a distributed system cluster project in the form of a Type-1 Hypervisor that would allow for the utilization of commodity desktops that could run 2 or more VMM's concurrently.
After some very in-depth and wonderful discussions with Norman Feske about what I would like to accomplish, in the general scope, Norman suggested that I present my ideas for the project to the Genode mailing list to get some community input and possible suggestions on the best approach to move things forward.
Based upon what I would like to see for the project, I have been looking at various systems in particular like the NOVA Microhypervisor. I also like what I have seen in the Genode framework and now see that they have good support for VirtualBox as well.
In the past, and while digging into NOVA by itself, I downloaded a demo of a very crude system along these lines can be found with the NUL (NOVA UserLand) demo at: http://os.inf.tu-dresden.de/~kauer/nova/ and look at the NUL 0.3 Demo CD (http://os.inf.tu-dresden.de/~jsteckli/nova/NOVA-0.3.iso.bz2) which you can boot (RAM-based) but boot using the “VESA, Broken keyboard” which seems to work, at least here it did.
In running the NUL v0.3 NOVA demo, it loads up the NOVA kernel followed by the a piece called "sigma0" which basically handles the instantiation of the various VM's running under their Vancouver VMM. The sigma0 application allows for the context switching of the virtual consoles and I have been able to completely compile the entire NUL sources on a Ubuntu 14.04 hardware test/development-bed that I set up which can reproduce the NUL v0.3 demo iso which can also be run under QEMU as well.
With this basic stuff working to get a feel for things, I next wanted to see about building up a new combination that work work just like the NUL v0.3 demo, but have something much more advanced in place.
My idea is to have NOVA as the microhypervisor, and in place of the "tutor" instance in the v0.3 demo have Genode for some windowing and user input, as well as to have VirtualBox as the VMM for 2 or more OS instances with one for Windows XP/7 and one for Linux being the background clustering instance.
I am hoping that with the sigma0.nul application running on NOVA that I "might" be able to switch consoles through the Genode (nitpicker), Windows XP/7, and Linux, but am not sure on this part. It is very important that the consoles be swtichable with each being fullscreen like in the demo from the NOVA NUL v0.3 as this is a key requirement for the project.
Also, I have just run across MUEN which now seems to be supported by Genode 15.08 and which runs Genode in user-space as well which might be some type of a possible option instead of NOVA, but I have not really looked into this yet.
Any ideas, suggestions, or comments would be greatly appreciated as way to get the project moving forward.
Thanks again and have a wonderful day, Lonnie