تختار Cloudflare معالجات من AMD لخوادم الحافة من الجيل العاشر

تختار Cloudflare معالجات من AMD لخوادم الحافة من الجيل العاشر

يمر أكثر من مليار عنوان IP فريد عبر شبكة Cloudflare كل يوم؛ ويخدم أكثر من 11 مليون طلب HTTP في الثانية؛ إنها على بعد 100 مللي ثانية من 95٪ من مستخدمي الإنترنت. تمتد شبكتنا إلى 200 مدينة في أكثر من 90 دولة، وقد قام فريق المهندسين لدينا ببناء بنية تحتية سريعة وموثوقة للغاية.

نحن نفخر بعملنا ونلتزم بالمساعدة في جعل الإنترنت مكانًا أفضل وأكثر أمانًا. يتمتع مهندسو الأجهزة في Cloudflare بفهم عميق للخوادم ومكوناتها لفهم واختيار أفضل الأجهزة لتحقيق أقصى قدر من الأداء.

تتعامل مجموعة برامجنا مع الحوسبة ذات الأحمال العالية وتعتمد بشكل كبير على وحدة المعالجة المركزية (CPU)، مما يتطلب من مهندسينا تحسين كفاءة وموثوقية Cloudflare باستمرار على كل مستوى من مستويات الحزمة. من ناحية الخادم، أسهل طريقة لزيادة قوة المعالجة هي إضافة مراكز وحدة المعالجة المركزية. كلما زاد عدد النوى التي يمكن للخادم استيعابها، زادت كمية البيانات التي يمكنه معالجتها. وهذا أمر مهم بالنسبة لنا لأن تنوع منتجاتنا وعملائنا يتزايد بمرور الوقت، ويتطلب نمو الطلبات زيادة الأداء من الخوادم. ولزيادة أدائها، كنا بحاجة إلى زيادة كثافة النوى - وهذا بالضبط ما أنجزناه. نقدم أدناه بيانات تفصيلية عن معالجات الخوادم التي قمنا بنشرها منذ عام 2015، بما في ذلك عدد النوى:

-
جنرال 6
جنرال 7
جنرال 8
جنرال 9

الشروع في العمل
2015
2016
2017
2018

وحدة المعالجة المركزية‏:
Intel Xeon E5-2630 v3
Intel Xeon E5-2630 v4
انتل زيون فضي 4116
انتل زيون بلاتينيوم 6162

النوى المادية
2 س 8
2 س 10
2 س 12
2 س 24

TDP
2 س 85W
2 س 85W
2 س 85W
2 س 150W

TDP لكل نواة
10.65W
8.50W
7.08W
6.25W

في عام 2018، حققنا قفزة كبيرة في إجمالي عدد النوى لكل خادم مع الجيل التاسع. تم تقليل التأثير البيئي بنسبة 9% مقارنة بالجيل الثامن، مما يتيح لنا الفرصة لزيادة الحجم وقوة الحوسبة لكل حامل. متطلبات التصميم لتبديد الحرارة (طاقة التصميم الحراري، TDP) تم ذكرها لتسليط الضوء على أن كفاءة الطاقة لدينا زادت أيضًا بمرور الوقت. هذا المؤشر مهم بالنسبة لنا: أولا، نريد أن نطلق كمية أقل من الكربون في الغلاف الجوي؛ ثانيًا، نريد تحقيق أقصى استفادة من الطاقة الناتجة عن مراكز البيانات. لكننا نعلم أن لدينا شيئًا نسعى لتحقيقه.

المقياس الرئيسي المحدد لدينا هو عدد الطلبات لكل واط. يمكننا زيادة عدد الطلبات في الثانية عن طريق إضافة النوى، ولكننا بحاجة إلى البقاء في حدود ميزانية الطاقة لدينا. نحن مقيدون بالبنية التحتية لطاقة مركز البيانات، والتي، إلى جانب وحدات توزيع الطاقة المحددة لدينا، تمنحنا حدًا أعلى معينًا لكل حامل خادم. تؤدي إضافة الخوادم إلى الحامل إلى زيادة استهلاك الطاقة. ستزداد تكاليف التشغيل بشكل كبير إذا تجاوزنا حد الطاقة لكل رف واضطررنا إلى إضافة رفوف جديدة. نحن بحاجة إلى زيادة قوة المعالجة مع البقاء ضمن نفس نطاق استهلاك الطاقة، مما سيؤدي إلى زيادة الطلبات لكل واط، وهو مقياسنا الرئيسي.

