Improving server performance on multi-cores via selective off-loading of OS functionality

  • Authors:
  • David Nellans;Kshitij Sudan;Erik Brunvand;Rajeev Balasubramonian

  • Affiliations:
  • School of Computing, University of Utah;School of Computing, University of Utah;School of Computing, University of Utah;School of Computing, University of Utah

  • Venue:
  • ISCA'10 Proceedings of the 2010 international conference on Computer Architecture
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

Modern and future server-class processors will incorporate many cores. Some studies have suggested that it may be worthwhile to dedicate some of the many cores for specific tasks such as operating system execution. OS off-loading has two main benefits: improved performance due to better cache utilization and improved power efficiency due to smarter use of heterogeneous cores. However, OS off-loading is a complex process that involves balancing the overheads of off-loading against the potential benefit, which is unknown while making the off-loading decision. In prior work, OS off-loading has been implemented by first profiling system call behavior and then manually instrumenting some OS routines (out of hundreds) to support off-loading. We propose a hardware-based mechanism to help automate the off-load decision-making process, and provide high quality dynamic decisions via performance feedback. Our mechanism dynamically estimates the off-load requirements of the application and relies on a run-length predictor for the upcoming OS system call invocation. The resulting hardware based off-loading policy yields a throughput improvement of up to 18% over a baseline without off-loading, 13% over a static software based policy, and 23% over a dynamic software based policy.