Linux 캐시 인식 스케줄링 (Cache Aware Scheduling) 확장으로 성능 향상: MySQL에서 최대 360% 개선
요약
Hygon이 Linux 커널의 캐시 인식 스케줄링(CAS)을 토폴로지 인식 태스크 집계 방식으로 확장하는 패치를 제안했습니다. 이 패치는 워크로드에 따라 스케줄링 도메인을 동적으로 조절하여 캐시 지역성을 최적화합니다. 벤치마크 결과 MySQL 성능이 최대 360% 개선되는 성과를 보였습니다.
핵심 포인트
- 캐시 인식 스케줄링을 토폴로지 인식 방식으로 확장
- 워크로드에 따라 스케줄링 도메인을 계층적·동적으로 조절
- 캐시 미스 및 캐시 바운싱 감소를 통한 지역성 확보
- MySQL 벤치마크에서 최대 360% 성능 향상 달성
Linux 캐시 인식 스케줄링 (Cache Aware Scheduling) 확장으로 성능 향상: MySQL에서 최대 360% 개선

캐시 인식 스케줄링 (Cache Aware Scheduling)은 스케줄러가 데이터를 공유하는 태스크들이 동일한 마지막 레벨 캐시 (LLC, Last Level Cache) 도메인에 함께 배치되도록 노력함으로써, 다중 캐시 도메인을 가진 현대적 CPU에서 Linux 성능을 개선하는 데 도움을 줄 수 있습니다. 캐시 인식 스케줄링의 최종 결과는 더 나은 캐시 지역성 (Cache Locality)을 보장하고 캐시 미스 (Cache Misses) 및 캐시 바운싱 (Bouncing)을 줄이는 것입니다.
현재 캐시 인식 스케줄링은 단일 LLC 도메인 내에 적합한 워크로드에 잘 작동하는 LLC 중심의 태스크 집계 (Task Aggregation) 모델에 의존하고 있습니다. 하지만 스케줄러가 더 높은 수준의 도메인으로 집계를 확장할 수 없거나 지역성이 효과적으로 유지되지 않을 때는 잘 작동하지 않습니다.
Hygon은 오늘 캐시 인식 스케줄링을 토폴로지 인식 태스크 집계 (Topology-aware Task Aggregation)로 확장하는 패치를 보냈습니다. 이는 워크로드에 따라 스케줄링 도메인 전반에 걸쳐 계층적이고 동적으로 확장 및 축소되는 방식입니다. 이 패치들은 다양한 워크로드 크기와 시스템 토폴로지 전반에서 캐시 인식 스케줄링을 강화하는 데 매우 좋아 보입니다.
이 패치들에 대한 벤치마크 수치를 보면 Hackbench에서 최대 49% 개선, Schbench에서 최대 20% 개선, 그리고 MySQL에서는 무려 360%의 개선을 보여줍니다:
벤치마크 결과 및 이 새로운 CAS 패치에 대한 더 자세한 내용은 커널 메일링 리스트 (Kernel Mailing List)를 통해 확인할 수 있습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Phoronix의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기