Cloudflare kiest processors fan AMD foar tsiende generaasje edge-servers

Cloudflare kiest processors fan AMD foar tsiende generaasje edge-servers

Mear as in miljard unike IP-adressen passe elke dei troch it Cloudflare Network; it tsjinnet mear as 11 miljoen HTTP-oanfragen per sekonde; sy is binnen 100ms fan 95% fan 'e ynternetbefolking. Us netwurk omspant 200 stêden yn mear as 90 lannen, en ús team fan yngenieurs hat in ekstreem rappe en betroubere ynfrastruktuer boud.

Wy binne grutsk op ús wurk en sette ús yn om it ynternet in better en feiliger plak te meitsjen. Cloudflare's hardware-yngenieurs hawwe in djip begryp fan servers en har komponinten om de bêste hardware te begripen en te selektearjen om de prestaasjes te maksimalisearjen.

Us softwarestapel omgiet komputer mei hege lading en is heul CPU-ôfhinklik, wat ús yngenieurs fereasket om de effisjinsje en betrouberens fan Cloudflare kontinu te optimalisearjen op elk nivo fan 'e stapel. Oan 'e serverkant is de maklikste manier om ferwurkingskrêft te fergrutsjen troch CPU-kearnen ta te foegjen. Hoe mear kearnen in server kin passe, hoe mear gegevens it kin ferwurkje. Dit is wichtich foar ús, om't it ferskaat fan ús produkten en kliïnten yn 'e rin fan' e tiid groeit, en de groei fan oanfragen fereasket ferhege prestaasjes fan servers. Om har prestaasjes te ferheegjen, moasten wy de tichtheid fan 'e kearnen ferheegje - en dit is krekt wat wy hawwe berikt. Hjirûnder jouwe wy detaillearre gegevens oer processors foar servers dy't wy sûnt 2015 hawwe ynset, ynklusyf it oantal kearnen:

-
Gen 6
Gen 7
Gen 8
Gen 9

Om te begjinnen
2015
2016
2017
2018

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

Fysike kearnen
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 per kearn
10.65W
8.50W
7.08W
6.25W

Yn 2018 makken wy in grutte sprong yn it totale oantal kearnen per server mei Gen 9. De miljeu-ynfloed is fermindere troch 33% yn ferliking mei de 8ste generaasje, wêrtroch't wy de kâns hawwe om folume en rekkenkrêft per rek te fergrutsjen. Untwerpeasken foar waarmtedissipaasje (Thermal Design Power, TDP) wurde neamd om te markearjen dat ús enerzjy-effisjinsje ek yn 'e rin is tanommen. Dizze yndikator is wichtich foar ús: foarearst wolle wy minder koalstof yn de sfear útstjitte; twadde wolle wy de enerzjy út de datasintra optimaal benutte. Mar wy witte dat wy wat hawwe om nei te stribjen.

Us wichtichste definiearjende metrik is it oantal oanfragen per watt. Wy kinne it oantal oanfragen per sekonde ferheegje troch kearnen ta te foegjen, mar wy moatte binnen ús machtbudzjet bliuwe. Wy binne beheind troch de machtynfrastruktuer fan it datasintrum, dy't, tegearre mei ús selektearre enerzjyferdielingsmodules, ús in bepaalde boppegrins foar elke serverrack jout. Tafoegjen fan tsjinners oan in rack fergruttet macht konsumpsje. Bedriuwskosten sille gâns tanimme as wy de enerzjylimyt per rack oerskriuwe en nije rekken moatte tafoegje. Wy moatte de ferwurkingskrêft ferheegje wylst wy binnen itselde berik fan enerzjyferbrûk bliuwe, wat fersiken per watt sil ferheegje, ús kaaimetrik.

