Aktualności - Moim zdaniem
Image
MOIM ZDANIEM
Autor

Partnerstwo firm Citrix i Microsoft było burzliwe i interesujące od zawsze - niezależnie od tego, czy w modzie były akurat usługi terminalowe, czy wirtualizacja i chmury obliczeniowe. Wielu zadaje sobie pytanie, czy na dłuższą metę da się współpracować oferując niemalże identyczne produkty na wąskim jak by nie patrzeć rynku, w tym przypadku hypervisorów? Citrix mówi, że się da i że nie konkuruje z Microsoftem - a co na to Microsoft?

21.10.2010
19.10.2010
16.07.2010
Image
Nowe oprogramowanie do serwerów sieciowych QNAP – wersja V3.3
01.07.2010
QNAP Systems udostępnił nową wersję firmware do obsługi swoich dysków sieciowych NAS. Aktualizacja V3.3 wprowadza nowe funkcje oraz udoskonalenia,...  
Analitycy Gartnera i IDC są zgodni: na umowie VMware-Novell skorzystają klienci obu firm – i one same
24.06.2010
W tym miesiącu firmy VMware i Novell ogłosiły rozszerzenie strategicznego partnerstwa o nową umowę OEM, na mocy której VMware będzie dystrybuował i...  
Nowe produkty HP do zarządzania usługami
22.06.2010
HP zaprezentował nowe produkty do zarządzania usługami, które pomogą klientom wdrażać hybrydowe modele dostarczania aplikacji. Obejmują one...  
Oracle prezentuje pakiet oprogramowania Oracle Business Process Management Suite 11g
22.06.2010
Firma Oracle zaprezentowała pakiet oprogramowania Oracle Business Process Management Suite 11g, który pozwoli klientom obniżyć koszty, lepiej...  
Cryptzone zaprezentował AppGate Satellite
18.06.2010
Cryptzone przedstawił dziś nowy pomysł dotyczący kontroli dostępu do sieci – AppGate Satellite. Jest to sposób na budowę bezpiecznych wirtualnych...  
Asmax prezentuje nowe urządzenie klasy NAS
18.06.2010
W ofercie Veracomp jest już dostępne nowe rozwiązanie kategorii NAS - Asmax GIGA NAS-Print Serwer. Jest to jedno z najmniejszych urządzeń NAS,...  
Oracle rozszerza ofertę rozwiązań do wirtualizacji komputerów biurkowych
14.06.2010
Nowy klient Sun Ray oraz nowa wersja oprogramowania Oracle Virtual Desktop Infrastructure zapewniają wyższy poziom wydajności, elastyczności i...  
Niższe ceny na serwery i dyski sieciowe QNAP
14.06.2010
EPA Systemy wprowadziła nowy cennik na dyski i serwery sieciowe QNAP. Podstawowe modele, kierowane głównie do odbiorców indywidualnych oraz małych...  
Nowy ProxyAV 1200 firmy Blue Coat chroni przed złośliwym oprogramowaniem
09.06.2010
Firma Blue Coat Systems rozszerzyła rodzinę urządzeń Blue Coat ProxyAV o model Blue Coat Proxy AV1200, służący do skanowania treści w czasie...  
Exploity – najczęściej wykorzystywane szkodliwe narzędzia w maju
08.06.2010
Kaspersky Lab prezentuje listę szkodliwych programów, które najczęściej atakowały użytkowników w kwietniu 2010 r. Podobnie jak w poprzednich...  
Image

Wirtualne procesory - pytania i odpowiedzi

29.07.2009 14:15, Autor: Wojciech Kowasz (Docent), Komentarze (8)

W komentarzach do mojego poprzedniego wpisu poświęconego tematowi licencjonowania wirtualnych procesorów pojawiło się kilka interesujących uwag. Po pierwsze, postawiono tezę, że Hyper-V potrafi zapewnić wydajność kilku procesorów fizycznych w jednym wirtualnym, więc nie ma potrzeby przypisywania kilku wirtualnych CPU do maszyny. Po drugie, zwrócono mi uwagę na obecność eksperymentalnego parametru w ESXi 4.0 umożliwiającego połączenie kilku wirtualnych procesorów w jeden. Obie rzeczy wydały mi się na tyle interesujące, że pokusiłem się o mini-testy i porównanie wydajności zarówno w przypadku Hyper-V R2, jak i ESXi 4.0. Przy okazji testów wyszedł jeszcze jeden nieciekawy mankament bezpłatnej licencji ESXi 4.0 - brak obsługi ośmioprocesorowych maszyn wirtualnych...

Nie uprzedzajmy jednak faktów. Na pierwszy ogień weźmy temat obsługi procesorów w Hyper-V poruszony w komentarzach przez naszego czytelnika, jendrasa. Teza jak dla mnie była dość zaskakująca i, przyznam szczerze, mało racjonalna - mimo tego postanowiłem to sprawdzić. Ostatecznie gdyby prawdą okazało się, że Hyper-V potrafi osiągnąć pełną moc serwera na maszynie wirtualnej tylko z jednym wirtualnym procesorem, byłby to hit i znaczna oszczędność na licencjach (nie tylko na aplikacje per procesor, ale także na systemy - na przykład Windows Server 2008 Standard obsługuje tylko cztery procesory i nawet jak przypiszemy mu więcej, to ich nie zobaczy).

Maszyna testowa to znany z naszych poprzednich testów hypervisorów serwer Intela z dwoma czterordzeniowymi procesorami Xeon 5405. Metodologia testów: Hyper-V 2008 R2, na nim jedna maszyna wirtualna z Windows Server 2008 Enterprise x64, różna liczba procesorów wirtualnych. W przeciwieństwie do konkurencyjnych hypervisorów Hyper-V nie oferuje zbyt wielu opcji konfiguracyjnych dla procesorów, więc test jest w zasadzie prosty. Aplikacją pomiarową była Sandra 14 w wersji inżynierskiej. Czy będzie różnica w wydajności?

Tak jak się spodziewałem, wyniki mówią same za siebie - jednak warto przypisywać więcej wirtualnych procesorów do maszyny wirtualnej, jeden procesor wirtualny niewiele potrafi. Prawdą jest, że Hyper-V rozrzuca wątki z procesorów wirtualnych na wszystkie posiadane procesory fizyczne (nie da się tego ograniczyć, tak jak np. w ESX/ESXi), ale nieprawdą jest, że potrafi agregować wydajność kilku procesorów w jednym wirtualnym. Nie rozwiązuje to więc problemu z licencjonowaniem - jeśli chcemy wydajnych aplikacji, musimy przypisać więcej procesorów do maszyny wirtualnej, za co musimy więcej zapłacić.

Skoro rozstrzygnęliśmy już kwestię Hyper-V, weźmy teraz na tapetę ESXi i jego bardzo ciekawą, nieodkrytą przeze mnie wcześniej możliwość przypisania większej niż jeden liczby rdzeni per procesor wirtualny. Może to i wstyd przyznać, ale do tej pory nie wiedziałem, że - jak wspomniał w komentarzach jeden z naszych czytelników, Webio - istnieje eksperymentalny parametr, który pozwala przypisać do jednego wirtualnego procesora więcej rdzeni niż jeden. Standardowo każdy wirtualny procesor widziany jest bowiem jako oddzielny procesor "fizyczny" przez system gościa. Dzięki omawianemu parametrowi można doprowadzić do sytuacji, gdzie wirtualny system widzi tylko jeden procesor "fizyczny", ale za to cztery lub nawet osiem procesorów logicznych - jako wirtualne rdzenie. Niweluje to sporo poważnych ograniczeń - pomijając kwestie oszczędności w licencjonowaniu per procesor, dzięki ustawieniu dwóch rdzeni na vCPU możliwe jest na przykład wykorzystanie ośmiu wirtualnych procesorów w Windows Server 2008 Standard o czym wspominałem już wyżej.

