[Vm-dev] Cog in the cloud

Ben Coman btc at openInWorld.com
Sat Dec 20 04:08:48 UTC 2014


Just some thoughts that arose as I skipped along the web...

With the idea of using Pharo in the cloud, I was thinking of how 
PharoNOS[1] is basing off top of the Linux kernel, but the examples 
indicate its operating in User Mode.  So I was wondering about 
performance being greater[2] if the CogVM ran in Kernel Mode. However 
maybe this could get tangled in the GPL license of the kernel.

Now I believe FreeBSD/NetBSD license is compatible with COG's MIT 
license, so that seems a better option for eliminating layers of the 
operating system.  They both[3][4] have pre-built Amazon Machine Images 
to run on EC2, as well as instructions[5] to build your own AMI.  So 
potentially we could build an AMI with the CogVM linked to the 
FreeBSDKernel operating in Kernel Mode, with no User Mode. The lack of 
direct access to memory from the Image, and probably single application 
focus should be sufficient security to forgo User Mode, and run faster.

But we could go a step further.  Runing in the cloud relies heavily on 
virtualisation, and for performance[6], most likely on the OS's 
paravirtualisation interface - to Xen for example.  So from Cog, why not 
interface direct to the Xen FrontEndDriver[7] and eliminate the DomU 
operating system all together.  What I understand from [6] is that Xen's 
paravirtualisation hooks makes it much easier to boot, than booting on 
the bare metal of a fully-virtualised system. So the former seems more 
achievable than the latter (which was the only option in years past), 
and also be more portable as technology evolves, to any platform Xen 
runs on.

Squeak/Pharo on Cog-Xen could be a good choice for a Cloud Operating 
System[8]. Maybe a good student research project?

cheers -ben

[1] http://pillarhub.pharocloud.com/hub/mikefilonov/pharonos
[2] http://blog.codinghorror.com/understanding-user-and-kernel-mode/
[3] http://www.daemonology.net/freebsd-on-ec2/
[4] http://wiki.netbsd.org/amazon_ec2/amis/
[5] http://wiki.netbsd.org/amazon_ec2/build_your_own_ami/
[6] http://wiki.xen.org/wiki/Virtualization_Spectrum
[7] http://wiki.xen.org/wiki/FrontendDriver
[8] http://wiki.xen.org/wiki/Cloud_Operating_Systems



More information about the Vm-dev mailing list