[squeak-dev] Re: Suspending process fix

Andreas Raab andreas.raab at gmx.de
Wed Apr 29 04:07:32 UTC 2009


Eliot Miranda wrote:
> How would you generalise this to a natively multi-threaded VM? 
> Obviously one simple way is to stop the other processors at a 
> suspension point before letting the scheduler process proceed, but is 
> there anything cleverer that doesn't halt all processors until the 
> singleton scheduler has made its mind up?

There is probably something cleverer - just not as the first step ;-) 
The advantage of this approach is that if you halt all threads then you 
know you're in a safe spot which gives you room to experiment. Note that 
you could even run GC only from the scheduler (i.e., treat GC as an 
external signal that requests a GC from the scheduler) which solves the 
concurrent GC problem even with the current VM design.

I think this would be a great starting point to learn more about 
multi-threaded issues in your environment. As you learn how to cope with 
the situation and what the implications of having a single scheduler 
really are you can move to relax the dependencies and see where this 
gets you.

Cheers,
   - Andreas



More information about the Squeak-dev mailing list