Diit.cz - Novinky a informace o hardware, software a internetu

Threadripper 3990X je nejrychlejším procesorem na světě. Pokud Windows dovolí

64jádrový a 128vláknový AMD Threadripper 3990X byl vydán a otestován. Statut nejrychlejšího desktopového procesoru mu nikdo neodpáře. Naráží však na další limity scheduleru Windows…

Ať už budeme samotné procesory AMD hodnotit jakkoli, jedno jim upřít nelze. Řada uživatelů se díky nim dozvěděla o (řekněme) vrstvě operačního systému, která sluje scheduler a která má naprostou kontrolu nad tím, jak dobře nebo špatně si procesor v reálné zátěži povede. Když AMD vydala první 32jádrový procesor, Threadripper 2990WX, ukázalo se nejen, jak dokáže nevhodně koncipovaný scheduler procesor brzdit. Především bádání zvídavých osob ukázalo, o kolik je scheduler Linuxu lepší než scheduler Windows, když v některých aplikacích dosahoval 32jádrový procesor téměř 2× vyššího výkonu, pokud běžel pod Linuxem.

Od té doby k nějakým změnám došlo (spíše k záplatám, o výraznějším přepracování si zatím uživatelé mohou nechat zdát), takže už situace není zcela kritická (pro 32jádrové procesory), pouze taková trochu blbá. Očekávané vydání 64jádrového Threadripperu tak spíše než výkon samotného procesoru vyvolávalo zvědavost ohledně toho, jak se s jeho obsluhou poperou Windows a jejich scheduler.

Limit 64 vláken ve Windows 10

Zatímco některé problémy, které se projevily na 32jádrovém 2990WX, Microsoft (záplatováním) a AMD (vysoce sofistikovaným oblbovám scheduleru) vyladily, v případě 64jádrového 3990X tu máme premiéru nového problému. Scheduler Windows není navržen pro práci s více než 64 vlákny, což je v případě procesoru o 128 vláknech trochu problém. Scheduler tedy k procesoru přistupuje stejně, jako by šlo o desku se dvěma sockety a v každém seděl 32jádrový procesor se 64 vlákny.

To znamená pro některé aplikace zásadní problém. Nestačí už totiž, aby aplikace byla široce paralelizovatelná, ale musí být optimalizována pro běh na dvousocketovém systému. Aplikace, které s tím počítají, škálují dobře, aplikace, které s tím nepočítají, jsou sázkou do loterie. Některé škálují, některé ne a výkon se příliš neliší o 32jádrového kolegy.

AMD si je nedostatku scheduleru OS Windows vědoma a v prezentaci rovnou avizuje, že Threadripper 3990X je procesor pro uživatele, kteří skutečně vědí, co chtějí a mají jasno, zda v softwarovém prostředí, v němž budou procesor používat, výkon odpovídá očekávání.

Nejsou Windows 10 jako Windows 10

Další informace, která se díky vydání 64jádrový procesorů dostane do povědomí více uživatelů, tkví v rozdílné podpoře mnohojádrových procesorů napříč různými verzemi Windows 10.

Windows 10socketůjader
vláken
Home164
Pro2128
Pro Education2128
Education2128
Pro Workstation4256
Enterprise4256

Základní Windows 10 Home nepodporují vícesocketové systémy. To by nebyl problém, kdyby byl scheduler Windows normální. Z výše popsaných důvodů však k Threadripperu přistupuje jako k dvousocketovému řešení, což znamená, další omezení. Pokud by uživatel chtěl provozovat Threadripper 3990X pod Windows 10 Home, bylo by nejschůdnějším řešením vypnutí SMT, čímž by se počet vláken rovnal počtu jader = 64. V takovém případě by scheduler mohl k procesoru přistupovat jako k jednosocketovému řešení a škálování by mělo být normální pro všechny aplikace. Pro aplikace, které ze SMT / HT příliš neprofitují, by to mohlo být i vcelku efektivní řešení. Aplikace, kterým zapnutí SMT / HT přináší výrazný posun výkonu, by byly značně limitované. V praxi pak nastává ještě třetí stav - aplikace, které nejsou optimalizované pro vícesocketové systémy, mohou z vypnutí SMT / HT silně profitovat: 64 vláken zvládá scheduler Windows obsloužit jako jednosocketový systém, čímž se odbourá jeden limit.

