Cloudflare zgjedh procesorë nga AMD për serverët e brezit të dhjetë

Cloudflare zgjedh procesorë nga AMD për serverët e brezit të dhjetë

Më shumë se një miliard adresa IP unike kalojnë përmes Rrjetit Cloudflare çdo ditë; ai shërben më shumë se 11 milionë kërkesa HTTP në sekondë; ajo është brenda 100ms nga 95% e popullsisë së internetit. Rrjeti ynë përfshin 200 qytete në mbi 90 vende dhe ekipi ynë i inxhinierëve ka ndërtuar një infrastrukturë jashtëzakonisht të shpejtë dhe të besueshme.

Ne jemi shumë krenarë për punën tonë dhe jemi të përkushtuar të ndihmojmë që interneti të bëhet një vend më i mirë dhe më i sigurt. Inxhinierët e harduerit të Cloudflare kanë një kuptim të thellë të serverëve dhe përbërësve të tyre për të kuptuar dhe zgjedhur harduerin më të mirë për të maksimizuar performancën e tij.

Stafi ynë i softuerit trajton llogaritjet me ngarkesë të lartë dhe është shumë i varur nga CPU, duke kërkuar që inxhinierët tanë të optimizojnë vazhdimisht efikasitetin dhe besueshmërinë e Cloudflare në çdo nivel të grumbullit. Nga ana e serverit, mënyra më e lehtë për të rritur fuqinë e përpunimit është duke shtuar bërthamat e CPU. Sa më shumë bërthama të përshtatet një server, aq më shumë të dhëna mund të përpunojë. Kjo është e rëndësishme për ne sepse shumëllojshmëria e produkteve dhe klientëve tanë po rritet me kalimin e kohës dhe rritja e kërkesave kërkon rritje të performancës nga serverët. Për të rritur performancën e tyre, na duhej të rrisnim densitetin e bërthamave - dhe kjo është pikërisht ajo që arritëm. Më poshtë ofrojmë të dhëna të detajuara për procesorët për serverët që kemi vendosur që nga viti 2015, duke përfshirë numrin e bërthamave:

-
Gen 6
Gen 7
Gen 8
Gen 9

Si T'ia Fillohet
2015
2016
2017
2018

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

Bërthamat fizike
2 8 x
2 10 x
2 12 x
2 24 x

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

TDP për bërthamë
10.65W
8.50W
7.08W
6.25W

Në vitin 2018, ne bëmë një hap të madh në numrin total të bërthamave për server me Gen 9. Ndikimi mjedisor është reduktuar me 33% në krahasim me gjeneratën e 8-të, duke na dhënë mundësinë për të rritur volumin dhe fuqinë llogaritëse për raft. Kërkesat e projektimit për shpërndarjen e nxehtësisë (Fuqia e Projektimit Termik, TDP) përmenden për të theksuar se efiçenca jonë e energjisë është rritur gjithashtu me kalimin e kohës. Ky tregues është i rëndësishëm për ne: së pari, ne duam të lëshojmë më pak karbon në atmosferë; së dyti, ne duam të përdorim sa më mirë energjinë nga qendrat e të dhënave. Por ne e dimë se kemi diçka për të cilën të përpiqemi.

Metrika jonë kryesore përcaktuese është numri i kërkesave për vat. Ne mund të rrisim numrin e kërkesave për sekondë duke shtuar bërthama, por duhet të qëndrojmë brenda buxhetit tonë të energjisë. Ne jemi të kufizuar nga infrastruktura e energjisë e qendrës së të dhënave, e cila, së bashku me modulet tona të zgjedhura të shpërndarjes së energjisë, na jep një kufi të caktuar të sipërm për çdo raft serveri. Shtimi i serverëve në një raft rrit konsumin e energjisë. Kostot operative do të rriten ndjeshëm nëse tejkalojmë kufirin e energjisë për raft dhe duhet të shtojmë rafte të rinj. Ne duhet të rrisim fuqinë përpunuese duke qëndruar brenda të njëjtit interval të konsumit të energjisë, gjë që do të rrisë kërkesat për vat, metrikën tonë kryesore.

