RCI cluster FEL ČVUT v Praze (zdroj: ČVUT v Praze)

Serverové architektury pro HPC

Často řešíme volbu vhodného procesoru pro superpočítače – pro HPC (High Performance Computing) a AI (Artificial Intelligence) aplikace. A byť je poslední dobou trendem přesouvat výpočetní výkon na akcelerátory (např. GP GPU), existuje stále mnoho aplikací, které lze s úspěchem a efektivně provozovat na standardních procesorech (CPU). V následujícím textu se budeme zabývat porovnáním procesorů čtyř serverových architektur, které lze dnes, tedy na začátku roku 2020, v superpočítačích nasadit – Intel Xeon, AMD EPYC, IBM POWER a ARM. A podívejme se trochu i na budoucnost jednotlivých platforem.


RCI cluster FEL ČVUT v Praze (zdroj: ČVUT v Praze)

RCI cluster FEL ČVUT v Praze (zdroj: ČVUT v Praze)

Porovnání architektur

Snažili jsme se najít parametry, ve kterých můžeme jednotlivé procesorové architektury porovnat a vybrat nejvýkonnější modely procesorů dané architektury. U Intel Xeon procesoru jsme zvolili nejvyšší model řady Intel Xeon Platinum 8200. Intel uvedl na trh i řadu Platinum 9200. To jsou v podstatě dva procesory Intel Platinum, umístěné do jednoho procesorového pouzdra (mají i dvojnásobné TDP — až 400W!). Intel tyto procesory dodává jako celou platformu v rámci svého serveru S9200WK (Walker Pass). Procesory jsou součástí základní desky bez možnosti výměny a tyto servery nelze běžně koupit ani u tradičních serverových výrobců – HPE, Lenovo nebo DELL EMC. Proto porovnáváme za Intel řadu Platinum 8200, konkrétně Intel Xeon Platinum 8280L. Také AMD má pro HPC specialitku — AMD EPYC 7H12 (64 jader, 2,6 GHz / 3,3 GHz, 280 W), který vyžaduje přímé vodní chlazení. V našem porovnání uvádíme AMD EPYC 7742, běžněji uváděný jako nejvýkonnější AMD procesor současnosti. U IBM jsme vybrali model IBM POWER9 s otevřenou instrukční sadou POWER ISA, určeného pro HPC aplikace a Linux (OpenPOWER, nebo scale-out model). Jako zástupce ARM platformy jsme zvolili Marvell ThunderX2 CN9980, který má porovnatelné parametry s ostatními procesory.

Technické parametry

V následující tabulce jsou shrnuty parametry vybraných procesorů.

PlatformaIntel XeonAMD EPYCIBM POWERARM
Název procesoruIntel Xeon Platinum 8280LAMD EPYC 7742IBM POWER9Marvell ThunderX2 CN9980
max. # CPU / server8 / 32+[1]222
max. # jader / CPU28642232
# threadů na jádro2244
# threadů / CPU5612888128
základní frekvence2,7 GHz2,25 GHz2.8 GHz2,2 GHz
Turbo frekvence4 GHz3,4 GHz3,1 GHz2,5 GHz
# paměť. kanálů6888
velikost L3 cache38,5 MB256 MB120 MB32 MB
max. rychlost pamětíDDR4-2933DDR4-3200DDR4-2666DDR4-2666
max. RAM / CPU4,5 TB4 TB1 TB2 TB
verze PCI / CPUPCIe gen 3PCI gen 4PCI gen 4PCI gen 3
# PCI linek / CPU481284856
TDP procesoru205 W225 W190 W180 W
výrobní proces14 nm7 nm14 nm FinFET16 nm FinFET
Počet tranzistorů8 miliard39,5 miliard8 miliard
továrna na výrobuIntelTSCMGlobal Foundries[2]TSMC
listová cena13 012 USD6 950 USD3 999 USD1 795 USD
datum oznámeníQ2 2019Q3 2019Q4 2017Q2 2018
specifikacevíce informacívíce informacívíce informacívíce informací

Intel Xeon

Procesory Intel Xeon jsou v současné době zdaleka nejprodávanější serverové procesory na trhu a to nejen pro HPC a AI aplikace. Vděčí za to především dlouhodobě stabilní roadmapě procesorů pro x86 architekturu. Posledních několik let byly Intel Xeon procesory dokonce jedinou serverovou platformou x86, kdy se AMD soustředilo především na desktopové a notebookové procesory. V oblasti HPC aplikací lze dominanci Intelu vypozorovat na žebříčku TOP500 nejvýkonnějších superpočítačů na světě. Zde Intel Xeon procesory jasně vítězí:

TOP500_CPU_share
zdroj: TOP500.org