Z tabulky by se mohlo zdá, že uživatelé, jenž mají licenci na Windows 10 Pro / Pro Education / Education, které podporují 2 sockety a 128 vláken, mají vyhráno. Z hlediska schopnosti operačního systému obsloužit 128 vláken sice ano, ale negativní důsledky přístupu k procesoru jako k dvousocketovému řešení samozřejmě zůstávají.

Především ale testy ukázaly, že z hlediska výkonu může být žádoucí použití Windows 10 Pro Workstation nebo Enterprise. Vyplynulo totiž, že scheduler obsažený v těchto verzích je tak nějak lepší. Jinými slovy, to, co předvádí Microsoft s nižšími verzemi Windows, není maximum toho, co umí. Ve skutečnosti to umí trochu (někdy i podstatně) lépe, ale za to „lépe“ si nechá připlatit na dražší licenci.

Jak se to chová v praxi:

Modelovým příkladem nejočekávanějšího stavu, je Corona 1.3. Windows 10 Pro s vypnutým SMT (tzn. 64/64) lze brát jako simulaci chování pod Windows 10 Home, kde je vypnutí SMT nutné pro rozumně efektivní práci scheduleru. V plně aktivní konfiguraci 64/128 Windows 10 Enterprise pak dosahuje lepšího výsledku než Windows 10 Pro.

 

POV-Ray 3.7.1 ukazuje situaci, kdy jsou opět Windows 10 Enterprise o trochu lepší volbou než Windows 10 Pro, ovšem zároveň jde o test, který je částečně limitován omezením scheduleru v podobě obsluhy 128 vláken jakožto dvousocketového řešení, takže vypnutí SMT (64/64) výkonu pomůže více než scheduler Windows 10 Enterprise.

Zajímavým případem je test NAMD 2.31 Molecular Dynamics, kde vidíme, že scheduler Windows 10 Pro absolutně propadá. Pomáhá mu vypnutí SMT (64/64), ale vše funguje korektně ve Windows 10 Enterprise, kde nějakou záhadou není 128 vláken sebemenší problém a výkon je tam, kde by měl být. Více příkladů najdete v recenzi webu Anandtech (odkaz ve zdrojích).

Výkon

Souhrnný graf webu ComputerBase ukazuje průměr ve všech testovaných aplikacích bez ohledu na to, zda s ohledem na limity scheduleru Windows škálují špatně nebo dobře:

Zatímco v tomto souhrnu vychází 64jádrový Threadrripper 3990X jen o 18 % rychlejší než 32jádrový Threadripper 3970X, jednotlivé dílčí testy ukazují široký rozptyl výsledků od negativního škálování až po nárůsty násobně vyšší oproti průměru (oproti 32jádrovému modelu). Z těch lze jmenovat Blender (+ 55 %), CineBench (+41 %), Corona (+76 %) nebo POV-Ray (+41 %).

Ani v ideálním případě samozřejmě nelze očekávat dokonalé škálování oproti 32jádrovému modelu, neboť 64jádrová novinka má nastaveno totožné TDP, což znamená, že při využití všech jader je k dispozici pouze poloviční příkon na jádro. Zatímco 32jádrový Threadripper 3970X mohl dopřát každému jádru něco přes 6 wattů, 64jádrový Threadripper 3990X může při plné zátěži každému jádru nabídnout nanejvýš 3 watty, čemuž odpovídá taktovací frekvence, která musí být pro 64 jader v základu nižší:

