On Wed, Jan 14, 2015 at 11:39 AM, Joerg Beekmann, DeepCove Labs < [email protected]> wrote:
> Hi > > I've been exploring the possibility of hosting the Squeak/Pharo VM on > MirageOS. MirageOS is a Unikernal or "Library OS" where rather than > creating an executable to be run on Linux the compiler analyses > dependencies right down through the device drivers and creates a kernel > that can be booted on Amazon AWS EC2. > http://www.openmirage.org/ > http://queue.acm.org/detail.cfm?id=2566628 > > http://blog.acolyer.org/2015/01/13/unikernels-library-operating-systems-for-the-cloud/ > > It seems to me that having a Smalltalk hosed in this environment would be > quite useful on a number of fronts: > * A simple build and deploy of Smalltalk to the cloud. The Mirage group is > building unikernals from sources and then because they are small committing > the entire kernel to GitHub and then pushing the kernel to AWS EC2. Web > sites and APIs are an obvious application. > http://amirchaudhry.com/from-jekyll-to-unikernel-in-fifty-lines/. > * Smalltalk on small devices. The Mirage group is running Xen with mirage > on small Intel and ARM boards. See > http://openmirage.org/blog/announcing-mirage-20-release/. > * These kernels can be very small, on the order of 0.25Meg for minimal > HTTP servers with boot times in the ms range. A project called Jitsu > https://github.com/MagnusS/jitsu modifies a DNS server to boot kernels in > response to socket requests. The system making the request is unaware of > the boot. > * The Mirage group envisions thousands of kernels running on a single > Hypervisor with his speed inter-kernel communications. See > http://openmirage.org/blog/update-on-vchan. The facilitates Smalltalk > systems consisting of a swarm of communicating images where each image is > single threaded and concurrency is via message passing. > > I've corresponded with the MirageOS group asking if they thought a > language VM could be hosted on Mirage. The discussion is here: > http://lists.xenproject.org/archives/html/mirageos-devel/2015-01/msg00053.html. > Assuming we understood each other it seems the answer is "yes that should > be possible". > > My question is what would be involved on the Smalltalk side? I presume the > effort is going to be mostly in the VM. Based on the conversation on the > Mirage list I think the VM will need to be able to run a Library with an > entry point called by Mirage. That seems similar to the " Embedding/VM as a > DLL" project proposed here: > http://www.mirandabanda.org/cogblog/cog-projects/. Is this project > active? The comment indicates this is mostly refactoring & repackaging. > Anyone have a perspective on this? > > Best regards > > Joerg > > > Mirarge might be a good stepping stone, but ultimately I think we want Cog running directly on the Xen "hardware" without Mirage. Erlang and Haskell are languages that already do this. [1] We need to get on that list at the bottom. Maybe a good starting place is SqueakNOS [2] since it is reported to work with Grub and there is PVGrub [3] [4]. btw, Did you see the discussion titled "Cog In The Cloud" http://forum.world.st/Cog-in-the-cloud-td4796515.html#a4796520 and a little bit extra at the bottom of this one... https://www.marshut.net/kuimwz/cog-in-the-cloud.html [1] http://wiki.xenproject.org/wiki/Cloud_Operating_Systems [2] http://wiki.squeak.org/squeak/1762 [3] http://wiki.xen.org/wiki/PvGrub [4] https://tech.mendix.com/linux/2014/09/06/pvgrub2/ http://ptgmedia.pearsoncmg.com/images/9780132349710/samplechapter/013234971X_06.pdf
