czwartek, 12 kwietnia 2012

Wydajność obliczeniowa PC a serwera

W dzisiejszych czasach wydawać by się mogło, że intuicyjnie rozumiemy, że serwery to takie lepsze PCty. Szczególnie gdy przybierają formę kasetową, pozostawiając interfejsy i zasilacze w obudowie kasetowej wydają się być bardzo różne od naszych desktopów i laptopów. Rzecz jasna serwery zwykle wyposażane są w większe pojemności pamięci operacyjnej, masowej oraz specyficzne interfejsy wejścia-wyjścia. Chciałbym jednak dzisiaj podzielić się z Wami jedną obserwacją dotyczącą surowej wydajności procesorów na przykładzie testu SPEC CPU 2006. Składa się on zestawu plików wykonywalnych, w których dominują obliczenia stałoprzecinkowe - CINT oraz plików wykonywalnych, gdzie większość stanowią operacje zmiennoprzecinkowe - CFP (polecam FAQ). 
Dla każdej konfiguracji (maszyny) podaje się następujące 2 pary wyników dla CINT i CFP:
  • speed - wydajność systemu w realizacji jednego zadania obliczeniowego
  • rate - przepustowość systemu w zakresie realizacji wielu zadań
Dodatkowo wyróżnia się wyniki typu base oraz peak. Te pierwsze są realizowane przy określonych z góry parametrach kompilatora, zaś drugie pozwalają na dowolne optymalizacje przy kompilacji.
Postanowiłem porównać dobrze nam znany procesor Intel Core i3-2120 [2 rdzenie 3,3GHz] (test maszyny Acer AR310 F2) z dwoma procesorami Intel Xeon E5-2690 [16 rdzeni 2,9GHz] (test serwera PRIMERGY RX200 S7). Wyniki base pobrałem ze strony SPEC.org i przedstawiam w formie wykresu punktowego:
Oś pionowa przedstawia przepustowość obliczeniową testowanych systemów, zaś pozioma szybkość wykonywania operacji. Kształtem diamentu oznaczone są testy stałoprzecinkowe, zaś trójkątem - zmiennoprzecinkowe. Nie należy porównywać wyników o różnych kształtach.
Jak widzicie, z punktu widzenia jedno-wątkowych operacji xeony wydają się być niewiele szybsze od i3 (prawdopodobnie dzięki ogromnej pamięci cache). Jeżeli jednak spojrzymy na przepustowość obliczeniową, to - szczególnie w przypadku popularnych w centrach obliczeniowych operacji stałoprzecinkowych - xeony prezentują ponad sześciokrotną przewagę.
Morał z tego taki, że platformy serwerowe są projektowane dla zupełnie innego typu obciążeń niż procesory   dla komputerów PC i nie sposób porównywać tych dwóch rodzin ze sobą, mimo że używają bardzo podobnych rdzeni obliczeniowych. Konfiguracje serwerowe nie tyle są szybsze od naszych PeCetów, ale są zdolne przetwarzać więcej zadań równolegle.

2 komentarze:

  1. Można prosić o jakiś test w grach?

    OdpowiedzUsuń
  2. Krzycho polecam Ci wyniki testów dostępnych tutaj:
    http://www.anandtech.com/show/5091/intel-core-i7-3960x-sandy-bridge-e-review-keeping-the-high-end-alive/6
    Masz tam wyniki Intel Core i7-3960X, który jest 6-rdzeniową, wersją Xeonów, o której pisałem.
    O ile duży cache i względnie wysokie taktowanie daje mu przewagę w niektórych grach, to przy wzięciu pod uwagę kosztów zakupu platformy (to jest socket LGA-2011) w zestawieniu z i5-2500 to się niestety mija z celem.
    Współczesne gry są na ogół dwu-wątkowe, a RTSy są w stanie wykorzystać nawet cztery rdzenie. Zdecydowanie bardziej opłaca się mieć mniej wydajniejszych rdzeni.

    OdpowiedzUsuń