modern scheduler

현대 OS 스케줄링 진단 기준

현대 스케줄러는 공정성, 캐시 지역성, NUMA 거리, cgroup 제한을 동시에 고려해 CPU 시간을 나눕니다.

진단 축
01vruntime 02affinity 03load balance 04NUMA 05cgroup
CFS 관점

Linux CFS는 vruntime을 기준으로 덜 실행된 태스크가 CPU를 받을 기회를 늘립니다.

Affinity

같은 CPU에 머무르면 cache locality가 좋아지지만 부하 불균형이 생길 수 있습니다.

NUMA

프로세스와 메모리가 다른 노드에 있으면 원격 접근 지연이 스케줄링 결과를 바꿉니다.

nice/cgroups

nice는 상대 우선순위, cgroups는 컨테이너와 서비스 단위 CPU quota를 제어합니다.