Title: Linux Kernel Test Model Based on Business Application Characters
Technical Area: System Software
Currently Alibaba is deploying Linux 4.x based kernel version on all systems, multiple iterations are made within one year to benefit from latest kernel improvement and bugfixes. As a huge Internet and cloud company, there are thousands of business applications running on millions of systems with a very strict requirement on reliability. It is a big challenge to make the new kernel deployment smooth in such a short period in addition to kernel stability assurance.
We have been developing a kernel test system. Most of open source test suites and newly developed test cases were integrated against kernel subareas. As a part of continuous integration (CI), a few business application related test suites are also run when new kernel version is released. In this way, we can assure the common kernel quality in some degree, actually many kernel bugs were found and fixed during the period.
But the test coverage is not enough yet, there are thousands of business applications inside Alibaba, they are very complicated with different workloads on the kernel, many of kernel bugs were still found after the kernel deployment. The idea is that a test model could be constructed which simulates various application workloads on the kernel, so the application related issues could be exposed before the kernel release.
Alibaba business scenarios could be available for research and verification purpose, researchers can dynamically collect production statistics used for analysis and design. A proof theory should be developed with a POC provided, the expected output may include but not limit to:
- 80% of business application scenarios should be covered.
- The approach should be generic, all business application can be applied. Feasibility: less 5% impact on business application in running time.
- At least 30 kernel bugs should be found with the approach.
Related Research Topics
- Application character feedback mechanism in kernel fuzz testing. Fuzz testing is proved as an efficient test approach in low cost, we could improve fuzz test combining with application character input.
- Linux kernel performance testing. Application specific performance baseline could be built and apply in kernel test phase. How to measure application performance from kernel perspective is a challenge.
- Application workload simulation. Based on the statistics collection from production scenarios, the common workload character could be abstracted and defined to construct offline workload simulator.