Hear the Mouse Roar on Multi-Core!

5 November, 2010

Stefan Marr has just announced on his blog the relase of RoarVM, the first single-image manycore virtual machine for Smalltalk. RoarVM is based on the work on Renaissance VM by David Ungar and Sam S. Adams at IBM Research, and was ported to x86 architecture by Stefan.

From his post: “The RoarVM supports the parallel execution of Smalltalk programs on x86 compatible multicore systems and Tilera TILE64-based manycore systems. It is tested with standard Squeak 4.1 closure-enabled images, and with a stripped down version of a MVC-based Squeak 3.7 image.” Support for Pharo 1.2 is currently limited to 1 core, but this is being worked on!

Here’s some indicative figures for this new VM (using an adapted version of tinyBenchmarks on an MVC image):

 1 core   66M bytecodes/sec;  3M sends/sec
 8 cores 470M bytecodes/sec; 20M sends/sec

As Stefan notes “The RoarVM is a research project and is not as optimized for performance as the standard Squeak VM”. For comparison:

Squeak 4.2.4beta1U, MVC image, OS X 555M bytecodes/sec; 12M sends/sec

so you’ll need a few cores active before you start to see improvements over your existing image! There are also a number of known issues with the current implementation.

You can download the code from the RoarVm page at GitHub, contribute to the discussion on the vm-dev mailing list, or follow #RoarVM updates on Twitter.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: