Vats, Islands, and Collections: Finding cheap parallelism

Patrick Logan patrickdlogan at gmail.com
Fri Jan 25 01:02:02 UTC 2008


> I'm going to be working on making squeak multi-core as part of
> my grad work. I have a bit of work to do before I get to the
> stage where I actually have to implement a parallel code model,
> but I am thinking about it in the abstract as a mental exercise
> for now. I will most likely use the vats/islands system used by
> SqueakELib and Croquet, as it has been validated.
>
> But I have a pressing concern: How could this be used to do what
> seems (to me and my mentors) to be the cheapest, simplest, most
> obvious parallelism extraction ever: get Collection>>do:,
> collect:, etc. to run one element per native thread (= vat =
> island).

One thing these questions point out is, what do you want all these
cores to be used *for*?

If you want to compute heat transfer and stress analysis of some metal
thingy then you may be led toward one kind of a multi-core Smalltalk
implementation.

If you want to compute a world-wide factory and warehouse distribution
optimizer then you may be led toward a different multi-core Smalltalk
implementation.

If you want to compute "ebay" then you may be led toward a third kind
of multi-core Smalltalk implementation.

So start with some interesting problems then come up with some
interesting solutions for one or more of those. Otherwise anything
"might" work and nothing will constrain your decisions.



More information about the Squeak-dev mailing list