Przejdź do treści

Tryb gry AMD Ryzen Threadripper 1950X, benchmarked

    1645560003

    Testowanie podsystemu Infinity Fabric i pamięci Ryzen

    Opóźnienie i przepustowość nieskończoności tkaniny

    256-bitowa poprzeczka Infinity Fabric łączy ze sobą zasoby wewnątrz kości Zeppelin. Dodanie drugiej matrycy Zeppelin do stworzenia Threadrippera wprowadza jednak kolejną warstwę tkaniny. Dostęp do pamięci podręcznej pozostaje lokalny dla każdego CCX, ale duża ilość pamięci, operacji we/wy i ruchu między wątkami nadal przepływa przez tę drugą warstwę.

    Entuzjaści szybko zorientowali się, że technologia AMD Infinity Fabric jest powiązana z tą samą domeną częstotliwości, co kontroler pamięci, więc przetaktowanie pamięci zmniejsza opóźnienia i zwiększa przepustowość przez poprzeczkę. Wydajność w aplikacjach wrażliwych na opóźnienia (takich jak gry) konsekwentnie się poprawia.

    Test wydajności wielordzeniowej procesora SiSoftware Sandra pomaga nam zilustrować wydajność Infinity Fabric. Używamy metryki wielowątkowej z ustawieniem „najlepsze dopasowanie pary” (najniższe opóźnienie). Narzędzie mierzy czasy pingów między wątkami, aby określić ilościowo opóźnienie sieci w każdej możliwej konfiguracji.

    Pomiary opóźnienia wewnątrzrdzeniowego reprezentują komunikację między dwoma wątkami logicznymi znajdującymi się na tym samym rdzeniu fizycznym, a jak widzimy, wyłączenie SMT całkowicie eliminuje ten pomiar. W przypadku pozostałych konfiguracji strojenie zmniejsza opóźnienie o kilka nanosekund. Jest to jednak spowodowane wyższymi częstotliwościami taktowania. Jak widzieliśmy w przeszłości, zwiększone częstotliwości pamięci mają niewielki wpływ na opóźnienie wewnątrzrdzeniowe.

    Pomiary wewnątrz CCX określają ilościowo opóźnienia między wątkami na tym samym CCX, które nie znajdują się w tym samym rdzeniu. Zwiększenie częstotliwości taktowania zapewnia większą redukcję opóźnień o około 6 ns.

    Cross-CCX określa ilościowo opóźnienie między wątkami znajdującymi się na dwóch oddzielnych CCX i widzimy podobną redukcję dzięki przetaktowaniu. Warto zauważyć, że Ryzen 7 1800X ma znacznie niższe opóźnienia Cross-CCX niż standardowy Threadripper i większość przetaktowanych konfiguracji. Jest to prawdopodobnie spowodowane jakąś formą zapewniania, prawdopodobnie w algorytmach planowania, dodatkowej warstwy tkaniny Threadripper.

    Jak widać, przetaktowany procesor Threadripper w trybie Game, który nie ma aktywnego połączenia Fabric z drugą matrycą, ma najniższą latencję Cross-CCX.

    Die-To-Die mierzy komunikację między dwoma oddzielnymi matrycami Zeppelin. Tryb gry skutecznie wyłącza drugą kość Zeppelina na poziomie systemu operacyjnego, całkowicie eliminując opóźnienia między kośćmi. Uncore drugiej kości jest jednak nadal aktywny, co jest konieczne, aby zapewnić, że jego kontrolery I/O i pamięci są nadal dostępne.

    Tryb twórcy cierpi na najgorsze opóźnienie między kośćmi, ale dostrajanie znacznie je zmniejsza. Dwie opcje SMT (wł. i wył.) również otrzymują duże obniżki dzięki naszym wysiłkom związanym z przetaktowywaniem.

    Narzędzie mierzy również przepustowość sieci, co ma kluczowe znaczenie dla wydajności, ponieważ dane pobierane z pamięci zdalnej również przepływają przez sieć. W związku z tym firma AMD zapewnia nadmiarową alokację sieci szkieletowej i podsystemu pamięci, aby zoptymalizować architekturę pamięci rozproszonej.

    Zarówno tryb Creator, jak i konfiguracje Local/SMT oferują najlepszą przepustowość sieci szkieletowej, ciesząc się dużymi korzyściami wynikającymi z przetaktowania. Ryzen 7 1800X plasuje się na środku wykresu wraz z trybem gry Threadripper, co jest logiczne, biorąc pod uwagę, że oba są efektywnie procesorami 8C/16T. Wyłączenie SMT, ale pozostawienie obu matryc aktywnych (wyłączenie lokalne/SMT) daje unikalny profil, który zapewnia wyższą wydajność przy większych dostępach i niższą wydajność przy mniejszych dostępach.

    Pamięć podręczna i opóźnienie pamięci

    Testowaliśmy z pamięcią DDR4-2666 w ustawieniach fabrycznych i zwiększyliśmy do DDR4-3200 dla naszych przetaktowanych konfiguracji.

    Translation Look Aside Buffer to pamięć podręczna, która skraca czas dostępu, przechowując ostatnio otwierane adresy pamięci. Podobnie jak wszystkie pamięci podręczne, TLB ma ograniczoną pojemność, więc żądania adresowania, które trafiają do TLB, są „trafieniami”, podczas gdy żądania, które lądują poza pamięcią podręczną, są „chybionymi”. Oczywiście trafienia są bardziej pożądane, a solidna wydajność modułu wstępnego pobierania zapewnia wyższe współczynniki trafień.

    Wzorce dostępu sekwencyjnego są prawie całkowicie pobierane z wyprzedzeniem do TLB, więc test sekwencyjny jest dobrą miarą wydajności modułu wstępnego pobierania. Test losowy na stronie mierzy losowe dostępy w obrębie tej samej strony pamięci. Mierzy również wydajność TLB i reprezentuje losową wydajność w najlepszym przypadku (jest to używana przez dostawców pomiarów w oficjalnych arkuszach specyfikacji). Pełny test losowy zawiera kombinację trafień i chybień TLB, z dużym prawdopodobieństwem chybienia, więc określa ilościowo opóźnienie najgorszego przypadku.

    Niezależnie od wzorca dostępu do pamięci, najmniejsze porcje danych mieszczą się w pamięci podręcznej L1. Wraz ze wzrostem rozmiaru danych zapełniają się większe pamięci podręczne.

    L1L2L3Pamięć główna

    Zakres
    2KB – 32KB
    32 KB – 512 KB
    512 KB – 8 MB
    8MB – 1GB

    Threadripper 1950X oferuje lepsze opóźnienia L2 i L3 niż Ryzen 7 1800X z każdym rodzajem wzorca dostępu. Ponadto zauważyliśmy znaczne skrócenie opóźnień poprzez przetaktowywanie pamięci podręcznych L1, L2 i L3 Threadrippera.

    Zmienia się to, gdy obciążenie przepływa do pamięci głównej. Tryb twórcy Threadrippera (ustawienie domyślne) ma największe opóźnienie przy każdym wzorcu dostępu. Wynika to bezpośrednio z tego, że dostępy do pamięci lądują w pamięci zdalnej. Nasze pomiary na stronie odzwierciedlają specyfikację AMD 86,9 ns, ale w najgorszym przypadku pełny dostęp losowy przekracza 120 ns. Przetaktowanie procesora i pamięci zmniejsza opóźnienia, ale tryb twórcy nadal nie wyprzedza żadnej z konfiguracji, z którymi go porównujemy. 

    Przełączenie w tryb NUMA z ustawieniem Local znacznie poprawia dostęp do pamięci głównej dla innych konfiguracji. Mierzymy ~ 60 ns dla dostępu do pamięci w pobliżu strony, ponownie zgodnie ze specyfikacjami AMD, podczas gdy opóźnienie najgorszego przypadku wynosi 100 ns.

    Przepustowość pamięci podręcznej

    Każdy CCX ma własną pamięć podręczną, więc procesor Threadripper zawiera cztery odrębne klastry pamięci L1, L2 i L3. Nasz test porównawczy przepustowości ilustruje łączną wydajność tych poziomów. 

    Podczas testu jednowątkowego Ryzen 7 1800X wykazuje niższą przepustowość niż procesory Threadripper. Pozostałe konfiguracje grupują się w znane i przetaktowane grupy.

    Bardziej interesujące są testy wielowątkowe; widzimy, że Ryzen 7 1800X i dwa tryby gry Threadripper spadają na dół wykresu. Ponieważ tryb gry wyłącza rdzenie na jednej kości, skutecznie usuwa odpowiednią pamięć podręczną z prowizji.

    0 0 votes
    Rating post
    Subscribe
    Powiadom o
    guest
    0 comments
    Inline Feedbacks
    View all comments
    0
    Would love your thoughts, please comment.x