[Vm-dev] [Q] I wish know status of Vm for multicore processors.

Douglas McPherson djm1329 at san.rr.com
Mon Mar 9 19:57:40 UTC 2015


Hi Edgar,

I can add a little bit to what Clément has written.

The Parallella has a dual-core ARMv7 Cortex-A9. The ARMv6 or ARMv7 cog-stack VMs run just fine on the Parallella's ARMs, including FFI. But these are just the single-core VMs, I have no experience with the RoarVM. 

You can download a recent VM from Eliot’s site to run on the Parallella ARM. Recently I have been building only the ARMv6 stack VMs. This will run fine on the Parallella even though the Parallella is an ARMv7. I haven’t generated the v7 VMs for a while because I’m still trying (without much progress) to track down a problem with FAST_BITBLT enhancements when compiled for v7. However, the v7 VM, when compiled without FST_BITBLT support, seems to work fine. I can build this for you and upload to Eliot’s site if you are interested. I believe it is a little faster than the v6 VM when run on the v7.

The Parallella also has the Epiphany co-processor, which on the basic model has a 4x4 grid of custom RISC cores. These cores are likely too memory-constrained to run full Cog VMs. One approach to using the Epiphany cores is via OpenCL via FFI. There is a quite nice Squeak OpenCL package on squeaksource. I have used it to run several Epiphany-accelerated functions, i.e. matrix multiplication etc. In these experiments, Squeak runs on the ARM and coordinates the execution of the Epiphany cores. I would be happy to share what I’ve done, but most of the work is already present in the OpenCL package.

HTH,
Doug



> On Mar 5, 2015, at 01:41, Clément Bera <bera.clement at gmail.com <mailto:bera.clement at gmail.com>> wrote:
> 
> Can you be more precise ? Do you want a research VM or a production ready VM ? Does your question mean: is there a VM working on such hardware or is there a VM working and making use of all the cores on such hardware ?
> 
> Let's say you want a VM using all the Cores of your hardware:
> 
> If you want a research-like VM, you can look into the Roar VM  <https://github.com/smarr/RoarVM>. It's a VM for computer with lots of cores, it will make efficient use of all the cores. It's running Squeak and Pharo.
> 
> If you want a production ready VM, the general strategy applied now is to have several images running in parallel communicating through sockets. There's work being done in making the FFI multithreaded so that things such as database access use several threads.
> 
> Now let's say you just want a VM running on such hardware, which is (I think) ARMv9:
> 
> There's both ARMv6 and ARMv7 VM working. They should work on ARMv9 too but most probably not everything will work out if the box (you may need to fix some details such as FFI).
> 
> Clement
> 
> 2015-03-05 9:58 GMT+01:00 Edgar J. De Cleene <edgardec2005 at gmail.com <mailto:edgardec2005 at gmail.com>>:
>  
> So we said we have a Paralella board or any multicore computer.
> Have any working VM for this?
> 
> Edgar
> 
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20150309/53780ec1/attachment.htm


More information about the Vm-dev mailing list