Cloudflare si pro servery desáté generace edge vybírá procesory od AMD

Cloudflare si pro servery desáté generace edge vybírá procesory od AMD

Sítí Cloudflare Network projde každý den více než miliarda unikátních IP adres; obsluhuje více než 11 milionů HTTP požadavků za sekundu; je v okruhu 100 ms od 95 % internetové populace. Naše síť zahrnuje 200 měst ve více než 90 zemích a náš tým inženýrů vybudoval extrémně rychlou a spolehlivou infrastrukturu.

Jsme velmi hrdí na naši práci a jsme odhodláni pomáhat dělat internet lepším a bezpečnějším místem. Hardwaroví inženýři Cloudflare mají hluboké znalosti o serverech a jejich komponentách, aby pochopili a vybrali ten nejlepší hardware pro maximalizaci jeho výkonu.

Náš softwarový balík zvládá výpočetní výkon s vysokou zátěží a je vysoce závislý na CPU, což vyžaduje, aby naši inženýři neustále optimalizovali efektivitu a spolehlivost Cloudflare na každé úrovni zásobníku. Na straně serveru je nejjednodušší způsob, jak zvýšit výpočetní výkon, přidáním jader CPU. Čím více jader se na server vejde, tím více dat dokáže zpracovat. To je pro nás důležité, protože rozmanitost našich produktů a klientů postupem času roste a růst požadavků vyžaduje zvýšený výkon serverů. Abychom zvýšili jejich výkon, potřebovali jsme zvýšit hustotu jader – a přesně to se nám podařilo. Níže uvádíme podrobné údaje o procesorech pro servery, které jsme nasadili od roku 2015, včetně počtu jader:

-
Gen 6
Gen 7
Gen 8
Gen 9

Začínáme
2015
2016
2017
2018

procesor
Intel Xeon E5-2630 v3
Intel Xeon E5-2630 v4
Intel Xeon Silver 4116
Intel Xeon Platinum 6162

Fyzická jádra
2 x 8
2 x 10
2 x 12
2 x 24

TDP
2 x 85W
2 x 85W
2 x 85W
2 x 150W

TDP na jádro
10.65W
8.50W
7.08W
6.25W

V roce 2018 jsme s Gen 9 udělali velký skok v celkovém počtu jader na server. Dopad na životní prostředí byl snížen o 33 % ve srovnání s 8. generací, což nám dává příležitost zvýšit objem a výpočetní výkon na rack. Konstrukční požadavky na odvod tepla (Tepelný design Výkon, TDP) jsou zmíněny, aby se zdůraznilo, že naše energetická účinnost se v průběhu času také zvýšila. Tento ukazatel je pro nás důležitý: za prvé chceme do atmosféry vypouštět méně uhlíku; za druhé, chceme co nejlépe využít energii z datových center. Ale víme, že máme o co usilovat.

Naší hlavní definující metrikou je počet požadavků na watt. Můžeme zvýšit počet požadavků za sekundu přidáním jader, ale musíme zůstat v rámci našeho energetického rozpočtu. Jsme limitováni infrastrukturou napájení datového centra, která nám spolu s námi vybranými moduly distribuce energie dává určitou horní hranici pro každý serverový rack. Přidání serverů do racku zvyšuje spotřebu energie. Provozní náklady se výrazně zvýší, pokud překročíme energetický limit na stojan a budeme muset přidávat nové stojany. Musíme zvýšit výpočetní výkon a zároveň zůstat ve stejném rozsahu spotřeby energie, což zvýší požadavky na watt, což je naše klíčová metrika.

Jak jste možná uhodli, pečlivě jsme studovali spotřebu energie ve fázi návrhu. Výše uvedená tabulka ukazuje, že bychom neměli ztrácet čas nasazením energeticky náročnějších CPU, pokud je TDP na jádro vyšší než současná generace – to negativně ovlivní naši metriku, požadavky na watt. Pečlivě jsme prostudovali systémy připravené k provozu pro naši generaci X na trhu a rozhodli jsme se. Přecházíme z našeho 48jádrového designu Intel Xeon Platinum 6162 se dvěma paticemi na 48jádrový design AMD EPYC 7642 s jednou paticí.

Cloudflare si pro servery desáté generace edge vybírá procesory od AMD

-
Intel
AMD

procesor
Xeon Platinum 6162
EPYC 7642

