Cloudflare valitsee AMD:n prosessorit kymmenennen sukupolven reunapalvelimiin

Cloudflare valitsee AMD:n prosessorit kymmenennen sukupolven reunapalvelimiin

Yli miljardi yksilöllistä IP-osoitetta kulkee Cloudflare-verkon läpi päivittäin; se palvelee yli 11 miljoonaa HTTP-pyyntöä sekunnissa; hän on 100 ms etäisyydellä 95 prosentista Internetin väestöstä. Verkostomme kattaa 200 kaupunkia yli 90 maassa, ja insinööritiimimme on rakentanut erittäin nopean ja luotettavan infrastruktuurin.

Olemme erittäin ylpeitä työstämme ja olemme sitoutuneet tekemään Internetistä paremman ja turvallisemman paikan. Cloudflaren laitteistosuunnittelijoilla on syvä ymmärrys palvelimista ja niiden komponenteista ymmärtääkseen ja valitakseen parhaan laitteiston suorituskyvyn maksimoimiseksi.

Ohjelmistopinomme käsittelee suuren kuormituksen laskentaa ja on erittäin riippuvainen suorittimesta, mikä edellyttää, että insinöörimme optimoivat jatkuvasti Cloudflaren tehokkuutta ja luotettavuutta pinon kaikilla tasoilla. Palvelinpuolella helpoin tapa lisätä prosessointitehoa on lisätä CPU-ytimiä. Mitä enemmän ytimiä palvelimeen mahtuu, sitä enemmän dataa se pystyy käsittelemään. Tämä on meille tärkeää, koska tuotteidemme ja asiakkaidemme valikoima kasvaa ajan myötä ja pyyntöjen kasvu edellyttää palvelimilta parempaa suorituskykyä. Niiden suorituskyvyn parantamiseksi meidän täytyi lisätä ytimien tiheyttä - ja tämä on juuri se, mitä saavutimme. Alla annamme yksityiskohtaisia ​​tietoja vuodesta 2015 lähtien käyttämiemme palvelimien prosessoreista, mukaan lukien ytimien lukumäärä:

-
Gen 6
Gen 7
Gen 8
Gen 9

Aloittaminen
2015
2016
2017
2018

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

Fyysiset ytimet
X 2 8
X 2 10
X 2 12
X 2 24

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

TDP per ydin
10.65W
8.50W
7.08W
6.25W

Vuonna 2018 teimme suuren harppauksen ytimien kokonaismäärässä palvelinta kohti Gen 9:n avulla. Ympäristövaikutuksia on vähennetty 33 % verrattuna 8. sukupolveen, mikä antaa meille mahdollisuuden lisätä volyymia ja laskentatehoa telinettä kohti. Lämmönpoiston suunnitteluvaatimukset (Lämpösuunnitteluvoima, TDP) mainitaan korostaakseen, että myös energiatehokkuutemme on parantunut ajan myötä. Tämä indikaattori on meille tärkeä: ensinnäkin haluamme päästää vähemmän hiiltä ilmakehään; toiseksi haluamme käyttää palvelinkeskusten energiaa parhaalla mahdollisella tavalla. Mutta tiedämme, että meillä on jotain, mihin pyrkiä.

Tärkein määrittävä mittarimme on pyyntöjen määrä wattia kohden. Voimme lisätä pyyntöjen määrää sekunnissa lisäämällä ytimiä, mutta meidän on pysyttävä tehobudjettimme rajoissa. Meitä rajoittaa konesalin tehoinfrastruktuuri, joka yhdessä valittujen virranjakelumoduuliemme kanssa antaa meille tietyn ylärajan jokaiselle palvelintelineelle. Palvelimien lisääminen telineeseen lisää virrankulutusta. Käyttökustannukset nousevat merkittävästi, jos ylitämme räkkikohtaisen energiarajan ja joudumme lisäämään uusia telineitä. Meidän on lisättävä prosessointitehoa ja pysyttävä samalla virrankulutusalueella, mikä lisää pyyntöjä wattia kohden, mikä on keskeinen mittarimme.

