AMD Ryzen 7 - Czy wyłączenie SMT poprawia wydajność w grach?

AMD Ryzen 7 - Czy wyłączenie SMT poprawia wydajność w grach?

Jedną z największych zalet procesorów Ryzen w odniesieniu do poprzednich generacji miała być technika SMT, czyli wielowątkowość symultaniczna pozwalająca przydzielić niemal wszystkie zasoby procesora dla obu wątków. Wcześniej AMD stosowało klastrowy model CMT, który opiera się na koncepcji fizycznie dwurdzeniowych modułów ze wspólną jednostką pobierania rozkazów, dekoderem i częścią zmiennoprzecinkową. Koncepcja klastrowa spisuje się optymalnie w przypadku równoległych operacji (na liczbach całkowitych), jednakowoż realizacja kodu na pojedynczym wątku wiąże się już z utratą połowy jednostek wykonawczych. Właśnie dlatego modułowe procesory AMD FX stale zawodziły w zastosowaniach jednowątkowych, podczas gdy Intel stosujący symultaniczny Hyper-Threading nie miewał ostatnimi czasy problemów. Czy jednak migracja na SMT okazała się dla Czerwonych zbawienna? Cóż, zdania na ten temat są podzielone - a w Internecie pojawiły się nawet opinie jakoby wielowątkowość szkodziła zamiast pomagać, podparte testami wykazującymi zwiększenie wydajności wskutek wyłączenia techniki SMT. Przyjrzyjmy się zatem temu zagadnieniu. 

Jeżeli dyspozytor interpretuje wątki SMT jako fizyczne rdzenie, może dochodzić do przeciążenia rdzenia rozkazami, a w konsekwencji spadku wydajności.

Na początek szczypta teorii. Obecność wielowątkowości symultanicznej nie oznacza, że fizyczny rdzeń emuluje dodatkowy wątek ciągnąć go za sobą na wirtualnej przyczepce. Mówienie o procesorze AMD Ryzen 7 jako posiadającym osiem rdzeni fizycznych i osiem dodatkowych, słabszych rdzeni logicznych jest błędem. W rzeczywistości każdy rdzeń prowadzi na raz dwa wątki, cechując się zdolnością do duplikacji stanów, lecz wykorzystując wspólne zasoby. Przewidywanie rozgałęzień sterowane jest algorytmicznie, a kolejka rozkazów może być modyfikowana z uwzględnieniem priorytetu poszczególnych zadań. Mówiąc obrazowo, niemożliwym jest przypisanie któregoś z poleceń do "słabszego rdzenia", bo takowe nie istnieją. Błędnie działający dyspozytor w systemie operacyjnym mógłby natomiast kierować zbyt wiele procesów na jeden fizyczny rdzeń, pozostawiając część dostępnych zasobów w stanie bezczynności. O to właśnie podejrzewa się ostatnimi czasy Windows 10. W rzeczy samej jest to jakieś wytłumaczenie niesatysfakcjonujących osiągów procesorów AMD Ryzen 7 w grach, choć należy zarazem pamiętać, że w procesie zarządzania zasobami bierze udział nie tylko sam system operacyjny, ale także silnik gry / aplikacji. Tak czy inaczej, wyłącznie SMT powinno uwidocznić ewentualne problemy.

Postanowiliśmy więc wyłączyć w BIOS-ie płyty głównej funkcję odpowiedzialną za wielowątkowość symultaniczną i raz jeszcze przeprowadzić wszystkie pomiary na procesorze AMD Ryzen 7 1700X, użytym notabene do przeprowadzenia wszystkich poprzednich eksperymentów. Kiedy Intel wprowadzał Hyper-Threading, w czasach Pentium 4, SMT potrafiło powodować nienaturalne spadki osiągów zarówno w grach, jak i aplikacjach. Teoretycznie długie lata obecności HT na rynku powinny sprzyjać optymalizacji, ale przecież procesory Czerwonych wcale nie muszą być zgodne z rozwiązaniami stosowanymi przed konkurencję - choć obie techniki wyglądają na bardzo zbliżone. Zatem czy wyłącznie SMT poprawia wydajność procesora AMD Ryzen 7? Cóż, jest to oczywiście zależne od konkretnej gry / aplikacji, aczkolwiek w ogólnym zarysie mimo wszystko...

Czytaj więcej...

 

Komentarze do: AMD Ryzen 7 - Czy wyłączenie SMT poprawia wydajność w grach?


Ładuję...