Lykas jo miskien hawwe rieden, hawwe wy soarchfâldich studearre enerzjyferbrûk by it ûntwerpstadium. De tabel hjirboppe lit sjen dat wy gjin tiid moatte fergrieme mei it ynsetten fan mear enerzjy-hongerige CPU's as de TDP per kearn heger is dan de hjoeddeistige generaasje - dit sil negatyf beynfloedzje ús metryske, oanfragen per watt. Wy studearre soarchfâldich de ready-to-run systemen foar ús generaasje X op 'e merk en naam in beslút. Wy geane oer fan ús 48-kearn Intel Xeon Platinum 6162 dual-socket-ûntwerp nei in 48-kearn AMD EPYC 7642-ûntwerp mei ien socket.

Cloudflare kiest processors fan AMD foar tsiende generaasje edge-servers

-
Intel
AMD

CPU
Xeon Platinum 6162
EPYC 7642

Mikroarsjitektuer
"Skylake"
"Zen 2"

Koadenamme
"Skylake SP"
"Rome"

Technysk proses
14nm
7nm

kearnen
2 x 24
48

Frequency
1.9 GHz
2.4 GHz

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

Unthâld / socket
6 kanalen, oant DDR4-2400
8 kanalen, oant DDR4-3200

TDP
2 x 150W
225W

PCIe/socket
48 banen
128 banen

ISA
x86-64
x86-64

Ut de spesifikaasjes is it dúdlik dat de chip fan AMD ús sil tastean om itselde oantal kearnen te hâlden by it ferleegjen fan de TDP. De 9e generaasje hie in TDP per kearn fan 6,25 W, en de Xde generaasje sil it 4,69 W wêze. Fermindere mei 25%. Mei tank oan de ferhege frekwinsje, en miskien in ienfâldiger ûntwerp mei ien socket, kin oannommen wurde dat de AMD-chip yn 'e praktyk better sil prestearje. Wy rinne op it stuit ferskate tests en simulaasjes om te sjen hoefolle better AMD sil prestearje.

Litte wy no opmerke dat TDP in ferienfâldige metrik is fan 'e spesifikaasjes fan' e fabrikant, dy't wy brûkten yn 'e iere stadia fan serverûntwerp en CPU-seleksje. In rappe Google-sykopdracht docht bliken dat AMD en Intel ferskillende oanpakken hawwe foar it definiearjen fan TDP, wêrtroch de spesifikaasje ûnbetrouber is. Echt CPU-enerzjyferbrûk, en noch wichtiger server-enerzjyferbrûk, is wat wy wirklik brûke by it meitsjen fan ús definitive beslút.

Ekosysteem reewilligens

Om ús reis te begjinnen nei it kiezen fan ús folgjende prosessor, seagen wy nei in breed oanbod fan CPU's fan ferskate fabrikanten dy't in goede fit wiene foar ús softwarestapel en tsjinsten (skreaun yn C, LuaJIT en Go). Wy hawwe al beskreaun yn detail in set fan ark foar mjitten snelheid yn ien fan ús blogartikels. Yn dit gefal hawwe wy deselde set brûkt - it lit ús de effisjinsje fan 'e CPU yn in ridlike tiid evaluearje, wêrnei't ús yngenieurs kinne begjinne om ús programma's oan te passen oan in spesifike prosessor.

Wy testen in ferskaat oan processors mei in ferskaat oan kearntellingen, sockettellingen en frekwinsjes. Sûnt dit artikel giet oer wêrom't wy fêstigen har op 'e AMD EPYC 7642, fokusje alle charts yn dit blog op hoe't AMD-processors prestearje yn ferliking mei de Intel Xeon Platinum 6162 fan ús 9e generaasje.

De resultaten oerienkomme mei mjittingen fan in inkele server mei elke prosessorfariant - dat is, mei twa 24-kearnprozessors fan Intel, of mei ien 48-kearnprosessor fan AMD (tsjinner foar Intel mei twa sockets en server foar AMD EPYC mei ien) . Yn it BIOS sette wy de parameters dy't oerienkomme mei de rinnende tsjinners. Dit is 3,03 GHz foar AMD en 2,5 GHz foar Intel. Gâns ferienfâldigjen ferwachtsje wy dat mei itselde oantal kearnen AMD 21% better sil prestearje dan Intel.

