On 25 March 2014 18:21, Eliot Miranda <[email protected]> wrote:
> Hi Igor, > > > you have a point but I disagree. The scheduler is defined in the > implementation section of the blue book. It could be more explicit, but > the blue book scheduler is a known and simple system. In my threading work > I've made sure to preserve its semantics (cooperative within priorities, > preemptive across priorities, thread switch at activation of non-primitive > sends and backward branches). The only serious bug I know of (that > preempting sends a process to the back of its run-queue) was addressed in > Cog and the VW VM. We can and should write up the semantics, but they're > not undefined, they're simple and they do work. > > And you remember that i managed to move all scheduling logic out of VM to image. That gives you much more freedom in defining how scheduling shall work, without need of implementing complex, unsafe and errorneus sematic which involves mind-blowing exercises trying to fill the gap between VM and image without having right tools. I don't argue that current scheduling implementation is quite simple and more or less OK. What I am not pleased with, is that it is the only available semantic which we would ever have. And producing and using code based on it , only makes it carved in stone & live forever. > Eliot (phone) > > -- Best regards, Igor Stasenko.
