Hyper-V 및 하이퍼 스레딩 : 켜짐 또는 꺼짐?


23

하이퍼 스레딩을 지원하는 새로운 Xeon CPU를 사용하면 Hyper-V 호스트 시스템에서이를 사용하는 것과 관련하여 현재의 지혜는 무엇입니까?

나는 원래 '추가'CPU가 진정한 코어가 아니기 때문에 가상 호스트 환경에서 켜는 것이 해로울 수 있다는 인상을 받았다. 그러나 하이퍼 스레딩 환경에서 Hyper-V를 잘 실행하기 위해 열심히 노력하고있는 MS 라인에 대한 (확인되지 ​​않은) 의견도 읽었습니다.

이와 관련하여 확실한 정보 나 경험이 있습니까? 건배!

답변:


5

Virtual Server 2005의 하이퍼 스레딩에 대한 오래된 문제는 지나치게 기술적으로 익히지 않고 CPU 캐시가 중독되고 있다는 것입니다. 즉, 각 스레드에서 발생하는 상황의 컨텍스트가 관련이 없어서 거의 아무것도 캐싱하지 않아서 온칩 캐시.

최신 칩은 더 크고 더 스마트 한 캐시를 가지므로 문제가되지 않습니다.

켜거나 끄는 것이 이상적입니까? 그것은 실제로 작업량에 달려 있습니다. 두 스레드가 동일한 VM과 동일한 작업을 실행하는 경우 거의 확실하게 큰 이점이 될 것입니다. 그들이 무작위 RAM I / O (예를 들어, 몇 가지 다른 VM)와 관련이없는 일을한다면 칩 캐시의 절반 만 각각에 사용할 수있게 될 것입니다. 이론적으로 더 느릴 수 있습니다.-실제로는 더 이상 거의 없습니다.

이전 세대 칩이있는 경우 칩 캐시 크기를 확인하고 싶을 수 있습니다. 가상화에서는 캐시가 클수록 더 좋습니다. RAM은 실제로 CPU보다 훨씬 느리며 디스크 드라이브만큼 나쁘지는 않습니다.

참고 : 하이퍼 스레딩을 사용하는 단일 코어 칩과 관련하여 "끄기"라는 내용의 내용이 발견되었습니다 . .com / tiki-index.php? page = VirtualServerHostDualCore

Steve Radich http://www.VirtualServerFAQ.com


21

Windows IT Pro에 따르면 다음과 같이 유지하려고합니다.

A. 새로운 4 코어 Intel Core i7 프로세서는 하이퍼 스레딩을 지원합니다. 하이퍼 스레딩은 각 프로세서 코어를 두 개의 가상 코어로 분할하여 성능을 향상시킬 수 있습니다.

Hyper-V 및 하이퍼 스레딩의 문제점은 각 가상 머신 (VM)에 여러 프로세서 코어를 할당한다는 것입니다. Hyper-V 관리 콘솔에서 각각 하나의 프로세서를 두 개의 게스트 VM에 할당하고 각 프로세서가 별도의 코어를 사용할 것이라고 생각한다고 상상해보십시오. 하이퍼 바이저가 각각의 가상 코어를 가져 와서 각 VM을 동일한 물리적 코어에 할당하면 어떻게됩니까? 잠재적으로 성능이 저하되고 3 개의 물리적 코어가 별다른 성과를 내지 못할 것입니다. 각 VM이 고유 한 물리적 코어를 얻는 것을 좋아했을 것입니다.

다행히도 그렇지 않습니다. Microsoft는 Hyper-Threading 및 Hyper-V와 관련하여 많은 작업을 수행했습니다. 기본적으로 하이퍼 스레딩은 성능에 도움이되지만 결코 성능을 저하시키지 않으므로 하이퍼 스레딩을 활성화해야합니다.


흠 감사합니다. 이것은 내가 원래 읽은 것일 수 있습니다. 그들은 그것을 그대로 두라고 말하지만 꽤 비어있는 것 같습니다. 나는 특별히 확신하지 않습니다. 어쩌면 나일지도 몰라
CapBBeard

