Cloudflare нь арав дахь үеийн захын серверүүдэд AMD-аас процессоруудыг сонгодог

Cloudflare нь арав дахь үеийн захын серверүүдэд AMD-аас процессоруудыг сонгодог

Cloudflare сүлжээгээр өдөр бүр тэрбум гаруй өвөрмөц IP хаяг дамждаг; энэ нь секундэд 11 сая гаруй HTTP хүсэлтэд үйлчилдэг; Тэрээр интернетийн нийт хүн амын 100%-ийн 95м-д багтдаг. Манай сүлжээ нь 200 гаруй орны 90 хотыг хамардаг бөгөөд манай инженерүүдийн баг маш хурдан бөгөөд найдвартай дэд бүтцийг бий болгосон.

Бид ажилдаа маш их бахархаж, интернетийг илүү сайн, аюулгүй газар болгоход туслах үүрэг хүлээдэг. Cloudflare-ийн техник хангамжийн инженерүүд серверүүд болон тэдгээрийн бүрэлдэхүүн хэсгүүдийн талаар гүнзгий ойлголттой бөгөөд түүний гүйцэтгэлийг нэмэгдүүлэхийн тулд хамгийн сайн техник хангамжийг ойлгож, сонгох боломжтой.

Манай программ хангамжийн стек нь өндөр ачаалалтай тооцоололыг зохицуулдаг бөгөөд CPU-ээс ихээхэн хамааралтай тул манай инженерүүдээс стекийн бүх түвшинд Cloudflare-ийн үр ашиг, найдвартай байдлыг тасралтгүй оновчтой болгохыг шаарддаг. Серверийн тал дээр процессорын цөм нэмэх нь процессын хүчийг нэмэгдүүлэх хамгийн хялбар арга юм. Серверт хэдий чинээ олон цөм багтана, төдий чинээ их өгөгдлийг боловсруулж чадна. Энэ нь бидний хувьд чухал бөгөөд учир нь манай бүтээгдэхүүн, үйлчлүүлэгчдийн төрөл цаг хугацаа өнгөрөх тусам нэмэгдэж байгаа бөгөөд хүсэлтийн өсөлт нь серверүүдийн гүйцэтгэлийг нэмэгдүүлэхийг шаарддаг. Тэдний гүйцэтгэлийг нэмэгдүүлэхийн тулд бид цөмийн нягтыг нэмэгдүүлэх шаардлагатай болсон бөгөөд энэ нь бидний хийсэн зүйл юм. Доор бид 2015 оноос хойш суурилуулсан серверүүдийн процессоруудын талаарх дэлгэрэнгүй мэдээллийг, үүнд цөмийн тоог оруулав.

-
Gen 6
Gen 7
Gen 8
Gen 9

Эхлэл
2015
2016
2017
2018

CPU-ийн
Intel Xeon E5-2630 v3
Intel Xeon E5-2630 v4
Intel Xeon Мөнгөн 4116
Intel Xeon Платинум 6162

Физик цөм
2 х 8
2 х 10
2 х 12
2 х 24

TDP
2 x 85W хувилбар
2 x 85W хувилбар
2 x 85W хувилбар
2 x 150W хувилбар

Цөм тутамд TDP
10.65W
8.50W
7.08W
6.25W

2018 онд бид Gen 9-тэй нэг серверт ногдох цөмийн нийт тоогоор том үсрэлт хийсэн. Байгаль орчинд үзүүлэх нөлөө нь 33-р үеийнхтэй харьцуулахад 8%-иар буурч, нэг тавиурын хэмжээ болон тооцоолох хүчийг нэмэгдүүлэх боломжийг бидэнд олгож байна. Дулаан ялгаруулах дизайны шаардлага (Дулааны дизайны хүч, TDP) нь манай эрчим хүчний хэмнэлт нь цаг хугацааны явцад нэмэгдэж байгааг онцлон дурдлаа. Энэ үзүүлэлт нь бидний хувьд чухал ач холбогдолтой: нэгдүгээрт, бид агаар мандалд нүүрстөрөгч бага ялгаруулахыг хүсч байна; Хоёрдугаарт, бид дата төвүүдийн эрчим хүчийг хамгийн сайн ашиглахыг хүсч байна. Гэхдээ бидэнд тэмүүлэх зүйл байгаа гэдгийг бид мэднэ.

