تقييم Cavium ThunderX2: حلم خادم الذراع يصبح حقيقة (الجزء الأول ، مقدمة)

قبل أقل من عامين ، اكتشفنا أول خادم Arm SoC ، والذي يمكنه نظريًا التنافس مع Intel Xeon E5s - Cavium ThunderX. أظهر خادم SoC كل ما تم الإعلان عنه ، ومع ذلك ، بسبب الأداء المنخفض المترابط والصعوبات في تحسين خصائص الطاقة ، تم تعيين SoC 48-core إلى الأسواق المتخصصة. ونتيجة لذلك ، لم يكن أول خادم Cavium SoC قادرًا على المنافسة مع Xeon من Intel.



لكن Cavium لم يستسلم لأسباب واضحة: في الوقت الحالي ، أصبح سوق الخوادم أكثر جاذبية من أي وقت مضى. تحقق مراكز البيانات التابعة لشركة Intel العملاقة العالمية عائدات تبلغ حوالي 20 مليار دولار أمريكي (!) سنويًا. علاوة على ذلك ، الربحية 50٪. من حيث الربح وتحويل الأموال ، فإن سوق الخوادم أكبر بكثير من أي سوق معدات أخرى. لذا ، بعد إطلاق ThunderX ، وعد Cavium بإصدار تكرار ثانٍ: إدارة طاقة محسنة ، وأداء محسن أحادي الخيوط ، والمزيد من النوى (54).

ما لا يلعب في يد Cavium هو أنه إذا كان المستخدم يحتاج إلى خادم ، فيمكنه فقط أخذ جهاز Intel مصحح وموثوق به. في الواقع ، ظلت الوعود الصاخبة من Arm ، Calxeda ، Broadcom ، AppliedMicro على مدى السنوات الخمس الماضية وعودًا ، مما تسبب في موجة خطيرة من الشك وعدم الثقة وظهور SoC Arm Server الجديد.

ومع ذلك ، فإن الإنشاء الجديد لكافيوم خارجي يستحق الاهتمام. تم إجراء عدد من التغييرات ، وليس فقط إضافة الرقم "2" إلى الاسم: اشترت Cavium تصميم Avago's Vulcan. Vulcan هو تصميم معالج طموح نوعًا ما ، تم تطويره في الأصل من قبل فريق Arm server SoC Broadcom ، ولديه إرث أكبر بكثير من ThunderX الأصلي. بالإضافة إلى ذلك ، واستناداً إلى خبرتها مع ThunderX ، تمكنت Cavium من إدخال بعض التحسينات المعمارية الدقيقة لتصميم فولكان ، وتحسين أدائها وقوتها.

ونتيجة لذلك ، "تحول" ThunderX2 إلى جوهر أكثر تفصيلاً من الجيل السابق. كان لب ThunderX Core خط أنابيب قصيرًا جدًا ومن غير المحتمل أن يتحمل تعليماتين في كل دورة ، ولكن قلب فولكان مصمم لـ 8 عمليات جلب وتنفيذ ما يصل إلى 4 تعليمات لكل دورة. بل وأكثر من ذلك: يمكن أن تكون جميع التدفقات الأربعة (SMT4) نشطة في نفس الوقت ، مما يوفر تحميلًا دائمًا من الخلف. يحتوي ThunderX2 SoC32 الجديد على 32 نواة بتردد يصل إلى 2.5 جيجا هرتز.



مع ما يصل إلى 128 خيطًا و 8 وحدات تحكم DDR4 على الأقل ، يجب أن تعمل وحدة المعالجة المركزية بشكل جيد في جميع عمليات تحميل الخادم. وبعبارة أخرى ، على عكس ThunderX (1) ، يعد ThunderX2 أول معالج خادم Arm ولديه كل فرصة لزعزعة التوازن في سوق الخوادم.

من لديه المزيد: المواصفات


اثنين وثلاثون نواة عالية IPC في حزمة واحدة تبدو واعدة. ولكن كيف يبدو ThunderX2 الجديد بالمقارنة مع منتجات AMD و Qualcomm و Intel؟ في الجدول أدناه ، نقوم بمقارنة المواصفات الخاصة بعدة وحدات SKU لخوادم متطورة.



سيلاحظ القراء المطلعون على الفور أن الجزء العلوي من خط معالجات Intel هو Xeon Platinum 8180. ومع ذلك ، فإن رمز التخزين التعريفي هذا مع 205 W TDP وسعر أعلى من $ 10،000 لا يمكن مقارنته بأي معالج في القائمة. لقد تجاوزنا بالفعل خط العقل ، بما في ذلك 8176 ، والتي ، كما يبدو لنا ، تندرج في هذه القائمة وفقًا لمعلمات الحد الأقصى لرمز التخزين التعريفي لكتل ​​kernel / thread. في الواقع ، يضع Cavium Cavium 9980 على أنه "قابل للمقارنة" مع Xeon Platinum 8164 (وتلعب Intel هذا الدور 8176) ، ولكن بترددات أقل قليلاً.

ومع ذلك ، من حيث الأداء للدولار ، فإن Cavium يقارن بين 9980 الرائد مع Intel Xeon Gold 6148 ، وفي هذه الحالة ، يبدو سعر معالج Cavium فاتنًا للغاية. وفقًا لنتائج الاختبار ، فإن ThunderX2 الأسرع يتقدم بنسبة 30-40 ٪ قبل Xeon 6148 ، في حين أن العرض من Cavium أرخص بـ 1300 دولار. يفسر هذا التسعير العدواني الشائعات بأن شركة كوالكوم لن تدخل سوق الخوادم.

تظهر البيانات الواردة في الجدول أعلاه اختلافات مهمة بين المنافسين. يبدو أن شركة Intel تمتلك طوبولوجيا النواة الأكثر تقدمًا وأعلى سرعة توربو. وفي الوقت نفسه ، تبدو كوالكوم أكثر جاذبية عندما يتعلق الأمر بالأداء لكل واط.



مثل EPYC من AMD ، من المحتمل أن يتألق ThunderX2 من Cavium في سوق الحوسبة عالية الأداء (إنتاجية أعلى بنسبة 33٪ ، ونوى / خيوط أعلى). كما هو الحال مع تصميم AMD ، تكون ذاكرة التخزين المؤقت EPYC L3 بطيئة إذا كنت بحاجة إلى بيانات غير موجودة في فتحة ذاكرة التخزين المؤقت المحلية بسعة 8 MB. ThunderX2 أكثر تعقيدًا بكثير - مع بنية الحلقة المزدوجة المشابهة لهندسة Xeon v4 ring (Broadwell-EP). وفقًا لمعلومات من Cavium ، فإن بنية الحلقة غير المحجوبة قادرة على توفير إنتاجية تصل إلى 6 تيرابايت / ثانية.

ترتبط بنية الحلقة هذه بتوصيل معالج Cavium المتماسك (CCPI2 - في الجزء العلوي من الشكل) ، والذي يعمل بسرعة 600 جيجابت / ثانية. يربط هذا الاتصال بين عقدتين / عقد NUMA. 56 ممرًا من PCIe 3.0 SoC متصلة بالحلقة ، التي يوجد بها Cavium بين 14 وحدة تحكم PCIe. يمكن أن تتفرع وحدات التحكم الأربعة عشر بدورها إلى x4 أو x1 ، كما هو موضح أدناه.



بالإضافة إلى أنه يدعم SR-IOV ، وهو أمر مهم للغاية لمحاكاة I / O الافتراضية (Xen و KVM).

ThunderX: من السهل إلى المعقد


إحاطة قصيرة. كان ThunderX الأصلي نسخة محسنة من Octeon III: وحدة معالجة مركزية مع القدرة على تنفيذ تعليماتين في نفس الوقت (ثنائي المشاكل) مع خطين قصيرين.



من مزايا تصميم ThunderX الأصلي كفاءة الطاقة العالية ، خاصة بالنسبة لأحمال العمل مع ILP منخفضة (موازية مستوى التعليمات). بالطبع ، يفرض مثل هذا الناقل القصير قيودًا خطيرة لزيادة تردد الساعة ، ويضمن التصميم البسيط أداءً منخفضًا مترابطًا في الأحمال المتوسطة والعالية من ILP ، بينما يمكن للمعالجات الخارجة عن النظام المتقدمة استخراج أكبر قدر ممكن من "التوازي الخفي". ".

النواة "الجديدة" لل Cavium: Vulcan




بالمقارنة مع ThunderX الأصلي ، فإن جوهر Vulcan ThunderX2 هو وحش مختلف تمامًا. تم إعلان Vulcan في عام 2014 من قبل Broadcom ، وهو جوهر كبير نسبيًا يتحكم في 4 خيوط متزامنة (SMT4). ونتيجة لذلك ، يجب تحميل الطرف الخلفي بشكل جيد حتى عند العمل مع تحميلات الخادم مع ILP منخفض.

لضمان ثبات 4 تدفقات SMT ، يمكن للواجهة الأمامية ThunderX2 استخراج ما يصل إلى 64 بايت من ذاكرة التخزين المؤقت للتعليمات المرتبطة ذات 8 اتجاهات 32 كيلوبايت ، والمجهزة بجهاز إحضار مسبق "السطر التالي" البسيط. ومع ذلك ، يمكن اختيار 8 أوامر فقط إذا لم يكن هناك تفرع في هذه 64 بايت. خلاف ذلك ، يتم مقاطعة التحديد عند مفترق الطرق.

هذا يعني أنه في الشفرة المتفرعة بشكل مكثف (قواعد البيانات ، AI ...) ، يتلقى الجلب متوسط ​​± 5 تعليمات لكل دورة ، نظرًا لأن أحد الإرشادات الخمسة هو فرع. ثم يتم إرسال التعليمات المحددة إلى المخزن المؤقت للتجانس - المخزن المؤقت الذي يتم فيه تخزين التعليمات المخزنة لفك التشفير.



ثم يعمل جهاز فك التشفير مع حزمة من 4 تعليمات. بين مفكك التشفير ومرحلة إعادة التسمية ، يحتوي كل تيار على "مخزن مؤقت للانزلاق" يتكون من 8 عبوات. مع 4 خيوط ، يمكن تخزين ما يصل إلى 32 حزمة (128 تعليمات) في أي وقت.

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

يمكن تنفيذ ما يصل إلى 6 تعليمات في المرة الواحدة. يتضمن التنفيذ فتحتين ALU / FP / NEON وفتحة ALU / tap وفتحتين تحميل / تخزين (16 بايت) وفتحة تخزين نظيفة ترسل 16 بايت إلى ذاكرة التخزين المؤقت D. يوجد صغير (لن يكشف Cavium عن مقدار) L1 TLB للتبديل بدون تأخير من العناوين الافتراضية إلى العناوين الفعلية. لا يوجد جهاز إحضار مسبق للأجهزة لذاكرة التخزين المؤقت L1 D1 ، ولكن ذاكرة التخزين المؤقت L2 تحتوي على جهاز إحضار مسبق متطور للأجهزة يمكنه التعرف على الأنماط (يمكن أن يعمل خطوة بخطوة أو استرداد السطر التالي).

هذا يكفي تمامًا "لتغذية" النهاية الخلفية ، والتي يمكن أن تدعم 4 إرشادات لكل دورة من 4 خيوط مختلفة.

الاختلافات في العمارة المصغرة


نشر Cavium كمية محدودة من المعلومات حول نوى ThunderX2. يتم تلخيص بعض الميزات الرئيسية لبنيات المعالج المختلفة أدناه.



تحليل مفصل يتجاوز نطاق هذه المقالة. ولكن يمكنك قراءة تحليلات يوهان دي جيلاس على هندسة Falkor و Skylake و Zen في AnandTech. نحن نقتصر على الاختلافات الأكثر وضوحا.

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

وحدات تخزين ThunderX2 SKU: من 16 إلى 32 نوى


كود التخزين التعريفي المستخدم للاختبارات هو ThunderX2 CN9980 2.2. هذا هو SKU النهائي ، ويحتوي على 32 نواة بتردد 2.2 غيغاهرتز مع القدرة على زيادة تصل إلى 2.5 غيغاهرتز.



إذا كنت تعتقد أن خطط Cavium ، في الأشهر القادمة سيكون هناك المزيد من وحدات SKU. يدعي Cavium أن CN9980 سيكون متاحًا قريبًا بتردد 2.5 جيجا هرتز ، وتوربو يصل إلى 3 جيجا هرتز.

أدرج Cavium جميع SKUs المخطط لها جنبًا إلى جنب مع Intel SKUs القابلة للمقارنة. حسب تعريف Cavium ، فإن Intel SKU القابل للمقارنة عبارة عن شريحة تحقق نفس SPECInRate (2017) تحت gcc مثل Cavium's SKU.



يعتقد Cavium أن CN9880 2.2 الذي حصلنا عليه يمكن مقارنته بـ 816 الأغلى ثمناً بكثير ، وبالنسبة للاختبار ، نقارنه بـ 8176 (Intel SKU المتوفرة لنا). لا يهم: 8176 لديه سرعة ساعة أعلى بنسبة 3٪ و 2 نواة إضافية (+ 7٪) مقارنةً بـ 8164. ومع ذلك ، لاحظ أنه على الرغم من أن ThunderX2 Cavium يمكنه التنافس حقًا مع وحدات SKU Intel المشار إليها ، إلا أنها تقدم نفس الأداء لثلث تكلفة Intel SKU.

في الجزء التالي:

  • تكوين ومنهجية الاختبار
  • النظام الفرعي للذاكرة: النطاق الترددي
  • أداء واحد الخيوط: SPEC CPU2006
  • SPEC CPU2006 المحتويات: أداء قائم على النواة مع SMT

شكرا لك على البقاء معنا. هل تحب مقالاتنا؟ هل تريد رؤية مواد أكثر إثارة للاهتمام؟ ادعمنا عن طريق تقديم طلب أو التوصية به لأصدقائك ، خصم 30 ٪ لمستخدمي Habr على نظير فريد من خوادم مستوى الدخول التي اخترعناها لك: الحقيقة الكاملة حول VPS (KVM) E5-2650 v4 (6 نوى) 10GB DDR4 240GB SSD 1Gbps من 20 $ أو كيفية تقسيم الخادم؟ (تتوفر الخيارات مع RAID1 و RAID10 ، حتى 24 مركزًا وحتى 40 جيجابايت DDR4).

ديل R730xd أرخص مرتين؟ فقط لدينا 2 x Intel Dodeca-Core Xeon E5-2650v4 128GB DDR4 6x480GB SSD 1Gbps 100 TV من 249 دولارًا في هولندا والولايات المتحدة! اقرأ عن كيفية بناء مبنى البنية التحتية الطبقة باستخدام خوادم Dell R730xd E5-2650 v4 بتكلفة 9000 يورو مقابل سنت واحد؟

Source: https://habr.com/ru/post/ar413885/


All Articles