Python os.sched_setaffinity()로 CPU 친화도 제어하기
멀티코어 시스템에서 프로세스는 기본적으로 아무 CPU에서나 스케줄된다. 대부분은 이게 맞는데, 벤치마크 노이즈를 줄이거나, 특정 워커를 특정 코어에 묶어 캐시 지역성을 살리거나, 컨테이너에서 CPU 예산을 나눠 쓰는 경우엔 프로세스가 실제로 어느…
멀티코어 시스템에서 프로세스는 기본적으로 아무 CPU에서나 스케줄된다. 대부분은 이게 맞는데, 벤치마크 노이즈를 줄이거나, 특정 워커를 특정 코어에 묶어 캐시 지역성을 살리거나, 컨테이너에서 CPU 예산을 나눠 쓰는 경우엔 프로세스가 실제로 어느…
CPU 시간을 얼마나 쓸지(cpu.max/cpu.weight)와 어느 코어에서 실행될지는 별개 문제다. NUMA 지역성이 중요하거나 특정 코어를 인터럽트 처리용으로 비워둬야 한다면 사용량 제한이 아니라 실행 코어 자체를 고정해야 한다. 이 글에서는 프로세스 하나를…