Kuten arvata saattaa, tutkimme energiankulutusta huolellisesti suunnitteluvaiheessa. Yllä oleva taulukko osoittaa, että meidän ei pitäisi tuhlata aikaa enemmän energiaa kuluttavien suoritinten käyttöön, jos TDP ydintä kohti on korkeampi kuin nykyisen sukupolven – tämä vaikuttaa negatiivisesti mittariimme, pyyntöihin wattia kohden. Tutkimme huolellisesti markkinoilla olevia X-sukupolvemme käyttövalmiita järjestelmiä ja teimme päätöksen. Olemme siirtymässä 48-ytimestä Intel Xeon Platinum 6162 -kaksikantasuunnittelustamme 48-ytimiseen yksikantaiseen AMD EPYC 7642 -malliin.

Cloudflare valitsee AMD:n prosessorit kymmenennen sukupolven reunapalvelimiin

-
Intel
AMD

prosessori
Xeon Platinum 6162
EPYC 7642

mikroarkkitehtuuri
"Skylake"
"Zen 2"

Koodinimi
“Skylake SP”
"Rooma"

Tekninen prosessi
14nm
7nm

ytimet
X 2 24
48

taajuus
1.9 GHz
2.4 GHz

L3 Välimuisti/pistoke
24 x 1.375 MiB
16 x 16 MiB

Muisti/pistoke
6 kanavaa, DDR4-2400 asti
8 kanavaa, DDR4-3200 asti

TDP
2 x 150W
225W

PCIe/pistoke
48 kaistaa
128 kaistaa

ISA
x86-64
x86-64

Teknisistä tiedoista on selvää, että AMD:n siru antaa meille mahdollisuuden säilyttää sama määrä ytimiä samalla kun TDP:tä lasketaan. Yhdeksännen sukupolven TDP ydintä kohti oli 9 W ja X:nnen sukupolven 6,25 W. Alennettu 4,69 %. Lisääntyneen taajuuden ja kenties yksinkertaisemman, yhdellä pistokkeella varustetun suunnittelun ansiosta voidaan olettaa, että AMD-siru toimii paremmin käytännössä. Käynnissämme on tällä hetkellä erilaisia ​​testejä ja simulaatioita nähdäksemme, kuinka paljon paremmin AMD pärjää.

Toistaiseksi huomioidaan, että TDP on valmistajan spesifikaatioista yksinkertaistettu mittari, jota käytimme palvelimen suunnittelun ja prosessorin valinnan alkuvaiheessa. Nopea Google-haku paljastaa, että AMD:llä ja Intelillä on erilaisia ​​lähestymistapoja TDP:n määrittämiseen, mikä tekee määrityksestä epäluotettavan. Todellinen suorittimen virrankulutus ja mikä tärkeintä palvelimen virrankulutus on se, mitä todella käytämme tehdessämme lopullista päätöstä.

Ekosysteemin valmius

Aloitaksemme matkamme seuraavan prosessorimme valitsemiseen tarkastelimme laajaa valikoimaa eri valmistajien suorittimia, jotka sopivat hyvin ohjelmistopinoihimme ja palveluihimme (kirjoitettu C-, LuaJIT- ja Go-kielillä). Olemme jo kuvanneet yksityiskohtaisesti joukon työkaluja nopeuden mittaamiseen yhdessä blogiartikkeleistamme. Tässä tapauksessa käytimme samaa sarjaa - sen avulla voimme arvioida suorittimen tehokkuutta kohtuullisessa ajassa, minkä jälkeen insinöörimme voivat alkaa mukauttaa ohjelmiamme tiettyyn prosessoriin.

Testasimme erilaisia ​​prosessoreita erilaisilla ydinmäärillä, pistorasiamäärillä ja taajuuksilla. Koska tämä artikkeli käsittelee sitä, miksi päädyimme AMD EPYC 7642:een, kaikki tämän blogin kaaviot keskittyvät AMD-prosessorien suorituskykyyn verrattuna Intel Xeon Platinum 6162 -prosessoriin. meidän 9. sukupolvemme.

Tulokset vastaavat yksittäisen palvelimen mittauksia kussakin prosessoriversiossa - eli kahdella 24-ytimisellä Intelin prosessorilla tai yhdellä AMD:n 48-ytimisellä prosessorilla (Intelin palvelin kahdella kantavalla ja palvelin AMD EPYC:llä yhdellä) . BIOSissa asetamme käynnissä olevia palvelimia vastaavat parametrit. Tämä on 3,03 GHz AMD:lle ja 2,5 GHz Intelille. Yksinkertaistaen huomattavasti, odotamme, että samalla määrällä ytimiä AMD toimii 21 % paremmin kuin Intel.

