حول اتجاهات تطوير بنية المعالج ، أو لماذا أؤمن بنجاح هواوي في سوق الخوادم

نحن نعيش في زمن مثيرة للاهتمام. يبدو لي أن السنوات 2-3 القادمة ستحدد أين سيذهب تطوير الهندسة المعمارية للعقد القادم. الآن في سوق معالج الخادم ، هناك العديد من اللاعبين الذين يمثلون مناهج مختلفة تمامًا للتكنولوجيا. وهذا أمر رائع جدًا (حتى أجد صعوبة في تحديد المقطع الذي يقع التركيز عليه في الكلمة الأخيرة :))
.
ولكن حتى قبل 5-6 سنوات ، بدا أن الوقت تجمد وتوقف التطور. استند إلى أنواع مختلفة من القيود (جدار الطاقة ، جدار قابلية التوسع ، وما إلى ذلك). لقد تحدثت قليلاً عنه هنا. كان قانون مور موضع تساؤل واقترح المنظرون المتحمسون بشكل خاص إدخال تصحيحات لوغاريتمية في ذلك :) بدا أن هيمنة إنتل في سوق معالج الخادم لا تتزعزع في ذلك الوقت. لم تظهر AMD منافسة جدية ، وبدا أن NVidia GPGPUs منتجًا محضًا ، ولم تنجح محاولات ARM لاقتحام سوق الخوادم.

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

للأسف ، لم تنجح محاولات الجمع بين وحدات المعالجة المركزية عالية الطاقة ووحدات معالجة الرسومات في حزمة واحدة حتى الآن. على الأقل لسبب أن هذه الشريحة سوف تستهلك وتبدد الكثير من الطاقة. لذلك ، أصبحت الحلول المنفصلة الآن في الاتجاه. أنا لا أؤمن بهم لسببين. أولاً ، تصبح البنية أكثر تعقيدًا وتظهر الكمامات الإضافية فيها على شكل ناقل يربط وحدة المعالجة المركزية ووحدة معالجة الرسومات ، وهيكل ذاكرة غير متجانس. ترتبط الصعوبة الثانية جزئيًا بالأول ، وتتكون من حقيقة أن هذه الحلول أكثر صعوبة في البرمجة. كل من نماذج برمجة المسرعات الحالية (CUDA من NVidia أو DPC ++ من Intel أو OpenCL أو OpenMP) لها مزاياها وعيوبها. في الوقت نفسه ، لا أحد منهم ليس عالمي ولا مهيمن.

يبدو لي أنه من وجهة نظر تطوير الهندسة المعمارية ، اتخذت AMD الخطوة الصحيحة ، التي قدمت معالج روما. نظرًا لضغط النواة (مقارنة بإنتل) ، تم وضع المزيد من النوى في حالة واحدة. ومع ذلك ، هذا وحده لا يكفي - من أجل مثل هذا الحل لتوسيع نطاق الأداء ، من الضروري الاهتمام بالاتصال الصحيح بين النواة (جودة) وجودة أوقات التشغيل المتوازية. تمكن مهندسو AMD من حل كلتا المشكلتين والحصول على نتائج تنافسية للغاية على أحد أهم المعايير الصناعية - SPEC CPU. حل AMD بين القطبين المقدمين من Nvidia و Intel. لكنها أقرب بكثير إلى الأخيرة. لا يزال هذا هو "جوهر كبير". يبدو لي أن المتوسط ​​الذهبي بين النهج القطبي يتطلب نوى أكثر إحكاما.ومن بين البنى الموجودة ، فإن ARM لديها أفضل فرصة لاحتلال هذا المكان.
صورة
فلماذا ARM بالضبط من هواوي؟ لقد وجدت هذه الإجابة لنفسي: مع زيادة عدد النوى على الشريحة ، تنخفض أهمية أداء نواة واحدة (ولكن إلى حد معين) ، وأهمية التواصل بين النوى ومع زيادة الذاكرة. والتواصل هو المجال الذي تعد فيه هواوي رائدة على مستوى العالم. إن التصميم غير المحنك (وليس فقط ولا حتى الأساسي) هو الذي سيحدد أداء النظام. وهنا أعتقد أن لدينا فرص جيدة.

ومع ذلك ، لا توجد معماريات مثالية إلا في فراغ. في الواقع ، من الضروري دائمًا الارتباط بكمية وهيكل البرنامج الموجود في سوق الخادم. وقد تمت كتابته وتحسينه لـ X86 لسنوات. سيستغرق الأمر الكثير من الوقت والجهد لجعله أكثر "ودية" لهندسة ARM. ينتظرنا عمل ضخم في مجال أدوات البرمجيات (المترجمات والمكتبات وأوقات التشغيل) وفي مجال تكييف التطبيقات (هندسة التطبيقات). لكني أعتقد أن الطريق سوف يتغلب عليه من يمشي.

All Articles