CPU Affinity

CPU 0, 1만 허용하면 이동 범위가 좁아진다

친화성은 성능 실험과 캐시 지역성에 유용하지만 부하 분산 여지를 줄일 수 있다.

실행 명령
taskset -c 0,1 ./my_program
Allowed

CPU 0

스케줄러가 이 코어에 배치할 수 있다.

Allowed

CPU 1

CPU 0과 함께 허용 마스크에 포함된다.

Blocked

CPU 2

부하가 비어 있어도 이 프로세스는 이동하지 않는다.

Blocked

CPU 3+

허용 목록 밖 코어는 실행 후보에서 제외된다.

장점

반복 실험의 흔들림을 줄이고 캐시 재사용 가능성을 높인다.

비용

허용된 두 코어가 바쁘면 다른 유휴 코어를 활용하지 못한다.

CPU affinity 확인

taskset -cp PID로 실행 중인 친화성 마스크를 점검한다.