V grafu jsou zobrazeny podíly jednotlivých procesorů v pětistovce nevýkonnějších superpočítačů na světě (žebříček TOP500). Zajímavé bude sledovat vývoj v následujících letech.

AVX-512 instrukce

Z pohledu HPC a AI aplikací má Intel velkou výhodu v podobě 512-bitových vektorových instrukcí AVX-512. Nejnovější Intel Xeon procesory disponují jednou nebo dvěma AVX-512 FMA (fused multiply-accumulate) jednotkami, které právě AVX-512 instrukce zpracovávají. Díky tomu zvládnou procesory Intel Gold řady 6200 a Platinum řady 8200 zpracovat 32 dual-precision (DP) floating-point operací (FLOPs) za jeden procesorový takt. V praxi je třeba si uvědomit, že FMA jednotky pracují na nižší frekvenci, než je základní frekvence procesoru, což ukazuje následující tabulka:

INTEL_AVX512

Zdroj: Intel
https://www.intel.com/content/dam/www/public/us/en/documents/specification-updates/2nd-gen-xeon-scalable-spec-update.pdf

Přítomnost AVX-512 jednotek v procesoru Intel Xeon byla zásadní pro implementaci výpočetního clusteru, který jsme dodali v minulém roce na ÚOCHB. Superpočítač je postaven primárně na výpočetních CPU uzlech (237 dual-socket serverů) propojených vysokorychlostní 100 Gb sítí Intel Omni-Path architecture.

UOCHB reference

Výpočetní cluster ÚOCHB

Intel je historicky velmi silný v optimalizacích SW pro své procesory. Marketingové materiály hovoří o 11 zrychlení běhu AI aplikací (inference) především díky optimalizací software stacku.

Single-thread výkon

Mezi další výhody procesoru Intel Xeon patří tradičně velký výpočetní výkon na jedno procesorové jádro. Z něj mohou těžit starší single-thread aplikace, nebo části sériového kódu, který je obtížné, ne-li nemožné paralelizovat na více výpočetních jader.

Další parametry Intel Xeon procesorů

Další výhodou Intel Xeon procesorů je možnost propojit je navzájem do víceprocesorových systémů (SMP servery). S Intel Xeon Platinum procesory postavíte až osmiprocesorový (8-socket) server s velkou sdílenou pamětí. Což je mimochodem efektivní způsob jak stavět systémy s operační pamětí v řádech desítek TB! A díky implementacím tzv. node controlleru firem HPE nebo Atos, je možné stavět na Intel Xeon procesorech systémy ještě větší (32-socketů+).

Pro aplikace náročné na propustnost pamětí může být u Intel Xeon procesorů limitujících 6 paměťových kanálů na procesor (konkurence má 8 paměťových kanálů). Intel plánuje 8 paměťových kanálů na procesor v následující generaci procesorů s kódovým názvem Cooper Lake – viz. wikichip Cooper Lake.

Intel Xeon PlatinumDalším omezením může být integrace řadiče PCI gen 3, které svojí propustností nemusí dostačovat potřebám nejrychlejších PCI karet (200Gb/s karty nebo akcelerátory). Intel plánuje nasadit rychlejší PCIe gen 4 rozhraní do procesoru Ice Lake, což je nástupce procesoru Cooper Lake – viz. wikichip IceLake.

Intel si procesory vyrábí sám, tedy ve svých továrnách. Na internetových fórech se můžete dočíst, jak zvládá či nezvládá danou výrobní technologii. Při pohledu na poslední obchodní výsledky Intelu a v porovnání s AMD si však buďte jisti, že dělá obchod efektivně:

Výsledky za rok 2019 Obrat (revenue) Čistý zisk (net income)
Intel Corporation 72 miliard USD 21 miliard USD
AMD 6,73 miliard USD 0,34 miliard USD

AMD EPYCAMD EPYC

Podíváme-li se do historie, bylo AMD často propagátorem nových procesorových technologií. Pamatujete na AMD x86-64 architekturu, která v podstatě určila směr vývoje k dnešním 64-bitovým procesorům? Nebo integraci paměťového řadiče přímo do jádra procesoru, která znamenala skokový nárůst výkonnosti procesoru díky zvýšení datové propustnosti do operační paměti (často klíčové pro zrychlení HPC aplikací)? Je velká škoda, že se AMD následně ze serverového trhu stáhlo a soustředilo se více na desktopy a notebooky.

Aktuálně má AMD na trhu procesory EPYC druhé generace (řada 7xx2, kódový název Rome, Zen 2), která má proti první generaci několik důležitých vylepšení:

  • první x86 procesor vyrobený 7nm technologií
  • až 64 procesorových jader na jeden procesor
  • podpora PCI gen4, 128 PCIe linek

AMD Infinity link

