Cloudflare o'ninchi avlod chekka serverlari uchun AMD protsessorlarini tanlaydi

Cloudflare o'ninchi avlod chekka serverlari uchun AMD protsessorlarini tanlaydi

Har kuni Cloudflare tarmog'i orqali milliarddan ortiq noyob IP-manzillar o'tadi; u soniyada 11 milliondan ortiq HTTP so'rovlariga xizmat qiladi; u internet aholisining 100 foizidan 95 ms masofada joylashgan. Bizning tarmog'imiz 200 dan ortiq mamlakatlardagi 90 ta shaharni qamrab oladi va bizning muhandislar jamoasi juda tez va ishonchli infratuzilmani qurgan.

Biz o'z ishimizdan g'ururlanamiz va Internetni yaxshiroq va xavfsizroq joyga aylantirishga yordam berishga sodiqmiz. Cloudflare apparat muhandislari uning ishlashini maksimal darajada oshirish uchun eng yaxshi uskunani tushunish va tanlash uchun serverlar va ularning komponentlari haqida chuqur tushunchaga ega.

Bizning dasturiy ta'minot stekimiz yuqori yuklangan hisoblashlarni boshqaradi va yuqori protsessorga bog'liq bo'lib, muhandislarimizdan stekning har bir darajasida Cloudflare samaradorligi va ishonchliligini doimiy ravishda optimallashtirishni talab qiladi. Server tomonida ishlov berish quvvatini oshirishning eng oson yo'li protsessor yadrolarini qo'shishdir. Server qanchalik ko'p yadro sig'ishi mumkin bo'lsa, u shunchalik ko'p ma'lumotlarni qayta ishlashi mumkin. Bu biz uchun juda muhim, chunki vaqt o'tishi bilan mahsulotlarimiz va mijozlarimiz xilma-xilligi o'sib bormoqda va so'rovlarning o'sishi serverlardan unumdorlikni oshirishni talab qiladi. Ularning ishlashini oshirish uchun biz yadrolarning zichligini oshirishimiz kerak edi - va biz aynan shu narsaga erishdik. Quyida biz 2015 yildan beri oʻrnatgan serverlar uchun protsessorlar, jumladan yadrolar soni haqida batafsil maʼlumotlarni taqdim etamiz:

-
Gen 6
Gen 7
Gen 8
Gen 9

Ishga kirishish
2015
2016
2017
2018

Markaziy protsessor
Intel Xeon E5-2630 v3
Intel Xeon E5-2630 v4
Intel Xeon Silver 4116
Intel Xeon Platinum 6162

Jismoniy yadrolar
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

Yadro uchun TDP
10.65W
8.50W
7.08W
6.25W

2018-yilda biz Gen 9 bilan serverdagi yadrolarning umumiy sonida katta sakrashga erishdik. Atrof-muhitga ta'siri 33-avlod bilan solishtirganda 8% ga kamaydi, bu bizga har bir raf uchun hajm va hisoblash quvvatini oshirish imkoniyatini berdi. Issiqlik tarqalishi uchun dizayn talablari (Issiqlik dizayn quvvati, TDP) bizning energiya samaradorligimiz ham vaqt o'tishi bilan oshganligini ta'kidlash uchun eslatib o'tilgan. Bu ko'rsatkich biz uchun muhim: birinchidan, biz atmosferaga kamroq uglerod chiqarishni xohlaymiz; ikkinchidan, biz ma'lumotlar markazlari energiyasidan maksimal darajada foydalanmoqchimiz. Lekin biz intilishimiz kerak bo'lgan narsa borligini bilamiz.

Bizning asosiy aniqlovchi ko'rsatkichimiz vatt uchun so'rovlar soni. Biz yadrolarni qo'shish orqali soniyasiga so'rovlar sonini oshirishimiz mumkin, ammo biz quvvat byudjetimiz doirasida qolishimiz kerak. Biz ma'lumotlar markazi quvvat infratuzilmasi bilan cheklanganmiz, bu bizning tanlangan quvvat taqsimlash modullarimiz bilan birgalikda har bir server tokchasi uchun ma'lum bir yuqori chegarani beradi. Serverlarni rafga qo'shish quvvat sarfini oshiradi. Agar biz har bir stend energiya chegarasidan oshib ketsak va yangi raflarni qo'shishimiz kerak bo'lsa, operatsion xarajatlar sezilarli darajada oshadi. Biz bir xil quvvat iste'moli oralig'ida qolib, ishlov berish quvvatini oshirishimiz kerak, bu bizning asosiy ko'rsatkichimiz bo'lgan vatt uchun so'rovlarni oshiradi.

