[squeak-dev] The "correct" approach to multi-core systems.

Michael van der Gulik mikevdg at gmail.com
Sat Feb 23 03:01:41 UTC 2008


On 2/22/08, Stephen Pair <stephen at pairhome.net> wrote:
>
> I must say, this is a really impressive development.  I really think this
> is the right way to approach multi-core systems.
>


I disagree about it being the right approach in the long term.

In the short term, the Hydra VM allows the use of multiple cores without
large changes to the core of Squeak, which is good and IMHO the right
decision for a quick and reliable solution (for whoever Igor is doing his
work for... Qwaq?). The disadvantage with the Hydra VM is that all
inter-process communication needs to go through a pipe; this makes sharing
objects and synchronising access while still getting good performance more
difficult. I can't back up my claims yet; we'll see how Hydra VM works out.

In the long term, a VM that can run its green threads (aka Process) on
multiple OS threads (aka pthreads) should be the long-term goal.

I can't imagine that hacking the VM with multiple processes, per-process
state and a global VM lock for garbage collection and new object
creation would be too difficult. The global VM lock would kill
scalability and could make object creation slow,
but it should still get some speedup on multi-cored CPUs. More advanced VMs
with per-thread eden space would take a bit longer to write.

Gulik.

-- 
http://people.squeakfoundation.org/person/mikevdg
http://gulik.pbwiki.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20080223/f1b598c7/attachment.htm


More information about the Squeak-dev mailing list