6

하이퍼 스레딩을 알고있는 프로그램은 물리적 코어와 논리적 (가상) 코어를 구별하고 그에 따라 리소스를 할당 할 수 있습니다.

하이퍼 스레딩은 한 번에 하나의 상태가 아니라 주어진 시간에 두 프로세스의 상태를 저장할 수 있도록하여 컨텍스트 전환 비용을 줄입니다. 컨텍스트 전환은 일반적으로 프로세스의 전체 상태를 CPU로로드해야하기 때문에 비용이 많이 드는 것으로 간주됩니다. 즉, CPU를 많이 사용하는 프로세스를 실행중인 경우 성능 저하없이 하이퍼 스레드 CPU가 해당 프로세스와 다른 프로세스간에 자주 전환 할 수 있습니다.

가상 서버를 실행하면 필요에 따라 다른 서버에 즉시 할당 할 수있는 대규모 리소스 풀을 만들 수 있다는 장점이 있습니다. 여기에는 CPU 코어 재 할당 및 사용 가능한 모든 코어에서로드 밸런싱이 포함됩니다. 하이퍼 바이저가 물리 코어와 논리 코어의 차이를 모르는 경우에는 옳습니다. 일부 물리 코어는 유휴 상태 일 수 있지만 다른 물리 코어는 CPU 사용률이 100 %로 고정되어 있고 두 논리 코어 모두 CPU와 경쟁하고 있습니다. 시각. 그러나 하이퍼 바이저가 물리적 코어와 논리적 코어의 차이를 구별 할 수 있으면 여러 프로세스를 동일한 물리적 코어에 속하는 두 개의 논리적 코어에 할당하기 전에 물리적 CPU에 걸쳐 CPU로드의 균형을 조정하려고합니다.


2

이 문제에 대해 자세히 연구하지는 않았지만 "용량 계획 및 모니터링"문제로 인해 Exchange 2010에서 하이퍼 스레딩을 사용하지 않는 것이 좋습니다. 하나의 구성 또는 다른 구성을 선택하기 전에 자체 워크로드를 테스트 할 수 있습니다.


-2

하이퍼 스레딩 : 와우, 무료 프로세서!

전원을 끄십시오. 하이퍼 스레딩이라고도하는 동시 멀티 스레딩 (SMT)의 최신 구현은 대부분의 응용 프로그램의 CPU 처리량을 절대적으로 향상시킬 수 있지만 Exchange 2013의 이점은 부정적인 영향보다 중요하지 않습니다. .NET 서버 가비지 수집기가 힙을 할당하는 방식으로 인해 하이퍼 스레딩이 활성화 된 경우 Exchange 서버의 메모리 사용률에 상당한 영향을 줄 수 있습니다. 서버 가비지 콜렉터는 애플리케이션이 시작될 때 총 논리 프로세서 수를보고 논리 프로세서 당 힙을 할당합니다. 이는 서버 가비지 수집기를 사용하는 서비스 중 하나에 대한 시작시 메모리 사용량이 하이퍼 스레딩이 켜져있을 때와 비교할 때 두 배에 가깝다는 것을 의미합니다. 기억력이 크게 증가해서 내부 랩 테스트에서 Exchange 2013 워크로드의 실제 CPU 처리량 증가에 대한 분석과 함께 모든 Exchange 2013 서버에 대해 하이퍼 스레딩을 사용하지 않도록 설정하는 것이 좋습니다. 그 이점은 부정적인 영향보다 중요하지 않습니다.

http://blogs.technet.com/b/exchange/archive/2013/05/06/ask-the-perf-guy-sizing-exchange-2013-deployments.aspx 에서 복사


3
혼란 스러워요. 왜 교환을 언급합니까? 문제는 hyperv에 대한 영향에 관한 것입니다. 실제로 복사 된 아래의 단락은 하이퍼 스레딩이 가상화 된 교환 서버에 영향을 미치지 않는다고 말합니다.
Andy
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.