kvm 기반 게스트 VM에서 하이퍼스레딩을 사용하는 방법은 무엇입니까?

kvm 기반 게스트 VM에서 하이퍼스레딩을 사용하는 방법은 무엇입니까?

게스트 OS 내부에 가상 OS 스레드를 생성하고 있지만 실제 물리적 코어는 호스트 시스템에 있습니다. hyperthread = true게스트 VM 구성이 다른가요?

물리적 코어가 있기 때문에 호스트에서 하이퍼스레딩이 어떻게 작동할지 상상할 수 있지만 VM은 이미 OS 스레드를 가상화하므로 VM 내부의 하이퍼스레딩을 상상하기 어렵습니다.

누군가 나에게 그것이 무엇인지 설명해 줄 수 있습니까?

답변1

나는 이것이 KVM 스케줄링 설정이라고 생각합니다. 일반적으로 CPU 토폴로지를 설정하여 이를 조정할 수 있습니다. HT "Core"는 속도가 느리므로 이 설정을 설정하면 안 됩니다. 그 이유는 에뮬레이션/가상화된 스레드가 실제 코어로 이동하기 때문입니다. 그게 더 빠릅니다.

저는 고도로 맞춤화된 virsh XML을 가지고 있는데 여러분이 기대할 수 있는 최대값을 말씀드릴 수는 없습니다. 가상 스레드 성능이 25% 향상되었습니다. 추가하면! 전체적으로 이는 스레드가 실제 코어가 아닌 가상 코어에서 실행되면 75%의 손실이 발생함을 의미합니다. 이 예는 최대한 활용하는 것을 의미합니다.

답변2

하이퍼스레딩의 차이점은 전적으로 가상 머신에서 실행할 애플리케이션에 따라 다릅니다. 하지만 한 가지 확실한 점은 하이퍼스레딩이 여러 CPU 코어에 부하를 분산시키는 데 도움이 된다는 것입니다.

관련 정보