Intel, AMD i wirtualizacja

0

To m.in. nowoczesne procesory sprawiły, że wirtualizacja stała się w ostatnich latach jednym z najważniejszych trendów w rozwoju IT. Cztero- czy sześciordzeniowe CPU dysponują ogromną mocą obliczeniową, dzięki której na jednym serwerze może wydajnie pracować wiele wirtualnych maszyn. Użytkownik staje tylko przed problemem wyboru procesorów. Czy produkty Intela są lepsze od AMD? Czy z punktu widzenia wydajności wirtualizacji ta decyzja w ogóle ma jakieś znaczenie? A może są inne czynniki, które należy uwzględnić, podejmując decyzję o zakupie serwerów?

Pobieżna analiza rynku może prowadzić do wniosku, że procesory Intela są zdecydowanie lepsze, ponieważ czterordzeniowe Xeony z serii 5xxx i 7xxx zdominowały wdrożenia wirtualizacji serwerów. Należy jednak wyjaśnić, jakie czynniki do tego doprowadziły. Stało się tak, ponieważ Intel wprowadził do sprzedaży czterordzeniowe procesory znacznie wcześniej niż AMD i przed wiele miesięcy klienci nie mieli wyboru. Obecnie obie firmy mają w swojej ofercie procesory czterordzeniowe, a od niedawna Intel oferuje również procesory sześciordzeniowe.

Różnice w architekturze
Xeony i Operony znacznie różnią się pod względem konstrukcji. Xeony bazują na koncepcji szyny systemowej (Front Side Bus) – gniazda procesorów są połączone, poprzez szynę systemową, z zewnętrznym kontrolerem pamięci. Ten rodzaj architektury określa się terminem Uniform Memory Access (UMA), ponieważ każde gniazdo możne odwoływać się do dowolnej lokalizacji w pamięci w jednostajny sposób (opóźnienia dostępu do danych są takie same). Niektóre chipsety oferują dedykowane połączenia dla każdego gniazda, jednak trzeba podkreślić, że w przypadku procesorów czterordzeniowych wszystkie rdzenie korzystają z tego samego gniazda, a więc współdzielą przepustowość szyny systemowej.

Z kolei w Opteronach zaimplementowano koncepcję zintegrowanego kontrolera pamięci. Każde gniazdo i każdy kontroler pamięci łączy się z pozostałymi gniazdami i kontrolerami z wykorzystaniem bezpośrednich połączeń. Jest to rodzaj magistrali systemowej, która zastępuje FSB. Jest wykorzystywana do łączenia procesora z pozostałymi komponentami, jak kontrolery PCI Express czy USB. Jest to łącze typu punkt-punkt, umożliwiające połączenie ze sobą dwóch urządzeń.

Tę architekturę nazywa się Non Uniform Memory Access (NUMA), co oznacza, że opóźnienia w dostępie do danych będą różne, w zależności od tego, gdzie dane są w pamięci i który procesor próbuje je odczytać. Przykładowo, jeśli dane, do których procesor próbuje uzyskać dostęp, znajdują się w lokalizacji pamięci podłączonej bezpośrednio do zintegrowanego kontrolera, dostęp będzie bardzo szybki. Jeśli jednak znajdują się w obszarze pamięci podłączonym do zintegrowanego kontrolera innego gniazda, dostęp do pamięci będzie wolniejszy.

Można sobie wyobrazić, że opóźnienia w architekturze UMA będą mniej więcej pośrodku między opóźnieniami dostępu do pamięci podłączonej bezpośrednio i pośrednio w architekturze NUMA.

Oprócz tej podstawowej różnicy jest jeszcze kilka innych rozwiązań różniących Xeony i Opterony. Przykładowo, Intel stosuje w swoich procesorach pamięci cache o dużej pojemności, aby obejść problemy z niewystarczającą przepustowością FSB. Natomiast architektura Opteronów pozwala uzyskać porównywalna wydajność bez stosowania dużej pamięci podręcznej.
Obaj producenci wyposażyli swoje procesory w funkcje sprzętowego wsparcia wirtualizacji. Intel VT oraz AMD-V to nazwy technologii, na które składa się kilka rozwiązań sprzętowych mających zwiększyć wydajność wirtualizacji. Obie technologii wykorzystują bardzo podobne rozwiązania, więc i wzrost wydajności z nimi związany również jest na zbliżonym poziomie. Należy natomiast zwrócić uwagę, czy wykorzystywane oprogramowanie do wirtualizacji potrafi wykorzystać technologię Intel VT lub AMD-V. Jeśli nie, sprzętowe wsparcie wirtualizacji nie będzie działać.

