artykuły

AMD Ryzen Threadripper 3990X – test 64-rdzeniowego procesora za 3990 dolarów

85
7 lutego 2020, 15:01 Mateusz Brzostek

Czy Windows jest gotowy na 128-wątkowy procesor?

Tak – w końcu systemy Windows od lat są używane na komputerach z ogromną liczbą wątków, choć do tej pory zawsze były to maszyny kilkuprocesorowe. Nie potrzeba nawet specjalnej wersji systemu, choć nie każda edycja Windowsa jest dobra. Windows 10 Home można używać na komputerze z maksymalnie 1 procesorem o maksymalnie 64 wątkach. Nie można też użyć więcej niż 128 GB RAM-u, co zwykle nie jest ograniczeniem, ale w większości maszyn z Threadripperem 3990X zapewne będzie. My wykorzystaliśmy Windows 10 Professional – ta edycja pozwala mieć do 2 procesorów o 128 wątkach i do 2 TB RAM-u.

Choć Windows jest gotowy, bardzo wiele programów skompilowanych dla tego systemu nie jest. To z powodu pewnej naleciałości historycznej w Windows. Maska koligacji określająca których procesorów logicznych może używać proces jest 64-bitowa, czyli wystarcza dla 64 procesorów logicznych. Z tego i innych powodów każda liczba wątków większa niż 64 zostaje przez Windows podzielona na dwie grupy procesorów. W menedżerze zadań te dwie grupy są nazwane domenami NUMA, chociaż w rzeczywistości cały procesor ciągle stanowi jedną domenę NUMA, a każdy rdzeń ma równorzędny dostęp do całej puli pamięci.

To powoduje pewne problemy. Programy przygotowane na konfiguracje NUMA dostają od systemu informację, że jest tylko jedna domena pamięci, i że mają do dyspozycji 64 wątki. W drugiej grupie procesorów są kolejne 64 wątki, ale o ile program nie został przygotowany na tę ewentualność, nie będzie miał pojęcia, że może je wykorzystać.

Na przykład Handbrake i wiele innych koderów wideo rozpoznaje procesor jako 64-wątkowy. Sposobem na wykorzystanie całej mocy obliczeniowej (oczywiście o ile nie ma innych ograniczeń, np. przepustowości pamięci) Threadrippera 3990X jest podzielenie pracy na dwie lub więcej części i uruchamianie wielu kopii programu jednocześnie.

...swoją drogą, używam Archa

W rzeczywistości Ubuntu lub Clear Linuksa, ale w tym przypadku dystrybucja nie ma znaczenia: Linux jest gotowy na 128 wątków. Procesor jawi się systemowi i oprogramowaniu jako monolityczna grupa 128 wątków należących do jednej domeny pamięci.

Schemat powyżej pokazuje też charakterystyczną dla Linuksa numerację wątków: logiczne procesory 0 i 64, 1 i 65 i tak dalej to pary wątków należących do jednego rdzenia.

2