> On 14 Jan 2015, at 08:15, Ben Coman <[email protected]> wrote: > > > On Wed, Jan 14, 2015 at 11:39 AM, Joerg Beekmann, DeepCove Labs > <[email protected] <mailto:[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://www.openmirage.org/> > http://queue.acm.org/detail.cfm?id=2566628 > <http://queue.acm.org/detail.cfm?id=2566628> > > http://blog.acolyer.org/2015/01/13/unikernels-library-operating-systems-for-the-cloud/ > > <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/ > <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/ > <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 <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 > <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 > > <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/ > <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].
or PharoNOS :) http://pillarhub.pharocloud.com/hub/mikefilonov/pharonos <http://pillarhub.pharocloud.com/hub/mikefilonov/pharonos> > > btw, Did you see the discussion titled "Cog In The Cloud" > http://forum.world.st/Cog-in-the-cloud-td4796515.html#a4796520 > <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 > <https://www.marshut.net/kuimwz/cog-in-the-cloud.html> > > [1] http://wiki.xenproject.org/wiki/Cloud_Operating_Systems > <http://wiki.xenproject.org/wiki/Cloud_Operating_Systems> > [2] http://wiki.squeak.org/squeak/1762 <http://wiki.squeak.org/squeak/1762> > [3] http://wiki.xen.org/wiki/PvGrub <http://wiki.xen.org/wiki/PvGrub> > [4] https://tech.mendix.com/linux/2014/09/06/pvgrub2/ > <https://tech.mendix.com/linux/2014/09/06/pvgrub2/> > http://ptgmedia.pearsoncmg.com/images/9780132349710/samplechapter/013234971X_06.pdf > > <http://ptgmedia.pearsoncmg.com/images/9780132349710/samplechapter/013234971X_06.pdf>