Výrazným prvkem procesorů AMD EPYC je Infinity link – super rychlá sběrnice, která propojuje jednotlivá jádra uvnitř procesoru. S Infinity linkem se setkáváme i u grafických karet AMD – umožňuje externě propojit (až 4) AMD akcelerátory v serveru.

Schéma AMD Infnity linků a multi-die návrh procesoru:

AMD Infinity linkzdroj: AMD, https://www.amd.com/system/files/documents/TIRIAS-White-Paper-AMD-Infinity-Architecture.pdf

Díky velkému množství jader na procesor, vysoké datové propustnosti do pamětí a velkému počtu PCIe linek tak dává mnohem větší smysl uvažovat o konfiguraci jednoprocesorových (1-socket) serverů. Nabízí výborný poměr cena výkon. My tyto jedno-socketové AMD servery velmi rádi nasazujeme v roli storage (NSD) serverů pro software defined storage postavené na IBM Spectrum Scale (dříve GPFS), nebo v roli datových bran mezi různými sítěmi (např. mezi Infiniband and Ethernet sítěmi).

Výpočetní výkon AMD procesorů

Také HPC aplikace vypadají AMD EPYC procesory velmi zajímavě. Určité srovnání nabízí porovnání některých benchmarků na stránkách AMD:

AMD performance
zdroj: AMD, https://www.amd.com/en/processors/epyc-7002-series

AMD si nechává své procesory vyrábět 7nm technologií u TSMC. TSMC je dnes společně se Samsungem jedním z nejpokrokovějších výrobců čipů. Zajímavé je sledovat stránky HotChips, konkrétně jejich konference, kde TSMC mluví o 5 nm výrobním procesu v roce 2020.

AMD prezentuje i další generace procesorů. Po Rome má přijít Milan (Zen 3) a po něm Genoa (Zen 4).

IBM POWER

Při svém uvedením v roce 2017 disponoval procesor IBM POWER9 celou řadu špičkových technologií a vlastností, kterými se nemohli pochlubit ani procesory jiných výrobců oznámené mnohem později. Mezi hlavní vylepšení patřilo 8 paměťových kanálů na procesor, podpora rozhraní PCIe gen 4, speciální rozhraní OpenCAPI pro adaptéry vyžadující vysokou propustnost do paměti (dnes např. InfiniBand nebo FPGA karty), nebo NVLink rozhraní pro přímé připojení NVIDIA GP GPU akcelerátorů přímo do procesoru. V modelech procesorů pro linuxové aplikace využívá IBM technologii SMT4, symetrický multi-threading, který dokáže na jednom jádře zpracovávat současně 4 vlákna programu. Je zřejmé, že některé z těchto technologií, nebo jejich nástupce či alternativy uvidíme v budoucích generacích procesorů.

