Cloudflare valib kümnenda põlvkonna servaserverite jaoks AMD protsessorid

Cloudflare valib kümnenda põlvkonna servaserverite jaoks AMD protsessorid

Cloudflare'i võrku läbib iga päev enam kui miljard unikaalset IP-aadressi; see teenindab rohkem kui 11 miljonit HTTP-päringut sekundis; ta on 100 ms raadiuses 95% Interneti elanikkonnast. Meie võrgustik hõlmab 200 linna enam kui 90 riigis ning meie inseneride meeskond on loonud ülikiire ja töökindla infrastruktuuri.

Oleme oma töö üle väga uhked ja oleme pühendunud Interneti paremaks ja turvalisemaks muutmisele. Cloudflare'i riistvarainseneridel on sügav arusaam serveritest ja nende komponentidest, et mõista ja valida parim riistvara selle jõudluse maksimeerimiseks.

Meie tarkvarapinn tegeleb suure koormusega andmetöötlusega ja sõltub suuresti protsessorist, mistõttu peavad meie insenerid pidevalt optimeerima Cloudflare'i tõhusust ja töökindlust pinu igal tasemel. Serveri poolel on töötlemisvõimsuse suurendamiseks kõige lihtsam viis CPU tuumade lisamine. Mida rohkem südamikke serverisse mahub, seda rohkem andmeid suudab see töödelda. See on meie jaoks oluline, sest meie toodete ja klientide mitmekesisus aja jooksul kasvab ning päringute kasv nõuab serveritelt suuremat jõudlust. Nende jõudluse suurendamiseks pidime suurendama südamike tihedust – ja see on täpselt see, mida me saavutasime. Allpool pakume üksikasjalikke andmeid alates 2015. aastast juurutatud serverite protsessorite kohta, sealhulgas tuumade arvu kohta:

-
Gen 6
Gen 7
Gen 8
Gen 9

Alustamine
2015
2016
2017
2018

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

Füüsilised tuumad
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 tuuma kohta
10.65W
8.50W
7.08W
6.25W

2018. aastal tegime Gen 9-ga suure hüppe tuumade koguarvus serveri kohta. Keskkonnamõju on võrreldes 33. põlvkonnaga vähenenud 8%, mis annab meile võimaluse suurendada mahtu ja arvutusvõimsust riiuli kohta. Soojuse hajumise projekteerimisnõuded (Kujundusjõud, TDP) on mainitud, et rõhutada, et ka meie energiatõhusus on aja jooksul suurenenud. See näitaja on meie jaoks oluline: esiteks tahame atmosfääri paisata vähem süsinikku; teiseks tahame andmekeskustest saadavat energiat kõige paremini ära kasutada. Kuid me teame, et meil on, mille poole püüelda.

Meie peamine määrav mõõdik on taotluste arv vatti kohta. Tuumade lisamisega saame taotluste arvu sekundis suurendada, kuid peame jääma oma energiaeelarve piiresse. Meid piirab andmekeskuse toiteinfrastruktuur, mis koos meie valitud toitejaotusmoodulitega annab meile iga serveririiuli jaoks teatud ülempiiri. Serverite lisamine riiulile suurendab energiatarbimist. Kasutuskulud suurenevad oluliselt, kui ületame ühe riiuli energiapiirangu ja peame lisama uusi riiulid. Peame suurendama töötlemisvõimsust, jäädes samas energiatarbimise vahemikku, mis suurendab taotlusi vati kohta, mis on meie peamine mõõdik.

Nagu võis arvata, uurisime projekteerimisetapis hoolikalt energiatarbimist. Ülaltoodud tabel näitab, et me ei tohiks raisata aega energianäljamate protsessorite kasutuselevõtule, kui TDP tuuma kohta on suurem kui praegusel põlvkonnal – see mõjutab negatiivselt meie mõõdikut, taotlusi vati kohta. Uurisime hoolikalt meie põlvkonna X turul olevaid töövalmis süsteeme ja tegime otsuse. Liigume oma 48-tuumalise Intel Xeon Platinum 6162 kahe pesaga disainilt 48-tuumalisele AMD EPYC 7642 ühe pesaga disainile.

Cloudflare valib kümnenda põlvkonna servaserverite jaoks AMD protsessorid

-
Intel
AMD

Protsessor
Xeon Platinum 6162
EPYC 7642

mikroarhitektuur
"Skylake"
„Zen 2”

Koodnimi
"Skylake SP"
"Rooma"

Tehniline protsess
14nm
7nm

südamikud
2 x 24
48

Sagedus
1.9 GHz
2.4 GHz

L3 Vahemälu/pesa
24 x 1.375 MiB
16 x 16 MiB

