We propose a scheduling method for real-time systems implemented on multicore platforms that encourages certain groups of equal-utilization tasks to be scheduled together. This method can be applied to encourage tasks that share a common working set to be executed in parallel, which makes more effective use of onchip shared caches. The proposed method can be adapted for use in any global, deadline-based scheduling approach. It exploits the fact that, under such approaches, “work” submitted at the same time by equal-utilization tasks will occupy consecutive slots in the scheduler’s global priority queue, and thus, will be scheduled in close proximity, unless disrupted by later-arriving, higher-priority work. We show that certain properties of such global scheduling approaches can be exploited to limit this disruptive behavior.
James H. Anderson, John M. Calandrino