Cloudflare huchagua wasindikaji kutoka AMD kwa seva za makali ya kizazi cha kumi

Cloudflare huchagua wasindikaji kutoka AMD kwa seva za makali ya kizazi cha kumi

Zaidi ya anwani bilioni za kipekee za IP hupitia Mtandao wa Cloudflare kila siku; hutumikia maombi zaidi ya milioni 11 ya HTTP kwa sekunde; yuko ndani ya 100ms ya 95% ya watu wa mtandao. Mtandao wetu unahusisha miji 200 katika zaidi ya nchi 90, na timu yetu ya wahandisi imeunda miundombinu ya haraka na ya kutegemewa.

Tunajivunia sana kazi yetu na tumejitolea kusaidia kufanya Mtandao kuwa mahali bora na salama. Wahandisi wa maunzi wa Cloudflare wana uelewa wa kina wa seva na vijenzi vyake ili kuelewa na kuchagua maunzi bora zaidi ili kuongeza utendakazi wake.

Rafu zetu za programu hushughulikia upakiaji wa juu wa kompyuta na zinategemea sana CPU, hivyo kuwahitaji wahandisi wetu kuendelea kuboresha ufanisi na kutegemewa kwa Cloudflare katika kila ngazi ya rafu. Kwa upande wa seva, njia rahisi zaidi ya kuongeza nguvu ya usindikaji ni kwa kuongeza cores za CPU. Kadiri seva inavyoweza kutoshea cores nyingi, ndivyo data inavyoweza kuchakata. Hili ni muhimu kwetu kwa sababu aina mbalimbali za bidhaa na wateja wetu zinaongezeka kwa wakati, na ukuaji wa maombi unahitaji utendakazi ulioongezeka kutoka kwa seva. Ili kuongeza utendaji wao, tulihitaji kuongeza wiani wa cores - na hii ndiyo hasa tuliyokamilisha. Hapa chini tunatoa data ya kina juu ya vichakataji vya seva ambazo tumesambaza tangu 2015, ikijumuisha idadi ya core:

-
Gen 6
Gen 7
Gen 8
Gen 9

Anza
2015
2016
2017
2018

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

Cores za kimwili
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 kwa msingi
10.65W
8.50W
7.08W
6.25W

Mnamo 2018, tulifanya hatua kubwa katika jumla ya idadi ya cores kwa kila seva na Gen 9. Athari ya mazingira imepunguzwa kwa 33% ikilinganishwa na kizazi cha 8, na kutupa fursa ya kuongeza kiasi na nguvu za kompyuta kwa kila rack. Mahitaji ya muundo wa utaftaji wa joto (Nguvu ya Kubuni ya Joto, TDP) zimetajwa kuangazia kwamba ufanisi wetu wa nishati pia umeongezeka kwa muda. Kiashiria hiki ni muhimu kwetu: kwanza, tunataka kutoa kaboni kidogo kwenye angahewa; pili, tunataka kutumia vyema nishati kutoka kwa vituo vya data. Lakini tunajua kwamba tuna kitu cha kujitahidi.

Kipimo chetu kikuu kinachobainisha ni idadi ya maombi kwa kila wati. Tunaweza kuongeza idadi ya maombi kwa sekunde kwa kuongeza alama, lakini tunahitaji kusalia ndani ya bajeti yetu ya nishati. Tumezuiliwa na miundombinu ya nguvu ya kituo cha data, ambayo, pamoja na moduli zetu za usambazaji wa nishati zilizochaguliwa, hutupatia kikomo fulani cha juu kwa kila rack ya seva. Kuongeza seva kwenye rack huongeza matumizi ya nguvu. Gharama za uendeshaji zitaongezeka sana ikiwa tutazidi kikomo cha nishati kwa kila rack na kulazimika kuongeza rafu mpya. Tunahitaji kuongeza nguvu ya kuchakata huku tukiwa ndani ya kiwango sawa cha matumizi ya nishati, ambayo itaongeza maombi kwa kila wati, kipimo chetu kikuu.

