Ubuntu
80 Case Studies
A Ubuntu Case Study
The Ubuntu Server Team faced the challenge of optimizing the performance of QEMU emulation for RISC-V package builds on their Launchpad infrastructure. Their goal was to find an automatic optimization technique that could improve build times and reduce CPU utilization for this highly specialized workload without introducing significant performance penalties during profiling.
Ubuntu implemented a solution using Profile-Guided Optimization (PGO) with GCC, leveraging the `perf` and `autofdo` tools to generate a performance profile from building the OpenSSL package. This profile was then used to build an optimized version of QEMU. The results were significant, with the optimized QEMU achieving average build time improvements of 5.47% to 6.72% and similar gains in CPU utilization efficiency across four different test packages, including GDB, Emacs, and Python. This performance gain translates to substantial time and energy savings for Ubuntu's continuous package building processes.