Tylko rdzenie robią różnicę
Czy różnice w architekturze mają wpływ na wydajność wirtualizacji? Mają, ale tak niewielki, że nie powinien być brany pod uwagę. Jedynym istotnym elementem jest liczba rdzeni w procesorze. Jest prosta zależność – im więcej rdzeni, tym wyraźnie wyższa wydajność. Wprawdzie są nisze, w których procesory jednego z producentów mają znaczną przewagę. Jednak w przypadku wirtualizacji trudno stwierdzić, czy któryś z procesorów faktycznie oferuje lepszą wydajność w wirtualnym środowisku. W wirtualnych maszynach mamy do czynienia z najróżniejszymi aplikacjami, więc trudno ocenić, jak kształtuje się ich wydajność działania w zależności od architektury procesora.

Problemem jest wykonanie testów wydajności, które pozwoliłyby na dokładne i wiarygodne porównanie dwóch różnych systemów, ponieważ na końcowy wynik wpływa bardzo dużo czynników. Próby testowania serwerów na własną rękę mogą dać bardzo różne wyniki, np. w zależności od pory wykonywania testów. Testując jeden z serwerów w godzinach zwiększonego obciążenia sieci możemy dojść do błędnych wniosków, że oferuje on gorszą wydajność.

Dlatego nie należy sugerować się opiniami, że procesory Intela czy AMD są zdecydowanie lepsze do stosowania w przypadku wirtualizacji. Wirtualizacja radykalnie odmieniła sposób, w jaki buduje się infrastrukturę IT, ale należy pamiętać, że serwery x86 zostały skonstruowane pod kątem uruchamiania na nich jednego systemu operacyjnego i pojedynczej aplikacji. Dopiero wprowadzenie wielordzeniowych procesorów nieco zmieniło tę sytuację. Choć trzeba dodać, że poszczególne komponenty, np. pamięć podręczna (cache), są zoptymalizowane pod tą przestarzałą koncepcję. Mówiąc inaczej, serwery są przystosowane do wykonywanie zadań w innym środowisku, niż typowe środowisko wirtualne (na serwerze działa oprogramowanie do wirtualizacji, wiele systemów operacyjnych i wiele aplikacji).

Nie tylko wydajność ma znaczenie
Ponieważ wydajność procesorów Intela i AMD jest porównywalna, należy skupić się na innych czynnikach różniących produkty tych dwóch firm. Warto porównać stosunek ceny do wydajności oraz ilość pobieranej energii.

Ponadto należy jeszcze uwzględnić wymagania takich funkcji, jak VMware VMotion. Migracja wirtualnych maszyn bez przerywania ich pracy jest możliwa pomiędzy serwerami wyposażonymi w procesory tego samego producenta. Co więcej, najlepiej, żeby były to procesory z tej samej rodziny. Jeśli firma dopiero przymierza się do pierwszego wdrożenia wirtualizacji, zakup kilku takich samych serwerów wydaje się raczej oczywisty. Jeśli jednak firma ma już wdrożoną wirtualizację, nie ma wyboru – musi kupić serwery z takimi samymi procesorami. Jeśli to możliwe, należy wybrać procesory z tej samej rodziny, co ułatwi korzystanie z VMware VMotion i podobnych funkcji.

Wprawdzie AMD zademonstrowało migrację wirtualnych maszyn między serwerami wyposażonymi w procesory różnych producentów, ale na razie jest to raczej demonstracja możliwości, a nie rozwiązanie do zastosowania w środowisku produkcyjnym. Poza tym VMware nie wspiera takiej funkcjonalności. Natomiast w przypadku procesorów z różnych rodzin migracja z reguły jest możliwa, ale trzeba stosować tzw. maski, wyłączające dodatkowe instrukcje w nowszych procesorach.

Podsumowanie
Kupując nowy serwer do wirtualizacji, nie należy koncentrować się na szczegółach architektury różniących procesory Intela i AMD. Najważniejsze, to ocena doświadczenia i zaangażowania producenta serwerów w rozwiązania do wirtualizacji. Ważne są dodatkowe elementy, np. narzędzia do zarządzania czy dobre zrozumienie celów, które chce się osiągnąć. Doświadczeni producenci serwerów wiedzą, jakie procesory najlepiej stosować do określonych rozwiązań i należy im zaufać. Producentowi powinno zależeć, żeby klient otrzymał rozwiązanie, które będzie miało dobrą wydajność przy możliwie najniższych kosztach i jednocześnie będzie energooszczędne. Jeśli klient nie będzie zadowolony, nie wróci z kolejnym zamówieniem.

Jeśli firma szuka serwerów oferujących najwyższą wydajność w wirtualnym środowisku, warto sprawdzić wyniki testów wykonane narzędziem VMware VMmark. Wyniki najwydajniejszych serwerów (pogrupowane w zależności od liczby rdzeni) są dostępne na stronie producenta. Testy można również wykonać samodzielnie – VMmark jest dostępny bezpłatnie.

PODZIEL SIĘ

BRAK KOMENTARZY

ZOSTAW ODPOWIEDŹ