2013-10-27 2 views
2

그래서 i7 랩탑에서 병렬화되지 않은 CPU 집중적 인 태스크를 실행하고 있습니다.하이퍼 스레딩 및 CPU 바인딩 프로세스

KSysGuard는 사용 가능한 CPU의 12.5 %를 사용하고 있다고보고합니다.

하이퍼 스레딩을 사용하지 않으면 의미있는 성능이 향상 될 수 있습니까? ... 당신의 작업은 단일 코어를 모두 사용

감사합니다,

N

답변

5

을이 새로운 BIOS를 플래싱해야 할 것이다, 그래서 생각에 너무 관여하기 전에 나는 의견을 원했다 하나의 12.5 %가 아니다. 12.5 %는 1/8입니다. 하이퍼 스레딩 된 쿼드 코어 프로세서가 가지고있는 8 개의 하드웨어 스레드 중 하나를 최대한 활용하고 있습니다. 하이퍼 스레딩을 비활성화하면 4 개의 하드웨어 스레드 만 있으므로 도구에서 25 %의 사용량을보고하지만 작업은 더 이상 완료되지 않습니다.

더 많은 프로세서를 사용하려면 작업을 병렬 처리하십시오.

+0

나는 그것이 가능한 4 개 코어의 12.5 %를 사용하고 있었다 생각 명확하게하기 위해, 즉 반 코어, 내 CPU 분기의 8 분의 1이 아닙니다. 그건 정말 비효율적 일 것입니다 :) –

+0

@ N.McA : 예. 도구가 일반적으로 하드웨어 스레드로드를보고하는 방법은 약간 오도 된 것입니다. HT가 활성화되면 12.5 %는 단일 소프트웨어 스레드에 제공해야하는 모든 코어를 사용하고 있음을 의미합니다. HT는 인텔이로드 된 코어가 25 %의 작업을 수행 할 수 있음을 깨닫게되었지만 다른 코어가로드 될 때까지는 작동하지 않기 때문에 나타났습니다. –

0

하이퍼 스레딩 방식은 단일 스레드를 실행할 때 평균적으로 코어 파이프 라인의 사용 가능한 단계가 절반 만 사용된다고 생각합니다. HT는 CPU 사용을 향상시키기 위해 두 개의 스레드를 "interweave"하려고 시도합니다.

이것은 주어진 코어의 전체 처리량이 향상되는 반면, 두 스레드가 서로 기다릴 필요가 있기 때문에 느린 속도로 실행될 수 있음을 의미합니다. 그러나 이 아니고 부하가 걸리는이라면 아무 것도하지 않는 코어와 달리 "땅콩 갤러리"가 코어에서 일정을 잡는 것 같지는 않습니다.

(물론,이있는 현대 CISC 성능, 그것은 theorethical 분석을 기반으로 확실하게 아무 말도 어렵다.)