kryptografia

Cloudflare valitsee AMD:n prosessorit kymmenennen sukupolven reunapalvelimiin

Cloudflare valitsee AMD:n prosessorit kymmenennen sukupolven reunapalvelimiin

Näyttää lupaavalta AMD:lle. Se toimii 18 % paremmin julkisen avaimen salakirjoituksessa. Symmetrisellä avaimella se häviää AES-128-GCM-salausvaihtoehdoissa, mutta kaiken kaikkiaan toimii vertailukelpoisesti.

puristus

Reunapalvelimilla pakkaamme paljon tietoa säästääksemme kaistanleveyttä ja lisätäksemme sisällön toimitusnopeutta. Välitämme tiedot C-kirjastojen zlib ja brotli kautta. Kaikki testit suoritettiin muistissa olevalla blog.cloudflare.com HTML-tiedostolla.

Cloudflare valitsee AMD:n prosessorit kymmenennen sukupolven reunapalvelimiin

Cloudflare valitsee AMD:n prosessorit kymmenennen sukupolven reunapalvelimiin

AMD voitti keskimäärin 29 % käytettäessä gzipiä. Brotlin tapauksessa tulokset ovat vielä parempia testeissä, joiden laatu on 7, jota käytämme dynaamiseen pakkaamiseen. Brotli-9-testissä on jyrkkä pudotus - selitämme tämän sillä, että Brotli kuluttaa paljon muistia ja ylitäyttää välimuistin. AMD voittaa kuitenkin suurella erolla.

Monet palveluistamme on kirjoitettu Go-kielellä. Seuraavissa kaavioissa tarkistamme Go with RegExp:n salauksen ja pakkausnopeuden 32 kt:n riveillä käyttämällä merkkijonokirjastoa.

Mene kryptografiaan

Cloudflare valitsee AMD:n prosessorit kymmenennen sukupolven reunapalvelimiin

Siirry Kompressioon

Cloudflare valitsee AMD:n prosessorit kymmenennen sukupolven reunapalvelimiin

Cloudflare valitsee AMD:n prosessorit kymmenennen sukupolven reunapalvelimiin

Mene Regexp

Cloudflare valitsee AMD:n prosessorit kymmenennen sukupolven reunapalvelimiin

Cloudflare valitsee AMD:n prosessorit kymmenennen sukupolven reunapalvelimiin

Go Strings

Cloudflare valitsee AMD:n prosessorit kymmenennen sukupolven reunapalvelimiin

AMD suoriutuu paremmin kaikissa Go-testeissä paitsi ECDSA P256 Sign, jossa se oli 38% jäljessä - mikä on outoa, kun otetaan huomioon, että se suoriutui 24% paremmin C:ssä. Kannattaa ottaa selvää mitä siellä tapahtuu. Kaiken kaikkiaan AMD ei voita paljon, mutta näyttää silti parhaat tulokset.

LuaJIT

Käytämme pinossa usein LuaJITiä. Tämä on liima, joka pitää kaikki Cloudflaren osat yhdessä. Ja olemme iloisia, että AMD voitti myös täällä.

Kaiken kaikkiaan testit osoittavat, että EPYC 7642 toimii paremmin kuin kaksi Xeon Platinum 6162:ta. AMD häviää parissa testissä - esimerkiksi AES-128-GCM ja Go OpenSSL ECDSA-P256 Sign - mutta voittaa kaikki muut keskimäärin. 25 %:sta.

Työkuorman simulointi

Pikatestien jälkeen suoritimme palvelimet toisen simulaatiosarjan läpi, jossa ohjelmiston reunapinoon kohdistetaan synteettinen kuormitus. Tässä simuloimme skenaariotyökuormaa erityyppisillä pyynnöillä, joita voidaan kohdata todellisessa työssä. Pyynnöt vaihtelevat tietomäärän, HTTP- tai HTTPS-protokollien, WAF-lähteiden, työntekijöiden ja muiden monien muuttujien osalta. Alla on vertailu kahden suorittimen suorituskyvystä useimmin kohtaamiemme pyyntötyyppien mukaan.