Siz taxmin qilganingizdek, biz dizayn bosqichida energiya sarfini diqqat bilan o'rganib chiqdik. Yuqoridagi jadval shuni ko'rsatadiki, agar yadro boshiga TDP joriy avloddan yuqori bo'lsa, biz ko'proq energiya talab qiladigan protsessorlarni o'rnatishga vaqt sarflamasligimiz kerak - bu bizning ko'rsatkichimizga, vatt uchun so'rovlarga salbiy ta'sir qiladi. Biz bozorda X avlodimiz uchun ishga tayyor tizimlarni sinchkovlik bilan o'rganib chiqdik va qaror qabul qildik. Biz 48 yadroli Intel Xeon Platinum 6162 ikki rozetkali dizayndan 48 yadroli AMD EPYC 7642 bitta soketli dizayniga o‘tmoqdamiz.

Cloudflare o'ninchi avlod chekka serverlari uchun AMD protsessorlarini tanlaydi

-
Intel
AMD

Markaziy protsessor
Xeon Platinum 6162
EPYC 7642

Mikroarxitektura
"Skyleke"
"Zen 2"

Kod nomi
"Skylake SP"
"Rim"

Texnik jarayon
14nm
7nm

yadrolari
2 x 24
48

chastota
1.9 GHz
2.4 GHz

L3 kesh/rozetkasi
24 x 1.375 MiB
16 x 16 MiB

Xotira/rozetka
6 kanal, DDR4-2400 gacha
8 kanal, DDR4-3200 gacha

TDP
2 x 150W
225W

PCIe/rozetka
48 ta yo'l
128 ta yo'l

ISA
x86-64
x86-64

Xususiyatlardan ko'rinib turibdiki, AMD chipi TDPni pasaytirgan holda bir xil miqdordagi yadrolarni saqlashga imkon beradi. 9-avlod yadrosi uchun TDP quvvati 6,25 Vt, X-avlodda esa 4,69 Vt bo'ladi. 25% ga kamaydi. Ko'tarilgan chastota va, ehtimol, bitta rozetkaga ega sodda dizayn tufayli, AMD chipi amalda yaxshiroq ishlaydi deb taxmin qilish mumkin. Biz hozirda AMD qanchalik yaxshi ishlashini ko'rish uchun turli testlar va simulyatsiyalarni o'tkazmoqdamiz.

Hozircha shuni ta'kidlaymizki, TDP ishlab chiqaruvchining texnik xususiyatlaridan soddalashtirilgan ko'rsatkich bo'lib, biz uni server dizayni va protsessor tanlashning dastlabki bosqichlarida ishlatganmiz. Tez Google qidiruvi shuni ko'rsatadiki, AMD va Intel TDP ni aniqlashda turlicha yondashuvlarga ega va bu spetsifikatsiyani ishonchsiz qiladi. Haqiqiy protsessor quvvat iste'moli va eng muhimi, server quvvat iste'moli biz yakuniy qaror qabul qilishda foydalanadigan narsadir.

Ekotizimning tayyorligi

Keyingi protsessorimizni tanlash bo'yicha sayohatimizni boshlash uchun biz turli ishlab chiqaruvchilarning dasturiy ta'minot to'plamiga va xizmatlarimizga (C, LuaJIT va Go tillarida yozilgan) mos keladigan protsessorlarning keng assortimentini ko'rib chiqdik. Biz allaqachon tezlikni o'lchash uchun asboblar to'plamini batafsil tasvirlab berdik bizning blog maqolalarimizdan birida. Bunday holda, biz xuddi shu to'plamdan foydalandik - bu bizga protsessorning samaradorligini oqilona vaqt ichida baholash imkonini beradi, shundan so'ng bizning muhandislarimiz dasturlarimizni ma'lum bir protsessorga moslashni boshlashlari mumkin.

Biz turli xil yadro raqamlari, rozetkalar va chastotalar bilan turli xil protsessorlarni sinab ko'rdik. Ushbu maqola nima uchun biz AMD EPYC 7642-ga qaror qilganimiz haqida bo'lganligi sababli, ushbu blogdagi barcha jadvallar AMD protsessorlarining Intel Xeon Platinum 6162 bilan solishtirganda qanday ishlashiga qaratilgan. bizning 9-avlod.