Kama unavyoweza kukisia, tulisoma kwa uangalifu matumizi ya nishati katika hatua ya muundo. Jedwali lililo hapo juu linaonyesha kuwa hatupaswi kupoteza muda kupeleka CPU zinazohitaji nishati zaidi ikiwa TDP kwa kila msingi ni ya juu kuliko kizazi cha sasa - hii itaathiri vibaya metriki yetu, maombi kwa kila wati. Tulisoma kwa uangalifu mifumo iliyo tayari kutumika ya kizazi chetu X kwenye soko na tukafanya uamuzi. Tunahama kutoka muundo wetu wa 48-core Intel Xeon Platinum 6162 wa soketi mbili hadi muundo wa soketi 48 wa AMD EPYC 7642 wa soketi moja.

Cloudflare huchagua wasindikaji kutoka AMD kwa seva za makali ya kizazi cha kumi

-
Intel
AMD

CPU
Xeon Platinum 6162
EPYC 7642

usanifu mdogo
"Skylake"
"Zen 2"

Jina la jina
Skylake SP
"Roma"

Mchakato wa kiufundi
14nm
7nm

msingi
2 24 x
48

Upepo
1.9 GHz
2.4 GHz

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

Kumbukumbu/tundu
Chaneli 6, hadi DDR4-2400
Chaneli 8, hadi DDR4-3200

TDP
2 x 150W
225W

PCIe/tundu
Vichochoro 48
Vichochoro 128

ISA
x86-64
x86-64

Kutoka kwa vipimo ni wazi kwamba chip kutoka AMD itaturuhusu kuweka idadi sawa ya cores wakati wa kupunguza TDP. Kizazi cha 9 kilikuwa na TDP kwa msingi wa 6,25 W, na kizazi cha X kitakuwa 4,69 W. Imepunguzwa kwa 25%. Shukrani kwa mzunguko ulioongezeka, na labda kubuni rahisi zaidi na tundu moja, inaweza kuzingatiwa kuwa Chip ya AMD itafanya vizuri zaidi katika mazoezi. Kwa sasa tunaendesha majaribio na uigaji mbalimbali ili kuona ni kiasi gani AMD itafanya vyema zaidi.

Kwa sasa, tukumbuke kuwa TDP ni kipimo kilichorahisishwa kutoka kwa vipimo vya mtengenezaji, ambavyo tulitumia katika hatua za awali za muundo wa seva na uteuzi wa CPU. Utafutaji wa haraka wa Google unaonyesha kuwa AMD na Intel wana mbinu tofauti za kufafanua TDP, na kufanya vipimo kuwa vya kuaminika. Matumizi halisi ya nishati ya CPU, na muhimu zaidi matumizi ya nishati ya seva, ndiyo tunayotumia tunapofanya uamuzi wetu wa mwisho.

Utayari wa mfumo wa ikolojia

Ili kuanza safari yetu ya kuchagua kichakataji chetu kinachofuata, tuliangalia aina mbalimbali za CPU kutoka kwa watengenezaji tofauti ambazo zinafaa kwa mrundikano wa programu na huduma zetu (zilizoandikwa kwa C, LuaJIT na Go). Tayari tumeelezea kwa undani seti ya zana za kupima kasi katika moja ya makala yetu ya blogi. Katika kesi hii, tulitumia seti sawa - inatuwezesha kutathmini ufanisi wa CPU kwa wakati unaofaa, baada ya hapo wahandisi wetu wanaweza kuanza kurekebisha programu zetu kwa processor maalum.

Tulijaribu aina mbalimbali za vichakataji kwa hesabu mbalimbali za msingi, hesabu za soketi na masafa. Kwa kuwa nakala hii inahusu kwa nini tulitulia kwenye AMD EPYC 7642, chati zote kwenye blogu hii zinazingatia jinsi wasindikaji wa AMD wanavyofanya kazi ikilinganishwa na Intel Xeon Platinum 6162 kutoka. kizazi chetu cha 9.

Matokeo yanahusiana na vipimo vya seva moja na kila lahaja ya processor - ambayo ni, na wasindikaji wawili wa msingi-24 kutoka Intel, au na processor moja ya msingi-48 kutoka AMD (seva ya Intel iliyo na soketi mbili na seva ya AMD EPYC na moja) . Katika BIOS tunaweka vigezo vinavyolingana na seva zinazoendesha. Hii ni 3,03 GHz kwa AMD na 2,5 GHz kwa Intel. Kurahisisha sana, tunatarajia kwamba kwa idadi sawa ya cores, AMD itafanya 21% bora kuliko Intel.

Crystalgraphy

Cloudflare huchagua wasindikaji kutoka AMD kwa seva za makali ya kizazi cha kumi

