Squeak and SMP

Patrick Logan patrickl at servio.gemstone.com
Fri Apr 24 18:07:00 UTC 1998


    > Gemstone Smalltalk is single (OS) threaded. Multiple CPUs help
    > Gemstone by allowing each process (all the gems, the stone, the
    > distributed collector, the cache monitors) to run truly in
    > parallel.
    
    Really?  The GemStone people we've been meeting with recently
    clearly told us that each connected client to a GemStone server
    has it's own VM, and it's own native processor thread.  Why am I
    hearing two completely different stories from GemStone on this
    matter?

(We'll be right back to the regularly scheduled Squeak mail list...)

I don't think you are getting two different stories.

Each client *is* connected to its own Gemstone Smalltalk VM. That VM
uses one and only one OS thread. The VM supports Smalltalk-80 style
Process instances, with a few exceptions...

The VM was modified about 1.5 years ago to support CORBA via multiple
Process instances. The VM does not support timer interrupts or
asynchronous file I/O. It only supports asynchronous socket I/O,
because this was what was minimally needed to support CORBA.

On an SMP, I can run a VM and you can run a VM and they'll be truly
parallel. But within my VM, I cannot run multiple threads and have
them be truly parallel.

If you have any more questions about this, please send private e-mail.

-- 
Patrick Logan                 mailto:patrickl at gemstone.com
Voice 503-533-3365            Fax   503-629-8556
Gemstone Systems, Inc         http://www.gemstone.com





More information about the Squeak-dev mailing list