Cloudflare milih prosesor saka AMD kanggo server pinggiran generasi sepuluh

Cloudflare milih prosesor saka AMD kanggo server pinggiran generasi sepuluh

Luwih saka milyar alamat IP unik ngliwati Cloudflare Network saben dina; nglayani luwih saka 11 yuta panjalukan HTTP per detik; dheweke ana ing 100ms saka 95% populasi internet. Jaringan kita nyakup 200 kutha ing luwih saka 90 negara, lan tim insinyur kita wis mbangun infrastruktur sing cepet banget lan dipercaya.

Kita bangga banget ing karya lan setya mbantu nggawe Internet dadi papan sing luwih apik lan luwih aman. Insinyur hardware Cloudflare duwe pangerten sing jero babagan server lan komponen kanggo ngerti lan milih hardware sing paling apik kanggo ngoptimalake kinerja.

Tumpukan piranti lunak kita nangani komputasi kanthi beban dhuwur lan gumantung banget marang CPU, sing mbutuhake para insinyur supaya terus-terusan ngoptimalake efisiensi lan linuwih Cloudflare ing saben level tumpukan. Ing sisih server, cara paling gampang kanggo nambah daya pangolahan yaiku nambahi inti CPU. Intine luwih akeh server bisa pas, luwih akeh data sing bisa diproses. Iki penting kanggo kita amarga macem-macem produk lan klien kita saya suwe saya suwe, lan tuwuh panjaluk mbutuhake kinerja sing luwih dhuwur saka server. Kanggo nambah kinerja, kita kudu nambah Kapadhetan inti - lan iki persis apa sing wis rampung. Ing ngisor iki kita nyedhiyakake data rinci babagan prosesor kanggo server sing wis disebar wiwit 2015, kalebu jumlah inti:

-
Gen 6
Gen 7
Gen 8
Gen 9

Miwiti
2015
2016
2017
2018

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

Inti fisik
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 saben inti
10.65W
8.50W
7.08W
6.25W

Ing 2018, kita nggawe lompatan gedhe ing jumlah inti saben server karo Gen 9. Dampak lingkungan wis suda 33% dibandhingake karo generasi kaping 8, menehi kesempatan kanggo nambah volume lan daya komputasi saben rak. Persyaratan desain kanggo disipasi panas (Daya Desain Termal, TDP) disebutake kanggo nyorot yen efisiensi energi kita uga saya tambah suwe. Indikator iki penting kanggo kita: pisanan, kita pengin emit karbon kurang menyang atmosfer; sareh, kita arep kanggo nggawe nggunakake paling saka energi saka pusat data. Nanging kita ngerti manawa ana sing kudu diupayakake.

Metrik penentu utama kita yaiku jumlah panjaluk saben watt. Kita bisa nambah jumlah panjalukan saben detik kanthi nambah intine, nanging kita kudu tetep ing anggaran daya. Kita diwatesi dening infrastruktur daya pusat data, sing, bebarengan karo modul distribusi daya sing dipilih, menehi wates ndhuwur tartamtu kanggo saben rak server. Nambahake server menyang rak nambah konsumsi daya. Biaya operasi bakal nambah banget yen kita ngluwihi watesan energi saben rak lan kudu nambah rak anyar. Kita kudu nambah daya pangolahan nalika tetep ing kisaran konsumsi daya sing padha, sing bakal nambah panjalukan saben watt, metrik kunci kita.

Kaya sing wis sampeyan duga, kita sinau kanthi ati-ati babagan konsumsi energi ing tahap desain. Tabel ing ndhuwur nuduhake manawa kita ora kudu mbuwang wektu nggunakake CPU sing keluwen energi yen TDP saben inti luwih dhuwur tinimbang generasi saiki - iki bakal mengaruhi metrik, panjaluk saben watt. Kita kanthi ati-ati sinau sistem sing siap dienggo kanggo generasi X kita ing pasar lan nggawe keputusan. Kita pindhah saka desain dual-soket 48-inti Intel Xeon Platinum 6162 menyang desain soket tunggal AMD EPYC 48 7642-inti.

Cloudflare milih prosesor saka AMD kanggo server pinggiran generasi sepuluh

-
Intel
AMD

CPU
Xeon Platinum 6162
EPYC 7642

Mikroarsitektur
"Skylake"
"Zen 2"

Codename
"Skylake SP"
"Roma"

Proses teknis
14nm
7nm

intine
2 x 24
48

Frekuensi
1.9 GHz
2.4 GHz

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

Memori / soket
6 saluran, nganti DDR4-2400
8 saluran, nganti DDR4-3200

TDP
2 x 150W
225W

PCIe/soket
48 jalur
128 jalur