Mälu/pesa
6 kanalit, kuni DDR4-2400
8 kanalit, kuni DDR4-3200

TDP
2 x 150W
225W

PCIe/pistikupesa
48 rada
128 rada

ISA
x86-64
x86-64

Spetsifikatsioonidest on selge, et AMD kiip võimaldab meil säilitada sama arvu südamikke, vähendades samal ajal TDP-d. 9. põlvkonna TDP tuuma kohta oli 6,25 W ja X põlvkonnal 4,69 W. Vähendatud 25%. Tänu suurenenud sagedusele ja võib-olla ka lihtsamale ühe pesaga disainile võib eeldada, et AMD kiip töötab praktikas paremini. Praegu käitame erinevaid teste ja simulatsioone, et näha, kui palju paremini AMD toimib.

Praegu paneme tähele, et TDP on tootja spetsifikatsioonidest lähtuv lihtsustatud mõõdik, mida kasutasime serveri disaini ja protsessori valimise algfaasis. Kiire Google'i otsing näitab, et AMD-l ja Intelil on TDP määratlemisel erinevad lähenemisviisid, mis muudab spetsifikatsiooni ebausaldusväärseks. Tegelik protsessori energiatarve ja mis veelgi olulisem serveri energiatarve on see, mida me oma lõpliku otsuse tegemisel tegelikult kasutame.

Ökosüsteemi valmisolek

Järgmise protsessori valimise alustamiseks vaatasime läbi laia valikut erinevate tootjate protsessoreid, mis sobisid hästi meie tarkvaravirna ja teenustega (kirjutatud C, LuaJIT ja Go keeles). Oleme juba üksikasjalikult kirjeldanud tööriistade komplekti kiiruse mõõtmiseks ühes meie ajaveebi artiklis. Sel juhul kasutasime sama komplekti – see võimaldab meil mõistliku aja jooksul hinnata protsessori efektiivsust, misjärel saavad meie insenerid hakata meie programme konkreetse protsessoriga kohandama.

Testisime erinevaid protsessoreid erinevate tuumade, pistikupesade arvu ja sagedustega. Kuna see artikkel räägib sellest, miks me AMD EPYC 7642 kasuks otsustasime, keskenduvad kõik selle ajaveebi graafikud sellele, kuidas AMD protsessorid toimivad võrreldes Intel Xeon Platinum 6162-ga. meie 9. põlvkond.

Tulemused vastavad ühe serveri mõõtmistele iga protsessorivariandiga – see tähendab kahe 24-tuumalise Inteli protsessoriga või ühe AMD 48-tuumalise protsessoriga (server Intelile kahe pesaga ja server AMD EPYC jaoks ühega). BIOS-is määrame töötavatele serveritele vastavad parameetrid. See on AMD jaoks 3,03 GHz ja Inteli jaoks 2,5 GHz. Oluliselt lihtsustades eeldame, et sama tuumade arvuga töötab AMD 21% paremini kui Intel.

Krüptograafia

Cloudflare valib kümnenda põlvkonna servaserverite jaoks AMD protsessorid

Cloudflare valib kümnenda põlvkonna servaserverite jaoks AMD protsessorid

Paistab AMD jaoks paljulubav. See toimib avaliku võtmega krüptograafias 18% paremini. Sümmeetrilise võtmega kaotab see AES-128-GCM krüpteerimisvalikute puhul, kuid üldiselt toimib see võrreldavalt.

kokkusurumine

Ääreserverites tihendame ribalaiuse säästmiseks ja sisu edastamise kiiruse suurendamiseks palju andmeid. Edastame andmed läbi C-teekide zlib ja brotli. Kõik testid viidi läbi mälus olevas HTML-failis blog.cloudflare.com.

Cloudflare valib kümnenda põlvkonna servaserverite jaoks AMD protsessorid

Cloudflare valib kümnenda põlvkonna servaserverite jaoks AMD protsessorid

AMD võitis gzipi kasutamisel keskmiselt 29%. Brotli puhul on tulemused veelgi paremad testides, mille kvaliteet on 7, mida kasutame dünaamilise tihendamise jaoks. Brotli-9 testis on järsk langus - seletame seda asjaoluga, et Brotli tarbib palju mälu ja ajab vahemälu üle. AMD võidab siiski suure ülekaaluga.

Paljud meie teenused on kirjutatud Go keeles. Järgmistel graafikutel kontrollime stringide teeki kasutades veel kord Go with RegExpi krüptograafia ja tihendamise kiirust 32 KB ridadel.

Mine krüptograafiasse

Cloudflare valib kümnenda põlvkonna servaserverite jaoks AMD protsessorid

Mine tihendamine

Cloudflare valib kümnenda põlvkonna servaserverite jaoks AMD protsessorid