mikroarchitektura
"Skylake"
„Zen 2“

Krycí jméno
"Skylake SP"
"Řím"

Technický proces
14nm
7nm

jádra
2 x 24
48

Frekvence
1.9 GHz
2.4 GHz

L3 Cache/socket
24 x 1.375 MiB
16 x 16 MiB

Paměť/zásuvka
6 kanálů, až do DDR4-2400
8 kanálů, až do DDR4-3200

TDP
2 x 150W
225W

PCIe/zásuvka
48 pruhů
128 pruhů

ISA
x86-64
x86-64

Ze specifikací je zřejmé, že čip od AMD nám umožní zachovat stejný počet jader při snížení TDP. Devátá generace měla TDP na jádro 9 W a X-tá generace to bude 6,25 W. Sníženo o 4,69 %. Díky zvýšené frekvenci a možná i jednodušší konstrukci s jednou paticí se dá předpokládat, že čip AMD si v praxi povede lépe. V současné době spouštíme různé testy a simulace, abychom zjistili, o kolik lepší bude AMD.

Prozatím poznamenejme, že TDP je zjednodušená metrika ze specifikací výrobce, kterou jsme použili v raných fázích návrhu serveru a výběru CPU. Rychlé vyhledávání Googlem odhalí, že AMD a Intel mají různé přístupy k definování TDP, takže specifikace je nespolehlivá. Skutečná spotřeba CPU, a co je důležitější, spotřeba serveru, je to, co skutečně používáme, když děláme naše konečné rozhodnutí.

Připravenost ekosystému

Abychom zahájili naši cestu k výběru našeho dalšího procesoru, podívali jsme se na širokou škálu CPU od různých výrobců, které byly vhodné pro náš softwarový balík a služby (napsané v C, LuaJIT a Go). Sadu nástrojů pro měření rychlosti jsme již podrobně popsali v jednom z článků našeho blogu. V tomto případě jsme použili stejnou sadu – umožňuje nám vyhodnotit efektivitu CPU v rozumném čase, po kterém mohou naši inženýři začít přizpůsobovat naše programy konkrétnímu procesoru.

Testovali jsme různé procesory s různými počty jader, soketů a frekvencí. Protože tento článek je o tom, proč jsme se rozhodli pro AMD EPYC 7642, všechny grafy v tomto blogu se zaměřují na výkon procesorů AMD ve srovnání s Intel Xeon Platinum 6162 od naše 9. generace.

Výsledky odpovídají měřením jednoho serveru s každou variantou procesoru - tedy se dvěma 24jádrovými procesory od Intelu, nebo s jedním 48jádrovým procesorem od AMD (server pro Intel se dvěma paticemi a server pro AMD EPYC s jedním). V BIOSu nastavíme parametry odpovídající běžícím serverům. To je 3,03 GHz pro AMD a 2,5 GHz pro Intel. Pro velké zjednodušení očekáváme, že se stejným počtem jader bude AMD fungovat o 21 % lépe než Intel.

Kryptografie

Cloudflare si pro servery desáté generace edge vybírá procesory od AMD

Cloudflare si pro servery desáté generace edge vybírá procesory od AMD

Pro AMD to vypadá nadějně. V kryptografii s veřejným klíčem funguje o 18 % lépe. Se symetrickým klíčem ztrácí pro možnosti šifrování AES-128-GCM, ale celkově funguje srovnatelně.

Komprese

Na okrajových serverech komprimujeme velké množství dat, abychom ušetřili šířku pásma a zvýšili rychlost doručování obsahu. Data předáváme přes C knihovny zlib a brotli. Všechny testy byly spuštěny na souboru HTML blog.cloudflare.com v paměti.

Cloudflare si pro servery desáté generace edge vybírá procesory od AMD

Cloudflare si pro servery desáté generace edge vybírá procesory od AMD

AMD vyhrálo v průměru o 29 % při použití gzip. V případě brotli jsou výsledky ještě lepší v testech s kvalitou 7, kterou používáme pro dynamickou kompresi. U testu brotli-9 došlo k prudkému poklesu – vysvětlujeme to tím, že Brotli spotřebovává hodně paměti a přeplňuje mezipaměť. AMD však vítězí s velkým náskokem.

Mnoho našich služeb je napsáno v Go. V následujících grafech dvakrát zkontrolujeme rychlost kryptografie a komprese v Go with RegExp na 32 KB řádcích pomocí knihovny řetězců.

