본문 바로가기

optimization/PC 최적화

인터럽트(ISR)의 CPU선호도 조정 - 시스템 응답속도 향상

interrupt_affinity_policy_tool.msi
0.27MB

IntPolicy (인터럽트-선호도 정책)는 지정된 장치 (예: 네트워크 어댑터)에 대 한 인터럽트의 CPU 선호도를 다중 프로세서 컴퓨터의 특정 프로세서 또는 프로세서에 "바인딩" 또는 변경하는 데 사용할 수 있는 도구입니다. 이 바인딩을 분할이 라고도 합니다. 특정 네트워크 어댑터의 인터럽트를 다중 프로세서 컴퓨터의 특정 프로세서로 바인딩하는 작업은 지정 된 프로세서의 네트워크 어댑터에 대해 DPC (지연된 프로시저 호출) 및 ISR 이 (인터럽트 서비스 루틴) 실행을 적용합니다. 단일 프로세서(싱글코어) 컴퓨터에서는 인터럽트 선호도를 구성할 수 없습니다.

 

프로그램(프로세스) CPU선호도 설정과는 다른 개념이며, "Interrupt Affinity Policy Tool"

프로그램을 사용하여 장치 관리자에 있는 시스템 인터럽트의 정책을 수동으로 바꿔주는 작업입니다.

 

일반적인 모든 시스템 디바이스의 드라이버는 CPU선호도가 0번 코어에 설정 되어 있습니다.

그 중에 인터럽트 비중을 많이 차지하는 입력장치(USB)와 그래픽 장치(GPU)를 다른 코어에 분산시켜 인터럽트 대기시간을 줄이는 게 이 최적화의 핵심입니다!!

 

 

1. 입력 장치(키보드, 마우스), 그래픽 장치 인터럽트 값 확인

- 장치 관리자 -> 보기(장치 연결 별) -> 연결된 마우스, 키보드, 그래픽 장치 값 확인

 


2. 인터럽트 CPU 선호도 조정

Interrupt Affinity Policy Tool 프로그램 실행 -> 장치 값 확인 후 PC 프로세서에 맞게 다음과 같이 변경.

 

CPU 코어가 6개 이상일 경우

입력 장치(USB) 인터럽트 CPU 2, 그래픽 장치 인터럽트(GPU) CPU 4, 선호도 설정

 

CPU 코어가 4개 일 경우

입력 장치(USB) 인터럽트 CPU 2, 그래픽 장치 인터럽트(GPU) CPU 1, 선호도 설정

제 PC의 CPU 프로세서는 i5-4460 (코어 4개)이며,

선호도를 입력 장치(마우스, 키보드) 인터럽트는 CPU 1,

그래픽 장치 인터럽트는 CPU 2에 설정하였습니다.

 

LatencyMon 테스트 결과 CPU 1, CPU2 에 인터럽트의 선호도가 제대로 설정 되어 있는것을 알 수 있습니다.