Parametr, o którym mowa to cpuid.coresPerSocket i należy wprowadzić go w ustawieniach maszyny wirtualnej w oknie Configuration Parameters, które to z kolei trzeba wywołać z karty Options właściwości maszyny wirtualnej (sekcja Advanced - General). Wartością tego parametru jest liczba rdzeni per procesor wirtualny - musi być to dzielnik liczby wirtualnych procesorów przypisanych do maszyny. Przykładowo mając cztery wirtualne procesory możemy ustawić 1 (domyślne), 2 lub 4 rdzenie. Spowoduje to, że liczba widzianych przez system procesorów "fizycznych" będzie wynosić odpowiednio 4, 2 i 1.

Zanim przejdę do wyników testów, muszę przyznać, że srogo zawiodłem się na bezpłatnym ESXi. Zawód, a wpierw zdziwienie nadeszło, gdy spróbowałem przypisać osiem wirtualnych procesorów (a właściwie cztery po dwa rdzenie) do jednej z testowych maszyn wirtualnych - w momencie startu maszyny ESXi poinformował mnie, że nie mam odpowiedniej licencji... Może to i wstyd (kolejny już raz dzisiaj), ale VMware tak trąbiło o wsparciu dla 8-way SMP (a XenServer też ma to od jakiegoś już czasu), że jakoś nie doczytałem, że w przypadku ESXi funkcjonuje to jedynie po zakupieniu licencji vSphere Enterprise Plus. Jest to moim zdaniem spory mankament, choć z drugiej strony wydany kilka dni temu hypervisor Microsoftu w wersji R2 również nie pozwala przypisać więcej niż czterech wirtualnych procesorów. Dlaczego jednak mamy równać w dół?

Wracając do meritum - parametr sterujący liczbą rdzeni może i eksperymentalny, ale nie byłbym sobą, gdybym nie sprawdził jak takie wirtualne rdzenie mają się do wydajności "zwykłych" wirtualnych procesorów. Tym razem testy przeprowadziłem na aktualnie testowanym u nas w redakcji (pod różnym kątem - szczegóły wkrótce) serwerze Triline opartym o komponenty Intela z gorącymi nowinkami, takimi jak dwa procesory Intel Xeon serii 5560 (Nehalem) czy dyski SSD. Zainstalowałem ESXi 4.0 (licencja trial, żeby sprawdzić też ośmioprocesorowy wariant) i posadziłem na nim jedną maszynę wirtualną z Windows Server 2008 Enterprise x64 po kolei przypisując różne ilości procesorów i rdzeni. Oto wyniki z Sandry:

Uwzględniając drobny margines błędu można śmiało powiedzieć, że wydajność konfiguracji opartych o tę samą liczbę wirtualnych procesorów - bez względu na ilość rdzeni per procesor - nie różni się. Rzeczywiście więc rozwiązuje to poruszany przeze mnie w ostatnim wpisie temat drogich licencji per procesor w środowiskach wirtualnych - możemy zmniejszyć liczbę procesorów, a jednocześnie zachować ich wydajność. Całkowitą euforię powstrzymuje jedynie fakt, że jak udało mi się ustalić, magiczny parametr jest już obecny w ESX od kilku aktualizacji i skoro nadal pozostaje eksperymentalny, to może nie należy rzucać się na niego bez co najmniej głębszego zastanowienia... Co ciekawe, podobna opcja dostępna jest także w XenServerze - opisuje to chociażby ten wątek na forum Citriksa. Niestety w przeciwieństwie do ESXi, bezpłatny XenServer nie pozwala na jej zastosowanie, trzeba zaopatrzyć się w płatne narzędzia. Również tam jednak opcja ta jest oficjalnie nieudokumentowana - wniosek z tego taki, że wirtualizacja wielordzeniowych procesorów pozostaje póki co w sferze eksperymentów.

Komentarze

Webio
29.07.2009 15:29

Webio
 