Ryzen
Threadr.
jádra
vlákna
taktL3TDPchladič
(retail)
cena
3990X
64/1282,9 / 4,3 GHz256MB280W-$3990
3980X?????-?
3970X32 / 643,7 / 4,5 GHz128MB280W-$1999
3960X24 / 483,8 / 4,5 GHz128MB280W-$1399
2990WX32 / 643,0 / 4,2 GHz64MB250W-$1799
2970WX24 / 483,0 / 4,2 GHz64MB250W-$1299
2950X16 / 323,5 / 4,4 GHz32MB180W-$889
2920X12 / 243,5 / 4,3 GHz32MB180W-$649
1950X16 / 323,4 / 4,0 / 4,2 GHz32MB180W-$999
1920X12 / 24

3,5 / 4,0 / 4,2 GHz

32MB180W-$799
1900X8 / 16

3,8 / 4,0 / 4,2 GHz

16MB180W-$549

Papírový rozdíl 0,8 GHz přibližně odpovídá i praktickému. ComputerBase změřila v nejnáročnější možné zátěži (Blender) rozdíl 757 MHz - když 32jádrový Threadripper 3970X běžel na 3771 MHz, 64jádrový Threadripper 3990X měl takt 3014 MHz (Anandtech v zátěži všech 64 jader pomocí NAMD benchmark naměřil po ustálení taktovací frekvenci 3463 MHz, takže rozdíly mezi aplikacemi mohou být notné).

Každopádně při srovnání teoretického výkonu při základním taktu by rozdíl mezi Threadripperm 3990X a 3970X neměl být ani v ideálním případě vyšší než 57 %. Projeví-li se v nějakém testu vyšší nárůst (např. Corona), může to být důsledkem vylepšení na straně Windows nebo vylepšení na straně softwaru (děje se obojí, AMD doporučuje pro nové Threadrippery Windows 10 aktualizovat na verzi 18362.535 nebo novější, vylepšení přinesl patch KB4530684 a například POV-Ray nabízí experimentální build s podporou 128 vláken, který samozřejmě novince lépe svědčí).

Spotřeba v klidu byla díky novému BIOSu mírně snížena.

Spotřeba v běžné zátěži není vyšší než u již vydaných modelů, 24jádrového Threadripper 3960X a 32jádrového Threadripper 3970X.

V zátěži s použitím AVX to platí rovněž, 64jádrový Threadripper 3990X papá zhruba tolik co 8jádrové Core i9-9900KS.

V maximu je v důsledku proudového omezení limitován dříve, takže TDP s rezervou dodržuje.

Threadripper 3990X je tedy nejrychlejším desktopovým procesorem. Není to ale produkt pro každého - jde o specialitu pro uživatele softwaru, který ze 64jádrového 128vláknového řešení dokážou profitovat. Onen software je ale potřeba vztahovat k operačnímu systému. Něco jiného jsou Windows 10 Home, něco jiného Windows 10 Pro, něco jiného Windows 10 Enterprise a něco zcela jiného je Linux.

Diskuse ke článku Threadripper 3990X je nejrychlejším procesorem na světě. Pokud Windows dovolí

Úterý, 11 Únor 2020 - 22:47 | WIFT | Hirošima hadr :D
Úterý, 11 Únor 2020 - 20:43 | Panoramix0903 | Ja som pouzival DOS aj na Athlon64, aj na Core 2...
Úterý, 11 Únor 2020 - 16:34 | Zog Zogothowics | Hele mě to tady jede na třiceti kompech herních...
Úterý, 11 Únor 2020 - 16:24 | vajko | z ineho webu: "Windows 10 Enterprise,...
Úterý, 11 Únor 2020 - 13:48 | Doležal Petr | Chcete říct že creative už umí ovladače?
Pondělí, 10 Únor 2020 - 19:55 | littleon | Jistě že není nepochopitelné, že MS ladí každou...
Pondělí, 10 Únor 2020 - 19:38 | asta | Video editori, zvukari, grafici, statisticki...
Pondělí, 10 Únor 2020 - 19:17 | Jirka1 | Kdyby MS s každou další inkarnací Win10...
Pondělí, 10 Únor 2020 - 18:28 | RedMaX | Myslim, ze muzes mit pravdu a klidne jsi to mohl...
Pondělí, 10 Únor 2020 - 16:22 | Peter Fodrek | ale ak to prístroj vydržal stačilo zmeniť rozsah...

Zobrazit diskusi