Бидний тодорхойлох гол хэмжүүр бол нэг ватт дахь хүсэлтийн тоо юм. Бид цөм нэмэх замаар секундэд хийх хүсэлтийн тоог нэмэгдүүлэх боломжтой боловч бид эрчим хүчний төсөвтөө багтаах хэрэгтэй. Бид өгөгдлийн төвийн эрчим хүчний дэд бүтцээр хязгаарлагддаг бөгөөд энэ нь бидний сонгосон цахилгаан түгээх модулиудтай хамт серверийн тавиур бүрт тодорхой дээд хязгаарыг өгдөг. Серверүүдийг тавиур дээр нэмэх нь эрчим хүчний хэрэглээг нэмэгдүүлдэг. Хэрэв бид тавиур бүрийн эрчим хүчний хязгаарыг давж, шинэ тавиур нэмэх шаардлагатай бол ашиглалтын зардал мэдэгдэхүйц нэмэгдэх болно. Бид ижил эрчим хүчний хэрэглээний хүрээнд байхын зэрэгцээ боловсруулах хүчийг нэмэгдүүлэх шаардлагатай бөгөөд энэ нь бидний гол хэмжүүр болох нэг ватт тутамд хүсэлтийг нэмэгдүүлэх болно.

Таны таамаглаж байсанчлан бид дизайны үе шатанд эрчим хүчний хэрэглээг сайтар судалсан. Дээрх хүснэгтээс харахад бид нэг цөмд ногдох TDP нь одоогийн үеийнхээс өндөр байвал илүү их эрчим хүч шаардсан CPU ашиглахад цаг үрэх ёсгүй - энэ нь бидний хэмжүүр буюу ватт тутамд хийх хүсэлтэд сөргөөр нөлөөлнө. Бид зах зээл дээрх X үеийнхээ ажиллахад бэлэн системийг сайтар судалж, шийдвэр гаргасан. Бид 48 цөмт Intel Xeon Platinum 6162 хос сокет загвараас 48 цөмт AMD EPYC 7642 нэг залгууртай загвар руу шилжиж байна.

Cloudflare нь арав дахь үеийн захын серверүүдэд AMD-аас процессоруудыг сонгодог

-
Intel
AMD

CPU-ийн
Xeon Platinum 6162
EPYC 7642

Бичил архитектур
"Скайлэк"
“Зэн 2”

Нууц нэр
Skylake SP
"Ром"

Техникийн процесс
14nm
7nm

цөм
2 х 24
48

Давтамж
1.9 GHz
2.4 GHz

L3 кэш/сокет
24 x 1.375МБ
16 x 16МБ

Санах ой/сокет
6 суваг, DDR4-2400 хүртэл
8 суваг, DDR4-3200 хүртэл

TDP
2 x 150W хувилбар
225W

PCIe/сокет
48 эгнээ
128 эгнээ

НЬ
x86-64
x86-64

Техникийн үзүүлэлтүүдээс харахад AMD-ийн чип нь TDP-ийг бууруулахын зэрэгцээ ижил тооны цөмийг хадгалах боломжийг бидэнд олгоно. 9-р үеийн нэг цөмд TDP 6,25 Вт байсан бол X-р үеийнхэн 4,69 Вт байх болно. 25%-иар буурсан. Давтамж нэмэгдэж, магадгүй нэг залгууртай илүү энгийн дизайны ачаар AMD чип нь практик дээр илүү сайн ажиллах болно гэж үзэж болно. Бид одоогоор AMD хэр сайн ажиллахыг харахын тулд янз бүрийн туршилт, симуляци хийж байна.

Одоохондоо TDP нь үйлдвэрлэгчийн техникийн үзүүлэлтээс хялбаршуулсан хэмжигдэхүүн бөгөөд үүнийг бид серверийн дизайн болон CPU-ийн сонголтын эхний үе шатанд ашигласан гэдгийг тэмдэглэе. Google-ийн хурдан хайлтаас харахад AMD болон Intel нь TDP-ийг тодорхойлоход өөр өөр арга барилтай байдаг нь тодорхойлолтыг найдваргүй болгодог. CPU-ийн эрчим хүчний бодит хэрэглээ, хамгийн чухал нь серверийн эрчим хүчний хэрэглээ нь эцсийн шийдвэрээ гаргахдаа бидний ашигладаг зүйл юм.

