On Sat, Mar 21, 2009 at 8:38 AM, Janko Miv�ek <janko.mivsek@eranova.si> wrote:
Philippe Marschall pravi:
>> Michael van der Gulik wrote:

>> So now it seems that Gemstone is the only multi-core capable Smalltalk
>> VM :-(.

> AFAIK Gemstone isn't multi-core capable as well. You can just run
> multiple gems and they share the same persistent memory. Which is
> similar but different.

Well, Gemstone can for sure be considered as multi-core capable. Every
gem runs on its own process and therefore can run on its own CPU core.
All gems then share a Shared Memory Cache. So, a typical multi-core
scenario.

By multi-core, I mean that the following code would spread CPU usage over at least two cores of a CPU or computer for a while:�

| sum1 sum2 |

sum1 := 0. sum2 := 0.

[ 1 to: 10000000 do: [ :i | sum1 := sum1 + 1 ] ] fork.

[ 1 to: 10000000 do: [ :i | sum2 := sum2 + 1 ] ] fork.

(I didn't try the above so there might be obvious bugs)

If a VM can't distribute the load for the above over two or more CPU cores, I consider its multi-core capabilities a hack. No offense intended to the Hydra VM.

I'm feeling a bit disheartened by the fact that there aren't any Smalltalk VMs, commercial or not, that can do fine-grained parallelism.

Gulik.

--
http://gulik.pbwiki.com/