Design principles for end-to-end multicore schedulers

  • Authors:
  • Simon Peter;Adrian Schüpbach;Paul Barham;Andrew Baumann;Rebecca Isaacs;Tim Harris;Timothy Roscoe

  • Affiliations:
  • Systems Group, ETH Zurich;Systems Group, ETH Zurich;Microsoft Research, Cambridge;Systems Group, ETH Zurich;Microsoft Research, Cambridge;Microsoft Research, Cambridge;Systems Group, ETH Zurich

  • Venue:
  • HotPar'10 Proceedings of the 2nd USENIX conference on Hot topics in parallelism
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

As personal computing devices become increasingly parallel multiprocessors, the requirements for operating system schedulers change considerably. Future general-purpose machines will need to handle a dynamic, bursty, and interactive mix of parallel programs sharing a heterogeneous multicore machine. We argue that a key challenge for such machines is rethinking scheduling as an end-to-end problem integrating components from the hardware and kernel up to the programming language runtimes and applications themselves. We present several design principles for future OS schedulers, and discuss the implications of each for OS and runtime interfaces and structure. We illustrate the implementation challenges that result by describing the concrete choices we have made in the Barrelfish multikernel. This allows us to present one coherent scheduling design for an entire multicore machine, while at the same time drawing conclusions we think are applicable to the design of any general-purpose multicore OS.