Экосистемийн бэлэн байдал

Дараагийн процессороо сонгох аялалаа эхлүүлэхийн тулд бид програм хангамжийн стек болон үйлчилгээнд (C, LuaJIT болон Go дээр бичигдсэн) тохирсон өөр өөр үйлдвэрлэгчдийн CPU-ийн өргөн сонголттой танилцсан. Бид хурдыг хэмжих хэрэгслийн багцыг аль хэдийн дэлгэрэнгүй тайлбарласан Манай блогийн нийтлэлүүдийн нэгд. Энэ тохиолдолд бид ижил багцыг ашигласан - энэ нь CPU-ийн үр ашгийг боломжийн хугацаанд үнэлэх боломжийг олгодог бөгөөд үүний дараа манай инженерүүд програмуудаа тодорхой процессортой тохируулж эхлэх боломжтой.

Бид янз бүрийн үндсэн тоо, залгуурын тоо, давтамж бүхий төрөл бүрийн процессоруудыг туршиж үзсэн. Энэ нийтлэл нь бид яагаад AMD EPYC 7642 дээр тогтсон тухай өгүүлдэг тул энэ блог дээрх бүх графикууд нь Intel Xeon Platinum 6162-тэй харьцуулахад AMD процессорууд хэрхэн ажилладаг талаар төвлөрдөг. бидний 9 дэх үе.

Үр дүн нь процессорын хувилбар бүртэй нэг серверийн хэмжилттэй тохирч байна, өөрөөр хэлбэл Intel-ийн хоёр 24 цөмт процессор эсвэл AMD-ийн нэг 48 цөмт процессор (хоёр залгууртай Intel-д зориулсан сервер, нэг нь AMD EPYC-д зориулсан сервер) . BIOS дээр бид ажиллаж байгаа серверүүдэд тохирох параметрүүдийг тохируулсан. Энэ нь AMD-ийн хувьд 3,03 GHz, Intel-ийн хувьд 2,5 GHz байна. Маш хялбаршуулж хэлэхэд ижил тооны цөмтэй бол AMD нь Intel-ээс 21% илүү ажиллах болно гэж бид найдаж байна.

Криптограф

Cloudflare нь арав дахь үеийн захын серверүүдэд AMD-аас процессоруудыг сонгодог

Cloudflare нь арав дахь үеийн захын серверүүдэд AMD-аас процессоруудыг сонгодог

AMD-ийн хувьд ирээдүйтэй харагдаж байна. Энэ нь нийтийн түлхүүрийн криптограф дээр 18% илүү сайн ажилладаг. Тэгш хэмтэй түлхүүртэй бол энэ нь AES-128-GCM шифрлэлтийн сонголтуудыг алдах боловч ерөнхийдөө харьцуулах боломжтой.

Шахалт

Edge серверүүд дээр бид зурвасын өргөнийг хэмнэж, контент дамжуулах хурдыг нэмэгдүүлэхийн тулд маш их өгөгдлийг шахдаг. Бид өгөгдлийг zlib болон brotli C номын сангуудаар дамжуулдаг. Бүх тестийг санах ой дахь blog.cloudflare.com HTML файл дээр явуулсан.

Cloudflare нь арав дахь үеийн захын серверүүдэд AMD-аас процессоруудыг сонгодог

Cloudflare нь арав дахь үеийн захын серверүүдэд AMD-аас процессоруудыг сонгодог

AMD gzip ашиглах үед дунджаар 29%-иар хожсон. Brotli-ийн хувьд бидний динамик шахалтанд ашигладаг 7-р чанарын туршилтын үр дүн илүү сайн байдаг. Brotli-9 тест дээр огцом уналт ажиглагдаж байна - бид үүнийг Brotli нь санах ойг их хэмжээгээр хэрэглэж, кэшийг дүүргэж байгаатай холбон тайлбарлаж байна. Гэсэн хэдий ч AMD их хэмжээний ялалт байгуулав.

Манай олон үйлчилгээ Go дээр бичигдсэн байдаг. Дараах графикууд дээр бид strings санг ашиглан 32 KB шугам дээр RegExp-тэй Go програмын криптограф болон шахалтын хурдыг давхар шалгана.