كما كنت قد خمنت، قمنا بدراسة استهلاك الطاقة بعناية في مرحلة التصميم. يوضح الجدول أعلاه أنه لا ينبغي لنا إضاعة الوقت في نشر المزيد من وحدات المعالجة المركزية المتعطشة للطاقة إذا كان TDP لكل نواة أعلى من الجيل الحالي - فهذا سيؤثر سلبًا على مقياسنا للطلبات لكل واط. لقد درسنا بعناية الأنظمة الجاهزة للتشغيل لجيلنا X في السوق واتخذنا قرارًا. نحن ننتقل من تصميم Intel Xeon Platinum 48 ثنائي المقبس ذو 6162 نواة إلى تصميم AMD EPYC 48 ذو المقبس الواحد ذو 7642 نواة.

تختار Cloudflare معالجات من AMD لخوادم الحافة من الجيل العاشر

-
إنتل
AMD

وحدة المعالجة المركزية‏:
زيون البلاتين 6162
EPYC 7642

العمارة الدقيقة
"سكيلايك"
"Zen 2"

اسم الرمز
”سكايليك إس بي“
"روما"

عملية فنية
14nm
7nm

النوى
2 س 24
48

تردد
1.9 غيغاهرتز
2.4 غيغاهرتز

ذاكرة التخزين المؤقت/المقبس L3
24 × 1.375 ميجابايت
16 × 16 ميجابايت

الذاكرة / المقبس
6 قنوات تصل إلى DDR4-2400
8 قنوات تصل إلى DDR4-3200

TDP
2 س 150W
225W

PCIe/المقبس
48 حارات
128 حارات

ISA
x86-64
x86-64

يتضح من المواصفات أن شريحة AMD ستسمح لنا بالحفاظ على نفس عدد النوى مع خفض TDP. الجيل التاسع كان لديه TDP لكل نواة يبلغ 9 واط، والجيل العاشر سيكون 6,25 واط. تم التخفيض بنسبة 4,69%. بفضل التردد المتزايد، وربما التصميم الأبسط بمقبس واحد، يمكن الافتراض أن شريحة AMD ستعمل بشكل أفضل في الممارسة العملية. نقوم حاليًا بإجراء العديد من الاختبارات وعمليات المحاكاة لمعرفة مدى تحسن أداء AMD.

في الوقت الحالي، دعونا نلاحظ أن TDP هو مقياس مبسط من مواصفات الشركة المصنعة، والذي استخدمناه في المراحل الأولى من تصميم الخادم واختيار وحدة المعالجة المركزية. يكشف بحث Google السريع أن AMD وIntel لديهما طرق مختلفة لتعريف TDP، مما يجعل المواصفات غير موثوقة. الاستهلاك الحقيقي لطاقة وحدة المعالجة المركزية، والأهم من ذلك، استهلاك طاقة الخادم، هو ما نستخدمه حقًا عند اتخاذ قرارنا النهائي.

جاهزية النظام البيئي

لبدء رحلتنا لاختيار معالجنا التالي، نظرنا إلى مجموعة واسعة من وحدات المعالجة المركزية (CPUs) من مختلف الشركات المصنعة والتي كانت مناسبة تمامًا لمجموعة برامجنا وخدماتنا (المكتوبة بلغة C وLuaJIT وGo). لقد سبق أن وصفنا بالتفصيل مجموعة من الأدوات لقياس السرعة في إحدى مقالات مدونتنا. في هذه الحالة، استخدمنا نفس المجموعة - فهي تسمح لنا بتقييم كفاءة وحدة المعالجة المركزية في وقت معقول، وبعد ذلك يمكن لمهندسينا البدء في تكييف برامجنا مع معالج معين.

لقد اختبرنا مجموعة متنوعة من المعالجات مع مجموعة متنوعة من الأعداد الأساسية، وأعداد المقابس، والترددات. نظرًا لأن هذه المقالة تتحدث عن سبب استقرارنا على AMD EPYC 7642، فإن جميع المخططات في هذه المدونة تركز على كيفية أداء معالجات AMD مقارنةً بـ Intel Xeon Platinum 6162 من جيلنا التاسع.

تتوافق النتائج مع قياسات خادم واحد مع كل متغير معالج - أي مع معالجين 24 نواة من Intel، أو مع معالج واحد 48 نواة من AMD (خادم Intel بمقبسين وخادم AMD EPYC بمقبس واحد) . في BIOS نقوم بتعيين المعلمات المقابلة للخوادم قيد التشغيل. هذا هو 3,03 جيجا هرتز لـ AMD و 2,5 جيجا هرتز لـ Intel. للتبسيط إلى حد كبير، نتوقع أنه مع نفس العدد من النوى، سيكون أداء AMD أفضل بنسبة 21٪ من Intel.

التشفير

تختار Cloudflare معالجات من AMD لخوادم الحافة من الجيل العاشر

تختار Cloudflare معالجات من AMD لخوادم الحافة من الجيل العاشر

تبدو واعدة لـ AMD. أداء أفضل بنسبة 18% في تشفير المفتاح العام. باستخدام المفتاح المتماثل، فإنه يخسر خيارات التشفير AES-128-GCM، ولكن الأداء العام قابل للمقارنة.

ضغط

على خوادم الحافة، نقوم بضغط الكثير من البيانات لتوفير النطاق الترددي وزيادة سرعة تسليم المحتوى. نقوم بتمرير البيانات من خلال مكتبات C zlib وbrotli. تم إجراء جميع الاختبارات على ملف blog.cloudflare.com HTML الموجود في الذاكرة.

تختار Cloudflare معالجات من AMD لخوادم الحافة من الجيل العاشر

تختار Cloudflare معالجات من AMD لخوادم الحافة من الجيل العاشر

فازت AMD بمتوسط ​​29% عند استخدام gzip. في حالة بروتلي، تكون النتائج أفضل في الاختبارات ذات الجودة 7، والتي نستخدمها للضغط الديناميكي. يوجد انخفاض حاد في اختبار brotli-9 - نفسر ذلك من خلال حقيقة أن Brotli يستهلك الكثير من الذاكرة ويتجاوز ذاكرة التخزين المؤقت. ومع ذلك، AMD يفوز بهامش كبير.

العديد من خدماتنا مكتوبة بلغة Go. في الرسوم البيانية التالية، نتحقق مرة أخرى من سرعة التشفير والضغط في Go with RegExp على خطوط بحجم 32 كيلو بايت باستخدام مكتبة السلاسل.

اذهب إلى التشفير

تختار Cloudflare معالجات من AMD لخوادم الحافة من الجيل العاشر

اذهب للضغط

تختار Cloudflare معالجات من AMD لخوادم الحافة من الجيل العاشر

تختار Cloudflare معالجات من AMD لخوادم الحافة من الجيل العاشر

انتقل إلى التعبير العادي

تختار Cloudflare معالجات من AMD لخوادم الحافة من الجيل العاشر

تختار Cloudflare معالجات من AMD لخوادم الحافة من الجيل العاشر

اذهب سلاسل

تختار Cloudflare معالجات من AMD لخوادم الحافة من الجيل العاشر

كان أداء AMD أفضل في جميع الاختبارات مع Go باستثناء ECDSA P256 Sign، حيث كان متأخرًا بنسبة 38% - وهو أمر غريب، نظرًا لأنه كان أداؤه أفضل بنسبة 24% في C. من المفيد معرفة ما يحدث هناك. بشكل عام، 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 لخوادم الحافة من الجيل العاشر

يتم قياس النتائج في المخطط وفقًا للخط الأساسي للأجهزة المستندة إلى Intel من الجيل التاسع، والتي تمت تسويتها إلى قيمة 9 على المحور السيني. على سبيل المثال، بأخذ طلبات بسيطة تبلغ 1,0 كيلو بايت عبر HTTPS، يمكننا أن نرى أن أداء AMD أفضل بمقدار 10 مرة من Intel من حيث الطلبات في الثانية. في المتوسط، كان أداء AMD أفضل بنسبة 1,5% من أداء Intel في هذه الاختبارات. بالنظر إلى أن TDP لمعالج AMD EPYC 34 واحد يبلغ 7642 واط، ولمعالجي Intel 225 واط، فقد اتضح أنه من حيث "الطلبات لكل واط"، تظهر AMD نتائج أفضل مرتين من Intel!

في هذه المرحلة، كنا نميل بالفعل بشكل واضح نحو خيار المقبس الفردي لـ AMD EPYC 7642 باعتباره وحدات المعالجة المركزية المستقبلية من الجيل X. كنا مهتمين جدًا برؤية كيفية أداء خوادم AMD EPYC في العمل الواقعي، وأرسلنا على الفور العديد من خوادم لبعض من مراكز البيانات.

عمل فعلي

كانت الخطوة الأولى بطبيعة الحال هي إعداد الخوادم للعمل في ظروف حقيقية. تعمل جميع الآلات في أسطولنا بنفس العمليات والخدمات، مما يوفر فرصة ممتازة لمقارنة الأداء بشكل صحيح. كما هو الحال مع معظم مراكز البيانات، لدينا عدة أجيال من الخوادم المنتشرة، ونقوم بتجميع خوادمنا في مجموعات بحيث تحتوي كل فئة على خوادم من نفس الأجيال تقريبًا. وفي بعض الحالات، قد يؤدي ذلك إلى منحنيات إعادة التدوير التي تختلف بين المجموعات. ولكن ليس معنا. لقد قام مهندسونا بتحسين استخدام وحدة المعالجة المركزية لجميع الأجيال، بحيث بغض النظر عما إذا كانت وحدة المعالجة المركزية لجهاز معين تحتوي على 8 مراكز أو 24 مركزًا، فإن استخدام وحدة المعالجة المركزية بشكل عام هو نفس الباقي.

تختار Cloudflare معالجات من AMD لخوادم الحافة من الجيل العاشر

يوضح الرسم البياني تعليقنا على تشابه الاستخدام - لا يوجد فرق كبير بين استخدام وحدات المعالجة المركزية AMD في خوادم الجيل X واستخدام معالجات Intel في خوادم الجيل 9. وهذا يعني أنه يتم تحميل كل من خوادم الاختبار والخوادم الأساسية بالتساوي . عظيم. وهذا بالضبط ما نسعى إليه في خوادمنا، ونحتاج إلى ذلك لإجراء مقارنة عادلة. يوضح الرسمان البيانيان أدناه عدد الطلبات التي تتم معالجتها بواسطة نواة واحدة لوحدة المعالجة المركزية وجميع النوى على مستوى الخادم.

تختار Cloudflare معالجات من AMD لخوادم الحافة من الجيل العاشر
الطلبات لكل جوهر

تختار Cloudflare معالجات من AMD لخوادم الحافة من الجيل العاشر
طلبات إلى الخادم

ويمكن ملاحظة أن AMD تعالج طلبات أكثر بنسبة 23٪ في المتوسط. ليس سيئا على الإطلاق! لقد كتبنا كثيرًا على مدونتنا عن طرق زيادة أداء الجيل التاسع. والآن لدينا نفس العدد من النوى، لكن AMD تقوم بمزيد من العمل بطاقة أقل. يتضح على الفور من المواصفات الخاصة بعدد النوى وTDP أن AMD توفر سرعة أكبر مع كفاءة أكبر في استخدام الطاقة.

ولكن كما ذكرنا من قبل، فإن TDP ليس مواصفات قياسية وليس هو نفسه بالنسبة لجميع الشركات المصنعة، لذلك دعونا نلقي نظرة على الاستخدام الفعلي للطاقة. وبقياس استهلاك الخادم للطاقة بالتوازي مع عدد الطلبات في الثانية حصلنا على الرسم البياني التالي:

تختار Cloudflare معالجات من AMD لخوادم الحافة من الجيل العاشر

