[squeak-dev] [ANN] A new scheduler + VM changes alpha-release
Igor Stasenko
siguctua at gmail.com
Thu Apr 30 12:52:29 UTC 2009
Hello guys,
i hope you are interested in having a rock-solid & safe concurrency in
smalltalk, despite it green-threaded.
A new implementation of scheduler will allow us to improve stuff and
be no longer dependant from VM side scheduling policy.
You can find the changes on mantis:
http://bugs.squeak.org/view.php?id=7345
Please, give me a feedback, if you can successfully build VM with new
changes on all platforms.
I used a pretty old VMMaker package version for my VM: VMMaker-dtl.91
Will try to see if it can be built with latest one , available on SqS.
Andreas (& others) - do you have any tests/benchmarks, how to measure
a new scheduler overhead comparing to old one?
Personally, i didn't noticed much speed degradation :)
And last thing, i need an advice how to implement a #callbackEnter: properly.
Its currently leaved unchanged, using old VM scheduling policy. So,
its unsafe to use plugins with callbacks if you running under new
scheduler.
A callbackEnter remembers the active process, suspends it and then
activates it back when callback is done.
The problem is, that squeak 3.10 doesn't have any image-side code
which i could change to play with callbacks :(
A fix for callbacks should be pretty easy:
- at entry, deactivate active process (which should be NOT the
interrupt process) & switch to interrupt process, so it could schedule
next available process.
- when leaving switch from interrupt process to previously remembered
active process.
So, a certain preconditions should be met:
- a code which calls a primitives which using callbacks should never
run in interruptProcess
- a code , which returns from a callback should run in interruptProcess
--
Best regards,
Igor Stasenko AKA sig.
More information about the Squeak-dev
mailing list
|