Kryptografy

Cloudflare kiest processors fan AMD foar tsiende generaasje edge-servers

Cloudflare kiest processors fan AMD foar tsiende generaasje edge-servers

Sjocht kânsryk foar AMD. It prestearret 18% better op kryptografy fan iepenbiere kaaien. Mei in symmetryske kaai ferliest it foar de AES-128-GCM-fersiferingsopsjes, mar docht oer it algemien fergelykber.

Kompresje

Op edge-tsjinners komprimearje wy in protte gegevens om bânbreedte te besparjen en de snelheid fan levering fan ynhâld te ferheegjen. Wy passe de gegevens troch de C-biblioteken zlib en brotli. Alle testen waarden útfierd op it blog.cloudflare.com HTML-bestân yn it ûnthâld.

Cloudflare kiest processors fan AMD foar tsiende generaasje edge-servers

Cloudflare kiest processors fan AMD foar tsiende generaasje edge-servers

AMD wûn mei in gemiddelde fan 29% by it brûken fan gzip. Yn it gefal fan brotli binne de resultaten noch better op testen mei kwaliteit 7, dy't wy brûke foar dynamyske kompresje. Op 'e brotli-9-test is d'r in skerpe drip - wy ferklearje dit troch it feit dat Brotli in protte ûnthâld ferbrûkt en de cache oerstreamt. AMD wint lykwols mei in grutte marzje.

In protte fan ús tsjinsten binne skreaun yn Go. Yn 'e folgjende grafiken kontrolearje wy de snelheid fan kryptografy en kompresje yn Go mei RegExp op 32 KB rigels mei de snarenbibleteek.

Gean kryptografy

Cloudflare kiest processors fan AMD foar tsiende generaasje edge-servers

Gean kompresje

Cloudflare kiest processors fan AMD foar tsiende generaasje edge-servers

Cloudflare kiest processors fan AMD foar tsiende generaasje edge-servers

Gean Regexp

Cloudflare kiest processors fan AMD foar tsiende generaasje edge-servers

Cloudflare kiest processors fan AMD foar tsiende generaasje edge-servers

Gean Strings

Cloudflare kiest processors fan AMD foar tsiende generaasje edge-servers

AMD presteart better yn alle testen mei Go útsein ECDSA P256 Sign, wêr't it 38% efter wie - wat frjemd is, jûn dat it 24% better prestearre yn C. It is de muoite wurdich om út te finen wat der bart. Oer it algemien wint AMD net folle, mar toant dochs de bêste resultaten.

LuaJIT

Wy brûke faak LuaJIT op 'e stapel. Dit is de lijm dy't alle dielen fan Cloudflare byinoar hâldt. En wy binne bliid dat AMD hjir ek wûn.

Oer it algemien litte de tests sjen dat de EPYC 7642 better prestearret as twa Xeon Platinum 6162. AMD ferliest op in pear tests - bygelyks AES-128-GCM en Go OpenSSL ECDSA-P256 Sign - mar wint op alle oaren, troch in gemiddelde fan 25%.

Workload Simulaasje

Nei ús flugge tests rûnen wy de servers troch in oare set simulaasjes wêryn in syntetyske lading wurdt tapast op 'e software edge stack. Hjir simulearje wy in senario wurkdruk mei ferskate soarten oanfragen dy't kinne wurde tsjinkaam yn echt wurk. Oanfragen ferskille yn gegevensvolumint, HTTP- of HTTPS-protokollen, WAF-boarnen, Workers, en in protte oare fariabelen. Hjirûnder is in fergeliking fan 'e trochstreaming fan' e twa CPU's foar de soarten oanfragen dy't wy it meast tsjinkomme.