استنادًا إلى الطلبات لكل ثانية لكل واط يتم إنفاقه، فإن خوادم Gen X التي تعمل على معالجات AMD أكثر كفاءة بنسبة 28%. يمكن للمرء أن يتوقع المزيد، نظرًا لأن TDP الخاص بـ AMD أقل بنسبة 25٪، ولكن يجب أن نتذكر أن TDP هي خاصية غامضة. لقد رأينا أن استهلاك الطاقة الفعلي لـ AMD مطابق تقريبًا لـ TDP المعلن عند ترددات أعلى بكثير من القاعدة؛ إنتل ليس لديها ذلك. وهذا سبب آخر لعدم اعتبار TDP تقديرًا موثوقًا لاستهلاك الطاقة. تم دمج وحدات المعالجة المركزية (CPUs) من Intel في خوادمنا من الجيل التاسع في نظام متعدد العقد، بينما تعمل وحدات المعالجة المركزية (CPUs) من AMD في خوادم ذات عامل الشكل القياسي 9U. وهذا ليس في صالح AMD، نظرًا لأن الخوادم متعددة العقد يجب أن توفر كثافة أكبر مع استهلاك أقل للطاقة لكل عقدة، لكن AMD لا تزال تتفوق على Intel من حيث استهلاك الطاقة لكل عقدة.

في معظم المقارنات عبر المواصفات وعمليات المحاكاة الاختبارية والأداء الواقعي، كان أداء تكوين 1P AMD EPYC 7642 أفضل بكثير من 2P Intel Xeon 6162. في بعض الظروف، يمكن أن تؤدي AMD أداءً أفضل بنسبة تصل إلى 36%، ونعتقد أنه من خلال التحسين الأجهزة والبرامج، يمكننا تحقيق هذا التحسن على أساس مستمر.

اتضح فازت AMD.

تُظهر الرسوم البيانية الإضافية متوسط ​​زمن الوصول ووقت الاستجابة p99 لتشغيل NGINX على مدار 24 ساعة. في المتوسط، كانت العمليات على AMD تعمل بشكل أسرع بنسبة 25%. على p99، يتم تشغيله بشكل أسرع بنسبة 20-50٪ اعتمادًا على الوقت من اليوم.

اختتام

يقوم مهندسو الأجهزة والأداء في Cloudflare بإجراء قدر كبير من الاختبارات والبحث لتحديد أفضل تكوين للخادم لعملائنا. نحن نحب العمل هنا لأنه يمكننا حل المشكلات الكبيرة مثل هذه، ويمكننا مساعدتك في حل مشكلاتك من خلال خدمات مثل الحوسبة الطرفية بدون خادم ومجموعة من الحلول الأمنية مثل Magic Transit وArgo Tunnel والحماية من DDoS. . تم تكوين جميع الخوادم في شبكة Cloudflare للعمل بشكل موثوق، ونحن نحاول دائمًا أن نجعل كل جيل تالٍ من الخوادم أفضل من الجيل السابق. نعتقد أن AMD EPYC 7642 هو الحل عندما يتعلق الأمر بمعالجات Gen X.

باستخدام Cloudflare Workers، يقوم المطورون بنشر تطبيقاتهم على شبكتنا المتوسعة حول العالم. نحن فخورون بالسماح لعملائنا بالتركيز على كتابة التعليمات البرمجية بينما نركز نحن على الأمان والموثوقية في السحابة. واليوم يسعدنا أن نعلن أنه سيتم نشر عملهم على خوادم الجيل X لدينا التي تعمل بمعالجات AMD EPYC من الجيل الثاني.

تختار Cloudflare معالجات من AMD لخوادم الحافة من الجيل العاشر
معالجات EPYC 7642، الاسم الرمزي "روما" [روما]

باستخدام EPYC 7642 من AMD، تمكنا من زيادة أدائنا وتسهيل توسيع شبكتنا إلى مدن جديدة. لم يتم بناء روما في يوم واحد، لكنها ستصبح قريبًا أقرب إلى الكثير منكم.

في العامين الماضيين، قمنا بتجربة العديد من شرائح x86 من Intel وAMD، بالإضافة إلى معالجات من ARM. نتوقع أن يستمر صانعو وحدات المعالجة المركزية هؤلاء في العمل معنا في المستقبل حتى نتمكن جميعًا من بناء إنترنت أفضل معًا.

المصدر: www.habr.com

إضافة تعليق