Le 14/01/2015 21:12, Eliot Miranda a écrit :


On Wed, Jan 14, 2015 at 3:15 AM, Ben Coman
<[email protected]
<mailto:[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://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.

Those are really great news!
For the Pharo system and for smalltalk too I think.
Virtualization is the way to go for now,
and it should perfectly fit with Pharo smalltalk
(nice to hear that next vms will match too).

I wish you success in your enterprise


    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


--
Regards,

Alain


Reply via email to