Siç mund ta keni marrë me mend, ne kemi studiuar me kujdes konsumin e energjisë në fazën e projektimit. Tabela e mësipërme tregon se ne nuk duhet të humbim kohë duke vendosur më shumë CPU të etur për energji nëse TDP për bërthamë është më e lartë se gjenerata aktuale - kjo do të ndikojë negativisht në kërkesat tona metrike për vat. Ne studiuam me kujdes sistemet e gatshme për përdorim për gjeneratën tonë X në treg dhe morëm një vendim. Po kalojmë nga modeli ynë me dy fole Intel Xeon Platinum 48 me 6162 bërthama në një model me një fole AMD EPYC 48 me 7642 bërthama.

Cloudflare zgjedh procesorë nga AMD për serverët e brezit të dhjetë

-
Intel
AMD

CPU
Xeon Platinum 6162
EPYC 7642

Mikroarkitektura
"Skylake"
"Zen 2"

Emri i koduar
"Skylake SP"
"Roma"

Procesi teknik
14nm
7nm

bërthamat
2 24 x
48

frekuencë
1.9 GHz
2.4 GHz

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

Memorie/fole
6 kanale, deri në DDR4-2400
8 kanale, deri në DDR4-3200

TDP
2 x 150W
225W

PCIe / fole
48 korsi
128 korsi

ESHTE NJE
x86-64
x86-64

Nga specifikimet është e qartë se çipi nga AMD do të na lejojë të mbajmë të njëjtin numër bërthamash duke ulur TDP-në. Gjenerata e 9-të kishte një TDP për bërthamë prej 6,25 W, dhe gjenerata e X-të do të jetë 4,69 W. Ulur me 25%. Falë rritjes së frekuencës dhe ndoshta një modeli më të thjeshtë me një prizë, mund të supozohet se çipi AMD do të funksionojë më mirë në praktikë. Aktualisht po kryejmë teste dhe simulime të ndryshme për të parë se sa më mirë do të performojë AMD.

Tani për tani, le të vërejmë se TDP është një metrikë e thjeshtuar nga specifikimet e prodhuesit, të cilën e kemi përdorur në fazat e hershme të dizajnimit të serverit dhe zgjedhjes së CPU-së. Një kërkim i shpejtë në Google zbulon se AMD dhe Intel kanë qasje të ndryshme për të përcaktuar TDP, duke e bërë specifikimin jo të besueshëm. Konsumi i vërtetë i energjisë së CPU-së, dhe më e rëndësishmja konsumi i energjisë së serverit, është ajo që ne përdorim realisht kur marrim vendimin tonë përfundimtar.

Gatishmëria e ekosistemit

Për të filluar udhëtimin tonë drejt zgjedhjes së procesorit tonë të ardhshëm, ne shikuam një gamë të gjerë CPU-sh nga prodhues të ndryshëm që ishin të përshtatshëm për grupin dhe shërbimet tona të softuerit (të shkruar në C, LuaJIT dhe Go). Ne kemi përshkruar tashmë në detaje një grup mjetesh për matjen e shpejtësisë në një nga artikujt e blogut tonë. Në këtë rast, ne përdorëm të njëjtin grup - na lejon të vlerësojmë efikasitetin e CPU-së në një kohë të arsyeshme, pas së cilës inxhinierët tanë mund të fillojnë të përshtatin programet tona në një procesor specifik.

Ne testuam një sërë përpunuesish me një sërë numërimesh bërthamash, numërimi të foleve dhe frekuencave. Meqenëse ky artikull ka të bëjë me arsyen pse ne u vendosëm në AMD EPYC 7642, të gjitha grafikët në këtë blog fokusohen në mënyrën se si funksionojnë procesorët AMD në krahasim me Intel Xeon Platinum 6162 nga brezi ynë i 9-të.

Rezultatet korrespondojnë me matjet e një serveri të vetëm me çdo variant procesori - domethënë, me dy procesorë 24 bërthamash nga Intel, ose me një procesor 48 bërthamash nga AMD (server për Intel me dy priza dhe server për AMD EPYC me një) . Në BIOS ne vendosim parametrat që korrespondojnë me serverët që funksionojnë. Kjo është 3,03 GHz për AMD dhe 2,5 GHz për Intel. Duke u thjeshtuar shumë, ne presim që me të njëjtin numër bërthamash, AMD do të performojë 21% më mirë se Intel.