Cloudflare valib kümnenda põlvkonna servaserverite jaoks AMD protsessorid

Mine Regexp

Cloudflare valib kümnenda põlvkonna servaserverite jaoks AMD protsessorid

Cloudflare valib kümnenda põlvkonna servaserverite jaoks AMD protsessorid

Go Strings

Cloudflare valib kümnenda põlvkonna servaserverite jaoks AMD protsessorid

AMD toimib kõigis Go-ga testides paremini, välja arvatud ECDSA P256 Sign, kus see oli 38% maha jäänud – mis on kummaline, arvestades, et see toimis C-s 24% paremini. Tasub välja mõelda, mis seal toimub. Üldiselt AMD ei võida palju, kuid näitab siiski parimaid tulemusi.

LuaJIT

Sageli kasutame virnas LuaJIT-i. See on liim, mis hoiab kõiki Cloudflare'i osi koos. Ja meil on hea meel, et AMD ka siin võitis.

Kokkuvõttes näitavad testid, et EPYC 7642 toimib paremini kui kaks Xeon Platinum 6162. AMD kaotab paaris testis – näiteks AES-128-GCM ja Go OpenSSL ECDSA-P256 Sign –, kuid võidab kõik teised, keskmiselt 25% ulatuses.

Töökoormuse simulatsioon

Pärast meie kiirteste käivitasime serverid läbi teise simulatsioonikomplekti, milles tarkvara servavirnale rakendatakse sünteetilist koormust. Siin simuleerime stsenaariumi töökoormust erinevat tüüpi päringutega, mida võib tegelikus töös kohata. Taotlused erinevad andmemahu, HTTP- või HTTPS-protokollide, WAF-i allikate, töötajate ja muude paljude muutujate poolest. Allpool on toodud kahe protsessori läbilaskevõime võrdlus seda tüüpi päringute jaoks, mida me kõige sagedamini kohtame.

Cloudflare valib kümnenda põlvkonna servaserverite jaoks AMD protsessorid

Diagrammi tulemusi mõõdetakse 9. põlvkonna Inteli põhiste masinate baastasemega, mis on normaliseeritud x-teljel väärtuseni 1,0. Näiteks kui võtta lihtsaid 10 KiB päringuid üle HTTPS-i, näeme, et AMD teeb taotlusi sekundis 1,5 korda paremini kui Intel. Keskmiselt toimis AMD nendes testides 34% paremini kui Intel. Arvestades, et ühe AMD EPYC 7642 TDP on 225 W ja kahe Inteli protsessori puhul 300 W, selgub, et taotluste vatti kohta näitab AMD 2 korda paremaid tulemusi kui Intel!

Sel hetkel kaldusime juba selgelt ühe pesa valiku poole AMD EPYC 7642 kui meie tulevaste Gen X protsessorite jaoks. Olime väga huvitatud sellest, kuidas AMD EPYC serverid reaalses töös toimivad, ja saatsime kohe mitu serveritele mõnele andmekeskustest.

Päris töö

Esimene samm oli loomulikult serverite ettevalmistamine tööks reaalsetes tingimustes. Kõik meie masinapargi masinad töötavad samade protsesside ja teenustega, mis annab suurepärase võimaluse jõudlust õigesti võrrelda. Nagu enamikus andmekeskustes, on ka meil juurutatud mitu põlvkonda servereid ja me koondame oma serverid klastritesse, nii et iga klass sisaldab ligikaudu samade põlvkondade servereid. Mõnel juhul võivad selle tulemuseks olla ringlussevõtu kõverad, mis klastrite lõikes erinevad. Aga mitte meiega. Meie insenerid on optimeerinud protsessori kasutust kõikide põlvkondade jaoks, nii et olenemata sellest, kas konkreetse masina protsessoril on 8 või 24 tuuma, on protsessori kasutus üldiselt sama, mis ülejäänud.

Cloudflare valib kümnenda põlvkonna servaserverite jaoks AMD protsessorid

Graafik illustreerib meie kommentaari kasutuse sarnasuse kohta – AMD protsessorite kasutamisel Gen X põlvkonna serverites ja Inteli protsessorite kasutamisel Gen 9 põlvkonna serverites pole olulist erinevust. See tähendab, et nii test- kui ka baasserverid on võrdselt koormatud . Suurepärane. See on täpselt see, mille poole me oma serverites püüdleme ja vajame seda õiglase võrdluse jaoks. Kaks allolevat graafikut näitavad ühe CPU-tuuma ja kõigi serveritasandi tuumade poolt töödeldud päringute arvu.

Cloudflare valib kümnenda põlvkonna servaserverite jaoks AMD protsessorid
Taotlused tuuma kohta

