Dynamic processors demand dynamic operating systems

  • Authors:
  • Sankaralingam Panneerselvam;Michael M. Swift

  • Affiliations:
  • Computer Sciences Department, University of Wisconsin, Madison, WI;Computer Sciences Department, University of Wisconsin, Madison, WI

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

Quantified Score

Hi-index 0.00

Visualization

Abstract

The rise of multicore processors has lead to techniques that dynamically vary the set and characteristics of cores or threads available to the operating system. For example, Core Fusion merges multiple cores for faster processing. While the mechanics of the change, such as merging two cores into a more powerful core, can be handled by a virtualization layer, operating systems still have an interest in the exact set of cores available. For example, the read-copy-update mechanism in Linux must contact all cores to complete an update. Thus, the OS must be informed when the set of CPUs changes. We demonstrate through an analysis of a recent Linux kernel that (i) there are over 15 subsystems - each subsystem can have multiple callbacks registered - that depend on knowing the set of cores, and (ii) the existing hotplug mechanism is poorly suited to handling dynamic processors due to its poor performance and scalability. Based on this analysis, we propose two mechanisms, processor proxies and parallel and deferred hotplug to provide low-latency reconfiguration. In initial experiments, we show that we can reduce the latency of reconfiguration in Linux by 95 percent.