Cloudflare kiest processors fan AMD foar tsiende generaasje edge-servers

De resultaten yn 'e grafyk wurde mjitten tsjin' e basisline fan 9e generaasje Intel-basearre masines, normalisearre nei in wearde fan 1,0 op 'e x-as. Bygelyks, troch ienfâldige 10 KiB-oanfragen oer HTTPS te nimmen, kinne wy ​​​​sjogge dat AMD 1,5 kear better docht dan Intel yn termen fan oanfragen per sekonde. Gemiddeld prestearre AMD 34% better dan Intel foar dizze tests. Yn betinken nommen dat de TDP foar in inkele AMD EPYC 7642 225 W is, en foar twa Intel-processors is 300 W, docht bliken dat yn termen fan "oanfragen per watt" AMD 2 kear bettere resultaten toant as Intel!

Op dit punt leine wy ​​al dúdlik nei de single socket-opsje foar de AMD EPYC 7642 as ús takomstige Gen X CPU's. Wy wiene tige ynteressearre om te sjen hoe't de AMD EPYC-tsjinners soene prestearje yn wurk yn 'e echte wrâld, en wy stjoerde fuortendaliks ferskate tsjinners oan guon fan datasintra.

Echt wurk

De earste stap, fansels, wie om de servers ta te rieden foar wurk yn echte omstannichheden. Alle masines yn ús float wurkje mei deselde prosessen en tsjinsten, wat in poerbêste kâns biedt om prestaasjes korrekt te fergelykjen. Lykas de measte datasintra hawwe wy ferskate generaasjes servers ynset, en wy sammelje ús servers yn klusters sadat elke klasse servers fan sawat deselde generaasjes befettet. Yn guon gefallen kin dit resultearje yn recyclingkurven dy't ferskille tusken klusters. Mar net by ús. Us yngenieurs hawwe CPU-gebrûk foar alle generaasjes optimalisearre, sadat nettsjinsteande oft de CPU fan in bepaalde masine 8 kearnen of 24 hat, CPU-gebrûk oer it algemien itselde is as de rest.

Cloudflare kiest processors fan AMD foar tsiende generaasje edge-servers

De grafyk yllustrearret ús kommentaar oer de gelikensens fan gebrûk - d'r is gjin signifikant ferskil tusken it gebrûk fan AMD CPU's yn Gen X-generaasje-servers en it brûken fan Intel-processors yn Gen 9-generaasje-servers. Dit betsjut dat sawol test- as baseline-servers gelyk laden wurde . Grut. Dit is krekt wat wy stribje nei yn ús servers, en wy hawwe dit nedich foar in earlike ferliking. De twa grafiken hjirûnder litte it oantal oanfragen sjen dat ferwurke is troch ien CPU-kearn en alle kearnen op servernivo.

Cloudflare kiest processors fan AMD foar tsiende generaasje edge-servers
Fersiken per kearn

Cloudflare kiest processors fan AMD foar tsiende generaasje edge-servers
Fersiken oan de tsjinner

It kin sjoen wurde dat AMD gemiddeld 23% mear oanfragen ferwurket. Net ferkeard! Wy hawwe faak op ús blog skreaun oer manieren om de prestaasjes fan Gen 9 te ferheegjen. En no hawwe wy itselde oantal kearnen, mar AMD docht mear wurk mei minder macht. It is fuortendaliks dúdlik út de spesifikaasjes foar it oantal kearnen en TDP dat AMD jout gruttere snelheid mei grutter enerzjy effisjinsje.

Mar lykas wy al neamden, is TDP gjin standert spesifikaasje en it is net itselde foar alle fabrikanten, dus litte wy nei it eigentlike enerzjygebrûk sjen. Troch it enerzjyferbrûk fan 'e server parallel te mjitten mei it oantal oanfragen per sekonde, krigen wy de folgjende grafyk:

Cloudflare kiest processors fan AMD foar tsiende generaasje edge-servers

