Squeak and native threads

Matthew Fulmer tapplek at gmail.com
Wed Jan 10 18:27:50 UTC 2007


On Sat, Jan 06, 2007 at 10:07:17AM +0000, J J wrote:
> Hello all,
> 
> Is anyone doing anything (or know of someone who is) with native threading 
> in squeak?  As computers begin to rely more and more on a multi-core 
> strategy for speed up it is going to become more and more important to 
> support native threading.

Why do you say that? Is it mostly in order to harness
multi-processors?

Perhaps what is needed is not native threads, but a way to
replicate computation. Sharing memory is not very critical in
this case, IMHO, as multi-threaded algorithms and servers
communicate through very narrow channels (all they share is a
couple of queues and variables). Thus sharing memory may not be
as important as we think. Of course, there are always
exceptions, like automatic parallelization:
http://ogun.stanford.edu/~kunle/publications/hydra_PACT98.pdf

I think an easy way to get multiprocessor functionality *right
now* is to launch one Squeak processes per processor, and have
croquet replicate some or all of the objects in the squeak
image. I think this would provide good multi-processor
functionality for squeak, and it would work both for inter and
intra-machine multi-processing. Shared memory would merely be an
optimization to make intra-machine communication faster, and
could be made semi-transparent. All that is needed to get this
working is a mechanism to have some threads launched on a remote
squeak process. So, I think croquet provides a framework that can
be used to harness multiple processors *right now*. 

-- 
Matthew Fulmer -- http://mtfulmer.wordpress.com/
Help improve Squeak Documentation: http://wiki.squeak.org/squeak/808



More information about the Squeak-dev mailing list