PUNIKA
x86-64
x86-64

Saka specifications iku cetha yen chip saka AMD bakal ngidini kita kanggo tetep nomer padha inti nalika Mudhunake TDP. Generasi kaping 9 duwe TDP saben inti 6,25 W, lan generasi X bakal dadi 4,69 W. Suda 25%. Thanks kanggo frekuensi tambah, lan mbok menawa desain prasaja karo siji soket, bisa dianggep yen chip AMD bakal nindakake luwih apik ing laku. Saiki kita nindakake macem-macem tes lan simulasi kanggo ndeleng kepiye AMD bakal luwih apik.

Saiki, elinga yen TDP minangka metrik sing disederhanakake saka spesifikasi pabrikan, sing digunakake ing tahap awal desain server lan pilihan CPU. Panelusuran Google cepet nuduhake yen AMD lan Intel duwe pendekatan sing beda kanggo nemtokake TDP, nggawe spesifikasi kasebut ora bisa dipercaya. Konsumsi daya CPU nyata, lan sing luwih penting konsumsi daya server, yaiku apa sing kita gunakake nalika nggawe keputusan pungkasan.

Kesiapan ekosistem

Kanggo miwiti lelungan kanggo milih prosesor sabanjure, kita ndeleng macem-macem CPU saka macem-macem manufaktur sing cocog kanggo tumpukan lan layanan piranti lunak (ditulis ing C, LuaJIT lan Go). Kita wis njlèntrèhaké kanthi rinci piranti kanggo ngukur kacepetan ing salah sawijining artikel blog kita. Ing kasus iki, kita nggunakake set sing padha - ngidini kita ngevaluasi efisiensi CPU ing wektu sing cukup, sawise para insinyur bisa miwiti adaptasi program menyang prosesor tartamtu.

Kita nguji macem-macem prosesor kanthi macem-macem cacah inti, jumlah soket, lan frekuensi. Wiwit artikel iki bab apa kita mapan ing AMD EPYC 7642, kabeh denah ing blog iki fokus ing carane prosesor AMD nindakake dibandhingake Intel Xeon Platinum 6162 saka generasi 9 kita.

Asil cocog karo pangukuran server siji karo saben varian prosesor - yaiku, karo rong prosesor 24-inti saka Intel, utawa karo siji prosesor 48-inti saka AMD (server kanggo Intel karo rong soket lan server kanggo AMD EPYC karo siji) . Ing BIOS kita nyetel paramèter sing cocog karo server sing mlaku. Iki 3,03 GHz kanggo AMD lan 2,5 GHz kanggo Intel. Nyederhanakake banget, kita ngarepake yen kanthi jumlah inti sing padha, AMD bakal nindakake 21% luwih apik tinimbang Intel.

Kriptografi

Cloudflare milih prosesor saka AMD kanggo server pinggiran generasi sepuluh

Cloudflare milih prosesor saka AMD kanggo server pinggiran generasi sepuluh

Katon janjeni kanggo AMD. Tumindak 18% luwih apik ing kriptografi kunci umum. Kanthi tombol simetris, ilang kanggo opsi enkripsi AES-128-GCM, nanging sakabèhé performs iso dibandhingke.

Komprèsi

Ing server pinggiran, kita ngompres akeh data kanggo ngirit bandwidth lan nambah kacepetan pangiriman konten. We pass data liwat perpustakaan C zlib lan brotli. Kabeh tes ditindakake ing file HTML blog.cloudflare.com ing memori.

Cloudflare milih prosesor saka AMD kanggo server pinggiran generasi sepuluh

Cloudflare milih prosesor saka AMD kanggo server pinggiran generasi sepuluh

AMD menang kanthi rata-rata 29% nalika nggunakake gzip. Ing kasus brotli, asil luwih apik ing tes kanthi kualitas 7, sing digunakake kanggo kompresi dinamis. Ing test brotli-9 ana gulung cetha - kita nerangake iki dening kasunyatan sing Brotli nggunakake akèh memori lan overflows cache. Nanging, AMD menang kanthi wates gedhe.

Akeh layanan kita ditulis ing Go. Ing grafik ing ngisor iki, kita mriksa kaping pindho kacepetan kriptografi lan kompresi ing Go with RegExp ing garis 32 KB nggunakake perpustakaan strings.

Go kriptografi

Cloudflare milih prosesor saka AMD kanggo server pinggiran generasi sepuluh

Go Kompresi

Cloudflare milih prosesor saka AMD kanggo server pinggiran generasi sepuluh

Cloudflare milih prosesor saka AMD kanggo server pinggiran generasi sepuluh

Ayo Regexp

