modern scheduler

스케줄러 공정성 조율

Linux CFS와 Windows 스케줄러는 단일 CPU 시대의 알고리즘을 넘어 멀티코어와 대화형 응답성을 고려합니다.

vruntime공정한 실행 시간
boost대화형 응답 보정
affinity캐시와 코어 배치
trace스케줄링 지연 관찰
Linux CFS

가상 실행 시간이 가장 작은 태스크를 선택해 장기적으로 공정한 CPU 분배를 노립니다.

Windows 방식

동적 우선순위 보정으로 포그라운드와 I/O 완료 작업의 체감 응답성을 높입니다.

멀티코어 균형

실행 큐 길이와 코어 부하를 맞추되, 너무 잦은 이동은 캐시 손실을 만듭니다.

CPU Affinity

코어 고정은 캐시 locality와 부하 분산을 맞바꿉니다.

관찰 도구

perf sched, vmstat, top은 실행 큐와 지연 시간을 확인하는 출발점입니다.

튜닝 판단

r 값이 코어 수보다 지속적으로 크면 CPU가 부족하거나 병렬 작업 수가 과도한 신호입니다.