Není náhodou, že je procesor IBM POWER9 hlavním procesorem dnes nejvýkonnějších superpočítačů na světě — Summit (#1) a Sierra (#2), které běží v USA. V těchto superpočítačích je však hlavní výpočetní silou akcelerátor NVIDIA Tesla V100. Technologie OpenPOWER je zároveň jedním z hlavních kandidátů na budoucí evropský procesor pro exascale superpočítače. Vyvíjí se a testuje v evropské laboratoři LOCA ve španělském superpočítačovém centru BSC. A za zmínku rovněž stojí fakt, že HPC servery s procesory IBM POWER9 patří mezi nejhospodárnější a nejekologičtější servery v žebříčku GREEN500.  Dosahuj výkonu okolo 16 GFlops na jeden watt spotřebované energie.

IBM POWER jako otevřená platforma

IBM OpenPOWERIBM vsadila ve své poslední generaci POWER procesorů na otevřenost. V rámci konsorcií OpenCAPI, OpenPOWER nebo Linux Foundation spolupracuje s ostatními velkými hráči v oboru. OpenPOWER je od roku 2019 technologickou součástí Linux Foundation pro hybridní cloud a intenzívní workloady.

Přes veškeré své technologické kvality se IBM POWER 9 procesor na trhu superpočítačů, mimo zmiňované největší systémy, zatím příliš nerozšířil. A to i přesto, že cenově vychází podobně jako srovnatelné x86 servery, nebo podporuje little-endian distribuce Linuxu, tak aby byl blíže x86 světu. V praxi by jejich nasazení prakticky znamenalo vyvíjet a především optimalizovat aplikaci dvakrát – pro tradiční x86 svět a pro IBM POWER. A to se z důvodů časových, finančních nebo nedostatku lidských zdrojů nemusí vyplatit. Dále je skutečností, že mnoho komerčních HPC aplikací se dodává již jako zkompilované pro x86 prostředí a na serveru s IBM POWER servery ji tak nespustíte.

IBM je tradičně silná ve svých roadmapách a ve svých laboratořích tak pokračují práce na procesorech IBM POWER 10 a jeho následnících.

Máme možnost otestování serveru IBM AC922 s IBM POWER9 procesory.

ARM

ARM platforma ukázala svoji sílu především v mobilních procesorech. V poslední době se můžeme setkat s referencemi superpočítačů běžících na ARM procesorech. Jde to ruku v ruce s podporou distribucí Linuxu na ARM platformě. Zajímavým podnětem je oznámení podpory platformy NVIDIA CUDA pro ARM procesory – https://devblogs.nvidia.com/cuda-arm-platforms-now-available/.

Pro porovnání parametrů s ostatními procesory jsme si vybrali procesor Marvell ThunderX2 CN9980. Servery s těmito procesory nabízí např. společnost HP Enterprise v serverech HPE Apollo 70 System.

V našem regionu zatím vidíme spíše snahy o experimentální vyzkoušení této platformy, než o skutečném nasazení řešení HPC nebo AI úloh.

Roadmapa ARM procesorů pro serverové výpočty vypadá slibně. Zajímavý článek na serveru The Next Platform popisuje 80-ti jádrový 7 nm ARM procesor z dílny Ampere Computing. Ve své serverové roadmapě s ním počítá např. Gigabyte.

Porovnání výkonnosti procesorů

Není jednoduché najít benchmark, který by spravedlivě porovnal jednotlivé procesorové architektury. V následující tabulce se pokusíme naše pozorování přesto shrnout.

PlatformaIntel XeonAMD EPYCIBM POWERARM
Název procesoruIntel Xeon Platinum 8280LAMD EPYC 7742IBM POWER9 scale-outMarvell ThunderX2 CN9980
# jader, frekvence28 jader, 2,7 GHz64 jader, 2,25 GHz22 jader, 2,8 GHz32 jader, 2,2 GHz
DP FLOPs / cycle321616?8?
Linpack Rpeak / CPU2,42 TFLOPs2,3 TFLOPs0,98 TFLOPs0,56 TFLOPs?
Linpack Rmax dual-socket server3,3 TFLOPs1,07 TFLOPs
PassMark31 869*48 062
Memory bandwidth (teoret.)281 GB / s409 GB / s341 GB / s341 GB / s
STREAM229 GB / s300 GB / s ?270 GB / s251 GB / s
HPCG43 GF / s35 GF / s
SPECrate2017_int_base364682392**
SPECrate2017_fp_base293524
ANSYS Fluent444885

* uvedená hodnota je pro Intel Xeon 8268 (24 jader, 2,9 GHz)
** uvedená hodnota je pro IBM POWER9 (20 jader, 3,4 GHz)

Zdroje na jednotlivé benchmarky jsou uvedeny v závěru článku [3].

Závěr

Pokusili jsme porovnat vlastnosti čtyř aktuálně nejzajímavější serverových procesorů pro oblasti HPC a AI. Do budoucna můžeme na trhu vidět další hráče. Zajímavé bude sledovat vývoj čínských procesorů. Čínský superpočítač Sunway TaihuLight postavený na procesorech Sunway SW26010 260C 1.45GHz se dlouho držel na špici nejvýkonnějších superpočítačů světa. Aktuálně je číslo #3. A dále doporučujeme sledovat také inciativy kolem RISC-V, nebo evropské iniciativy EPI (European Processor Initiative), která si za cíl vytkla vývoj evropského procesoru pro superpočítače.

Ve více vzdálené budoucnosti se pak můžeme dočkat 3D technologií výroby procesorů, různých variant non-VonNeumann počítačů, nebo masivnějšího rozvoje kvantových počítačů.

Můžete však mít sebevýkonnější hardware, ale pokud na něm nepoběží aplikace optimálně, nedokáží jej naplno využít. Platí tak dlouho zaběhlé IT paradigma, že vývoj softwaru zaostává za vývojem hardwaru. Proto výrobci hardwaru věnují tolik energie vývoji a optimalizaci celého softwarového stacku – ovladačům, překladačům, knihovnám nebo celým vývojovým prostředím a frameworkům. Za pozornost stojí Intel oneAPI, AMD ROCm, nebo NVIDIA CUDA – ale to už se dostáváme do světa akcelerátorů a na ty se podíváme příště.

Děkujeme za revizi textu Radkovi Špimrovi z IBM.

Poznámky

[1] pro více jak 8-socket konfigurace je nutný v serveru node controller (např. HPE Superdome Flex, Atos Bullion)

[2] Původně IBM továrna EastFishill (NewYork), kterou IBM prodala Global Foundries

[3] Zdroje na uvedené benchmarky:

Intel procesory

AMD procesory:

IBM procesory:

Marwell procesory: