Pro hardwarové nadšence nakloněné AMD bylo asi vrcholem letošního roku vydání 7nm procesorů Ryzen 3000. Ale finanční trhy letos asi nejvíc vyhlížely moment, který nastal včera pozdě večer – odhalení sesterských 7nm procesorů Epyc druhé generace (kódové označených Rome). Či také „7002“ oproti první generaci „7001“. Tato CPU díky 7nm procesu teď v době, kdy se Intelu opozdily 10nm čipy, sahají po možnosti výrazně porazit dominantní Xeony v počtu jader, energetické efektivitě, poměru cena/výkon, ale i celkovém výkonu. Díky tomu by AMD mohlo ubrat větší procenta z mnohamiliardového trhu, který dosud drží Intel prakticky celý, a díky vysokým maržím v serverech zvednout tržby i zisky. Zda se tento příslib naplnil, nebo ne, se teď po včerejším odhalení pomalu začíná vyjevovat.
Čipletová divočina
Epycy Rome jsou stejně jako Ryzeny 3000 složené ze 7nm CPU čipletů, v nichž se nacházejí jádra architektury Zen 2 (jejichž novinky a podrobnosti jsme detailně probírali v samostatném článku). Nejpodstatnější asi je, že Zen 2 má dvojnásobný výkon v instrukcích AVX a AVX2 proti Zenu 1 (jednotky jsou již plně 256bitové), ale i obecně vyšší IPC, uvádí se o nějakých 15 % lepší výkon při stejné frekvenci (ještě před oním faktorem AVX2).
7nm čiplety už kromě L3 cache obsahují jen konektivitu Infinity Fabric, kterou komunikují s centrálním „IO čipletem“, což je 14nm křemík obsahující řadiče pamětí, PCIe Expressu, řídící logiku, zbylé periférie a vlastně vše ostatní. Proti Ryzenům 3000 je rozdíl v tom, že CPU čipletů může být až osm, takže nejvýkonnější Epycy druhé generace mají plných 64 jader. A IO čiplet je výrazně větší a schopnější, jelikož poskytuje osmikanálový řadič paměti DDR4 a až 128 linek PCI Express 4.0.
Architektury s IO čipletem je velká změna proti Epycu první generace („Naples“), který byl tvořen čtyřmi osmijádrovými čipy, kde každý měl vlastní řadič PCI Express a dvoukanálový řadič DDR4 – celý agregát v jednom pouzdře se tak choval trochu jako jeden čtyřprocesorový neboli 4S server. Latence do paměti se výrazně měnila podle toho, zda byly data za lokálním řadičem, nebo v paměti obsluhované jiným křemíkem.
Toto by u Epycu druhé generace být nemělo, všechny požadavky po datech z RAM jdou přes Infinity Fabric do IO čipletu, kde už je paměťový řadič monolitický. Latence bude horší, než pokud by řadič byl přímo na CPU čipletu, ale měla by být homogenní, jako u monolitického CPU od Intelu. Důležité také je, že nové čipletové uspořádání je méně komplexní v 2S režimu, tedy v serveru se dvěma procesory. 2S server nyní obsahuje jen dvě NUMA domény.
Zachovaná kompatibilita
Vzdor této velké změně architektury AMD zachovalo stejnou platformu a socket SP3, takže po aktualizaci BIOSu by se tyto nové procesory měly dát použít jako upgrade v serverech a deskách určených pro první generaci. Má to ovšem jistá omezení. Původní desky budou podporovat patrně jen paměti na frekvenci 2666 MHz a konektivitu s rychlostí PCI Express 3.0.
Epyc 7002 Rome podporuje již DDR4 na taktu 3200 MHz (dual-rank RDIMM nebo LRDIMM s ECC). Řadič je osmikanálový proti šestikanálovému u Xeonů, navíc Intel nyní oficiálně umí jen 2933MHz DDR4. Asi ještě důležitější je, že Epyc 7002 také přináší PCI Express 4.0 s rychlostí 2 GB/s na jednu linku, ale to bude fungovat jen v nových deskách a serverech již navržených pro 7nm generaci. Řadiče v IO čipletu stále vyvádějí 128 linek, což dává 256 GB/s propustnosti (AMD uvádí 512 GB/s, což je však součet obou směrů, PCIe je totiž plně duplexní). Intel dosud podporuje jen PCIe 3.0 s poloviční propustností – a méně linek.
AMD u první generace Epycu 7001 mělo tu zvláštnost, že v 2S konfiguraci z každého procesoru vycházelo jenom 64 linek a zbytek byl použitý pro propojení. Ovšem v generaci Rome je změna – nově vyrobené desky údajně mohou mít linek PCIe víc, až 162 (81 na jedno CPU?). To by zřejmě mělo být realizováno snížením počtu linek pro propojení obou socketů, takže dostanete horší propustnost mezi CPU, ale podstatně větší konektivitu pro NVMe SSD, GPU, akcelerátory nebo síťové karty.
Vedle I/O a paměťové propustnosti také druhá generace Epyců zvyšuje propustnost propojení mezi procesory v 2S systému. U Epyců první generace má Infinity Fabric efektivní rychlost 10,7 GT/s a teoretickou propustnost 134 GB/s (použité jsou čtyři linky). Epyc 2 generace umožňuje rychlost až 18 GT/s, což dává propustnost 202 GB/s mezi sockety. Ovšem opět jsou na to třeba nové, k tomu navržené desky.
Bezpečnost, RAS...
AMD opět při marketingu ukazuje na bezpečnost. Jednak menší expozici hardwarovým útokům (přičemž pro ty známé jako Store Forwarding Bypass a Spectre v2 má Zen 2 ochranu v hardwaru). Vylepšená byla také technologie šifrování RAM (AMD Secure Memory Encryption) a virtuálních strojů (Secure Encrypted Virtualization). Zatímco dosud dokázal bezpečnostní procesor PSP pro tyto funkce ukládat 15 šifrovacích klíčů, nyní až 509, takže tuto ochranu může mít až 509 běžících virtualizovaných hostů.
Epyc Rome by měl také mít nějaká nová zlepšení RAS funkcí, například při neopravitelné chybě detekované ECC u operační paměti je možné se zkovu pokusit o čtení. Podporován je také data poisoning, tedy zotavení se z takové chyby s tím, že se „otráví/zabijí“ jen procesy, jejichž data byla chybou pokažena, nikoliv celý počítač/operační systém, což je obvyklá reakce na neopravitelnou chybu ECC. Ovšem toto by měl umět již původní Epyc.
19 modelů, nejdražší za sedm tisíc dolarů
Pojďme se teď podívat na parametry, které tyto procesory mají. AMD vydalo 19 různých modelů, což je víc než na 14 nm a a pravděpodobně odráží, že by tyto čipy měly pokrývat větší část trhu. Nabídka začíná základními modely s 8, 12 a 16 jádry s TDP 120 až 155 W, přes 24 a 32 jádra až po 48 a 64jádrové modely. U těch se TDP vyšplhalo až na 200–225 W, což je víc než u první generace, ale výkon by měl narůst mnohem víc, takže efektivita neklesla (to spíš naopak). TDP je u většiny modelů ovšem konfigurovatelné, dá se snížit nebo zvýšit, někdy obojí. Procesor by podobně jako Ryzeny měl na úpravu pružně reagovat snížením svých reálných frekvencí, Epycy používají analogický Precision Boost 2.0.
Nejvýkonnější model Epyc 7742 má 225W TPD zvýšitelné až na 240 W, 64 jader se 128 vlákny, základní frekvenci 2,25 GHz a maximální boost 3,4 GHz. Přes zdvojnásobení počtu jader se tedy proti 14nm modelům dokonce trošku takty zvedly (nejvýkonnější Epyc „Naples“ 7601 měl takty 2,2–3,2 GHz). Tento top model stojí 6950 $, tedy pořád o dost méně, než je katalogová cena nejvyšších Xeonů (Platinum 8280 stojí 10 000$ a s příplatky za maximální podporu pamětí cena sahá k 18 000 $).
Pod tímto top modelem je o něco pomalejší 200W Epyc 7702 (6450 $), jenž má také 64 jader, ale frekvence je o něco málo nižší, 2,0–3,35GHz. Volitelně jej také lze seštelovat na spotřebu 165 W. A nejlevnější 64jádro Epyc 7702P má tytéž parametry jako základní 7702 jen za 4425 $. Tato sleva je proto, že všechny modely s označením P jsou určené jen pro jednoprocesorové desky a 2S vůbec nepodporují. Právě tyto verze by měly mít nejlepší poměr cena/výkon.
Prakticky neexistující ořezávání levnějších modelů
Epyc Rome má jednu výhodu, kterou AMD inzeruje proti Intelu: minimální tzv. segmentaci. Toto slovo označuje praktiku, kdy se na levnějších procesorech vypínají nejrůznější funkce a ořezávají se schopnosti (turbo, SMT/HT, instrukční rozšíření a rozšiřující funkce), aby zákazníci s určitými potřebami byli nuceni koupit vyšší verze produktu. Tato praktika je u Intelu poměrně rozvinutá, což se odráží v počtu modelů procesorů Xeon Scalable, která se už výhledově jako by se chystala k útoku na stovku.
V kontrastu s tím AMD uvádí, že prakticky všechny funkce a schopnosti procesorů Rome jsou dostupné na všech modelech. Jediné, co je odlišuje, jsou počty jader, frekvence a je zdá se jen jediný případ „segmentace“. Ten spočívá právě v onom rozdělení na dvě skupiny – procesory s příponou P, které nepodporují provoz v 2S (dvouprocosorovém server) a standardní modely bez této přípony, které umí jak 1S, tak 2S. (O 4S a 8S serverech AMD zatím mlčí a u Epyců Rome zatím tuto možnost nenabízí.) Jednoprocesorové modely P jsou výrazně levnější než ty schopné 2S režimu, který je tak za poměrně tučný příplatek.
Proti stavu u Intelu je to ale celkem mírné omezení. AMD například u všech modelů automaticky dovoluje mít až 4 TB paměti, zatímco Intel má CPU omezená na maximálně 1 TB. Pokud chcete víc RAM, musíte koupit jiné varianty CPU s příponou M, která zvedá limit na 2 TB, ale je vždy o 3000 $ dražší, nebo v případě, že potřebujete až 3 TB (nebo 4,5 TB s pamětí Optane) procesor s příponou L, který je dokonce o 8000 $ dražší. To je mimochodem příplatek, který je vyšší, než vůbec cena nejdražšího a nejvýkonnějšího CPU Epyc.
Recenze ukazují výrazné vítězství
Tolik papírová teorie z uvedení procesorů. Jejich skutečný úspěch ovšem mohou potvrdit jen testy a praxe. Rychlý pohled na Epyc Rome se již v noci objevil od webu AnandTech, ten je však z časových důvodů jen omezený (a například ani neměřil spotřebu, což je podstatná informace). Kompletnější testování však publikoval na servery přímo zaměřený ServeTheHome.
Aktualizováno: další testy má Hexus.net a Phoronix, jenž na poslední straně zahrnul i šikovný geometrický průměr ze všech testů.
Jejich každopádně výsledky vypadají pro AMD hodně pozitivně – díky nové architektuře, výrazné početní výhodě jader a vysokému zlepšení energetické efektivity 7nm procesem Epyc 7002 zdá se přesvědčivě poráží současné Xeony Intelu (Cascade Lake/Xeon Scalable druhé generace z dubna). A v mnoha úlohách je výkonnostní převaha Epycu 7742 nad nejvýkonnějším 28jádrem Xeon Platinum 8280 od Intelu (nedávno potichu vydaný rychlejší model 8284 asi k dispozici nebyl) chtělo by se říct obří, jde o desítky procent až dvojnásobek. A to při nižší spotřebě. Mimochodem, AMD také při prezentaci povídalo, že s procesory Epyc 7002 stanovilo/respektive výrobci serverů stanovili 80 nových světových rekordů ve výkonu a že Epyc 7002 je nejvýkonnější x86 procesor vůbec.
Neznamená to, že nejsou úlohy, kde se Intel může obhájit. Xeonům zůstává výhoda výkonu například v aplikacích používajících AVX-512, které mají teoreticky dvojnásobnou propustnost výpočtů (TFLOPS) proti AVX2 u Epycu 7002. Jenže to často stačí jen na srovnání kroku s vyšším počtem jader u AMD, přičemž v ostatních úlohách je Xeon už pomalejší.
Podobně může být Intel lepší, pokud se použijí třeba specializované instrukce DL Boost, nebo narazíte na nějakou aplikaci, kde je stěžejní jejich více unifikovaná L3 cache – tu mají sice Epycy větší, ale je fragmentovaná na 16MB bloky příslušející jednotlivým čtyřjádrovým blokům CCX v čipletech. Intel také nabízí 4S a 8S sestavy (ovšem 4S serveru teď dokáží konkurovat dva 64jádrové Epycy), podporu nevolatilních modulů Optane Persistent Memory, nebo také modely s malým počtem jader, ale vysokými takty, které jsou určené pro minimalizaci licenčních poplatků extrémně drahého softwaru typu Oracle.
Komentátoři také většinou uzavírají, že Intel bude nebo by mohl nejspíše reagovat značným snížením cen při neveřejných vyjednáváních s největšími zákazníky, čímž může výhody Epyců kompenzovat.
The launch of AMD's second generation EPYC processors is nothing short of historic, beating the competition by a large margin in almost every metric: performance, performance per watt and performance per dollar. [AnandTech]
AMD hit an unqualified home run with its 2nd Generation EPYC platform. This is now the platform to get in the market. [ServeTheHome]
Ovšem mimo tyto případy mluvící pro Intel web ServeTheHome v podstatě Epyc 7002 prohlašuje Epyc 7002 za absolutního vítěze s modernější architekturou, lepším poměrem ceny a výkonu i lepším poměrem výkonu a spotřeby (název celé recenze dokonce mluví o uštědřeném knockoutu, což jsme si pro vyjádření míry obratu, ke které zde došlo, dovolili půjčit i do našeho titulku). Plus je zde třeba ten PCI Express 4.0. Technologicky tedy Epyc 7002 zdá se přesvědčivě zvítězil, nicméně ServeTheHome k tomu dodává, že zároveň musí mít podporu výrobců serverů a zájem provozovatelů, aby mu to k něčemu bylo.
Dominantní pozice Intelu může i tak povolovat jen velmi pomalu
Zde asi nezbývá než zopakovat, že serverový trh je velmi konzervativní, velmi opatrný a značka Intelu, stejně jako rozšíření a hluboké zakořenění jeho ekosystému jsou enormně silné. Z předchozích oslav si tedy nesmíte vzít závěr, že tyto procesory přes noc seberou Intelu většinu byznysu. Naopak, patrně budeme svědky pro někoho možná překvapivě silnému odolávání. Přes tyto kvality bude určitě dál nabírání tržního podílu jen pozvolné – AMD například snad pořád uvádí hodně skromný cíl, že očekává více jak 10% v serverech podíl zhruba rok až rok a půl po té, co dosáhne 5% (který v Q1 2019 ještě nemělo). To asi vyjadřuje, jak výrazně je třeba brzdit očekávání, pokud jde o tržní podíl, případně tržby a zisky firmy AMD. Z tohoto pohledu to tedy možná byl technicky ten řečený knockout, ale boxer zůstal stát a nikdo ho neodtahává pryč z ringu...
Dlužno ovšem dodat, že v rozšíření Epyců 7002 by mělo hodně pomoci dvouleté přípravné období generace 7001, díky kterému teď Rome nepřichází jako nevyzkoušený cizinec. Výrobci serverů či další partneři byly při a po včerejším odhalení už horlivější ve vyjádřování podpory a oznámení produktů či nasazení 7nm Epyců ve svých datacentrech. Jako zákazník se veřejně představil například Twitter, jehož zástupce uvedl, že s nasazením těchto CPU (patrně místo Intelu) očekává 25% úsporu TCO (tj. celkových nákladů na vlastnictví a provoz) svých datacenter. Pozice Epycu Rome by tedy asi skutečně měla být o dost silnější, ale stále teprv uvidíme, jak rychlým tempem bude trh ochoten jim dát šanci.