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




Reply via email to