Natijalar har bir protsessor varianti bilan bitta serverning o'lchovlariga mos keladi - ya'ni Intel'dan ikkita 24 yadroli protsessor yoki AMD'dan bitta 48 yadroli protsessor (ikkita soketli Intel uchun server va bitta AMD EPYC serveri bilan) . BIOS-da biz ishlaydigan serverlarga mos keladigan parametrlarni o'rnatamiz. Bu AMD uchun 3,03 gigagerts va Intel uchun 2,5 gigagerts. Juda soddalashtirilgan holda, biz bir xil miqdordagi yadrolar bilan AMD Intelga qaraganda 21% yaxshiroq ishlashini kutamiz.

Kriptografiya

Cloudflare o'ninchi avlod chekka serverlari uchun AMD protsessorlarini tanlaydi

Cloudflare o'ninchi avlod chekka serverlari uchun AMD protsessorlarini tanlaydi

AMD uchun istiqbolli ko'rinadi. Ochiq kalit kriptografiyasida u 18% yaxshi ishlaydi. Nosimmetrik kalit bilan u AES-128-GCM shifrlash opsiyalarini yo'qotadi, lekin umuman olganda solishtirish mumkin.

Siqish

Kengaytirilgan serverlarda biz tarmoqli kengligini tejash va kontentni etkazib berish tezligini oshirish uchun juda ko'p ma'lumotlarni siqib chiqaramiz. Biz ma'lumotlarni C kutubxonalari zlib va ​​brotli orqali o'tkazamiz. Barcha testlar xotiradagi blog.cloudflare.com HTML faylida o‘tkazildi.

Cloudflare o'ninchi avlod chekka serverlari uchun AMD protsessorlarini tanlaydi

Cloudflare o'ninchi avlod chekka serverlari uchun AMD protsessorlarini tanlaydi

Gzip-dan foydalanganda AMD o'rtacha 29% ga yutgan. Brotli holatida, natijalar biz dinamik siqish uchun ishlatadigan 7-sifatli testlarda yanada yaxshi bo'ladi. Brotli-9 testida keskin pasayish kuzatilmoqda - biz buni Brotli juda ko'p xotira iste'mol qilishi va keshni to'ldirishi bilan izohlaymiz. Biroq, AMD katta farq bilan g'alaba qozonadi.

Ko'pgina xizmatlarimiz Go'da yozilgan. Quyidagi grafiklarda biz strings kutubxonasi yordamida 32 KB liniyalarda RegExp bilan Go da kriptografiya va siqish tezligini ikki marta tekshiramiz.

Kriptografiyaga o'ting

Cloudflare o'ninchi avlod chekka serverlari uchun AMD protsessorlarini tanlaydi

Siqishga o'ting

Cloudflare o'ninchi avlod chekka serverlari uchun AMD protsessorlarini tanlaydi

Cloudflare o'ninchi avlod chekka serverlari uchun AMD protsessorlarini tanlaydi

Regexp-ga o'ting

Cloudflare o'ninchi avlod chekka serverlari uchun AMD protsessorlarini tanlaydi

Cloudflare o'ninchi avlod chekka serverlari uchun AMD protsessorlarini tanlaydi

Go Strings

Cloudflare o'ninchi avlod chekka serverlari uchun AMD protsessorlarini tanlaydi

AMD ECDSA P256 Sign-dan tashqari Go bilan barcha testlarda yaxshiroq ishlaydi, bu erda u 38% ortda qoldi - bu g'alati, chunki u C da 24% yaxshi ishlagan. U erda nima bo'layotganini aniqlashga arziydi. Umuman olganda, AMD juda ko'p g'alaba qozonmaydi, lekin baribir eng yaxshi natijalarni ko'rsatadi.

LuaJIT

Biz tez-tez stekda LuaJIT dan foydalanamiz. Bu Cloudflare-ning barcha qismlarini birga ushlab turadigan elim. Bu yerda ham AMD yutganidan xursandmiz.

Umuman olganda, testlar shuni ko'rsatadiki, EPYC 7642 ikkita Xeon Platinum 6162 dan yaxshiroq ishlaydi. AMD bir nechta testlarda yutqazadi - masalan, AES-128-GCM va Go OpenSSL ECDSA-P256 Sign - lekin qolganlarida o'rtacha hisobda g'alaba qozonadi. 25% dan.

Ish yukini simulyatsiya qilish

Tezkor sinovlarimizdan so'ng biz serverlarni boshqa simulyatsiyalar to'plamidan o'tkazdik, unda dasturiy ta'minotning chekka stekiga sintetik yuk qo'llaniladi. Bu erda biz real ishda duch kelishi mumkin bo'lgan har xil turdagi so'rovlar bilan stsenariy ish yukini simulyatsiya qilamiz. So'rovlar ma'lumotlar hajmi, HTTP yoki HTTPS protokollari, WAF manbalari, ishchilar va boshqa ko'plab o'zgaruvchilarda farqlanadi. Quyida biz tez-tez uchraydigan so'rovlar turlari bo'yicha ikkita protsessorning o'tkazish qobiliyatini taqqoslash keltirilgan.

