artykuły

Od Pentium D do Threadrippera − test 38 procesorów w zastosowaniach naukowych

BOINC, czyli superkomputer w każdym domu

99
2 marca 2019, 14:04 Wojciech Koczyk

TN-Grid gene@home


Ostatni z projektów, w którym przeprowadziliśmy testy, powstał na Uniwersytecie w Trydencie przy współpracy z National Research Council of Italy. Pierwsze eksperymenty dotyczyły genetyki roślin. Po przetestowaniu algorytmów i kilku publikacjach istotnych głównie dla uprawy winogron przerzucono się na na genetykę człowieka, a konkretnie − na zagadnienia związane z rakiem prostaty i krwi, a więc coś co każdego z naszych czytelników powinno interesować.

Co ciekawe, kod źródłowy aplikacji został upubliczniony, co pozwoliło przygotować wersję na różne systemy i architektury. Przetestowaliśmy więc dwie wersje, jedną optymalizowaną do użycia starszych instrukcji SSE2, drugą z wykorzystaniem AVX.

Wyniki są całkowicie zaskakujące. O ile pierwsze miejsce Pentium G3258 może dziwić, to wynik Threadrippera 2970WX na poziomie zbliżonym do VIA Nano X2 i gorszy od Pentium D930 szokuje. Nie jest to jednak błąd, choć potwierdzenie i wyjaśnienie tego zjawiska zajęło nam trochę czasu.

Jak widać, procesory pogrupowane są raczej według osiąganej przepustowości pamięci, a nie taktowania czy konfiguracji rdzeni i wątków! Różnicę robi również rozmiar cache (wskazuje na to porównanie wyników Athlona X2 6000+ i  Athlona X2 7750BE).

Widać to jeszcze wyraźniej, gdy przeanalizujemy wydajność Core i7-8700K i Core i7-3960X. Oba oferują sześć rdzeni i dwanaście wątków, ale ten pierwszy jest znacznie wyżej taktowany oraz wykorzystuje nowocześniejszą architekturę. Jest jednak o około 20% wolniejszy. Dlaczego? Platforma z Core i7-3960X pracowała z pamięcią w trybie quad channel, a cywilny Core i7-8700K jedynie dual channel. Jak widać, w przypadku tego projektu ma to duże znaczenie.

Wszystkie najmocniejsze procesory oferują tu zbliżoną wydajność, negatywnie odstaje jedynie Threadripper 2970WX, który mimo trzykrotnie większej liczby wątków przegrywa z Ryzenem 2700X. Dlaczego? Nie mamy pewności, ale podejrzewamy, że tłumaczy to zarówno wspominany wcześniej problem z kernelem Windows 10, jak i wewnętrzna konfiguracja rdzeni i ich dostępu do pamięci RAM, a konkretnie fakt, że w Threadripperze 2970WX tylko dwanaście rdzeni ma bezpośredni dostęp do RAM-u, a przy tym musi rywalizować z kolejnymi dwunastoma podłączonymi pośrednio.

Powyższe porównanie jest jednak mocno teoretyczne. W praktyce bowiem nowoczesne procesory powinny korzystać z wydajniejszej aplikacji AVX. A tu nasza teoria zaczyna się chwiać...

Czasy obliczeń wyraźnie się skróciły, ale poza tym nie widać nic bardzo zaskakującego w porównaniu z wynikami z aplikacji SSE2.

Zupełnie rozczarowujący w poprzednim teście Threadripper 2970WX wygrywa. Jak? Dlaczego? Niestety, nie mieliśmy możliwości sprawdzić, gdyż procesory mieliśmy zbyt krótko. Wygląda na to, że aplikacja wykorzystująca AVX jest w mniejszym stopniu wrażliwa na wydajność (albo opóźnienia) podsystemu pamięci. Jeśli tak, to czemu pogorszeniu uległa pozycja Threadrippera 2990WX? Czyżby większe znaczenie miały limity poboru energii? Niewątpliwie rolę gra tu wiele różnych czynników.

Wydajność większości procesorów dzięki nowszym instrukcjom uległa mniej więcej podwojeniu. Wyjątkiem jest właśnie Threadripper 2970WX i rozczarowujący Threadripper 2990WX.

10