Přejít na kryptografii

Cloudflare si pro servery desáté generace edge vybírá procesory od AMD

Přejít na kompresi

Cloudflare si pro servery desáté generace edge vybírá procesory od AMD

Cloudflare si pro servery desáté generace edge vybírá procesory od AMD

Přejít na Regexp

Cloudflare si pro servery desáté generace edge vybírá procesory od AMD

Cloudflare si pro servery desáté generace edge vybírá procesory od AMD

Go Strings

Cloudflare si pro servery desáté generace edge vybírá procesory od AMD

AMD si vede lépe ve všech testech s Go kromě ECDSA P256 Sign, kde bylo o 38 % pozadu – což je zvláštní, vzhledem k tomu, že v C mělo o 24 % lepší výkon. Stojí za to zjistit, co se tam děje. Celkově si AMD moc nevyhrává, ale i tak vykazuje nejlepší výsledky.

LuaJIT

Často používáme LuaJIT na zásobníku. Toto je lepidlo, které drží všechny části Cloudflare pohromadě. A jsme rádi, že i zde AMD zvítězilo.

Celkově testy ukazují, že EPYC 7642 funguje lépe než dva Xeony Platinum 6162. AMD prohrává v několika testech – například AES-128-GCM a Go OpenSSL ECDSA-P256 Sign – ale ve všech ostatních v průměru vítězí. o 25 %.

Simulace pracovní zátěže

Po našich rychlých testech jsme prošli servery další sadou simulací, ve kterých je na softwarový okrajový zásobník aplikováno syntetické zatížení. Zde simulujeme zátěž scénáře s různými typy požadavků, se kterými se lze setkat v reálné práci. Požadavky se liší objemem dat, protokoly HTTP nebo HTTPS, zdroji WAF, pracovníky a dalšími mnoha proměnnými. Níže je srovnání propustnosti dvou CPU pro typy požadavků, se kterými se setkáváme nejčastěji.

Cloudflare si pro servery desáté generace edge vybírá procesory od AMD

Výsledky v grafu jsou měřeny se základní linií strojů 9. generace s procesory Intel, normalizované na hodnotu 1,0 na ose x. Například když vezmeme jednoduché požadavky 10 kB přes HTTPS, vidíme, že AMD je 1,5krát lepší než Intel, pokud jde o požadavky za sekundu. V průměru si AMD v těchto testech vedla o 34 % lépe než Intel. Vzhledem k tomu, že TDP pro jeden AMD EPYC 7642 je 225 W a pro dva procesory Intel je 300 W, ukazuje se, že pokud jde o „požadavky na watt“, AMD vykazuje 2krát lepší výsledky než Intel!

V tuto chvíli jsme se již jasně přikláněli k možnosti single socket pro AMD EPYC 7642 jako naše budoucí CPU Gen X. Velmi nás zajímalo, jak si servery AMD EPYC povedou v reálném světě, a okamžitě jsme poslali několik servery do některých z datových center.

Skutečná práce

Prvním krokem samozřejmě bylo připravit servery pro práci v reálných podmínkách. Všechny stroje v naší flotile pracují se stejnými procesy a službami, což poskytuje vynikající příležitost ke správnému porovnání výkonu. Jako většina datových center máme nasazeno několik generací serverů a naše servery shromažďujeme do clusterů, takže každá třída obsahuje servery přibližně stejných generací. V některých případech to může vést k recyklačním křivkám, které se mezi shluky liší. Ale ne s námi. Naši inženýři optimalizovali využití CPU pro všechny generace, takže bez ohledu na to, zda má CPU konkrétního stroje 8 nebo 24 jader, je využití CPU obecně stejné jako ostatní.

Cloudflare si pro servery desáté generace edge vybírá procesory od AMD

Graf ilustruje náš komentář k podobnosti využití – není žádný významný rozdíl mezi použitím procesorů AMD v serverech generace X a použitím procesorů Intel v serverech generace 9. To znamená, že testovací i základní servery jsou zatíženy rovnoměrně. . Skvělý. Přesně o to se na našich serverech snažíme a potřebujeme to pro spravedlivé srovnání. Dva níže uvedené grafy ukazují počet požadavků zpracovaných jedním jádrem CPU a všemi jádry na úrovni serveru.

Cloudflare si pro servery desáté generace edge vybírá procesory od AMD
Požadavky na jádro

Cloudflare si pro servery desáté generace edge vybírá procesory od AMD
Požadavky na server

Je vidět, že v průměru AMD zpracovává o 23 % více požadavků. To vůbec není špatné! Na našem blogu jsme často psali o způsobech, jak zvýšit výkon Gen 9. A nyní máme stejný počet jader, ale AMD odvede více práce s menším výkonem. Ze specifikací počtu jader a TDP je hned jasné, že AMD poskytuje větší rychlost s větší energetickou účinností.

Jak jsme ale již zmínili, TDP není standardní specifikace a není u všech výrobců stejná, pojďme se tedy podívat na skutečnou spotřebu energie. Měřením spotřeby energie serveru paralelně s počtem požadavků za sekundu jsme získali následující graf:

Cloudflare si pro servery desáté generace edge vybírá procesory od AMD

Na základě požadavků za sekundu na spotřebovaný watt jsou servery Gen X běžící na procesorech AMD o 28 % efektivnější. Dalo by se očekávat více, vzhledem k tomu, že TDP AMD je o 25 % nižší, ale je třeba si uvědomit, že TDP je nejednoznačná charakteristika. Viděli jsme, že skutečná spotřeba AMD je téměř identická s udávaným TDP při frekvencích mnohem vyšších, než je základní; Intel to nemá. To je další důvod, proč TDP není spolehlivým odhadem spotřeby energie. CPU od Intelu v našich serverech Gen 9 jsou integrovány do víceuzlového systému, zatímco CPU od AMD pracují ve standardních 1U serverech. To není ve prospěch AMD, protože víceuzlové servery by měly poskytovat větší hustotu s menší spotřebou energie na uzel, ale AMD stále předběhlo Intel, pokud jde o spotřebu energie na uzel.

Ve většině srovnání napříč specifikacemi, testovacími simulacemi a výkonem v reálném světě si konfigurace 1P AMD EPYC 7642 vedla výrazně lépe než 2P Intel Xeon 6162. Za určitých podmínek může AMD fungovat až o 36 % lépe a věříme, že optimalizací hardwaru a softwaru, můžeme tohoto zlepšování dosahovat průběžně.

Ukázalo se, že AMD vyhrálo.

Další grafy ukazují průměrnou latenci a latenci p99 při běhu NGINX po dobu 24 hodin. Procesy na AMD běžely v průměru o 25 % rychleji. Na p99 běží o 20-50% rychleji v závislosti na denní době.

Závěr

Inženýři hardwaru a výkonu Cloudflare provádějí značné množství testování a výzkumu, aby určili nejlepší konfiguraci serveru pro naše zákazníky. Rádi zde pracujeme, protože dokážeme vyřešit velké problémy, jako jsou tyto, a můžeme vám pomoci vyřešit vaše problémy pomocí služeb, jako je bezserverové edge computing a řada bezpečnostních řešení, jako je Magic Transit, Argo Tunnel a ochrana DDoS. Všechny servery v síti Cloudflare jsou nakonfigurovány tak, aby fungovaly spolehlivě, a vždy se snažíme, aby každá další generace serverů byla lepší než ta předchozí. Věříme, že AMD EPYC 7642 je odpovědí, pokud jde o procesory Gen X.

Pomocí Cloudflare Workers vývojáři nasazují své aplikace v naší rozšiřující se síti po celém světě. Jsme hrdí na to, že umožňujeme našim zákazníkům soustředit se na psaní kódu, zatímco my se zaměřujeme na bezpečnost a spolehlivost v cloudu. A dnes s ještě větším potěšením oznamujeme, že jejich práce bude nasazena na naše servery generace X s procesory AMD EPYC druhé generace.

Cloudflare si pro servery desáté generace edge vybírá procesory od AMD
Procesory EPYC 7642, kódové označení "Rome" [Řím]

Použitím AMD EPYC 7642 jsme byli schopni zvýšit náš výkon a usnadnit rozšíření naší sítě do nových měst. Řím nebyl postaven za den, ale mnohým z vás bude brzy blíž.

V posledních několika letech jsme experimentovali s mnoha x86 čipy od Intelu a AMD, stejně jako s procesory od ARM. Očekáváme, že tito výrobci CPU s námi budou i v budoucnu spolupracovat, abychom mohli všichni společně vybudovat lepší internet.

Zdroj: www.habr.com

Přidat komentář