구글은 AutoFDO와 프로펠러 지원을 리눅스 커널에 통합하는 패치 시리즈를 소개했습니다. 이를 통해 프로파일 기반 최적화 기술로 바이너리 성능을 향상시킬 수 있습니다. 하드웨어 샘플링을 활용하는 AutoFDO는 Instrumentation 기반 FDO(iFDO)에 비해 적용 과정이 간단합니다. iFDO가 더 나은 프로파일 품질과 성능을 제공하지만, AutoFDO도 벤치마크 애플리케이션에서 iFDO 수준의 성능을 달성했습니다. 또한 프로펠러는 하드웨어 샘플링을 이용해 프로파일을 수집하고 링크 후 최적화를 적용해 AutoFDO 성능을 더 향상시킵니다.
실험 데이터에 따르면 AutoFDO와 프로펠러를 통해 마이크로 벤치마크에서 최대 10%, 대규모 웨어하우스 벤치마크에서 최대 5%의 성능 향상을 달성할 수 있어 이 기술들의 상위 커널 통합이 타당한 것으로 나타났습니다. 성능 평가는 AutoFDO 최적화 커널 이미지(6.9.x 버전)와 기본 빌드를 비교했으며, 오픈소스 마이크로 벤치마크와 구글 및 Meta의 실제 서비스를 대상으로 진행했습니다. Neper 네트워크 서브시스템 벤치마크와 UnixBench 종합 커널 성능 벤치마크에서 각각 처리량 6.1% 증가, 지연 시간 10.6% 감소, 지수 점수 저부하 시 2.2% 향상, 고부하 시 2.6% 향상을 보였습니다.
* 이 글은
phoronix.com의 기사를 요약한 것입니다. 전체 기사의 내용은
이곳에서 확인하실 수 있습니다.