Our troubles with Linux and why you should care

  • Authors:
  • Ashif S. Harji;Peter A. Buhr;Tim Brecht

  • Affiliations:
  • University of Waterloo, Waterloo, Canada;University of Waterloo, Waterloo, Canada;University of Waterloo, Waterloo, Canada

  • Venue:
  • Proceedings of the Second Asia-Pacific Workshop on Systems
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

Linux provides researchers with a full-fledged operating system that is widely used and open source. However, due to its complexity and rapid development, care should be exercised when using Linux for performance experiments, especially in systems research. The size and continual evolution of the Linux code-base makes it difficult to understand, and as a result, decipher and explain the reasons for performance improvements. In addition, the rapid kernel development cycle means that experimental results can be viewed as out of date, or meaningless, very quickly. We demonstrate that this viewpoint is incorrect because kernel changes can and have introduced both bugs and performance degradations. This paper describes some of our experiences using the Linux kernel as a platform for conducting performance evaluations and some performance regressions we have found. Our results show, these performance regressions can be serious (e.g., repeating identical experiments results in large variability in results) and long lived despite having a large negative effect on performance (one problem has existed for more than 3 years). Based on these experiences, we argue: it is sometimes reasonable to use an older kernel version, experimental results need careful analysis to explain why a performance effect occurs, and publishing papers validating prior research is essential.