Aktuality  |  Články  |  Recenze
Doporučení  |  Diskuze
Grafické karty a hry  |  Procesory
Storage a RAM
Monitory  |  Ostatní
Akumulátory, EV
Robotika, AI
Průzkum vesmíru
Digimanie  |  TV Freak  |  Svět mobilně

AMD EPYC: útok na serverový trh

10.7.2017, Jan Vítek, článek
AMD EPYC: útok na serverový trh
Procesory AMD EPYC představují dosavadní vrchol architektury Zen, v jejímž rámci nabídnou až 32 jader pro jedno a dvoupaticové servery. Velkou roli zde hraje již známé rozhraní Infinity Fabric, které si v dnešním článku také rozebereme.
Kapitoly článku:

AMD Secure Processor

 
Secure Processor se dá pokládat za architekturu v architektuře, ale nejde o nic nového, co by AMD nemělo k dispozici dříve. Jedná se o 32bitové jádro ARM Cortex-A5, které je tak zcela odděleno od zbylé části, což je jasné už jen kvůli tomu, že ta využívá architekturu x86.
 
 
Jádro ARM zde využívá zabezpečený firmware a slouží k tvorbě kryptografických klíčů, které jsou pak určeny různým aplikacím. K dispozici je také technologie SME (Secure Memory Encryption), která umožní s využitím jednoho klíče zašifrovat celou operační paměť, což platí i pro virtuální stroje, které ji využívají, čímž ji chrání proti útokům zvenčí. To platí i pro takové útoky, kdy má nepovolaná osoba přístup fyzicky přímo k serveru, což se v případě velkých a různě lokalizovaných datových center nedá vyloučit. 
 
SME je přitom pro správce plně transparentní a nevyžaduje využití žádných ovladačů, neboť ani nepracuje pod žádným OS. Umožní přitom přístup k zašifrovaným stránkám v paměti různým hardwarovým zařízením, což může být třeba grafický čip na samostatné kartě, a to s využitím DMA, čili přímého přístupu do paměti. Nicméně to představuje i nebezpečí, neboť útoky s využitím DMA dokáží dle AMD technologii SME obejít. 
 
AMD má i další technologii pro šifrování paměti, a to SEV (Secure Encrypted Virtualization), která je určena zvláště pro ochranu virtuálních strojů (VM), a to jednak od prostého útoku zvenčí, tak mezi nimi samotnými. Dokáže generovat jeden klíč pro hypervisor, který virtuální stroje tvoří a řídí, další pro VM a pak i pro skupinu VM, což umožní izolovat hypervisor od VM či kontejnerů. To vše se bude opět hodit v případě, že si jen pronajmeme prostor na serveru pro virtuální stroj a potřebujeme, aby byl chráněn i od ostatních, stejně jako od poskytovatele. 
 
Společnost AMD se také chlubí, že zapnutí šifrování dat v operační paměti představuje zvýšení latence při přístupu jen o 7 až 8 ns, což znamená dle SPECInt jen o 1,5 % nižší výkon.
 
 

AMD Infinity Fabric

 
Sběrnice Infinity Fabric je velice důležitou součástí architektury, která propojuje procesory Zen na několika úrovních. Slouží např. už jen k tomu, aby spojila desítky, nebo v případě EPYC možná i stovky senzorů v celém procesoru, které slouží k detekci napětí, spotřeby či teplot s přesností na millivolty, milliwatty a stupně Celsia. Pak je tu ale i jako sběrnice propojující jednotlivé CCX, čili čtyřjádrové komplexy v rámci jednoho křemíkového čipu. V případě procesorů EPYC je ale Infinity Fabric využita k dalším účelům, které v případě desktopových procesorů Ryzen nepoznáme. 
 
 
Procesory EPYC jsou složeny ze 4 samostatných čipů umístěných na jedné destičce, jejichž propojení zajistí také Infinity Fabric a pokud jde o komunikaci procesorů ve dvoupaticovém systému, nejde také o nic jiného než o ni.
 
Infinity Fabric je receptem na nutnost vysokorychlostního propojení jednotlivých čipů, v jejichž případě má AMD výhodu ve vyšší výtěžnosti, než kdyby tvořilo celé 32jádrové čipy. Jde o to, že pokud by potřebovalo bezchybné 32jádrové čipy, při stejné výtěžnosti jich bude mít méně, než když si může tvořit výsledné procesory z menších 8jádrových čipů.
 
Vedle toho je tu i myšlenka, která hovoří o finanční a časové náročnosti tvořit 8jádrové (Ryzen), 16jádrové (Threadripper) a 32jádrové (EPYC) zvlášť, neboť je jasné, že pokud by AMD mohlo vytvořit pouze jeden typ 8jádrových procesorů, byl by pro něj proces výroby po tzv. tape-out mnohem levnější. Je ale otázka, zda jednotlivá jádra v EPYC jsou stejná, jaká najdeme i v procesorech Ryzen.
 
 
V každém případě bylo nutné přijít s novým způsobem jejich propojení, přičemž na jedné procesorové destičce to Infinity Fabric zvládne tak, že každý čip je obousměrně spojen se všemi ostatními. Máme tu tak celkem 6 linek. 
 
 
V případě jednoho procesoru tak není možné, aby data musela putovat ke svému cíli přes více než jeden skok a fyzicky to zajistí obousměrná linka s propustnotí 42 GB/s. Zajímavé je také to, že přenos každého bitu si vyžádá energii jen 2 pikojoulů, což znamená, že plně zaměstnaná linka s provozem v obou směrech potřebuje jen 0,7 W. 
 
 
Ve dvouprocesorovém systému už jde o komunikaci po spojích vedených v základní desce, ale opět se zde uplatní Infinity Fabric. Ta už pochopitelně v takovém případě nefunguje tak efektivně, a to především kvůli delším drahám, po nichž musí data proudit, takže každá obousměrná linka si vezme 2,75 W, ale propustnost tak neklesne a činí 38 GB/s. 
 
Co se týče způsobu propojení, komunikují vždy stejné čipy v daném procesoru a z toho všeho vyplývá, že data putující mezi procesory jdou maximálně přes 2 skoky.