Cloudflare milih prosesor saka AMD kanggo server pinggiran generasi sepuluh

Cloudflare milih prosesor saka AMD kanggo server pinggiran generasi sepuluh

Go Strings

Cloudflare milih prosesor saka AMD kanggo server pinggiran generasi sepuluh

AMD nindakake luwih apik ing kabeh tes karo Go kajaba ECDSA P256 Sign, ing endi ana 38% konco - sing aneh, amarga nindakake 24% luwih apik ing C. Iku worth kanggo mangerteni apa sing kedadeyan ing kana. Sakabèhé, AMD ora menang akeh, nanging isih nuduhake asil paling apik.

LuaJIT

Kita asring nggunakake LuaJIT ing tumpukan. Iki minangka lem sing nyekel kabeh bagean Cloudflare bebarengan. Lan kita seneng yen AMD uga menang ing kene.

Sakabèhé, tes nuduhake yen EPYC 7642 nindakake luwih apik tinimbang loro Xeon Platinum 6162. AMD kalah ing sawetara tes - contone, AES-128-GCM lan Go OpenSSL ECDSA-P256 Sign - nanging menang ing kabeh liyane, kanthi rata-rata. saka 25%.

Simulasi Beban Kerja

Sawise tes cepet, kita mbukak server liwat simulasi liyane sing ngemot beban sintetik ing tumpukan pinggiran piranti lunak. Ing kene kita simulasi beban kerja skenario kanthi macem-macem jinis panjaluk sing bisa ditemoni ing karya nyata. Panjaluk beda-beda ing volume data, protokol HTTP utawa HTTPS, sumber WAF, Pekerja, lan akeh variabel liyane. Ing ngisor iki minangka perbandingan saka throughput saka loro CPU kanggo jinis panjalukan sing paling kerep ditemoni.

Cloudflare milih prosesor saka AMD kanggo server pinggiran generasi sepuluh

Asil ing grafik diukur nglawan garis dasar mesin basis Intel generasi kaping 9, dinormalisasi dadi nilai 1,0 ing sumbu x. Contone, njupuk panjalukan 10 KiB sing prasaja liwat HTTPS, kita bisa ndeleng manawa AMD nindakake 1,5 kaping luwih apik tinimbang Intel babagan panjaluk saben detik. Rata-rata, AMD nindakake 34% luwih apik tinimbang Intel kanggo tes kasebut. Ngelingi sing TDP kanggo siji AMD EPYC 7642 punika 225 W, lan kanggo loro prosesor Intel 300 W, dadi metu sing ing syarat-syarat "panjalukan saben watt" AMD nuduhake 2 kaping asil luwih apik tinimbang Intel!

Ing wektu iki, kita wis cetha condong menyang pilihan soket tunggal kanggo AMD EPYC 7642 minangka CPU Gen X mbesuk kita. Kita kasengsem banget kanggo ndeleng kepiye server AMD EPYC bakal nindakake ing karya nyata, lan kita langsung ngirim sawetara server kanggo sawetara saka pusat data.

Karya nyata

Langkah pisanan, kanthi alami, yaiku nyiyapake server kanggo kerja ing kahanan nyata. Kabeh mesin ing armada kita makarya kanthi proses lan layanan sing padha, sing menehi kesempatan sing apik kanggo mbandhingake kinerja kanthi bener. Kaya paling pusat data, kita duwe sawetara generasi server tugasaken, lan kita ngumpulake server kita menyang klompok supaya saben kelas ngemot server saka kira-kira generasi padha. Ing sawetara kasus, iki bisa nyebabake kurva daur ulang sing beda-beda ing antarane klompok. Nanging ora karo kita. Insinyur kita wis ngoptimalake panggunaan CPU kanggo kabeh generasi supaya ora preduli manawa CPU mesin tartamtu duwe 8 intine utawa 24, panggunaan CPU umume padha karo liyane.

Cloudflare milih prosesor saka AMD kanggo server pinggiran generasi sepuluh

Grafik kasebut nggambarake komentar kita babagan persamaan panggunaan - ora ana bedane sing signifikan antarane panggunaan CPU AMD ing server generasi Gen X lan panggunaan prosesor Intel ing server generasi Gen 9. Iki tegese server tes lan baseline dimuat kanthi padha. . Agung. Iki persis apa kita usaha kanggo ing server kita, lan kita kudu iki kanggo comparison adil. Loro grafik ing ngisor iki nuduhake jumlah panjalukan sing diproses dening siji inti CPU lan kabeh intine ing tingkat server.

Cloudflare milih prosesor saka AMD kanggo server pinggiran generasi sepuluh
Panjaluk saben inti

