Using performance reflection in systems software

  • Authors:
  • Robert Fowler;Alan Cox;Sameh Elnikety;Willy Zwaenepoel

  • Affiliations:
  • Department of Computer Science, Rice University, Houston, Texas;Department of Computer Science, Rice University, Houston, Texas;School of Computer and Communication Sciences, EPFL, Lausanne, Switzerland;School of Computer and Communication Sciences, EPFL, Lausanne, Switzerland

  • Venue:
  • HOTOS'03 Proceedings of the 9th conference on Hot Topics in Operating Systems - Volume 9
  • Year:
  • 2003

Quantified Score

Hi-index 0.00

Visualization

Abstract

We argue that systems software can exploit hard-ware instrumentation mechanisms, such as performance monitoring counters in modern processors, along with general system statistics to reactively modify its behavior to achieve better performance. In this paper we outline our approach of using these instrumentation mechanisms to estimate productivity and overhead metrics while running user applications. At the kernel level, we speculate that the scheduler can exploit these metrics to improve system performance. At the application level, we show that applications can use these metrics as well as application-specific productivity metrics to reactively tune their performance. We give several examples of using reflection at the kernel level (e.g., scheduling to improve memory hierarchy performance) and at the application level (e.g., server throttling).