Криптограф руу яв

Cloudflare нь арав дахь үеийн захын серверүүдэд AMD-аас процессоруудыг сонгодог

Компресс руу оч

Cloudflare нь арав дахь үеийн захын серверүүдэд AMD-аас процессоруудыг сонгодог

Cloudflare нь арав дахь үеийн захын серверүүдэд AMD-аас процессоруудыг сонгодог

Regexp руу оч

Cloudflare нь арав дахь үеийн захын серверүүдэд AMD-аас процессоруудыг сонгодог

Cloudflare нь арав дахь үеийн захын серверүүдэд AMD-аас процессоруудыг сонгодог

Go Strings

Cloudflare нь арав дахь үеийн захын серверүүдэд AMD-аас процессоруудыг сонгодог

AMD нь ECDSA P256 Sign-ээс бусад Go-ийн бүх туршилтыг илүү сайн гүйцэтгэдэг бөгөөд энэ нь 38%-иар хоцорч байсан нь C хэл дээр 24%-иар илүү байсан нь хачирхалтай. Тэнд юу болж байгааг олж мэдэх нь зүйтэй. Ерөнхийдөө AMD тийм ч их хождоггүй ч хамгийн сайн үр дүнг харуулдаг.

ЛуаЖИТ

Бид ихэвчлэн LuaJIT-ийг стек дээр ашигладаг. Энэ бол Cloudflare-ийн бүх хэсгүүдийг холбодог цавуу юм. AMD энд бас ялсанд бид баяртай байна.

Ерөнхийдөө туршилтууд нь EPYC 7642 нь хоёр Xeon Platinum 6162-ээс илүү сайн ажилладаг болохыг харуулж байна. AMD нь AES-128-GCM болон Go OpenSSL ECDSA-P256 Sign зэрэг хэд хэдэн туршилтанд хожигдсон боловч бусад бүх тестүүд дээр дунджаар ялдаг. 25%.

Ажлын ачааллын симуляци

Шуурхай туршилтын дараа бид серверүүдийг програм хангамжийн захын стек дээр нийлэг ачаалал өгдөг өөр загварчлалаар ажиллуулсан. Энд бид бодит ажил дээр тохиолдож болох янз бүрийн төрлийн хүсэлт бүхий хувилбарын ажлын ачааллыг дуурайж байна. Хүсэлт нь өгөгдлийн хэмжээ, HTTP эсвэл HTTPS протокол, WAF эх сурвалж, Ажилчид болон бусад олон хувьсагчдаас ялгаатай. Доорх нь бидний хамгийн их тулгардаг хүсэлтийн төрлүүдийн хувьд хоёр CPU-ийн дамжуулах чадварыг харьцуулсан болно.

Cloudflare нь арав дахь үеийн захын серверүүдэд AMD-аас процессоруудыг сонгодог

График дахь үр дүнг 9-р үеийн Intel-д суурилсан машинуудын суурь үзүүлэлттэй харьцуулан хэмжсэн бөгөөд х тэнхлэг дээр 1,0 утгыг хэвийн болгосон. Жишээлбэл, HTTPS-ээр дамжуулан энгийн 10 киБ хүсэлтийг авч үзвэл AMD нь секундэд хийх хүсэлтийн хувьд Intel-ээс 1,5 дахин илүү байгааг харж болно. Дунджаар AMD эдгээр туршилтуудыг Intel-ээс 34%-иар илүү гүйцэтгэсэн. Нэг AMD EPYC 7642-ийн TDP нь 225 Вт, хоёр Intel процессорын хувьд 300 Вт байна гэж үзвэл AMD нь "ватт тутамд хүсэлт" -ийн хувьд Intel-ээс 2 дахин илүү үр дүнг харуулж байна!

Энэ үед бид ирээдүйн X Gen CPU-ийн хувьд AMD EPYC 7642-ийн нэг залгуурын сонголт руу аль хэдийн хандсан байсан. Бид AMD EPYC серверүүд бодит амьдрал дээр хэрхэн ажиллахыг маш их сонирхож байсан бөгөөд бид даруй хэд хэдэн сервер илгээсэн. серверүүдийг дата төвөөс заримыг нь .

Жинхэнэ ажил

