By: Andrey (andrey.semashev.delete@this.gmail.com), May 18, 2021 6:58 am
Room: Moderated Discussions
Little Horn (sink.delete@this.example.net) on May 17, 2021 5:03 pm wrote:
> Thoughts?
The proposed design seems to largely assume that all runnable threads are actually being executed by the CPU. I feel that this assumption is not practical, as there will certainly be the case when there are more tasks that can run than the CPU can handle.
When that happens, the proposal doesn't explain some important points:
- How does the hardware monitor addresses that are waited by threads that don't fit in the CPU capabilities? Surely, the CPU can't fetch this information from RAM on every memory access (by the CPU or other bus agents) as that would tank performance.
- More threads than the CPU can execute means thread preemption must exist, with a thread scheduler and context switching overhead that is likely close to what we have now. And at this point, is this model much better than the current software scheduling design running on a high thread count CPU? I suspect the hardware-accelerated thread scheduling could be beneficial, but not to the amount the paper tries to suggest.
> Thoughts?
The proposed design seems to largely assume that all runnable threads are actually being executed by the CPU. I feel that this assumption is not practical, as there will certainly be the case when there are more tasks that can run than the CPU can handle.
When that happens, the proposal doesn't explain some important points:
- How does the hardware monitor addresses that are waited by threads that don't fit in the CPU capabilities? Surely, the CPU can't fetch this information from RAM on every memory access (by the CPU or other bus agents) as that would tank performance.
- More threads than the CPU can execute means thread preemption must exist, with a thread scheduler and context switching overhead that is likely close to what we have now. And at this point, is this model much better than the current software scheduling design running on a high thread count CPU? I suspect the hardware-accelerated thread scheduling could be beneficial, but not to the amount the paper tries to suggest.