Well, most of those apply to the OS scheduler too, except for minimal fairness and small stacks (though you can have small stacks using native OS threads too). Really I think Cilk/Rayon are more analogous to GPU schedulers.
This adds the primitive necessary for M:N into the kernel (a user-level “switch to thread X” syscall), avoiding the OS incompatibility problem. Windows already has this via fibers (which is why I think it’s a better solution than Go’s).
-
-
But Windows UMS fibers are deprecated, despite being the technically-best solution around. And the Linux switchto patch stalled out in 2013. Kernel developers seem to have soured on the concept of M:N in general. /end
-
Thanks for the explaining your thoughts. I can see how the M:N threads with their own stacks can be a compatibility nightmare. In a world where one is designing a novel HW architecture, everything would likely need to be rewritten anyways so compatibility matters less so! :-P
- 2 more replies
New conversation -
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.