Abstract
We make a case that thread schedulers for heterogeneous multicore systems should balance between three objectives: optimal performance, fair CPU sharing, and balanced core assignment. Thread-to-core assignment algorithms that optimize
performance have been proposed in the past; in this paper we argue that they may conflict with the enforcement of fair CPU sharing. We also demonstrate the need for balanced core assignment: an unbalanced core assignment results in completion time jitter and inconsistent priority enforcement. We present a blueprint for a scheduling framework that balances between these three objectives. The framework consists of three components: performance-optimizing component, fairness component, and core balance component.
While the performance-optimizing component could implement any previously proposed performance optimizing algorithm, we propose a new algorithm based on reinforcement learning (RL). Our RL algorithm takes into account cache affinity, unlike
previously proposed algorithms. Implementing and evaluating this framework and the RL algorithm is the subject of future work.
Users
Please
log in to take part in the discussion (add own reviews or comments).