Staggered timer interrupt?

By: Paul A. Clayton (, May 16, 2020 2:42 pm
Room: Moderated Discussions
Would there be a benefit from not having a timer interrupt synchronous for all cores?

For a traditional time-slice scheduling OS design with per-core scheduling, this might have a modest benefit from reducing the overlap of execution phase changes where shared resources like L3 cache and memory (and perhaps power/heat) might be in higher demand. (There might also be some minuscule benefit in reducing concurrent access to certain OS data; most data is already optimized for localization, so this seems unlikely to even be measurable.)

For gang-scheduled workloads, this would be bad, but for independent processes such offsetting of the time slice would seem likely to have no effect within the each process and might reduce the concurrent pressure on certain shared resources.

The benefit would seem to be very limited in most environments. For client systems, the number of hardware threads seems to usually be larger than the number of active threads and when this is not the case a few processes may often be cooperatively processing (where gang-like scheduling would be desirable).

For some server workloads, time-sliced scheduling might be undesirable anyway. Randomly pausing a response by even one millisecond may reduce quality of service. Perhaps a more task-oriented scheduling might be better, but I am biased toward more cooperative scheduling. (I know scheduling is hard. I also have some sense of my vast ignorance of OS theory and practice.)

For some multiple workload uses (cloud?) such staggering might be beneficial. With independent threads, cooperation in scheduling would be less important and flattening (through time) the demand on shared resources might be a noticeable benefit.

The hardware and software support needed for a basic implementation of such would seem to be tiny. However, any new mechanism will involve changes in tradeoffs and unexpected interactions, so a basic implementation may be inadequate.
TopicPosted ByDate
Staggered timer interrupt?Paul A. Clayton2020/05/16 02:42 PM
Reply to this Topic
Body: No Text
How do you spell purple?