Hyper-V i Hyper-Threading: Włączony czy wyłączony?

23

W przypadku nowych procesorów Xeon obsługujących hiperwątkowość, jaka jest obecna mądrość w odniesieniu do używania go (lub nie) na maszynie hosta Hyper-V?

Początkowo miałem wrażenie, że włączenie go w środowisku wirtualnego hosta może być szkodliwe, ponieważ „dodatkowe” procesory nie były prawdziwymi rdzeniami. Jednak przeczytałem również (niepotwierdzone) komentarze w stylu MS wykonującym ciężką pracę, aby Hyper-V działał dobrze w środowisku Hyper-Threading.

Czy ktoś ma jakieś solidne informacje lub doświadczenie w tym zakresie? Twoje zdrowie!

CapBBeard
źródło

Odpowiedzi:

5

Stary problem z Hyper-Threading w Virtual Server 2005, bez nadmiernej wiedzy technicznej, polega na tym, że pamięć podręczna procesora była zatruta, tj. Buforowała prawie nic, ponieważ konteksty tego, co działo się w każdym wątku, nie były ze sobą powiązane - powodując, że konkurowali o pamięć podręczna na chipie.

Nowsze układy mają większe i inteligentniejsze pamięci podręczne, więc nie stanowi to większego problemu.

Czy idealnie jest włączyć lub wyłączyć? To naprawdę zależy od obciążenia pracą. Jeśli oba wątki będą działały z tą samą maszyną wirtualną i tym samym zadaniem, prawie na pewno będzie to WIELKA zaleta. Gdyby robili niepowiązane rzeczy z dużą liczbą losowych operacji we / wy pamięci RAM (na przykład kilka różnych maszyn wirtualnych), dla każdej z nich byłaby dostępna tylko połowa pamięci podręcznej układu - co teoretycznie mogłoby być wolniejsze - W rzeczywistości rzadko tak jest.

Jeśli masz starsze generacje układów, możesz jednak sprawdzić rozmiary pamięci podręcznej układów: w wirtualizacji większa pamięć podręczna jest lepsza. Pamięć RAM naprawdę jest DUŻO wolniejsza niż procesory - po prostu nie tak blisko, jak dyski.

UWAGA: To, co czytasz, co mówi „wyłącz”, zostało znalezione w odniesieniu do układów, które były jedno-rdzeniowe z Hyper-Threading - Na przykład, to była oficjalna odpowiedź w ciągu dnia (2005/2006?) - http: //www.VirtualServerFAQ .com / tiki-index.php? page = VirtualServerHostDualCore

Steve Radich http://www.VirtualServerFAQ.com

Steve Radich-BitShop.com
źródło
21

Według Windows IT Pro, chcesz pozostawić to włączone:

Odp .: Nowy czterordzeniowy procesor Intel Core i7 umożliwia hiperwątkowość, która dzieli każdy rdzeń procesora na dwa rdzenie wirtualne, aby (potencjalnie) poprawić wydajność.

Problemem związanym z Hyper-V i hyper-threading jest to, że przypisujesz pewną liczbę rdzeni procesora do każdej maszyny wirtualnej (VM). Wyobraź sobie, że przypisujesz jeden procesor do dwóch maszyn wirtualnych gości z konsoli zarządzania Hyper-V, myśląc, że każda z nich będzie używać osobnego rdzenia. Co się stanie, jeśli hiperwizor przypisze każdą maszynę wirtualną do tego samego rdzenia fizycznego, a każdy z nich otrzyma wirtualny rdzeń? Potencjalnie miałbyś kiepską wydajność i trzy rdzenie fizyczne niewiele robiłyby, w których każda maszyna wirtualna wolałaby mieć własny rdzeń fizyczny.

Na szczęście tak nie jest. Firma Microsoft wykonała wiele prac związanych z Hyper-Threading i Hyper-V. Zasadniczo, podczas gdy Hyper-Threading czasami poprawia wydajność, nigdy nie zaszkodzi wydajności, dlatego należy włączyć Hyper-Threading.