Cloudflare huchagua wasindikaji kutoka AMD kwa seva za makali ya kizazi cha kumi

Inaonekana kuahidi kwa AMD. Inafanya 18% vyema zaidi kwenye kriptografia ya ufunguo wa umma. Kwa ufunguo wa ulinganifu, hupoteza kwa chaguo za usimbaji za AES-128-GCM, lakini kwa ujumla hufanya kazi kulinganishwa.

Π Π”Π ΒΆΠ  Β° Π‘, Π Ρ‘Π ΞΌ

Kwenye seva za ukingo, tunabana data nyingi ili kuokoa kwenye kipimo data na kuongeza kasi ya uwasilishaji wa maudhui. Tunapitisha data kupitia maktaba za C zlib na brotli. Majaribio yote yaliendeshwa kwenye faili ya HTML ya blog.cloudflare.com kwenye kumbukumbu.

Cloudflare huchagua wasindikaji kutoka AMD kwa seva za makali ya kizazi cha kumi

Cloudflare huchagua wasindikaji kutoka AMD kwa seva za makali ya kizazi cha kumi

AMD ilishinda kwa wastani wa 29% wakati wa kutumia gzip. Kwa upande wa brotli, matokeo ni bora zaidi kwenye majaribio yenye ubora wa 7, ambayo tunatumia kwa ukandamizaji wa nguvu. Kwenye mtihani wa brotli-9 kuna kushuka kwa kasi - tunaelezea hili kwa ukweli kwamba Brotli hutumia kumbukumbu nyingi na huzidi cache. Walakini, AMD inashinda kwa kiasi kikubwa.

Huduma zetu nyingi zimeandikwa katika Go. Katika grafu zifuatazo, tunaangalia mara mbili kasi ya usimbaji fiche na mgandamizo katika Go with RegExp kwenye mistari 32 KB kwa kutumia maktaba ya mifuatano.

Nenda kwa cryptography

Cloudflare huchagua wasindikaji kutoka AMD kwa seva za makali ya kizazi cha kumi

Nenda Ukandamizaji

Cloudflare huchagua wasindikaji kutoka AMD kwa seva za makali ya kizazi cha kumi

Cloudflare huchagua wasindikaji kutoka AMD kwa seva za makali ya kizazi cha kumi

Nenda kwa Regexp

Cloudflare huchagua wasindikaji kutoka AMD kwa seva za makali ya kizazi cha kumi

Cloudflare huchagua wasindikaji kutoka AMD kwa seva za makali ya kizazi cha kumi

Nenda Kamba

Cloudflare huchagua wasindikaji kutoka AMD kwa seva za makali ya kizazi cha kumi

AMD hufanya vyema katika majaribio yote kwa kutumia Go isipokuwa ECDSA P256 Sign, ambapo ilikuwa nyuma kwa 38% - ambayo ni ya kushangaza, ikizingatiwa kuwa ilifanya vyema kwa 24% katika C. Inafaa kufikiria nini kinaendelea huko. Kwa ujumla, AMD haishindi sana, lakini bado inaonyesha matokeo bora.

LuaJIT

Mara nyingi sisi hutumia LuaJIT kwenye rafu. Hii ndio gundi inayoshikilia sehemu zote za Cloudflare pamoja. Na tunafurahi kwamba AMD ilishinda hapa pia.

Kwa ujumla, majaribio yanaonyesha kuwa EPYC 7642 inafanya kazi vizuri zaidi kuliko Xeon Platinum 6162 mbili. AMD inapoteza kwenye majaribio kadhaa - kwa mfano, AES-128-GCM na Go OpenSSL ECDSA-P256 Sign - lakini inashinda kwa wengine wote, kwa wastani. ya 25%.

Uigaji wa mzigo wa kazi

Baada ya majaribio yetu ya haraka, tuliendesha seva kupitia seti nyingine ya uigaji ambapo shehena ya sintetiki inatumika kwenye rafu ya ukingo wa programu. Hapa tunaiga hali ya mzigo wa kazi na aina tofauti za maombi ambayo yanaweza kupatikana katika kazi halisi. Maombi hutofautiana katika ujazo wa data, itifaki za HTTP au HTTPS, vyanzo vya WAF, Wafanyakazi na vigeu vingine vingi. Ifuatayo ni ulinganisho wa matumizi ya CPU mbili kwa aina ya maombi ambayo tunakutana nayo mara nyingi.