Cloudflare valitsee AMD:n prosessorit kymmenennen sukupolven reunapalvelimiin

Kaavion tulokset on mitattu yhdeksännen sukupolven Intel-pohjaisten koneiden perusviivaa vasten, normalisoituna arvoon 9 x-akselilla. Esimerkiksi ottamalla yksinkertaisia ​​1,0 KiB:n pyyntöjä HTTPS:n kautta voimme nähdä, että AMD pärjää 10 kertaa paremmin kuin Intel pyyntöjen sekunnissa mitattuna. AMD suoriutui näissä testeissä keskimäärin 1,5 % paremmin kuin Intel. Kun otetaan huomioon, että yhden AMD EPYC 34:n TDP on 7642 W ja kahdella Intel-prosessorilla 225 W, käy ilmi, että "pyyntöjä wattia kohden" mitattuna AMD näyttää kaksi kertaa parempia tuloksia kuin Intel!

Tässä vaiheessa kallistuimme jo selvästi AMD EPYC 7642:n yksikantaiseen vaihtoehtoon tulevina Gen X -prosessoreinamme. Olimme erittäin kiinnostuneita näkemään, kuinka AMD EPYC -palvelimet pärjäävät tosielämässä, ja lähetimme heti useita palvelimia joihinkin tietokeskuksista.

Todellista työtä

Ensimmäinen askel oli luonnollisesti palvelimien valmisteleminen todellisiin töihin. Kaikki kalustomme koneet toimivat samoilla prosesseilla ja palveluilla, mikä tarjoaa erinomaisen mahdollisuuden verrata suorituskykyä oikein. Kuten useimmat palvelinkeskukset, meillä on käytössä useita palvelimien sukupolvia, ja kokoamme palvelimemme klusteriin, jotta jokainen luokka sisältää suunnilleen saman sukupolven palvelimia. Joissakin tapauksissa tämä voi johtaa kierrätyskäyriin, jotka eroavat klustereiden välillä. Mutta ei meidän kanssamme. Suunnittelijamme ovat optimoineet suorittimen käytön kaikille sukupolville siten, että riippumatta siitä, onko tietyn koneen suorittimessa 8 vai 24 ydintä, suorittimen käyttöaste on yleensä sama kuin muillakin.

Cloudflare valitsee AMD:n prosessorit kymmenennen sukupolven reunapalvelimiin

Kaavio havainnollistaa kommenttiamme käytön samankaltaisuudesta - Gen X -sukupolven palvelimien AMD-suorittimien ja Intel-suorittimien käytön välillä Gen 9 -sukupolven palvelimissa ei ole merkittävää eroa, mikä tarkoittaa, että sekä testi- että peruspalvelimet kuormitetaan tasaisesti . Loistava. Juuri tähän pyrimme palvelimillamme, ja tarvitsemme tätä reilun vertailun vuoksi. Alla olevat kaksi kaaviota osoittavat yhden CPU-ytimen ja kaikkien palvelintason ytimien käsittelemien pyyntöjen määrän.

Cloudflare valitsee AMD:n prosessorit kymmenennen sukupolven reunapalvelimiin
Pyynnöt per ydin

Cloudflare valitsee AMD:n prosessorit kymmenennen sukupolven reunapalvelimiin
Pyynnöt palvelimelle

Voidaan nähdä, että AMD käsittelee keskimäärin 23% enemmän pyyntöjä. Ei huonommin! Olemme usein kirjoittaneet blogissamme tavoista lisätä Gen 9:n suorituskykyä. Ja nyt meillä on sama määrä ytimiä, mutta AMD tekee enemmän työtä pienemmällä teholla. Ydinmäärää ja TDP:tä koskevista tiedoista käy heti selväksi, että AMD tarjoaa suuremman nopeuden ja paremman energiatehokkuuden.

Mutta kuten jo mainitsimme, TDP ei ole vakiospesifikaatio eikä se ole sama kaikille valmistajille, joten katsotaanpa todellista energiankäyttöä. Mittaamalla palvelimen energiankulutusta rinnakkain pyyntöjen määrän sekunnissa, saimme seuraavan käyrän:

Cloudflare valitsee AMD:n prosessorit kymmenennen sukupolven reunapalvelimiin

