Squeak and SMP

Ken Dickey kend at apple.com
Sat Apr 25 02:03:21 UTC 1998


>At 1:54 PM -0700 4/24/98, Ken Dickey wrote:
>
>>GC can be done at first by stopping all (non-gc) threads.  This works to
>>get things up.
>
>Then you violate real time that the original poster was after.

Agreed.  I was thinking of staged ways to get the above up and running 
incrementally.  I guess when it comes from implementing stuff I just do 
better doing it in stages and having a working system at each stage.  
(Hey, it works for me.  ;^)


>>Then you can go to a concurrent collector (too big to
>>discuss here).
>
>Do you have a line on a real time concurrent GC that is really
>real time? (Some algorithms have been claimed to be real time
>which aren't.)

I would suggest looking at Springer Lecture Notes 637 and 986 
(International Workshop In Memory Management '92 and '95) as well as Paul 
Wilson's survey.  There are a bunch of papers with various assumption 
sets.  I agree that many so called real-time collectors aren't. The 
implementation of Baker's Treadmill by Wade Hennesy used in Kaleida's 
ScriptX multi-media runtime is real-time.  It really depends on what 
trade-offs you want to make.  It really is too detailed a discussion for 
a quick answer.


>>  Also, if you have a 2-word compare&swap, you can do 'lockless'
>>  concurrent queueing (check a newer OS textbook for algorithms).

>This seems neat. This is kind of like a "linear object" providing
>unique (solitary) access?
>
>Do you have a good OS textbook you recommend, Ken?

I originally learned about 'lockless queueing' reading about the 
Synthesis kernel, which has some really cool ideas, including 
specialization by runtime code generation.

Henry Massalin "Synthesis: An Efficient Implementation of Fundamental 
Operating System Services", Columbia U Ph.D. Thesis, 1992.

I have not bought any OS books lately, but note that compare&swap 
techniques are covered in Gray & Reuter's "Transaction Processing, 
Concepts and Techniques" (Morgan Kaufmann 1993) which you probably have 
gathering dust on your bookshelf, Patrick.  8^)


Cheers,
-Ken





More information about the Squeak-dev mailing list