Kriptografia

Cloudflare zgjedh procesorë nga AMD për serverët e brezit të dhjetë

Cloudflare zgjedh procesorë nga AMD për serverët e brezit të dhjetë

Duket premtuese për AMD. Ai performon 18% më mirë në kriptografinë e çelësit publik. Me një çelës simetrik, ai humbet për opsionet e enkriptimit AES-128-GCM, por në përgjithësi funksionon i krahasueshëm.

Ngjeshja

Në serverët e skajshëm, ne kompresojmë shumë të dhëna për të kursyer gjerësinë e brezit dhe për të rritur shpejtësinë e shpërndarjes së përmbajtjes. Ne i kalojmë të dhënat përmes bibliotekave C zlib dhe brotli. Të gjitha testet u kryen në skedarin HTML blog.cloudflare.com në memorie.

Cloudflare zgjedh procesorë nga AMD për serverët e brezit të dhjetë

Cloudflare zgjedh procesorë nga AMD për serverët e brezit të dhjetë

AMD fitoi mesatarisht 29% kur përdor gzip. Në rastin e brotlit, rezultatet janë edhe më të mira në testet me cilësinë 7, të cilat i përdorim për komprimim dinamik. Në testin brotli-9 ka një rënie të mprehtë - ne e shpjegojmë këtë me faktin se Brotli konsumon shumë memorie dhe tejmbush cache. Sidoqoftë, AMD fiton me një diferencë të madhe.

Shumë nga shërbimet tona janë shkruar në Go. Në grafikët e mëposhtëm, ne kontrollojmë dy herë shpejtësinë e kriptografisë dhe kompresimit në Go with RegExp në linjat 32 KB duke përdorur bibliotekën e vargjeve.

Shkoni në kriptografi

Cloudflare zgjedh procesorë nga AMD për serverët e brezit të dhjetë

Go Compression

Cloudflare zgjedh procesorë nga AMD për serverët e brezit të dhjetë

Cloudflare zgjedh procesorë nga AMD për serverët e brezit të dhjetë

Shkoni Regexp

Cloudflare zgjedh procesorë nga AMD për serverët e brezit të dhjetë

Cloudflare zgjedh procesorë nga AMD për serverët e brezit të dhjetë

Shko Strings

Cloudflare zgjedh procesorë nga AMD për serverët e brezit të dhjetë

AMD performon më mirë në të gjitha testet me Go, përveç shenjës ECDSA P256, ku ishte 38% prapa - gjë që është e çuditshme, duke pasur parasysh se performoi 24% më mirë në C. Ia vlen të kuptojmë se çfarë po ndodh atje. Në përgjithësi, AMD nuk fiton shumë, por megjithatë tregon rezultatet më të mira.

LuaJIT

Ne shpesh përdorim LuaJIT në rafte. Ky është ngjitësi që mban të gjitha pjesët e Cloudflare së bashku. Dhe ne jemi të kënaqur që AMD fitoi edhe këtu.

Në përgjithësi, testet tregojnë se EPYC 7642 performon më mirë se dy Xeon Platinum 6162. AMD humbet në disa teste - për shembull, AES-128-GCM dhe Shenja Go OpenSSL ECDSA-P256 - por fiton në të gjitha të tjerat, mesatarisht prej 25%.

Simulimi i ngarkesës së punës

Pas testeve tona të shpejta, ne i kaluam serverët përmes një grupi tjetër simulimesh në të cilat një ngarkesë sintetike aplikohet në pirgun e skajeve të softuerit. Këtu ne simulojmë një ngarkesë pune në skenar me lloje të ndryshme kërkesash që mund të hasen në punë reale. Kërkesat ndryshojnë në vëllimin e të dhënave, protokollet HTTP ose HTTPS, burimet WAF, Punëtorët dhe shumë variabla të tjerë. Më poshtë është një krahasim i xhiros së dy CPU-ve për llojet e kërkesave që hasim më shpesh.

Cloudflare zgjedh procesorë nga AMD për serverët e brezit të dhjetë

