18–20 Sept 2024
Europe/Vienna timezone

Optimizing the Linux kernel with AutoFDO including ThinLTO and Propeller

18 Sept 2024, 10:45
45m
"Room 1.85 - 1.86" (Austria Center)

"Room 1.85 - 1.86"

Austria Center

165
Toolchains Track Toolchains Track

Speakers

Han Shen (Google)Mr Rong Xu (Google)

Description

We would like to make a data-driven case to integrate AutoFDO support into the Linux kernel. AutoFDO is a profile guided optimization technique that uses hardware sampling to optimize binaries. Compared to Instrumentation based FDO (iFDO), AutoFDO is significantly more user-friendly and straightforward to apply. While iFDO typically yields better profile quality and hence more performance than AutoFDO, our results demonstrate that AutoFDO achieves a remarkable level of effectiveness, bringing the performance close to iFDO in optimizing benchmark applications.

In this proposal, we'd present performance improvements from optimizing the kernel with FDO, both via hardware sampling (AutoFDO) and instrumentation (iFDO), on micro-benchmarks and large warehouse scale applications. Our data makes a strong case for the inclusion of AutoFDO as a supported feature in the upstream kernel.

Furthermore, other advanced compiler optimization techniques, including ThinLTO and Propeller can be stacked on top of AutoFDO. We have experimented with AutoFDO combined with ThinLTO and Propeller, we'd also like to present these numbers.

We have posted our experiments and numbers on the llvm forum.

Primary authors

Mr David Li (Google) Han Shen (Google) Mr Krzystof Pszeniczny (Google) Mr Rong Xu (Google) Mr Sriraman Tallam (Google)

Presentation materials