Inproceedings,

Operating System Scheduling on Heterogeneous Core Systems

, and .
First Workshop on Operating System Support for Heterogeneous Multicore Architectures, at PACT 2007, (2007)

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.

Tags

Users

  • @ykwok

Comments and Reviews