Questions on Squeak's threading architecture -- why can't Squeakdo SMP yet?

Alan Grimes alangrimes at starpower.net
Wed Aug 4 12:59:29 UTC 2004


>with wanting to share physical simulations and visualizations over 
>distributed hardware with Croquet when available, but my questions 
about 
>scalability seem to be more Squeak VM related.

Croquet has _NEVER_ worked for me.
It simply outputs the "OpenGL" window without any hint as to why it 
didn't do anything interesting. 

>     What is stopping Squeak from doing SMP?  (or Async MP for that 
matter?)

Quite a bit, unfortunately. 
The VM will need to undergo a fairly major refactorization along with 
some updates to the c translator and several race conditions in the 
image itself will need to be resolved. =\

You may have seen some of my laments on this subject with regards to my 
dual Athlon which has been lying derelict for two months now awaiting a 
new HD. =(

I had been working on this project when my HD failed, I have not had 
the chance to use squeak since. =( 

People seem to be content enough with Squeak's current design as to not 
be motovated to upgrade it.

> Why can't one make a copy of the OS/platform specific guts of the 
Squeak bytecode 
>interpreter or JIT compiler object for each physical processor 

It's an interpreter.

>    Has this been tried and failed?  Another question: Has anyone 
tried 
>to port Squeak to IBM Power5 processors (under Linux or anything 
else)?  

What happens when you compile the CVS source on that architecture?
You might need the recient 64 bit port which I was begining but lost 
when the HD died....

>What are the broad engineering challenges in the way if I want to run 
a 
>computationally intensive simulation object (e.g. large N molecular 
>dynamics simulation with Squeak object hooks) on, say 32 processors of 
>my IBM p690,

WOAH!!!
Now _THAT_ is some serious iorn! 

> and let that object communicate the jist of its state (by 
>passing messages over IP) to clients which do the final (not so 
>computationally intensive) final rendering. 

Distributed processing is a whole different level of problem. Squeak 
does have some colaborative tools but, in my experience, they crash and 
lock up the VM. =( 

>    Anyone who has used a pervasively threaded microkernel operating 
>system, such as BeOS and QNX, understands the substantial power for 
>users and their programs of multithreading on multiprocessors done 
>right.  There are clearly lots of parallels to be drawn here between 
>Squeak and various OS architectures.

I'm using BeOS right now on my Athlon 800 but, unfortunately, it can't 
be booted on my dual Athlon for reasons that aren't clear. 




More information about the Squeak-dev mailing list