Speaker
Description
The Linux network stack is a performance-critical component of the Linux kernel that impacts service delivery, quality, and efficiency. Subtle changes might have far-reaching performance implications. In this presentation I describe an emerging project to build a reference setup for networking performance and efficiency experiments. The objectives for this project are twofold. The immediate goal is establishing a reference software stack and suite of benchmarking experiments that can be used for automatic regression testing during the regular development cycle of the Linux networking subsystem (netdev). On the other hand, having an established and meaningful reference setup wouldd also be highly beneficial for academic researchers to compare wider-ranging and ambitious research proposals with a well-known baseline that follows best practices for system and workload configurations. As such, it is hoped that a secondary benefit of such an initiative is bringing together Linux developers and academic researchers to benefit the entire open-source operating systems community.
The talk will present existing preliminary work in this project and solicit feedback, and most importantly it can hopefully serve as a starting point for a wider discussion and consultation. Given the diversity of workload scenarios, potential system configurations, and possible performance effects, conversations about the most representative experiments and metrics are critically important. Aside from fundamental questions, such as the specific nature of regression detection, there are practical questions in how to best integrate a test instance with the existing netdev infrastructure for test automation (NIPA) and how to best facilitate the replication of test instances for different purposes.
Another explicit objective for this project is to study system efficiency, including resource efficiency, in additional to pure performance. As computing infrastructure becomes a more and more significant energy consumer and hardware improvements might potentially slow down in the near- to mid-term future, it is important to prepare for a potentially resource-constrained future by being able to understand, measure, control, and reduce the resource overheads associated with various computing services.