Мэдээжийн хэрэг эхний алхам бол серверүүдийг бодит нөхцөлд ажиллахад бэлтгэх явдал байв. Манай флотын бүх машинууд ижил процесс, үйлчилгээтэй ажилладаг бөгөөд энэ нь гүйцэтгэлийг зөв харьцуулах сайхан боломжийг олгодог. Ихэнх өгөгдлийн төвүүдийн нэгэн адил бид хэд хэдэн үеийн серверүүдийг суурилуулсан бөгөөд бид серверүүдээ кластер болгон цуглуулдаг бөгөөд ингэснээр анги бүр ойролцоогоор ижил үеийн серверүүдийг агуулна. Зарим тохиолдолд энэ нь кластеруудын хооронд ялгаатай дахин боловсруулалтын муруйг үүсгэж болно. Гэхдээ бидэнтэй хамт биш. Манай инженерүүд бүх үеийн турш CPU-ийн ашиглалтыг оновчтой болгосон тул тухайн машины CPU нь 8 цөмтэй эсвэл 24 цөмтэй эсэхээс үл хамааран CPU-ийн ашиглалт нь бусадтай ижил байдаг.

Cloudflare нь арав дахь үеийн захын серверүүдэд AMD-аас процессоруудыг сонгодог

График нь ашиглалтын ижил төстэй байдлын талаарх бидний тайлбарыг харуулж байна - Gen X үеийн серверүүдэд AMD CPU-г ашиглах болон 9-р үеийн серверүүдэд Intel процессор ашиглах хооронд мэдэгдэхүйц ялгаа байхгүй. Энэ нь туршилтын болон үндсэн серверүүд хоёулаа адилхан ачаалагддаг гэсэн үг юм. . Агуу их. Энэ нь бидний серверүүд дээр яг ийм зүйл хийхийг эрмэлздэг бөгөөд шударга харьцуулалт хийхэд бидэнд хэрэгтэй байна. Доорх хоёр график нь нэг CPU цөм болон серверийн түвшний бүх цөмөөр боловсруулсан хүсэлтийн тоог харуулж байна.

Cloudflare нь арав дахь үеийн захын серверүүдэд AMD-аас процессоруудыг сонгодог
Нэг цөм бүрийн хүсэлт

Cloudflare нь арав дахь үеийн захын серверүүдэд AMD-аас процессоруудыг сонгодог
Серверт хандах хүсэлт

AMD дунджаар 23% илүү хүсэлтийг боловсруулдаг болохыг харж болно. Огт муу биш! Gen 9-ийн гүйцэтгэлийг нэмэгдүүлэх арга замуудын талаар бид блогтоо байнга бичдэг байсан. Одоо бидэнд ижил тооны цөм байгаа ч AMD бага хүчээр илүү их ажил хийдэг. Цөмийн тоо болон TDP-ийн үзүүлэлтүүдээс харахад AMD нь эрчим хүчний хэмнэлттэй, илүү хурдыг өгдөг.

Гэхдээ бид аль хэдийн дурьдсанчлан TDP нь стандарт үзүүлэлт биш бөгөөд бүх үйлдвэрлэгчдэд адилхан байдаггүй тул эрчим хүчний бодит хэрэглээг харцгаая. Серверийн эрчим хүчний хэрэглээг секундэд ирдэг хүсэлтийн тоотой зэрэгцүүлэн хэмжсэнээр бид дараах графикийг олж авлаа.

Cloudflare нь арав дахь үеийн захын серверүүдэд AMD-аас процессоруудыг сонгодог

Нэг ватт тутамд секундэд зарцуулсан хүсэлт дээр үндэслэн AMD процессор дээр ажилладаг Gen X серверүүд 28% илүү үр ашигтай байдаг. AMD-ийн TDP нь 25% -иар бага байгааг харгалзан илүү ихийг хүлээж болох боловч TDP нь хоёрдмол утгатай шинж чанартай гэдгийг санах нь зүйтэй. Бид AMD-ийн бодит эрчим хүчний хэрэглээ нь үндсэн хэмжээнээс хамаагүй өндөр давтамжтайгаар заасан TDP-тэй бараг ижил байгааг бид харсан; Intel-д тийм зүйл байхгүй. Энэ нь TDP нь эрчим хүчний хэрэглээний найдвартай тооцоо биш байх бас нэг шалтгаан юм. Манай Gen 9 серверүүд дэх Intel-ийн CPU-үүд нь олон зангилааны системд нэгдсэн байдаг бол AMD-ийн CPU-үүд нь стандарт 1U хэлбэрийн серверт ажилладаг. Энэ нь AMD-д таалагдахгүй, учир нь олон зангилаатай серверүүд нь зангилаа тутамд бага эрчим хүч зарцуулдаг тул илүү нягтралтай байх ёстой, гэхдээ AMD нь зангилааны эрчим хүчний хэрэглээний хувьд Intel-ийг гүйцэж түрүүлсэн хэвээр байна.

