Threadripper 3990X je nejrychlejším procesorem na světě. Pokud Windows dovolí
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 10 | socketů | jader vláken |
---|---|---|
Home | 1 | 64 |
Pro | 2 | 128 |
Pro Education | 2 | 128 |
Education | 2 | 128 |
Pro Workstation | 4 | 256 |
Enterprise | 4 | 256 |
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 | takt | L3 | TDP | chladič (retail) | cena |
---|---|---|---|---|---|---|
3990X | 64/128 | 2,9 / 4,3 GHz | 256MB | 280W | - | $3990 |
3980X? | ? | ? | ? | ? | - | ? |
3970X | 32 / 64 | 3,7 / 4,5 GHz | 128MB | 280W | - | $1999 |
3960X | 24 / 48 | 3,8 / 4,5 GHz | 128MB | 280W | - | $1399 |
2990WX | 32 / 64 | 3,0 / 4,2 GHz | 64MB | 250W | - | $1799 |
2970WX | 24 / 48 | 3,0 / 4,2 GHz | 64MB | 250W | - | $1299 |
2950X | 16 / 32 | 3,5 / 4,4 GHz | 32MB | 180W | - | $889 |
2920X | 12 / 24 | 3,5 / 4,3 GHz | 32MB | 180W | - | $649 |
1950X | 16 / 32 | 3,4 / 4,0 / 4,2 GHz | 32MB | 180W | - | $999 |
1920X | 12 / 24 | 3,5 / 4,0 / 4,2 GHz | 32MB | 180W | - | $799 |
1900X | 8 / 16 | 3,8 / 4,0 / 4,2 GHz | 16MB | 180W | - | $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.