CachyOS Linux를 통한 BORE 스케줄러 성능 벤치마킹
요약
CachyOS Linux 커널에서 사용되는 BORE(Burst-Oriented Response Enhancer) 스케줄러의 성능과 특징을 분석합니다. BORE는 EEVDF 스케줄러를 개선하여 버스트형 워크로드에서 데스크톱 응답성을 극대화하는 데 중점을 둡니다.
핵심 포인트
- BORE는 버스트형 워크로드에 최적화된 스케줄러임
- EEVDF 스케줄러의 향상된 버전으로 응답성 개선 목표
- 태스크의 '버스트성' 지표를 활용해 스케줄링 속성 동적 조정
- 사용자 입력에 대한 탄력적이고 빠른 응답성 제공
CachyOS Linux를 통한 BORE 스케줄러 성능 벤치마킹
이번 주 초, 저는 다양한 CachyOS Linux 커널 버전들에 대한 벤치마크를 실행했으며, 보안 강화(hardened) 커널 빌드의 성능 오버헤드부터 기타 흥미로운 성능 결과에 이르기까지 흥미로운 사실들을 확인했습니다. 하지만 제가 아직 테스트하지 않은 커널 버전 중 하나는 BORE 스케줄러가 적용된 빌드였습니다. Phoronix 독자들의 관심과 피드백을 고려하여, 이번 기사에서는 CachyOS의 Linux 커널용 BORE 스케줄러 성능을 살펴보는 데 집중하고자 합니다.
BORE 스케줄러는 "Burst-Oriented Response Enhancer"의 약자로, 버스트형 워크로드(bursty workloads)에 최적화되어 있으며, 이는 데스크톱 응답성(responsiveness) 및 유사한 시나리오에서 매우 뛰어난 성능을 발휘할 수 있습니다. BORE 스케줄러의 GitHub 저장소에는 다음과 같이 설명되어 있습니다:
"BORE (Burst-Oriented Response Enhancer)는 EEVDF (Earliest Eligible Virtual Deadline First) Linux 스케줄러의 향상된 버전입니다. 가능한 한 다각적인 부하 시나리오 하에서 사용자 입력에 대한 탄력적인 응답성을 제공하는 동시에, 기존 스케줄러들의 높은 성능을 유지하는 것을 목표로 개발되었습니다.
이를 달성하기 위해, BORE는 각 개별 태스크(task)에 대해 "버스트성(burstiness)"이라고 알려진 유연성 차원을 도입하며, 이는 CFS의 내재된 "완전한 공정성(complete fairness)" 원칙에서 부분적으로 벗어난 것입니다. 버스트성이란 태스크가 수면(sleep), IO 대기(IO-waiting), 또는 양보(yielding)를 통해 명시적으로 CPU를 반납한 후 소비한 누적 CPU 시간으로부터 도출되는 점수를 의미합니다. 이 점수는 나노초에서 수백 초에 이르는 광범위한 시간적 특성을 나타내며, 태스크마다 다르게 나타납니다.
이러한 버스트성 지표를 활용하여, BORE는 각 태스크에 대한 가중치(weights) 및 지연(delays)과 같은 스케줄링 속성을 동적으로 조정합니다. 결과적으로, 다양한 유형의 부하를 경험하는 시스템에서 BORE는 높은 응답성을 요구하는 태스크를 우선시함으로써, 전반적인 시스템 응답성을 개선하고 사용자 경험을 향상시킵니다."
CachyOS에서는 linux-cachyos-bore를 설치하는 것이 BORE 스케줄러 패치가 적용된 기본 커널 빌드입니다.
시간 및 리소스 제약으로 인해 이전 CachyOS 커널 비교 과정에서는 이 구성을 구체적으로 테스트하지 못했습니다. 독자분들의 관심과 더불어, 이전 테스트 라운드와 동일한 CachyOS 설정의 System76 Thelio Major 시스템을 여전히 보유하고 있다는 점을 고려하여, 다양한 벤치마크를 통해 다른 커널 종류들과 CachyOS BORE 커널을 비교한 벤치마크 결과를 다음과 같이 제시합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Phoronix의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기