Sean Earp
źródło
Hmm, dziękuję za odpowiedź. To może być to, co pierwotnie przeczytałem. Mówią, żeby to zostawić włączone, ale wydaje się dość puste; Nie jestem szczególnie przekonany. Może to tylko ja.
CapBBeard
6

Programy, które są świadome hiperwątkowania, potrafią rozróżnić rdzeń fizyczny od rdzenia logicznego (wirtualnego) i odpowiednio alokować zasoby.

Hyperthreading zmniejsza koszt przełączania kontekstu, umożliwiając przechowywanie stanów dwóch procesów w danym momencie, zamiast tylko jednego stanu na raz. Przełączanie kontekstu jest zwykle uważane za bardzo kosztowne, ponieważ musisz załadować cały proces do procesora. Oznacza to, że jeśli działa procesor intensywnie wykorzystujący procesor, procesor z przeplotem może często przełączać się między tym procesem i innymi procesami, nie powodując znacznego spadku wydajności.

Zaletą działania serwerów wirtualnych jest to, że można utworzyć dużą pulę zasobów, które można w razie potrzeby alokować na różne serwery w locie. Obejmuje to realokację rdzeni procesora i równoważenie obciążenia na wszystkich dostępnych rdzeniach. Jeśli hiperwizor nie zna różnicy między rdzeniem fizycznym a rdzeniem logicznym, masz rację - niektóre rdzenie fizyczne mogą pozostawać bezczynne, podczas gdy inne są związane ze 100% wykorzystaniem procesora, podczas gdy oba ich rdzenie logiczne konkurują o procesor czas. Jeśli jednak hiperwizor jest w stanie rozpoznać różnicę między rdzeniami fizycznymi i logicznymi, spróbuje zrównoważyć obciążenie procesora w fizycznych procesorach przed przydzieleniem wielu procesów do dwóch rdzeni logicznych należących do tego samego rdzenia fizycznego.

obrabować
źródło
2

Nie badałem szczegółowo tego problemu, ale Microsoft nie zaleca korzystania z hiperwątkowania w Exchange 2010 z powodu problemów z „planowaniem i monitorowaniem pojemności”. Być może warto przetestować własne obciążenia przed wybraniem jednej lub drugiej konfiguracji.

duffbeer703
źródło
-2

Hyperthreading: Wow, wolne procesory!

Wyłącz to. Podczas gdy nowoczesne implementacje jednoczesnego wielowątkowości (SMT), znane również jako hiperwątkowość, mogą absolutnie poprawić przepustowość procesora dla większości aplikacji, korzyści dla Exchange 2013 nie przeważają nad negatywnymi skutkami. Okazuje się, że może być znaczący wpływ na wykorzystanie pamięci na serwerach Exchange, gdy włączony jest hyperthreading ze względu na sposób, w jaki kolektor śmieci serwera .NET przydziela stosy. Śmieciarka serwera sprawdza całkowitą liczbę procesorów logicznych podczas uruchamiania aplikacji i przydziela stertę na procesor logiczny. Oznacza to, że użycie pamięci przy uruchamianiu jednej z naszych usług korzystających z modułu wyrzucania elementów bezużytecznych serwera będzie prawie podwojone przy włączonym hyperthreadingu w porównaniu do jego wyłączenia. Ten znaczący wzrost pamięci wraz z analizą faktycznego wzrostu przepustowości procesora dla obciążeń programu Exchange 2013 w wewnętrznych testach laboratoryjnych doprowadziło nas do zalecenia najlepszej praktyki, aby nadpisywanie powinno być wyłączone dla wszystkich serwerów Exchange 2013. Korzyści nie przeważają nad negatywnym wpływem.

Skopiowano z: http://blogs.technet.com/b/exchange/archive/2013/05/06/ask-the-perf-guy-sizing-exchange-2013-deployments.aspx

użytkownik226342
źródło
3
Jestem zmieszany; dlaczego wspominasz o wymianie? pytanie dotyczy wpływu na hiperwizję. W rzeczywistości akapit poniżej skopiowanego dalej mówi, że hiperwątkowanie nie wpływa na zwirtualizowany serwer wymiany, jeśli dobrze go czytam.
Andy,