Our troubles with Linux Kernel upgrades and why you should care
Citations Over TimeTop 10% of 2013 papers
Abstract
Linux and other open-source Unix variants (and their distributors) provide researchers with full-fledged operating systems that are widely used. However, due to their complexity and rapid development, care should be exercised when using these operating systems for performance experiments, especially in systems research. In particular, 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 Linux and FreeBSD as platforms 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 was present 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.
Related Papers
- → Performance evaluation of Linux CAN-related system calls(2014)5 cited
- → Introduction to the Linux Environment(2020)1 cited
- The Case about System Kernel Call of Linux(2011)
- → A New Age: An Overview of Multi-kernels(2019)
- A Source-Level Discovery Methodology for Vulnerabilities of Linux Kernel Variables(2005)