[Vm-dev] Re: [Pharo-dev] Cog in the cloud

Eliot Miranda eliot.miranda at gmail.com
Sun Dec 21 21:03:56 UTC 2014


Hi Ben,


On Dec 19, 2014, at 8:08 PM, Ben Coman <btc at openInWorld.com> wrote:

> 
> 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?

This sounds really cool, but could you analyse a bit further?

- what key economic and managerial benefits accrue from this configuration?

- what infrastructure is missing?  (e.g. what key drivers need implementing?)

> 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


Eliot (phone)


More information about the Vm-dev mailing list