페어 DRM 스케줄러 v4는 잘 알려진 완전 공정 스케줄러(Completely Fair Scheduler, CFS)의 개념을 기반으로 한 새로운 스케줄링 정책을 도입합니다. 이 정책은 가상 GPU 시간 소비에 따라 엔티티 실행 대기열을 구성하여, 가장 적은 가상 실행 시간을 가진 엔티티가 먼저 실행되도록 합니다. 이러한 접근 방식은 FIFO 스케줄링에서 흔히 발생하는 전체 우선순위 기아를 효과적으로 방지하고, 여러 우선순위 실행 대기열의 필요성을 없앱니다. 스케줄러는 우선순위가 낮아질수록 GPU 실행 시간을 기하급수적으로 증가시켜, 낮은 우선순위 엔티티가 실행 대기열에서 더 뒤로 밀려나도록 하여 자원 할당의 공정성을 유지합니다.
Steam Deck에서 실시된 실제 테스트에서 페어 DRM 스케줄러는 FIFO 스케줄링에 비해 상당한 개선을 보여주었습니다. 테스트는 세 개의 동시 클라이언트를 포함했습니다: 지연 다중 샘플링 Vulkan 데모의 낮은 우선순위 인스턴스, 동일한 데모의 일반 우선순위 인스턴스, 그리고 Unigine Heaven 벤치마크입니다. FIFO 스케줄링 하에서는 낮은 우선순위 클라이언트가 완전 기아 상태에 빠져 다른 클라이언트 간의 GPU 시간 분배가 불균형하게 이루어졌습니다. 반면, 페어 스케줄러는 GPU 시간의 보다 공정한 분배를 제공하여 낮은 우선순위 클라이언트가 자원의 일부를 받을 수 있도록 했습니다. 페어 스케줄러의 주요 장점은 개선된 스케줄링 품질과 코드 단순화로, 여러 실행 대기열이 필요하지 않다는 점입니다. 전반적으로 초기 결과는 유망하며, 이러한 결과를 검증하기 위한 추가 테스트가 기대됩니다.
* 이 글은
phoronix.com의 기사를 요약한 것입니다. 전체 기사의 내용은
이곳에서 확인하실 수 있습니다.