Hyper Threading 을 검색하다가 Multi Threading과 헷갈려서 정리 중
Multi Threading
- 하나의 CPU에서 여러 스레드를 처리하는 방법. (병렬 처리)
참고: 멀티스레딩
Hyper Threading
- 하나의 CPU에 가상의 CPU를 할당하여 하나의 CPU를 두개의 CPU인것처럼 번갈아가며 스레드를 처리하는 방법.
- 인텔이 동시 멀티스레딩(SMT, Simultaneous MultiThreading)을 구현한 기술.
- 인텔 CPU에 기본적으로 적용, BIOS에서 비활성화 가능.
참고: 하이퍼스레딩
참고: 동시 멀티스레딩
리눅스에서 검색 시 cpu cores 수보다 siblings 수가 2배이면 하이퍼스레딩이 적용 된 걸로 보면 됨. (8Core CPU 2개 사용)
# cat /proc/cpuinfo | egrep 'siblings|cpu cores' | head -2
siblings : 16
cpu cores : 8
CPU Core 수를 검색 해 봐도 32Core로 나옴
# grep -c processor /proc/cpuinfo
32
하지만.
dmidecode 검색 시 Multi-threading 으로 표기 되어 검색 중 (정보가 잘못 표기 되는 경우가 있다고 함.)
# dmidecode -t porcessor | grep HTT | head -1
HTT (Multi-threading)
Hyper Threading 활성화 된 경우 아래와 같이 표기 된다고 함.
# dmidecode -t porcessor | grep HTT | head -1
HTT (Hyper-threading technology)
참고: 리눅스 하이퍼스레딩 확인