4 ms·
It does imply that. Multiple concurrent scheduling algorithms is nothing new, Linux and MacOS both support per-thread algorithm selection.
by coreytabaka 7y ago
It does imply that. Multiple concurrent scheduling algorithms is nothing new, Linux and MacOS both support per-thread algorithm selection.
- VanillaCafe 7y agoWhat does the super scheduler that coordinates the two schedulers approximately look like?
- coreytabaka 7y agoA simple hierarchy: when there is deadline work to do that work takes precedence, fair work gets the rest of the time. This is effective because deadline work has bounded execution time, whereas fair work is elastic and can adjust to use the available bandwidth.
- WhatIsDukkha 7y agoWhere is io scheduling in this? It's my perception that on current workstations, for example, that and "ionice -c3" in front of any build I do is far more useful then simply nicing it.
- coreytabaka 7y agoIO scheduling is a separate problem, though it shares the same fundamental properties. The same goes for network packet scheduling. All of these are ongoing efforts. Stay tuned! :)
- WhatIsDukkha 7y agoWell I look forward to seeing this develop. Two of my primary areas of interest, audio engineering and VR both REALLY show how poorly modern operating systems do with user interactivity when it counts.
- the8472 7y agoRT tasks get prioritized over normal ones but only up to a configurable fraction of CPU time slices. If you need even more guarantees than that another option is to pin tasks to a set of CPU cores to isolate workloads from each other. The kernel can also be told to not use certain cores for interrupt handling or kernel-internal tasks. So with some effort it's possible to almost entirely dedicate a core to a single thread.
- glenrivard 7y agoIn Zircon interrupt handlers can happen from user space. So you would have to make sure the process was not scheduled on a core you want no interrupt handlers scheduled.