Cloudflare huchagua wasindikaji kutoka AMD kwa seva za makali ya kizazi cha kumi

Matokeo katika chati hupimwa dhidi ya msingi wa mashine za msingi za Intel za kizazi cha 9, zilizorekebishwa hadi thamani ya 1,0 kwenye mhimili wa x. Kwa mfano, kuchukua maombi rahisi ya 10 KB juu ya HTTPS, tunaweza kuona kwamba AMD hufanya vizuri mara 1,5 kuliko Intel katika suala la maombi kwa sekunde. Kwa wastani, AMD ilifanya 34% bora kuliko Intel kwa majaribio haya. Kwa kuzingatia kwamba TDP kwa AMD EPYC 7642 moja ni 225 W, na kwa wasindikaji wawili wa Intel ni 300 W, inageuka kuwa kwa suala la "maombi kwa watt" AMD inaonyesha matokeo bora mara 2 kuliko Intel!

Katika hatua hii, tayari tulikuwa tukiegemea kwa uwazi chaguo la tundu moja la AMD EPYC 7642 kama CPU zetu za baadaye za Gen X. Tulivutiwa sana kuona jinsi seva za AMD EPYC zingefanya kazi katika ulimwengu halisi, na mara moja tulituma kadhaa. seva kwa baadhi kutoka vituo vya data.

Kazi kweli

Hatua ya kwanza, kwa kawaida, ilikuwa kuandaa seva kwa kazi katika hali halisi. Mashine zote kwenye meli zetu hufanya kazi na michakato na huduma sawa, ambayo hutoa fursa nzuri ya kulinganisha utendaji kwa usahihi. Kama vile vituo vingi vya data, tuna vizazi kadhaa vya seva vilivyotumiwa, na tunakusanya seva zetu katika makundi ili kila darasa liwe na seva za takriban vizazi sawa. Katika baadhi ya matukio, hii inaweza kusababisha curve za kuchakata ambazo hutofautiana kati ya makundi. Lakini si pamoja nasi. Wahandisi wetu wameboresha utumiaji wa CPU kwa vizazi vyote ili bila kujali ikiwa CPU ya mashine fulani ina cores 8 au 24, matumizi ya CPU kwa ujumla ni sawa na mengine.

Cloudflare huchagua wasindikaji kutoka AMD kwa seva za makali ya kizazi cha kumi

Grafu inaonyesha maoni yetu kuhusu ulinganifu wa matumizi - hakuna tofauti kubwa kati ya matumizi ya AMD CPUs katika seva za kizazi cha Gen X na matumizi ya vichakataji vya Intel katika seva za kizazi cha Gen 9. Hii ina maana kwamba seva zote za majaribio na msingi zinapakiwa kwa usawa. . Kubwa. Hili ndilo hasa tunalojitahidi katika seva zetu, na tunahitaji hili kwa ulinganisho wa haki. Grafu mbili hapa chini zinaonyesha idadi ya maombi yaliyochakatwa na msingi mmoja wa CPU na cores zote kwenye kiwango cha seva.

Cloudflare huchagua wasindikaji kutoka AMD kwa seva za makali ya kizazi cha kumi
Maombi kwa kila msingi

Cloudflare huchagua wasindikaji kutoka AMD kwa seva za makali ya kizazi cha kumi
Maombi kwa seva

Inaweza kuonekana kuwa kwa wastani AMD huchakata maombi 23% zaidi. Sio mbaya hata kidogo! Mara nyingi tumeandika kwenye blogu yetu kuhusu njia za kuongeza utendakazi wa Gen 9. Na sasa tuna idadi sawa ya cores, lakini AMD inafanya kazi zaidi na nguvu kidogo. Ni wazi mara moja kutoka kwa vipimo vya idadi ya cores na TDP kwamba AMD hutoa kasi kubwa na ufanisi mkubwa wa nishati.

Lakini kama tulivyokwisha sema, TDP sio uainishaji wa kawaida na sio sawa kwa watengenezaji wote, kwa hivyo wacha tuangalie matumizi halisi ya nishati. Kwa kupima matumizi ya nishati ya seva sambamba na idadi ya maombi kwa sekunde, tulipata grafu ifuatayo:

Cloudflare huchagua wasindikaji kutoka AMD kwa seva za makali ya kizazi cha kumi

