[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
|