Dzieki za testy konfiguracji wiele rdzeni / wiele vCPU. Korzystam z parametru cpuid.coresPerSocket glownie po to aby zaoszczedzic na licencjach i do tej pory nie mialem praktycznie zadnych problemow z wirtualnymi maszynami korzystajacymi z tego parametru. Mysle, ze zostal on juz wystarczajaco przetestowany przez spolecznosc na VMWare.com (nie znalazlem zadnej wypowiedzi negatywnej) aby mozna bylo z niego korzystac w produkcyjnym srodowisku.

P.S. Pomimo ustawienia avataru na forum tutaj dalej jest on niewidoczny.

 
Zag
(niezalogowany)
30.07.2009 8:57

Zag (niezalogowany)
 

"Rzeczywiście więc rozwiązuje to poruszany przeze mnie w ostatnim wpisie temat drogich licencji per procesor w środowiskach wirtualnych - możemy zmniejszyć liczbę procesorów, a jednocześnie zachować ich wydajność."

Według mnie, z przedstawionych wykresów wynika, że powyższy wniosek autora jest błędny. Według mnie powinno być:

"Rzeczywiście więc rozwiązuje to poruszany przeze mnie w ostatnim wpisie temat drogich licencji per procesor w środowiskach wirtualnych - NIE możemy zmniejszyć liczby procesorów, a jednocześnie zachować ich wydajności."

 
Amandi
30.07.2009 10:57

Amandi
 

Wręcz ciśnie się na usta: skoro nie widać różnicy...

P.s. A próbowałeś na "zwykłych" aplikacjach jakieś testy porównawcze robić, jest różnica?

 
Docent
30.07.2009 11:30

Docent
 

@Amandi:

Nie robiłem testów w bardziej realistycznych scenariuszach, ale wydaje mi się, że jeśli chodzi o moc procesora to już zależy od samej aplikacji, czy będzie w stanie wykorzystać wielordzeniowy procesor - sama maszyna jak widać po testach w Sandrze możliwości udostępnia. Może tak się zdarzyć, że jakieś aplikacje nie będą mogły optymalnie korzystać z wielu rdzeni i lepiej będzie przypisać im zwykłe wirtualne procesory.

@Zag:

Nieprecyzyjnie się wyraziłem - chodziło mi o to, że można zmniejszyć liczbę procesorów widzianych przez maszynę wirtualną zastępując je wirtualnymi rdzeniami.

 
Zag
(niezalogowany)
02.08.2009 16:40

Zag (niezalogowany)
 

@Docent
Może powyżej tego zdania warto zamieścić wykres tylko 8 vCPU z legendą. Wtedy dla potomności i tych co czytają pobieżnie - skanują tekst, nie będzie niejasności.

 
Docent
02.08.2009 16:52

Docent
 

@Zag:

Dopiero teraz zauważyłem, że na wykresie ucięta została legenda :( Mój błąd, już go naprawiłem. Teraz wszystko powinno być czytelne. Wielkie dzięki za zwrócenie uwagi.

 
Dziara
(niezalogowany)
12.04.2010 10:49

Dziara (niezalogowany)
 

Witam należę do grupy overclockerów z Benhit.pl
Mam takie pytanie do tej pory nie miałem styczności z płytami wieloprocesorowymi ale posiadam serwer z czterema procesorami chce go wykorzystać do obliczeń , ale mam problem jaki system zainstalować aby funkcjonowało jak najlepiej nie ukrywam że najchętniej zainstalował bym Viste lub 7 ale one nie obsługują więcej niż 2 procesorów fizycznych czy można to jakoś obejść programowo lub jaki system zainstalować .

 
Dejw
(niezalogowany)
16.05.2011 21:58

Dejw (niezalogowany)
 

@ Dziara:

Polecam Windows 2008 R2. jest to system serwerowy i z pewnością poradzi sobie z płytami wieloprocesorowymi :) Sam używam do testów wydajnościowych gg7122790

 

Dodaj komentarz

Autor: