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



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

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

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

---الجنرال 6الجنرال 7الجنرال 8الجنرال 9
بداية العمل2015201620172018
وحدة المعالجة المركزيةIntel Xeon E5-2630 v3Intel Xeon E5-2630 v4إنتل زيون سيلفر 4116انتل زيون بلاتينيوم 6162
النوى المادية2 × 82 × 102 × 122 × 24
TDP2 × 85 واط2 × 85 واط2 × 85 واط2 × 150 واط
TDP لكل قلب10.65 واط8.50 واط7.08 واط6.25 واط


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

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

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



---شركة انتلAMD
وحدة المعالجة المركزيةXeon Platinum 6162EPYC 7642
العمارة المصغرة"Skylake""Zen 2"
اسم الرمز"Skylake SP""روما"
تكنولوجيا المعالجة14 نانومتر7 نانومتر
النوى2 × 2448
تكرر1.9 جيجاهرتز2.4 جيجا هرتز
مخبأ / مقبس L324 × 1.375 ميجابايت16 × 16 ميجابايت
ذاكرة / مقبس6 قنوات تصل إلى DDR4-24008 قنوات تصل إلى DDR4-3200
TDP2 × 150 واط225 واط
PCIe / مقبس48 ممر128 ممر
هوx86-64x86-64


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

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

استعداد النظام البيئي


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

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

تتوافق النتائج مع قياسات تشغيل خادم واحد مع كل متغير من المعالجات - أي مع معالجين من 24 نواة من Intel ، أو معالج واحد من 48 نواة من AMD (خادم Intel مع مآخذ توصيل وخادم AMD EPYC مع واحد). في BIOS ، نقوم بتعيين المعلمات المقابلة لخوادم العمل. هذه هي 3.03 جيجا هرتز لأيه إم دي و 2.5 جيجا هرتز لإنتل. تبسيطًا كبيرًا ، نتوقع أنه مع نفس عدد النوى ، ستظهر AMD نتائج أفضل بنسبة 21٪ من Intel.

التشفير






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

ضغط


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





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

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

انتقل التشفير




اذهب ضغط






اذهب regexp






اذهب سلاسل




تعرض AMD أفضل النتائج في جميع الاختبارات باستخدام Go باستثناء علامة ECDSA P256 ، حيث تتخلف بنسبة 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 لأنواع الطلبات التي نجدها في أغلب الأحيان.



يتم قياس النتائج على الرسم البياني من خلال المؤشرات الأساسية للجيل التاسع من الأجهزة المزودة بمعالجات Intel ، والتي تم تطبيعها إلى قيمة 1.0 على طول المحور x. على سبيل المثال ، بأخذ طلبات بسيطة لـ 10 KiB عبر HTTPS ، يمكننا أن نرى أن AMD أفضل 1.5 مرة من Intel من حيث عدد الطلبات في الثانية. في المتوسط ​​، كان أداء AMD أفضل بنسبة 34٪ للاختبارات المعينة من أداء Intel. مع الأخذ في الاعتبار أن TDP لـ AMD EPYC 7642 الوحيد هو 225 واط ، وبالنسبة لمعالجين Intel - 300 واط ، اتضح أنه من حيث "الطلبات لكل واط" ، تظهر AMD نتائج أفضل مرتين من Intel!

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

عمل فعلي


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



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


استعلامات


للخادم استعلامات للخادم

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

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



من خلال عدد الطلبات لكل ثانية تنفق لكل واط ، فإن خادم Gen X على معالجات AMD أكثر كفاءة بنسبة 28 ٪. يمكن للمرء أن يتوقع أكثر ، نظرًا لأن TDP في AMD أقل بنسبة 25 ٪ ، ومع ذلك ، يجب أن نتذكر أن TDP هو خاصية غامضة. رأينا أن استهلاك AMD الفعلي للطاقة يتزامن تقريبًا مع TDP المشار إليه عند تردد أعلى بكثير من القاعدة ؛ ليس لدى إنتل ذلك. هذا سبب آخر لعدم توفر TDP تقديرًا موثوقًا به لاستهلاك الطاقة. تم دمج وحدات المعالجة المركزية Intel في خوادم Gen 9 لدينا في نظام الرموز المتعددة ، في حين تعمل وحدات المعالجة المركزية AMD في خوادم عامل النموذج 1U القياسية. هذا لا يتحدث لصالح 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 Protection . تم تكوين جميع الخوادم في شبكة Cloudflare للتشغيل الموثوق به ، ونحن نحاول دائمًا جعل كل جيل من الخوادم التالية أفضل من الجيل السابق. نعتقد أن AMD EPYC 7642 هو الجواب على السؤال حول اختيار المعالجات للجيل X.

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


معالجات EPYC 7642 ، التي تحمل الاسم الرمزي "Rome" [روما]

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

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

All Articles