native threads

Colin Putney cputney at wiresong.ca
Thu Apr 14 15:57:48 UTC 2005


Daniel Salama wrote:

> On Apr 14, 2005, at 11:00 AM, Colin Putney wrote:
> 
>> The only advantage of native threads is they can make use of more than 
>> one processor. But the cases where you really need this are pretty rare.
> 
> 
> Not the case when you run on the latest and greatest Intel chips, like 
> the Xeon, where you can take advantage of technologies such as 
> hyperthreading on a single-CPU machine. I agree with Ramiro in that 
> Squeak should support native threads. Again, I posted this question 
> before and no one really addressed it: Is this a Squeak-only issue or is 
> it an issue with Smalltalk in general?

Well, you can split hairs if you want. A hyperthreaded processor appears 
to OS (well, to Linux at least) as two processors. Modern processors 
also do a lot of magic around executing a supposedly linear sequence of 
instructions in parallel. So what?

You can do just about any style of concurrent processing that you want 
in Squeak, on just about any hardware or OS, with precisely the same 
results. To do this with native threads would be a) less efficient, b) 
less scalable, c) difficult at best and d) a lot of work.

Sure, it would be nice to take advantage of hyperthreading or 
multiprocessing, but that's a far cry from "no serious server software 
will ever be possible" without it.

To answer your question, this is technically a Squeak-only issue. There 
are Smalltalks that do support OS threads - MTSmalltalk and ObjectStudio 
are a couple of examples - but most use the same strategy as Squeak.

Colin




More information about the Squeak-dev mailing list