Cloudflare valib kümnenda põlvkonna servaserverite jaoks AMD protsessorid
Taotlused serverile

On näha, et AMD töötleb keskmiselt 23% rohkem päringuid. Pole üldse paha! Oleme sageli kirjutanud oma ajaveebis Gen 9 jõudluse suurendamise viisidest. Nüüd on meil sama arv südamikke, kuid AMD teeb rohkem tööd väiksema võimsusega. Tuumade arvu ja TDP spetsifikatsioonidest on kohe selge, et AMD tagab suurema kiiruse ja suurema energiatõhususe.

Kuid nagu me juba mainisime, ei ole TDP standardne spetsifikatsioon ja see pole kõigi tootjate jaoks sama, seega vaatame tegelikku energiakasutust. Mõõtes serveri energiatarbimist paralleelselt päringute arvuga sekundis, saime järgmise graafiku:

Cloudflare valib kümnenda põlvkonna servaserverite jaoks AMD protsessorid

Arvestades taotlusi sekundis kulutatud vati kohta, on AMD protsessoritel töötavad Gen X serverid 28% tõhusamad. Arvestades, et AMD TDP on 25% madalam, võiks oodata rohkem, kuid tuleb meeles pidada, et TDP on mitmetähenduslik omadus. Oleme näinud, et AMD tegelik energiatarve on peaaegu identne märgitud TDP-ga baassagedusest palju kõrgematel sagedustel; Intelil seda pole. See on veel üks põhjus, miks TDP ei ole usaldusväärne energiatarbimise hinnang. Inteli protsessorid meie Gen 9 serverites on integreeritud mitme sõlmega süsteemi, samas kui AMD protsessorid töötavad standardsetes 1U vormiteguri serverites. See ei ole AMD kasuks, kuna mitme sõlmega serverid peaksid pakkuma suuremat tihedust väiksema energiatarbimisega sõlme kohta, kuid AMD edestas Inteli siiski sõlme võimsuse tarbimise osas.

Enamikus spetsifikatsioonide, testsimulatsioonide ja reaalse jõudluse võrdlustes toimis 1P AMD EPYC 7642 konfiguratsioon oluliselt paremini kui 2P Intel Xeon 6162. Mõnes olukorras suudab AMD toimida kuni 36% paremini ja me usume, et optimeerides. riist- ja tarkvara, suudame seda täiustust pidevalt saavutada.

Selgus, et AMD võitis.

Täiendavad graafikud näitavad keskmist latentsust ja p99 latentsust NGINX-i käivitamisel 24-tunnise perioodi jooksul. Keskmiselt töötasid AMD protsessid 25% kiiremini. P99 peal töötab see olenevalt kellaajast 20-50% kiiremini.

Järeldus

Cloudflare'i riistvara- ja jõudlusinsenerid teevad märkimisväärsel hulgal katsetusi ja uuringuid, et teha kindlaks meie klientide jaoks parim serverikonfiguratsioon. Meile meeldib siin töötada, sest suudame selliseid suuri probleeme lahendada ja saame aidata teil probleeme lahendada selliste teenustega nagu serverita servaarvutus ja mitmesugused turvalahendused, nagu Magic Transit, Argo Tunnel ja DDoS-kaitse. Kõik Cloudflare'i võrgu serverid on konfigureeritud töötama usaldusväärselt ja me püüame alati iga järgmise põlvkonna serverit eelmisest paremaks muuta. Usume, et AMD EPYC 7642 on vastus, kui tegemist on Gen X protsessoritega.

Cloudflare Workersi abil juurutavad arendajad oma rakendused meie laienevas võrgus üle maailma. Oleme uhked, et laseme oma klientidel keskenduda koodi kirjutamisele, samal ajal kui meie keskendume pilve turvalisusele ja töökindlusele. Ja täna on meil veelgi suurem rõõm teatada, et nende tööd rakendatakse meie Gen X põlvkonna serverites, mis töötavad teise põlvkonna AMD EPYC protsessoritega.

Cloudflare valib kümnenda põlvkonna servaserverite jaoks AMD protsessorid
EPYC 7642 protsessorid, koodnimi "Rooma" [Rooma]

Kasutades AMD EPYC 7642, suutsime suurendada oma jõudlust ja hõlbustada oma võrgu laiendamist uutesse linnadesse. Roomat ei ehitatud ühe päevaga, kuid see on peagi paljudele teist lähemal.

Viimase paari aasta jooksul oleme katsetanud paljude Inteli ja AMD x86 kiipidega, aga ka ARM-i protsessoritega. Loodame, et need protsessoritootjad jätkavad meiega koostööd ka tulevikus, et saaksime kõik koos paremat Internetti luua.

Allikas: www.habr.com

Lisa kommentaar