Op grûn fan oanfragen per sekonde per bestege watt binne Gen X-tsjinners dy't rinne op AMD-processors 28% effisjinter. Men koe mear ferwachtsje, jûn dat AMD's TDP 25% leger is, mar it moat betocht wurde dat TDP in dûbelsinnich karakteristyk is. Wy hawwe sjoen dat AMD syn eigentlike macht konsumpsje is hast identyk oan de oantsjutte TDP op frekwinsjes folle heger as de basis; Intel hat dat net. Dit is in oare reden wêrom TDP gjin betroubere skatting is fan enerzjyferbrûk. CPU's fan Intel yn ús Gen 9-tsjinners binne yntegreare yn in multi-node-systeem, wylst CPU's fan AMD operearje yn standert 1U-formfaktorservers. Dit is net yn it foardiel fan AMD, sûnt multinode tsjinners moatte soargje grutter tichtens mei minder macht konsumpsje per knooppunt, mar AMD noch oerhelle Intel yn termen fan macht konsumpsje per knooppunt.

Yn 'e measte fergelikingen oer specs, testsimulaasjes en prestaasjes yn 'e echte wrâld die de 1P AMD EPYC 7642-konfiguraasje signifikant better dan de 2P Intel Xeon 6162. Yn guon omstannichheden kin AMD oant 36% better prestearje, en wy leauwe dat troch te optimalisearjen hardware en software, wy kinne berikke dizze ferbettering op in trochgeande basis.

It docht bliken dat AMD wûn.

Oanfoljende grafiken litte gemiddelde latency en p99 latency sjen mei NGINX oer in perioade fan 24 oeren. Gemiddeld rûnen prosessen op AMD 25% rapper. Op p99 rint it 20-50% rapper ôfhinklik fan 'e tiid fan' e dei.

konklúzje

Cloudflare's Hardware- en Performance-yngenieurs dogge in signifikante hoemannichte testen en ûndersyk om de bêste serverkonfiguraasje foar ús klanten te bepalen. Wy wolle hjir graach wurkje, om't wy grutte problemen lykas dizze kinne oplosse, en wy kinne jo helpe om jo problemen op te lossen mei tsjinsten lykas serverless edge computing en in array fan feiligensoplossingen lykas Magic Transit, Argo Tunnel, en DDoS-beskerming. . Alle servers yn it Cloudflare-netwurk binne konfigureare om betrouber te prestearjen, en wy besykje altyd elke folgjende generaasje servers better te meitsjen as de foarige. Wy leauwe dat de AMD EPYC 7642 it antwurd is as it giet om Gen X-processors.

Mei help fan Cloudflare Workers sette ûntwikkelders har applikaasjes yn op ús útwreidzjende netwurk om 'e wrâld. Wy binne grutsk om ús klanten rjochtsje te litten op it skriuwen fan koade, wylst wy ús rjochtsje op feiligens en betrouberens yn 'e wolk. En hjoed binne wy ​​noch mear bliid om oan te kundigjen dat har wurk sil wurde ynset op ús Gen X-generaasje-servers mei twadde generaasje AMD EPYC-processors.

Cloudflare kiest processors fan AMD foar tsiende generaasje edge-servers
EPYC 7642-processors, koadenamme "Rome" [Rome]

Troch AMD's EPYC 7642 te brûken, koene wy ​​ús prestaasjes ferheegje en it makliker meitsje om ús netwurk út te wreidzjen nei nije stêden. Rome waard net yn ien dei boud, mar it sil gau tichter by in protte fan jo wêze.

Yn 'e lêste pear jier hawwe wy eksperimintearre mei in protte x86-chips fan Intel en AMD, lykas processors fan ARM. Wy ferwachtsje dat dizze CPU-makkers yn 'e takomst fierder mei ús wurkje, sadat wy allegear tegearre in better ynternet kinne bouwe.

Boarne: www.habr.com

Add a comment