Техникийн үзүүлэлтүүд, туршилтын загварчлалууд болон бодит гүйцэтгэлийн ихэнх харьцуулалтад 1P AMD EPYC 7642 тохиргоо нь 2P Intel Xeon 6162-ээс хамаагүй дээр байсан. Зарим нөхцөлд AMD нь 36% хүртэл илүү сайн ажиллах боломжтой бөгөөд бид үүнийг оновчтой болгосноор бид итгэдэг. техник хангамж, програм хангамжийн хувьд бид энэ сайжруулалтыг тасралтгүй хийж чадна.

Энэ нь AMD ялсан.

Нэмэлт графикууд нь NGINX-ийг 99 цагийн турш ажиллуулж буй дундаж хоцролт ба p24 хоцролтыг харуулж байна. Дунджаар AMD дээрх процессууд 25% хурдан ажилладаг. p99 дээр өдрийн цагаас хамааран 20-50% илүү хурдан ажилладаг.

дүгнэлт

Cloudflare-ийн Техник хангамж, Гүйцэтгэлийн инженерүүд үйлчлүүлэгчдэдээ хамгийн сайн серверийн тохиргоог тодорхойлохын тулд ихээхэн хэмжээний туршилт, судалгаа хийдэг. Бид энд ажиллах дуртай, учир нь бид үүнтэй төстэй томоохон асуудлуудыг шийдэж чаддаг бөгөөд сервергүй захын тооцоолол, Magic Transit, Argo Tunnel, DDoS хамгаалалт зэрэг олон төрлийн аюулгүй байдлын шийдлүүдийн тусламжтайгаар таны асуудлыг шийдвэрлэхэд тань туслах болно. . Cloudflare сүлжээн дэх бүх серверүүд найдвартай ажиллахаар тохируулагдсан бөгөөд бид дараагийн үеийн сервер бүрийг өмнөхөөсөө илүү сайн болгохыг үргэлж хичээдэг. Gen X процессоруудын тухайд AMD EPYC 7642 нь хариулт болно гэдэгт бид итгэдэг.

Cloudflare Workers-ийг ашиглан хөгжүүлэгчид өөрсдийн программыг дэлхий даяар өргөжин тэлж буй манай сүлжээнд байршуулдаг. Үүлэн дэх аюулгүй байдал, найдвартай байдалд анхаарлаа төвлөрүүлж байхад бид үйлчлүүлэгчиддээ код бичихэд анхаарлаа төвлөрүүлж байгаадаа баяртай байна. Өнөөдөр бид тэдний ажлыг хоёр дахь үеийн AMD EPYC процессортой X үеийн серверүүд дээр байрлуулах болно гэдгийг мэдэгдэхэд илүү таатай байна.

Cloudflare нь арав дахь үеийн захын серверүүдэд AMD-аас процессоруудыг сонгодог
EPYC 7642 процессор, код нэр нь "Ром" [Ром]

AMD-н EPYC 7642-г ашигласнаар бид гүйцэтгэлээ нэмэгдүүлж, сүлжээгээ шинэ хотуудад өргөжүүлэхэд хялбар болгосон. Ром нэг өдрийн дотор баригдаагүй ч удахгүй та нарын олонхтой ойртох болно.

Сүүлийн хоёр жилийн хугацаанд бид Intel болон AMD-н олон x86 чип, мөн ARM-ийн процессоруудыг туршиж үзсэн. Эдгээр CPU үйлдвэрлэгчид ирээдүйд бидэнтэй хамтран ажилласнаар бид бүгд хамтдаа илүү сайн интернет бүтээнэ гэж найдаж байна.

Эх сурвалж: www.habr.com

сэтгэгдэл нэмэх