AMD EPYC Rome: architektura překonávající limity litografie
21.8.2019, Jan Vítek, článek
Řada testů procesorů EPYC druhé generace už prokázala, že ty se společnosti AMD mimořádně povedly a Intel na ně dnes jednoduše nemá odpověď. My se ale nyní nebudeme věnovat výkonu, jako spíše samotným procesorům a jejich platformě.
Kapitoly článku:
- AMD EPYC Rome: architektura překonávající limity litografie
- Dvouprocesorové systémy
AMD tak uvedlo na trh 7nm serverové procesory EPYC, nové 7nm Ryzeny si už nějaký ten týden můžeme pořídit, a tak by už pak měla přijít řada jednak na chybějící 16jádrový Ryzen a pak už snad na nové Ryzen Threadripper.
Na trh se dle očekávání dostaly procesory, které jsou určeny v menším počtu pro jednopaticové systémy:
AMD EPYC 7002 (1P) | ||||||
Jádra/vlákna | Takt (GHz) | L3 | TDP | Cena | ||
Základ | Turbo | |||||
EPYC 7232P | 8 / 16 | 3,10 | 3,20 | 32 MB | 120 W | $450 |
EPYC 7302P | 16 / 32 | 3,00 | 3,30 | 128 MB | 155 W | $825 |
EPYC 7402P | 24 / 48 | 2,80 | 3,35 | 128 MB | 180 W | $1250 |
EPYC 7502P | 32 / 64 | 2,50 | 3,35 | 128 MB | 180 W | $2300 |
EPYC 7702P | 64 / 128 | 2,00 | 3,35 | 256 MB | 200 W | $4425 |
A pak tu máme celkem 14 modelů určených pro dvoupaticové systémy, přičemž celkové rozmezí cen je 450 až 6950 USD. Dá se říci, že leckdo ani nečekal takovou láci, zvláště s ohledem na to, že nové EPYC se svým hrubým výkonem nemají mezi Xeony konkurenci.
AMD EPYC 7002 (2P) | ||||||
Jádra/vlákna | Takt (GHz) | L3 | TDP | Cena | ||
Základ | Turbo | |||||
EPYC 7742 | 64 / 128 | 2,25 | 3,40 | 256 MB | 225 W | $6950 |
EPYC 7702 | 64 / 128 | 2,00 | 3,35 | 256 MB | 200 W | $6450 |
EPYC 7642 | 48 / 96 | 2,30 | 3,20 | 256 MB | 225 W | $4775 |
EPYC 7552 | 48 / 96 | 2,20 | 3,30 | 192 MB | 200 W | $4025 |
EPYC 7542 | 32 / 64 | 2,90 | 3,40 | 128 MB | 225 W | $3400 |
EPYC 7502 | 32 / 64 | 2,50 | 3,35 | 128 MB | 200 W | $2600 |
EPYC 7452 | 32 / 64 | 2,35 | 3,35 | 128 MB | 155 W | $2025 |
EPYC 7402 | 24 / 48 | 2,80 | 3,35 | 128 MB | 155 W | $1783 |
EPYC 7352 | 24 / 48 | 2,30 | 3,20 | 128 MB | 180 W | $1350 |
EPYC 7302 | 16 / 32 | 3,00 | 3,30 | 128 MB | 155 W | $978 |
EPYC 7282 | 16 / 32 | 2,80 | 3,20 | 64 MB | 120 W | $650 |
EPYC 7272 | 12 / 24 | 2,90 | 3,20 | 64 MB | 155 W | $625 |
EPYC 7262 | 8 / 16 | 3,20 | 3,40 | 128 MB | 120 W | $575 |
EPYC 7252 | 8 / 16 | 3,10 | 3,20 | 64 MB | 120 W | $475 |
My jsme se tedy už podívali na testy serveru Anandtech a ještě dříve to byl Hexus.net, kde se ukázalo, že 64jádrové EPYC mají v mnoha testech o desítky procent nebo někdy i o sto procent vyšší výkon než 28jádrové Xeony, čemuž se tak vzhledem k nepoměru počtu jader ani nelze divit. Jenomže ve prospěch AMD hovoří i ceny, které jsou výrazně nižší, což jen umocňuje celkové srovnání výkonu a ceny.
A jak toho společnost AMD docílila? Zdánlivě jednoduše, a sice výrobou univerzálních 7nm čipletů, které může nasadit mezi desktopy, HEDT i serverovými EPYC za tisíce dolarů a je to velice podobný přístup, jaký byl uplatněn i v případě první generace procesorů architektury Zen. Rozdíl je však ten, že ty využívaly pouze jeden typ čipů, a sice osmijádrové Zeppelin, jež mohly v počtu jednoho tvořit celý jeden procesor Ryzen, dva se uplatnily pro první generaci Threadripperů a čtyři pak v serverových EPYC.
Nové procesory jdou však ještě o kus dál. Zmíněné čiplety obsahují pouze 8 jader plus potřebnou L3 cache a pochopitelně ještě i logiku pro komunikaci se zbytkem procesoru pomocí Infinity Fabric. Vše ostatní zajišťuje 14nm I/O jádro, kde na pokročilosti výrobního procesu už tak moc nezáleží, resp. 14nm proces firmy GlobalFoundries na to bohatě stačí. Důležité zde je, že 7nm čiplety zabírají plochu jen 74mm2, z čehož 31,3 mm2 si vezme jeden CCX, čili čtyřjádrový Core Complex se 16 MB L3 cache. Dva CCX tak zaberou v jednom čipletu 62,6 mm2. Malé čipy pak mohou mít velkou výtěžnost a pokud se používají univerzálně, AMD si je může už pak samo testovat, čil provádět tzv. binning a určovat, v kterých procesorech skončí.
Oproti velkým monolitům tak mají rozkouskované procesory obrovskou výhodu ve výrobní ceně i flexibilitě využití a pro AMD to podobně jako v případě jader Zeppelin znamená, že mu stačí vyrábět pro všechny procesory jen jeden čip, tedy zde přesněji 7nm čip a vedle něj ještě 14nm I/O jádra. Od Kevina Lepaka z AMD se také dozvídáme, že jde skutečně o 14nm a ne 12nm technologii, protože novější 12nm by zde neposkytla žádnou výhodu. Zajímavé je, že Ryzen 3000 by měly využívat 12nm I/O čip.
Hned první obrázek prezentace firmy AMD nám dá základní přehled o tom, co EPYC 7002 představují, a to v porovnání s generací EPYC 7001. Máme tu dvojnásobný počet fyzických i logických jader (64C/128T), až 256 MB L3 cache, což je díky zdvojnásobení jader i objemu cache v každém CCX celkově čtyřnásobek, díky komunikaci přes I/O jádro se redukují problémy s neuniformním přístupem do paměti (NUMA) a pak to je TDP v rozmezí 120 až 225 W, čili tato hodnota narostla až o 45 W, ovšem vzhledem k dvojnásobnému počtu jader i paměti L3 cache to je stále velice dobré.
Přístup do paměti zůstal osmikanálový, ovšem jednak jsou podporovány už 3200MHz paměti (dříve max. 2666MHz) a potom je přístup jednotný z I/O čipu, který pak komunikuje s čiplety. EPYC první generace využívaly v každém ze čtyř svých Zeppelinů po 2 paměťových kanálech, takže mohla nastat situace, že jádro muselo využívat data, která k němu putovala přes sousední jádro. Zde jdou veškerá data přes I/O čip, díky čemuž je přístup všech jader k paměti rovnocenný. A vedle toho nám narostla maximální kapacita z 2 TB na 4 TB RAM na patici.
Dále je samozřejmostí využití sběrnice PCI Express verze 4.0, která oproti 3.0 navyšuje propustnost na dvojnásobek na jednu linku a těchto linek tu máme celkem 128, tedy stejně jako u předchozích modelů. Celková propustnost se však zdvojnásobila.
Druhý obrázek od AMD ukazuje vývoj od monolitických čipů přes první generaci EPYC až po moderní modely. První EPYC tak využívaly rovnoccenná jádra pospojovaná každé s každým pomocí Infinity Fabric. Díky tomu se zečtyřnásobil počet paměťových kanálů i linek PCIe, ovšem tento design jednak nebyl příliš efektivní (procesory mají třeba zbytečný počet čtyř southbridgů) a pak, jak už bylo řečeno, nebyl to uniformní design. Osekané čiplety v druhé generaci EPYC jsou na tom všechny stejně, ať mluví s jakýmkoliv paměťovým modulem či zařízením napojeném na PCIe, takže už to nepůsobí jako nouzové, ale spíše promyšlené řešení.
Další snímek podrobněji ukazuje rozdíly mezi první a druhou generací s důrazem na spojení procesorů s paměťmi, dále propojení pomocí Infinity Fabric znázorněné vždy ležatou osmičkou (někde tedy stojatou) a pak jsou tu znázorněny i linky PCIe. Je vidět, že nové čiplety skutečně komunikují pouze s I/O jádrem a ostatně zde vzhledem k jejich počtu ani nebyla jiná volba. Se 4 čipy to ještě šlo, ovšem navzájem propojit 8 čipů každý s každým by jednak vyžadovalo na nich vyhradit velkou plochu pro Infinity Fabric a pak by spojů v substrátu CPU muselo být tolik, že by to AMD těžko zvládlo, však i pouhé Ryzen 3000 využívají 12vrstvý substrátový spoj. To vše nehledě na počet NUMA domén a objemu dat putujících mezi jádry k cíli.
Dá se tak říci, že napojení jader k patici skrz hlavní I/O čip byla při takovém počtu čipletů přímo nutnost, i když se dalo uvažovat i o tom, že by AMD zdvojnásobilo počet jader v čipech, které by tak zůstaly 4. To by ale samozřejmě znamenalo i dvojnásobnou velikost, což by se podepsalo na výtěžnosti.
Dle AMD má tak nový design výhodu ve snížených latencích, které jsou navíc konzistentní, jak vyplývá z výše řečeného. Odchylka v latenci pamětí se tak dle Kevina Lepaka z AMD snížila z průměrných 234 ns na 201 ns, přičemž rychlejší komunikaci pak zajistí druhá generace Infinity Fabric, která čte 32 B na takt FCLK (fyz. takt Infinity Fabric vycházející z rovněž fyz. taktu pamětí DDR4) a zapisuje 16 B na cyklus. Počet bajtů při čtení se tak zdvojnásobil a díky podpoře rychlejších pamětí také sběrnice Infinity Fabric bude pracovat na vyšší frekvenci, což se projeví na propustnosti, která je celkově mezi procesory obrovská.