AMD-prosessoreilla toimivat Gen X -palvelimet ovat 28 % tehokkaampia sekuntikohtaisten pyyntöjen perusteella käytettyä wattia kohden. Voisi odottaa enemmän, koska AMD:n TDP on 25% pienempi, mutta on syytä muistaa, että TDP on moniselitteinen ominaisuus. Olemme nähneet, että AMD:n todellinen virrankulutus on lähes identtinen ilmoitettuun TDP:hen verrattuna taajuuksilla, jotka ovat paljon perusarvoa korkeammat; Intelillä ei sitä ole. Tämä on toinen syy, miksi TDP ei ole luotettava arvio energiankulutuksesta. Intelin Gen 9 -palvelimissamme olevat suorittimet on integroitu monisolmujärjestelmään, kun taas AMD:n suorittimet toimivat tavallisissa 1U-muotopalvelimissa. Tämä ei ole AMD:n eduksi, koska monisolmupalvelimien pitäisi tarjota suurempi tiheys pienemmällä virrankulutuksella solmukohtaisesti, mutta AMD ohitti silti Intelin solmukohtaisen virrankulutuksen suhteen.

Useimmissa teknisten tietojen, testisimulaatioiden ja todellisen suorituskyvyn vertailuissa 1P AMD EPYC 7642 -kokoonpano suoriutui huomattavasti paremmin kuin 2P Intel Xeon 6162. Joissain olosuhteissa AMD voi toimia jopa 36 % paremmin, ja uskomme, että optimoimalla laitteistosta ja ohjelmistosta, voimme saavuttaa tämän parannuksen jatkuvasti.

Kävi ilmi, että AMD voitti.

Lisäkaaviot näyttävät keskimääräisen latenssin ja p99-viiveen NGINX:n ajon aikana 24 tunnin aikana. AMD:n prosessit toimivat keskimäärin 25 % nopeammin. P99:llä se toimii 20-50% nopeammin vuorokaudenajasta riippuen.

Johtopäätös

Cloudflaren laitteisto- ja suorituskykyinsinöörit tekevät huomattavan määrän testausta ja tutkimusta määrittääkseen asiakkaillemme parhaan palvelinkokoonpanon. Rakastamme työskentelyä täällä, koska voimme ratkaista tällaisia ​​suuria ongelmia ja voimme auttaa sinua ratkaisemaan ongelmasi palveluilla, kuten palvelimeton reunalaskenta ja joukko tietoturvaratkaisuja, kuten Magic Transit, Argo Tunnel ja DDoS-suojaus. Kaikki Cloudflare-verkon palvelimet on määritetty toimimaan luotettavasti, ja yritämme aina tehdä jokaisesta seuraavan sukupolven palvelimista paremman kuin edellinen. Uskomme, että AMD EPYC 7642 on vastaus, kun kyse on Gen X -prosessoreista.

Cloudflare Workersin avulla kehittäjät ottavat sovelluksensa käyttöön laajentuvassa verkostossamme ympäri maailmaa. Olemme ylpeitä voidessamme antaa asiakkaidemme keskittyä koodin kirjoittamiseen samalla, kun me keskitymme turvallisuuteen ja luotettavuuteen pilvessä. Ja tänään meillä on entistä iloisempi ilmoittaa, että heidän työnsä otetaan käyttöön Gen X -sukupolven palvelimillamme, joissa on toisen sukupolven AMD EPYC -suorittimet.

Cloudflare valitsee AMD:n prosessorit kymmenennen sukupolven reunapalvelimiin
EPYC 7642 -prosessorit, koodinimi "Rome" [Rooma]

Käyttämällä AMD:n EPYC 7642:ta pystyimme parantamaan suorituskykyämme ja helpottamaan verkkomme laajentamista uusiin kaupunkeihin. Roomaa ei rakennettu päivässä, mutta se on pian lähempänä monia teistä.

Parin viime vuoden aikana olemme kokeilleet monia Intelin ja AMD:n x86-siruja sekä ARM:n prosessoreita. Odotamme näiden CPU-valmistajien jatkavan yhteistyötä kanssamme tulevaisuudessa, jotta voimme kaikki rakentaa paremman Internetin yhdessä.

Lähde: will.com

Lisää kommentti