Rezultatet në grafik maten kundrejt bazës së makinerive të gjeneratës së 9-të të bazuara në Intel, të normalizuara në një vlerë prej 1,0 në boshtin x. Për shembull, duke marrë kërkesa të thjeshta 10 KiB mbi HTTPS, mund të shohim se AMD bën 1,5 herë më mirë se Intel për sa i përket kërkesave për sekondë. Mesatarisht, AMD performoi 34% më mirë se Intel për këto teste. Duke marrë parasysh që TDP për një AMD EPYC 7642 të vetëm është 225 W, dhe për dy procesorë Intel është 300 W, rezulton se për sa i përket "kërkesave për vat" AMD tregon rezultate 2 herë më të mira se Intel!

Në këtë pikë, ne ishim qartazi të prirur drejt opsionit me një prizë për AMD EPYC 7642 si CPU-të tona të ardhshme të Gen X. Ne ishim shumë të interesuar të shihnim se si do të performonin serverët AMD EPYC në punën e botës reale dhe menjëherë dërguam disa serverë për disa nga qendrat e të dhënave.

Punë e vërtetë

Hapi i parë, natyrisht, ishte përgatitja e serverëve për punë në kushte reale. Të gjitha makinat në flotën tonë punojnë me të njëjtat procese dhe shërbime, gjë që ofron një mundësi të shkëlqyer për të krahasuar saktë performancën. Ashtu si shumica e qendrave të të dhënave, ne kemi disa gjenerata të serverëve të vendosur dhe i mbledhim serverët tanë në grupe në mënyrë që secila klasë të përmbajë serverë të gjeneratave përafërsisht të njëjta. Në disa raste, kjo mund të rezultojë në kthesa riciklimi që ndryshojnë midis grupimeve. Por jo me ne. Inxhinierët tanë kanë optimizuar përdorimin e CPU-së për të gjitha gjeneratat në mënyrë që pavarësisht nëse CPU-ja e një makine të caktuar ka 8 bërthama ose 24, përdorimi i CPU-së është përgjithësisht i njëjtë me pjesën tjetër.

Cloudflare zgjedh procesorë nga AMD për serverët e brezit të dhjetë

Grafiku ilustron komentin tonë mbi ngjashmërinë e përdorimit - nuk ka ndonjë ndryshim të rëndësishëm midis përdorimit të CPU-ve AMD në serverët e gjeneratës X dhe përdorimit të procesorëve Intel në serverët e gjeneratës së gjeneratës 9. Kjo do të thotë që të dy serverët testues dhe ata bazë ngarkohen në mënyrë të barabartë . E madhe. Kjo është pikërisht ajo për të cilën ne përpiqemi në serverët tanë, dhe kjo na duhet për një krahasim të drejtë. Dy grafikët më poshtë tregojnë numrin e kërkesave të përpunuara nga një bërthamë CPU dhe të gjitha bërthamat në nivelin e serverit.

Cloudflare zgjedh procesorë nga AMD për serverët e brezit të dhjetë
Kërkesat për bërthamë

Cloudflare zgjedh procesorë nga AMD për serverët e brezit të dhjetë
Kërkesat në server

Mund të shihet se mesatarisht AMD përpunon 23% më shumë kërkesa. Aspak keq! Ne kemi shkruar shpesh në blogun tonë për mënyrat për të rritur performancën e Gen 9. Dhe tani kemi të njëjtin numër bërthamash, por AMD bën më shumë punë me më pak energji. Është menjëherë e qartë nga specifikimet për numrin e bërthamave dhe TDP se AMD siguron shpejtësi më të madhe me efikasitet më të madh të energjisë.

Por siç e kemi përmendur tashmë, TDP nuk është një specifikim standard dhe nuk është i njëjtë për të gjithë prodhuesit, kështu që le të shohim përdorimin aktual të energjisë. Duke matur konsumin e energjisë së serverit paralelisht me numrin e kërkesave për sekondë, kemi marrë grafikun e mëposhtëm:

Cloudflare zgjedh procesorë nga AMD për serverët e brezit të dhjetë

