On Wed, Jan 14, 2015 at 3:15 AM, Ben Coman <[email protected]> wrote: > > 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.
+1. I am trying to get funding to do this, including modifying the execution model to provide excellent debugging facilities for promise-style concurrency (adding scheme-like continuation support to the VM, and allowing exception search to proceed from a promise to its creating context, etc). > Maybe a good starting place is SqueakNOS [2] since it is reported to work > with Grub and there is PVGrub [3] [4]. I'm not sure. Xen has a special segmented memory model so assuming, as the existing VMs do, a single contiguous heap is not a good match. Spur on the other hand has good support for memory segmentation. Further, one wants a high-performance VM, and Sista provides adaptive optimization potentially with no warmup time because one can save an optimized image). I should say that starting in February I am changing to half-time at Cadence. Half of my time is therefore available for me to bootstrap a business around Pharo, Squeak and the Cog, Spur and Sista VMs. If this is successful I hope to become independent full-time, or rather that I'm in a Snalltalk-centric company if which I'm a co-founder. I'm working with specific people in the community and one thing we imagine is a company with close ties to Rmod. It would be vry nice to grow a company where people completing their PhDs at Rmod had somewhere to go where they could continue working with Pharo instead of going to Google et al. There us a clear need for companies around Pharo that can contract to provide technology services. Such a thing will take a while to ramp up, but the time is ripe. > 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 -- best, Eliot