Kulingana na maombi kwa kila sekunde kwa kila wati inayotumika, seva za Gen X zinazotumia vichakataji vya AMD zina ufanisi zaidi wa 28%. Mtu anaweza kutarajia zaidi, ikizingatiwa kuwa TDP ya AMD iko chini kwa 25%, lakini ikumbukwe kuwa TDP ni tabia isiyoeleweka. Tumeona kwamba matumizi halisi ya nguvu ya AMD yanakaribia kufanana na TDP iliyotajwa katika masafa ya juu zaidi kuliko msingi; Intel haina hiyo. Hii ni sababu nyingine kwa nini TDP si makadirio ya kuaminika ya matumizi ya nishati. CPU kutoka Intel katika seva zetu za Gen 9 zimeunganishwa kwenye mfumo wa nodi nyingi, huku CPU kutoka AMD zinafanya kazi katika seva za kawaida za 1U. Hii haikubaliani na AMD, kwani seva za multinode zinapaswa kutoa msongamano mkubwa na matumizi kidogo ya nguvu kwa kila nodi, lakini AMD bado ilishinda Intel kwa suala la matumizi ya nguvu kwa kila nodi.

Katika ulinganisho mwingi katika vipimo, uigaji wa majaribio, na utendakazi wa ulimwengu halisi, usanidi wa 1P AMD EPYC 7642 ulifanya kazi vizuri zaidi kuliko 2P Intel Xeon 6162. Katika hali fulani, AMD inaweza kufanya vyema hadi 36%, na tunaamini kwamba kwa kuboresha. vifaa na programu, tunaweza kufikia uboreshaji huu kwa msingi unaoendelea.

Inageuka AMD ilishinda.

Grafu za ziada zinaonyesha muda wa wastani wa kusubiri na muda wa kusubiri wa p99 unaoendesha NGINX kwa muda wa saa 24. Kwa wastani, michakato kwenye AMD ilifanya kazi kwa kasi ya 25%. Kwenye p99 inaendesha 20-50% haraka kulingana na wakati wa siku.

Hitimisho

Wahandisi wa Vifaa na Utendaji wa Cloudflare hufanya majaribio mengi na utafiti ili kubaini usanidi bora wa seva kwa wateja wetu. Tunapenda kufanya kazi hapa kwa sababu tunaweza kutatua matatizo makubwa kama haya, na tunaweza kukusaidia kutatua matatizo yako kwa huduma kama vile kompyuta ya ukali bila seva na safu ya suluhu za usalama kama vile Magic Transit, Argo Tunnel, na ulinzi wa DDoS. . Seva zote katika mtandao wa Cloudflare zimesanidiwa kufanya kazi kwa uhakika, na tunajaribu kila wakati kufanya kila kizazi kijacho cha seva kuwa bora zaidi kuliko cha awali. Tunaamini AMD EPYC 7642 ndio jibu linapokuja suala la vichakataji vya Gen X.

Kwa kutumia Cloudflare Workers, wasanidi programu hupeleka programu zao kwenye mtandao wetu unaopanuka kote ulimwenguni. Tunajivunia kuwaruhusu wateja wetu kuzingatia uandishi wa msimbo huku tukizingatia usalama na kutegemewa kwenye mtandao. Na leo tunafuraha zaidi kutangaza kwamba kazi yao itatumwa kwenye seva zetu za kizazi cha Gen X zinazoendesha vichakataji vya kizazi cha pili vya AMD EPYC.

Cloudflare huchagua wasindikaji kutoka AMD kwa seva za makali ya kizazi cha kumi
Wasindikaji wa EPYC 7642, jina la kanuni "Roma" [Roma]

Kwa kutumia EPYC 7642 ya AMD, tuliweza kuongeza utendakazi wetu na kurahisisha kupanua mtandao wetu hadi miji mipya. Roma haikujengwa kwa siku moja, lakini hivi karibuni itakuwa karibu na wengi wenu.

Katika miaka michache iliyopita tumekuwa tukijaribu chipsi nyingi za x86 kutoka Intel na AMD, pamoja na vichakataji kutoka kwa ARM. Tunatarajia waundaji wa CPU hawa waendelee kufanya kazi nasi katika siku zijazo ili sote tujenge Mtandao bora zaidi pamoja.

Chanzo: mapenzi.com

Kuongeza maoni