Bazuar në kërkesat për sekondë për vat të shpenzuar, serverët Gen X që funksionojnë në procesorë AMD janë 28% më efikas. Mund të pritet më shumë, duke pasur parasysh se TDP e AMD është 25% më e ulët, por duhet mbajtur mend se TDP është një karakteristikë e paqartë. Ne kemi parë se konsumi aktual i energjisë i AMD është pothuajse identik me TDP-në e deklaruar në frekuenca shumë më të larta se baza; Intel nuk e ka atë. Kjo është një arsye tjetër pse TDP nuk është një vlerësim i besueshëm i konsumit të energjisë. CPU-të nga Intel në serverët tanë Gen 9 janë të integruar në një sistem me shumë nyje, ndërsa CPU-të nga AMD funksionojnë në serverët standardë të faktorit të formës 1U. Kjo nuk është në favor të AMD, pasi serverët me shumë nyje duhet të ofrojnë densitet më të madh me më pak konsum të energjisë për nyje, por AMD gjithsesi ka kaluar Intel për sa i përket konsumit të energjisë për nyje.

Në shumicën e krahasimeve në të gjitha specifikat, simulimet e testimit dhe performancën në botën reale, konfigurimi 1P AMD EPYC 7642 performoi dukshëm më mirë se 2P Intel Xeon 6162. Në disa kushte, AMD mund të performojë deri në 36% më mirë dhe ne besojmë se duke optimizuar harduer dhe softuer, ne mund ta arrijmë këtë përmirësim në mënyrë të vazhdueshme.

Rezulton se AMD fitoi.

Grafikët shtesë tregojnë vonesën mesatare dhe vonesën p99 që funksionon NGINX gjatë një periudhe 24-orëshe. Mesatarisht, proceset në AMD u zhvilluan 25% më shpejt. Në p99 funksionon 20-50% më shpejt në varësi të orës së ditës.

Përfundim

Inxhinierët Hardware dhe Performance të Cloudflare bëjnë një sasi të konsiderueshme testimi dhe kërkimi për të përcaktuar konfigurimin më të mirë të serverit për klientët tanë. Ne na pëlqen të punojmë këtu sepse mund të zgjidhim probleme të mëdha si këto dhe mund t'ju ndihmojmë t'i zgjidhni problemet tuaja me shërbime të tilla si kompjuteri pa server dhe një sërë zgjidhjesh sigurie si Magic Transit, Argo Tunnel dhe mbrojtja DDoS. . Të gjithë serverët në rrjetin Cloudflare janë konfiguruar që të funksionojnë me besueshmëri dhe ne gjithmonë përpiqemi ta bëjmë çdo gjeneratë tjetër të serverëve më të mirë se ai i mëparshmi. Ne besojmë se AMD EPYC 7642 është përgjigjja kur bëhet fjalë për procesorët Gen X.

Duke përdorur Cloudflare Workers, zhvilluesit vendosin aplikacionet e tyre në rrjetin tonë në zgjerim në mbarë botën. Ne jemi krenarë që i lejojmë klientët tanë të përqendrohen në shkrimin e kodit ndërsa ne fokusohemi te siguria dhe besueshmëria në re. Dhe sot ne jemi edhe më të kënaqur të njoftojmë se puna e tyre do të vendoset në serverët tanë të gjeneratës X të gjeneratës që përdorin procesorë të gjeneratës së dytë AMD EPYC.

Cloudflare zgjedh procesorë nga AMD për serverët e brezit të dhjetë
Procesorët EPYC 7642, emri i koduar "Rome" [Romë]

Duke përdorur EPYC 7642 të AMD, ne mundëm të rrisnim performancën tonë dhe ta bënim më të lehtë zgjerimin e rrjetit tonë në qytete të reja. Roma nuk u ndërtua brenda një dite, por së shpejti do të jetë më afër shumë prej jush.

Në dy vitet e fundit ne kemi eksperimentuar me shumë çipa x86 nga Intel dhe AMD, si dhe procesorë nga ARM. Ne presim që këta prodhues CPU të vazhdojnë të punojnë me ne në të ardhmen, në mënyrë që të gjithë të mund të ndërtojmë një internet më të mirë së bashku.

Burimi: www.habr.com

Shto një koment