Cloudflare milih prosesor saka AMD kanggo server pinggiran generasi sepuluh
Panjaluk menyang server

Bisa dideleng yen rata-rata AMD ngolah 23% panjalukan liyane. Ora ala ing kabeh! Kita asring nulis ing blog babagan cara kanggo nambah kinerja Gen 9. Lan saiki kita duwe jumlah inti sing padha, nanging AMD nindakake luwih akeh kanthi daya kurang. Iku langsung cetha saka specifications kanggo nomer intine lan TDP sing AMD menehi kacepetan luwih karo efficiency energi luwih.

Nanging kaya sing wis kasebut, TDP dudu spesifikasi standar lan ora padha kanggo kabeh pabrikan, mula ayo goleki panggunaan energi sing nyata. Kanthi ngukur konsumsi energi server kanthi paralel karo jumlah panjaluk saben detik, kita entuk grafik ing ngisor iki:

Cloudflare milih prosesor saka AMD kanggo server pinggiran generasi sepuluh

Adhedhasar panjalukan saben detik saben watt sing ditindakake, server Gen X sing mlaku ing prosesor AMD 28% luwih efisien. Siji bisa nyana luwih, amarga TDP AMD 25% luwih murah, nanging kudu eling yen TDP minangka karakteristik sing ora jelas. Kita wis weruh sing konsumsi daya nyata AMD iku meh podho rupo TDP nyatakake ing frekuensi akeh luwih saka basa; Intel ora duwe. Iki minangka alesan liyane kenapa TDP ora bisa dipercaya babagan konsumsi energi. CPU saka Intel ing server Gen 9 kita digabungake menyang sistem multi-node, dene CPU saka AMD beroperasi ing server faktor wangun 1U standar. Iki ora kanggo AMD, amarga server multinode kudu menehi Kapadhetan luwih karo konsumsi daya kurang saben simpul, nanging AMD isih ngluwihi Intel ing syarat-syarat konsumsi daya saben simpul.

Ing umume mbandhingake spek, simulasi tes, lan kinerja nyata, konfigurasi 1P AMD EPYC 7642 luwih apik tinimbang 2P Intel Xeon 6162. Ing sawetara kahanan, AMD bisa nindakake nganti 36% luwih apik, lan kita percaya yen kanthi ngoptimalake hardware lan software, kita bisa entuk asil dandan iki ing basis aktif.

Pranyata AMD menang.

Grafik tambahan nuduhake latensi rata-rata lan latensi p99 sing mlaku NGINX sajrone wektu 24 jam. Rata-rata, proses ing AMD mlaku 25% luwih cepet. Ing p99 mlaku 20-50% luwih cepet gumantung ing wektu.

kesimpulan

Insinyur Perangkat Keras lan Kinerja Cloudflare nindakake akeh tes lan riset kanggo nemtokake konfigurasi server sing paling apik kanggo para pelanggan. Kita seneng kerja ing kene amarga bisa ngatasi masalah gedhe kaya iki, lan bisa mbantu ngatasi masalah sampeyan karo layanan kaya komputasi pinggiran tanpa server lan macem-macem solusi keamanan kaya Magic Transit, Argo Tunnel, lan proteksi DDoS. . Kabeh server ing jaringan Cloudflare diatur kanggo nindakake andal, lan kita tansah nyoba kanggo nggawe saben generasi sabanjuré server luwih apik tinimbang sadurunge. Kita percaya yen AMD EPYC 7642 minangka jawaban nalika nerangake prosesor Gen X.

Nggunakake Cloudflare Workers, pangembang nyebarake aplikasi ing jaringan sing berkembang ing saindenging jagad. Kita bangga supaya para pelanggan fokus ing nulis kode nalika fokus ing keamanan lan linuwih ing méga. Lan dina iki, kita luwih seneng ngumumake manawa karyane bakal disebarake ing server generasi Gen X sing nganggo prosesor AMD EPYC generasi kaping pindho.

Cloudflare milih prosesor saka AMD kanggo server pinggiran generasi sepuluh
Prosesor EPYC 7642, jeneng kode "Roma" [Roma]

Kanthi nggunakake EPYC 7642 AMD, kita bisa nambah kinerja lan nggampangake ngembangake jaringan menyang kutha-kutha anyar. Roma ora dibangun ing sedina, nanging bakal luwih cedhak karo sampeyan.

Ing sawetara taun pungkasan, kita wis nyoba akeh chip x86 saka Intel lan AMD, uga prosesor saka ARM. Kita ngarepake produsen CPU iki bakal terus kerja bareng karo kita ing mangsa ngarep supaya kita kabeh bisa mbangun Internet sing luwih apik bebarengan.

Source: www.habr.com

Add a comment