본문으로 건너뛰기

© 2026 Molayo

Phoronix헤드라인2026. 06. 29. 23:17

Infinity Scheduler, 더 나은 Linux 스케줄러를 목표로 하다

요약

오픈 소스 개발자 Galih Tama가 BPF 의존성 없이 Linux 커널의 CFS 및 RT를 개선하는 Infinity Scheduler를 개발했습니다. EMA(지수 이동 평균)를 활용해 태스크 특성에 따라 타임 슬라이스를 동적으로 조절하는 것이 핵심입니다.

핵심 포인트

  • BPF나 sched-ext 의존성 없는 네이티브 EEVDF 수정 버전
  • EMA를 활용해 CPU 집약적 태스크와 대화형 태스크 차등 할당
  • futex 대기 바이패스를 통한 즉각적인 선점(preemption) 지원
  • Linux 메인라인 커널(6.18 LTS, 7.0, 7.1) 패치 목표

Infinity Scheduler, 더 나은 Linux 스케줄러를 목표로 하다

LINUX KERNEL

오픈 소스 개발자 Galih Tama는 부하가 높은 상황에서 BPF 기반의 sched_ext 방식이 초래할 수 있는 "근본적인 한계"를 해결하기 위해 scx_flow를 대체하는 작업을 진행해 왔습니다. Phoronix에 보낸 메시지에서 개발자는 Infinity Scheduler를 다음과 같이 설명했습니다:

"CFS 및 RT에 직접 내장된 네이티브 EEVDF 수정 버전입니다. BPF나 sched-ext 의존성이 없습니다. 핵심 아이디어는 각 태스크(task)의 최근 실행 시간 기록을 추적하는 지수 이동 평균 (Exponential Moving Average, EMA)입니다. CPU 집약적인 태스크는 타임 슬라이스(time slice)가 축소되는 반면 (최저 400µs까지), 대화형(interactive) 태스크는 전체 할당량을 유지합니다. 낮은 EMA를 가진 웨이크업(wakeups)은 50% 더 짧은 vslice를 할당받아 EEVDF 트리 내에서 마감 기한(deadline)이 앞당겨지며, pick_eevdf()에서의 futex 대기 바이패스(bypass)를 통해 다음 스케줄링 시점에 즉각적인 선점(preemption)이 가능합니다. RT 태스크는 큐 배치 변조(queue placement modulation)를 통해 동일한 EMA 처리를 받습니다."

sched_ext 경로를 포기함에 따라, Infinity Scheduler는 현재 CFS 및 RT 코드를 수정하기 위한 메인라인 Linux 커널용 패치 형태로 존재합니다. 이 패치들은 현재 작성 시점을 기준으로 메인라인 Linux 6.18 LTS, Linux 7.0, 그리고 Linux 7.1 커널 버전을 목표로 하고 있습니다.

Linux를 위한 이 새로운 Infinity Scheduler 작업에 대해 궁금한 분들은 GitHub 저장소를 통해 모든 세부 사항과 필요한 커널 패치를 확인할 수 있습니다. 독자들의 관심이 충분하다면 Phoronix에서 Infinity Scheduler 성능 벤치마크를 실행하는 방안을 검토해 보겠습니다.

AI 자동 생성 콘텐츠

본 콘텐츠는 Phoronix의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0