2023-02-08

인텔 CPU의 P코어와 E코어 문제

인텔 CPU의 P코어와 E코어 구성의 문제점에 대한 글을 본 적이 있습니다. ( https://www.google.com/search?q=p%EC%BD%94%EC%96%B4+e%EC%BD%94%EC%96%B4+%EB%AC%B8%EC%A0%9C ) 가족이 사용하고 있는 12세대를 잠시 만져봤을 때 문제를 느끼지 못했고 13700F에서도 체감하지 못해서 재현해봤습니다.

7ZIP 벤치마크를 10패스 6스레드로 실행했습니다. 백그라운드 정리가 안 된 상태라서 오차가 좀 있습니다.

13700F의 경우 P코어가 8C16T, E코어가 8C8T이니 윈도 작업 관리자 기준으로 CPU 0~15가 P코어, 16~23이 E코어입니다. CPU 15 이하의 P코어를 잘 사용하고 있습니다..

결과(전체 평가)는 462% 15.138GIPS 63.717GIPS 입니다.

다음으로 벤치마크를 실행한 이후에 최소화를 눌렀습니다.

처음에는 P코어를 사용하다 창을 내리니 CPU 16 이상의 E코어로 넘어갔습니다.

결과는 463% 10.310GIPS 44.474GIPS 입니다. 대략 2/3 정도의 성능입니다.(다시 말하지만 백그라운드 정리가 안 되어서 오차가 좀 큽니다.)

선호도 설정을 시도해보니 가능합니다.

0 ~ 15나 0, 2, 6, 8, 10, 12, 14 가 아니라 0, 1, 2, 3, 4, 5, 6 인가 하면 그냥 재미로요. 정확하게는 3C6T하고 6T6T를 비교하고 싶어서요.

결과는 186%, 12.239GIPS, 22.060GIPS입니다.

펜티엄4/D 시절에 펜티엄4(싱글 코어)에서는 하이퍼쓰레딩이 별 문제가 없었는데 펜티엄D XE(2C4T)의 경우에는 쓰레드 배분이 이상할 때가 종종 있었습니다. 사용했던 사람의 이야기를 들어보면 쓰레드 배분이 꼬이면 수동으로 조정했어야 했다고 합니다. 아래 링크와 같은 방식으로요.

https://aws.amazon.com/ko/blogs/compute/disabling-intel-hyper-threading-technology-on-amazon-ec2-windows-instances/

일부 상황에서는 P코어와 E코어로 구성된 인텔 CPU를 사용하고 있다면 수동으로 스레드를 배분해야 할 듯 합니다. 선호도 설정이 만능은 아닌 것이 프로그램을 종료하고 재실행하면 다시 설정해야 합니다. 펜티엄D 시절에 사람들이 많이 사용했던 외부 프로그램이 있었던 것 같은데 이름이 기억 안 나네요.

창을 내리면 E코어로 할당되는 방식이 기본적으로 맞다고 생각합니다. 보통은 바로 보이는 프로그램의 성능이 중요합니다. 그리고 E코어가 전력 효율이 높으니 전력 소모를 줄일 수 있고 컴퓨터의 쿨러도 조용하겠죠. 글의 처음에 적은 것처럼 저만 해도 문제를 체감한 적이 없었습니다. 그런데 컴파일이나 인코딩을 하면서 문서 작업을 하는데 E코어로 무거운 작업이 넘어가는 상황이라면 문제가 있어 보이기는 합니다.

댓글 없음: