AMD INVLPGB Linux 커널 패치 성능 벤치마킹

전문: https://www.phoronix.com/review/amd-invlpgb-linux

원저자: Michael Larabel | 작성일: 2024-12-29 17:35
사이트 내 게시일: 2024-12-29 22:18
이 글에서는 AMD INVLPGB 명령어를 활용하여 방송 TLB 무효화를 개선하는 최근 Linux 커널 패치에 대해 논의합니다. 이러한 패치는 Linux 커널이 원격 CPU에서 TLB 항목을 무효화할 수 있게 하여, 프로세서 간 인터럽트(Inter-Processor Interrupts, IPIs) 없이 성능을 크게 향상시킵니다. AMD EPYC 밀란(Milan) 서버에서의 벤치마킹 결과, TLB 플러싱 성능이 초당 527k 루프에서 1157k 루프로 증가하여 상당한 개선을 나타냈습니다.

AMD INVLPGB 명령어는 Zen 3 프로세서부터 사용 가능했지만, 최근에야 Meta 엔지니어인 Rik van Riel의 기여 덕분에 Linux 커널에 통합되었습니다. 이러한 늦은 통합은 최근 Ryzen 및 EPYC 세대에서 AMD가 이 기능을 지원하지 않았던 이유에 대한 의문을 제기합니다.

테스트는 AMD EPYC 9655 서버에서 업스트림 Linux 6.13 Git 커널에 INVLPGB v2 패치 시리즈를 적용하여 진행되었습니다. Xmrig 채굴기, OpenJDK Java 워크로드, MariaDB/MySQL, Apache IoTDB, Nginx HTTPS 웹 서버 등 다양한 워크로드에서 측정 가능한 성능 향상이 나타났으며, 멀티 스레드 시나리오에서 몇 퍼센트의 개선이 관찰되었습니다. 그러나 ClickHouse 데이터베이스에서는 경미한 성능 저하가 관찰되었으나, 이는 중요하지 않은 것으로 평가되었습니다.

전반적으로 AMD INVLPGB Linux 패치는 Zen 3 및 Zen 4 세대의 AMD 시스템에서 성능 향상을 위한 가능성을 보여주며, 추가 테스트를 통해 더 많은 통찰력과 한계를 발견할 것으로 기대됩니다.

* 이 글은 phoronix.com의 기사를 요약한 것입니다. 전체 기사의 내용은 이곳에서 확인하실 수 있습니다.
카테고리: CPU
태그: AMD (1545) Performance (816) Linux (780) benchmarking (214) EPYC (105) Kernel Patches (13) Zen 3 (11) OpenJDK (8) MariaDB (3) INVLPGB (3)

댓글

댓글을 쓰기 위해서는 로그인을 해 주세요.