Cloudflare o'ninchi avlod chekka serverlari uchun AMD protsessorlarini tanlaydi

Diagrammadagi natijalar x o'qi bo'yicha 9 qiymatiga normallashtirilgan 1,0-avlod Intel-ga asoslangan mashinalarning asosiy darajasi bilan o'lchanadi. Misol uchun, HTTPS orqali oddiy 10 KiB so'rovlarni olib, AMD soniyasiga so'rovlar bo'yicha Inteldan 1,5 baravar yaxshiroq ekanligini ko'rishimiz mumkin. O'rtacha, AMD ushbu testlar uchun Intelga qaraganda 34% yaxshiroq ishladi. Bitta AMD EPYC 7642 uchun TDP 225 Vt va ikkita Intel protsessorlari uchun 300 Vt ekanligini hisobga olsak, AMD "vatt uchun so'rovlar" bo'yicha Intelga qaraganda 2 baravar yaxshiroq natijalarni ko'rsatadi!

Ayni paytda biz kelajakdagi Gen X protsessorlari sifatida AMD EPYC 7642 uchun yagona rozetkaga moyil edik.Biz AMD EPYC serverlari real ishda qanday ishlashini ko‘rishga juda qiziqdik va biz darhol bir nechta serverlarni yubordik. serverlarni ma'lumotlar markazlaridan ba'zilariga.

Haqiqiy ish

Birinchi qadam, tabiiyki, serverlarni real sharoitlarda ishlashga tayyorlash edi. Bizning parkimizdagi barcha mashinalar bir xil jarayonlar va xizmatlar bilan ishlaydi, bu esa unumdorlikni to'g'ri taqqoslash uchun ajoyib imkoniyatdir. Ko'pgina ma'lumotlar markazlari singari, bizda bir necha avlod serverlari o'rnatilgan va biz serverlarimizni klasterlarga yig'amiz, shunda har bir sinfda taxminan bir xil avlod serverlari mavjud. Ba'zi hollarda, bu klasterlar o'rtasida farq qiluvchi qayta ishlash egri chiziqlariga olib kelishi mumkin. Lekin biz bilan emas. Bizning muhandislarimiz barcha avlodlar uchun protsessordan foydalanishni optimallashtirishdi, shuning uchun ma'lum bir mashinaning protsessorida 8 yadroli yoki 24 yadroli bo'lishidan qat'i nazar, protsessordan foydalanish odatda qolganlari bilan bir xil bo'ladi.

Cloudflare o'ninchi avlod chekka serverlari uchun AMD protsessorlarini tanlaydi

Grafik foydalanishning o'xshashligi haqidagi fikrimizni ko'rsatadi - Gen X avlod serverlarida AMD protsessorlaridan foydalanish va 9 avlod serverlarida Intel protsessorlaridan foydalanish o'rtasida sezilarli farq yo'q.Bu sinov va asosiy serverlar bir xil yuklanganligini anglatadi. . Ajoyib. Biz serverlarimizda aynan shu narsaga intilamiz va bu adolatli taqqoslash uchun kerak. Quyidagi ikkita grafik bitta CPU yadrosi va server darajasidagi barcha yadrolar tomonidan qayta ishlangan so'rovlar sonini ko'rsatadi.

Cloudflare o'ninchi avlod chekka serverlari uchun AMD protsessorlarini tanlaydi
Yadro uchun so'rovlar

Cloudflare o'ninchi avlod chekka serverlari uchun AMD protsessorlarini tanlaydi
Serverga so'rovlar

Ko'rinib turibdiki, AMD o'rtacha 23% ko'proq so'rovlarni qayta ishlaydi. Umuman yomon emas! Biz o‘z blogimizda Gen 9 ning unumdorligini oshirish yo‘llari haqida tez-tez yozganmiz. Endi bizda yadrolar soni bir xil, ammo AMD kamroq quvvat bilan ko‘proq ishlaydi. Yadrolar soni va TDP spetsifikatsiyalaridan darhol aniq bo'ladiki, AMD yuqori energiya samaradorligi bilan yuqori tezlikni ta'minlaydi.

Ammo yuqorida aytib o'tganimizdek, TDP standart spetsifikatsiya emas va u barcha ishlab chiqaruvchilar uchun bir xil emas, shuning uchun haqiqiy energiya sarfini ko'rib chiqaylik. Serverning energiya sarfini soniyada so'rovlar soniga parallel ravishda o'lchab, biz quyidagi grafikni oldik:

Cloudflare o'ninchi avlod chekka serverlari uchun AMD protsessorlarini tanlaydi

AMD protsessorlarida ishlaydigan Gen X serverlari sarflangan vatt uchun soniyasiga so'rovlar asosida 28% samaraliroq. AMD ning TDP 25% past ekanligini hisobga olsak, ko'proq narsani kutish mumkin, ammo TDP noaniq xususiyat ekanligini unutmaslik kerak. Biz AMD ning haqiqiy quvvat iste'moli bazadan ancha yuqori chastotalarda belgilangan TDP bilan deyarli bir xil ekanligini ko'rdik; Intelda bunday yo'q. Bu TDP energiya iste'molining ishonchli bahosi emasligining yana bir sababidir. Gen 9 serverlarimizdagi Intel protsessorlari ko'p tugunli tizimga birlashtirilgan, AMD protsessorlari esa standart 1U format faktorli serverlarda ishlaydi. Bu AMD foydasiga emas, chunki ko'p tugunli serverlar har bir tugun uchun kamroq quvvat sarfi bilan ko'proq zichlikni ta'minlashi kerak, ammo AMD har bir tugun uchun quvvat sarfi bo'yicha Intelni ortda qoldirdi.

Xususiyatlar, test simulyatsiyalari va real ishlash boʻyicha koʻpgina taqqoslashlarda 1P AMD EPYC 7642 konfiguratsiyasi 2P Intel Xeon 6162ʼga qaraganda ancha yaxshi ishladi. Ayrim sharoitlarda AMD 36% gacha yaxshi ishlashi mumkin va biz optimallashtirish orqali ishonamiz. apparat va dasturiy ta'minot, biz doimiy ravishda bu yaxshilanishga erishishimiz mumkin.

AMD g'alaba qozondi.

Qo'shimcha grafiklar 99 soat davomida NGINX bilan ishlaydigan o'rtacha kechikish va p24 kechikishini ko'rsatadi. O'rtacha, AMD-dagi jarayonlar 25% tezroq ishlaydi. p99 da u kun vaqtiga qarab 20-50% tezroq ishlaydi.

xulosa

Cloudflare apparat va ishlash muhandislari mijozlarimiz uchun eng yaxshi server konfiguratsiyasini aniqlash uchun katta miqdordagi sinov va tadqiqotlar olib boradi. Biz bu yerda ishlashni yaxshi ko‘ramiz, chunki biz bu kabi katta muammolarni hal qila olamiz va biz sizga serversiz chekka kompyuterlar va Magic Transit, Argo Tunnel va DDoS himoyasi kabi xavfsizlik yechimlari kabi xizmatlar bilan muammolaringizni hal qilishda yordam bera olamiz. . Cloudflare tarmog'idagi barcha serverlar ishonchli ishlashi uchun sozlangan va biz har doim keyingi avlod serverlarini avvalgisidan yaxshiroq qilishga harakat qilamiz. Gen X protsessorlari haqida gap ketganda, AMD EPYC 7642 javob berishiga ishonamiz.

Cloudflare Workers-dan foydalanib, ishlab chiquvchilar o'z ilovalarini butun dunyo bo'ylab kengayayotgan tarmog'imizga joylashtiradilar. Biz mijozlarimizga bulutdagi xavfsizlik va ishonchlilikka eʼtibor qaratgan holda kod yozishga eʼtibor berishdan faxrlanamiz. Va bugun biz ularning ishi ikkinchi avlod AMD EPYC protsessorlari bilan ishlaydigan Gen X avlod serverlarida joylashtirilishini e'lon qilishdan mamnunmiz.

Cloudflare o'ninchi avlod chekka serverlari uchun AMD protsessorlarini tanlaydi
EPYC 7642 protsessorlari, kod nomi "Rim" [Rim]

AMD ning EPYC 7642 dan foydalanish orqali biz unumdorligimizni oshirdik va tarmog‘imizni yangi shaharlarga kengaytirishni osonlashtirdik. Rim bir kunda qurilgan emas, lekin tez orada ko'plaringizga yaqinroq bo'ladi.

So'nggi ikki yil ichida biz Intel va AMD tomonidan ishlab chiqarilgan ko'plab x86 chiplari, shuningdek, ARM protsessorlari bilan tajriba o'tkazdik. Biz ushbu protsessor ishlab chiqaruvchilari kelajakda biz bilan ishlashda davom etishlarini kutamiz, shunda biz hammamiz birgalikda yaxshiroq Internet qura olamiz.

Manba: www.habr.com

a Izoh qo'shish