구글이 AutoFDO와 Propeller 지원을 Linux 커널에 통합하기 위한 패치를 발표했습니다. 이 패치는 프로파일 기반 최적화 기법을 통해 바이너리 성능을 향상시킵니다. 하드웨어 샘플링을 활용하는 AutoFDO는 계측 기반 FDO(Instrumentation-based FDO, iFDO)보다 애플리케이션 프로세스를 간소화합니다. iFDO가 일반적으로 더 나은 프로파일 품질과 성능을 제공하는 반면, AutoFDO는 벤치마크 애플리케이션에서 iFDO에 가까운 성능을 보여주었습니다.
Propeller는 LLVM으로 컴파일된 대규모 애플리케이션의 성능을 개선하는 포스트 링크 최적화 도구로, 추가 런타임 프로파일을 기반으로 바이너리를 다시 링크하여 컴파일 시점에서 불가능한 최적화를 가능하게 합니다. AutoFDO와 Propeller는 모두 하드웨어 샘플링을 통해 프로파일을 수집하여 AutoFDO 단독으로는 달성할 수 없는 성능 향상을 이끌어냅니다.
실험 데이터에 따르면 이러한 최적화는 마이크로 벤치마크에서 최대 10%, 대규모 창고 벤치마크에서 5%의 성능 향상을 가져올 수 있으며, 이는 상류 커널에 통합될 수 있는 근거를 제공합니다. AutoFDO 최적화 커널 이미지(버전 6.9.x)와 기본 빌드를 비교한 실험에서는 주목할 만한 성능 향상이 나타났습니다. 예를 들어, Neper 벤치마크에서는 처리량이 6.1% 증가하고 대기 시간이 10.6% 감소했으며, UnixBench는 낮은 시스템 부하에서 2.2%의 지수 점수 개선과 높은 시스템 부하에서 2.6%의 개선을 기록했습니다.
이러한 결과는 AutoFDO와 Propeller가 Linux 커널 성능을 크게 향상시킬 수 있는 잠재력을 강조하며, 향후 커널 버전에서의 채택을 위한 강력한 근거를 제공합니다.
* 이 글은
phoronix.com의 기사를 요약한 것입니다. 전체 기사의 내용은
이곳에서 확인하실 수 있습니다.