البنية المتوازية ومتعددة النوى
تتعلق البنية المتوازية ومتعددة النوى بالأجهزة التي تنفذ العديد من العمليات في وقت واحد — نوى متعددة على شريحة واحدة، ووحدات المتجهات وSIMD، ووحدات معالجة الرسوميات (GPUs) المتوازية بشكل كبير — بالإضافة إلى هياكل الذاكرة والاتصال التي تسمح للعمل المتوازي بالتقدم بشكل صحيح وفعال.
Definition
البنية المتوازية ومتعددة النوى هي تصميم أجهزة الكمبيوتر التي تؤدي عمليات حسابية متعددة في وقت واحد من خلال نوى متكررة، أو وحدات واسعة متوازية للبيانات، أو مسرعات متخصصة، جنبًا إلى جنب مع آليات الربط البيني والذاكرة التي تنسقها.
Scope
يغطي هذا المجال تنظيمات الأجهزة للتوازي: المعالجات متعددة الشرائح وتصاميم النوى المتعددة، وأنظمة الذاكرة المشتركة والتماسك والاتساق الذي تتطلبه، ومعالجات SIMD والمتجهات للتوازي على مستوى البيانات، وبنى وحدات معالجة الرسوميات (GPU). ويتناول كيفية بناء الأجهزة المتوازية وكيفية توسع أدائها. ويستثني الجانب البرمجي للبرمجة المتوازية والموزعة والأنظمة الموزعة على نطاق المجموعات، والتي تغطيها الحوسبة الموزعة والمتوازية، ومحرك التنفيذ أحادي النواة الذي يغطيه المعمارية الدقيقة للمعالج.
Sub-topics
Core questions
- كيف تعمل الأجهزة المتوازية على توسيع الأداء، وما الذي يحد من هذا التوسع؟
- كيف يتم دمج النوى المتعددة على شريحة واحدة وربطها بالذاكرة المشتركة؟
- ما هي ضمانات اتساق الذاكرة وتماسكها التي يجب أن توفرها أجهزة الذاكرة المشتركة؟
- كيف تستغل تصاميم SIMD والمتجهات ووحدات معالجة الرسوميات (GPU) التوازي على مستوى البيانات؟
- كيف يتم مطابقة البنى المتوازية مع أعباء العمل لزيادة الإنتاجية المفيدة لكل واط؟
Key concepts
- معالج متعدد الشرائح
- التوازي على مستوى الخيوط
- التوازي على مستوى البيانات
- معالجة SIMD والمتجهات
- وحدات معالجة الرسوميات (GPU) ومتعددة النوى
- الذاكرة المشتركة والتماسك
- اتساق الذاكرة
- شبكة الربط البيني
- قانون أمدال وقابلية التوسع
- أجهزة المزامنة
Key theories
- قانون أمدال
- يحد الجزء الذي يجب تشغيله تسلسليًا من تسريع الحساب الناتج عن التوازي: حتى مع وجود عدد غير محدود من المعالجات، فإن الجزء التسلسلي يحد من التسريع الكلي، مما يشكل كيفية تصميم وتقييم البنى المتوازية.
- تصنيف فلين للتوازي
- تُنظم الأجهزة المتوازية حسب كيفية دمج تدفقات التعليمات والبيانات — على سبيل المثال، تعليمات واحدة بيانات متعددة (SIMD) للتوازي على مستوى البيانات وتعليمات متعددة بيانات متعددة (MIMD) لأنظمة متعددة النوى والمعالجات المتعددة — وهو تصنيف يؤطر الخيارات المعمارية.
Mechanisms
تضع المعالجات متعددة النوى عدة نوى على قالب واحد تشترك في مستوى واحد أو أكثر من مستويات الذاكرة المخبئية وواجهة ذاكرة، متصلة بواسطة ربط بيني على الشريحة. تحافظ بروتوكولات التماسك على اتساق ذاكراتها المخبئية، ويحدد نموذج اتساق الذاكرة ترتيب عمليات الذاكرة التي تُرى عبر النوى. تطبق أجهزة التوازي على مستوى البيانات — وحدات المتجهات، ومسارات SIMD، ووحدات معالجة الرسوميات (GPUs) ذات النوى الخفيفة العديدة — عملية واحدة عبر العديد من عناصر البيانات، بينما تنسق بدائيات المزامنة الخيوط المتوازية.
Clinical relevance
بعد توقف توسيع تردد الساعة أحادي النواة، أصبحت البنية المتوازية ومتعددة النوى المسار الأساسي لتحقيق أداء أعلى، لذا فإن جميع المعالجات الحديثة تقريبًا متعددة النوى. تُشغل وحدات معالجة الرسوميات (GPUs) ووحدات SIMD الآن الرسوميات، والحوسبة العلمية، وعمليات المصفوفات التي تعد جوهر التعلم العميق، مما يجعل الأجهزة المتوازية مركزية لأعباء العمل عالية الأداء والذكاء الاصطناعي.
History
يعود تاريخ الآلات المتوازية إلى الحواسيب الفائقة المتجهة مثل Cray-1 في السبعينيات وإلى المعالجات المتعددة البحثية في الثمانينيات والتسعينيات. دفع انتهاء توسيع التردد حوالي منتصف العقد الأول من القرن الحادي والعشرين الصناعة نحو رقائق متعددة النوى كخيار افتراضي. تطورت وحدات معالجة الرسوميات (GPUs) من خطوط أنابيب رسومية ذات وظائف ثابتة إلى مسرعات قابلة للبرمجة متعددة النوى، وأصبحت البنى المتوازية للبيانات أساسية للتعلم الآلي الحديث.
Debates
- المعالجات متعددة النوى للأغراض العامة مقابل المسرعات المتخصصة
- مع تناقص العوائد من المعالجات متعددة النوى المتجانسة، هناك جدل حول مدى تفضيل المسرعات الخاصة بالمجال (وحدات معالجة الرسوميات، وحدات الموتر) مقابل النوى للأغراض العامة، والموازنة بين قابلية البرمجة والمرونة مقابل الكفاءة لأعباء عمل معينة.
Key figures
- Gene Amdahl
- Michael J. Flynn
- John L. Hennessy
- David A. Patterson
- David E. Culler
Related topics
Seminal works
- hennessy2019
- amdahl1967
- patterson2020
Frequently asked questions
- لماذا انتقلت المعالجات إلى نوى متعددة؟
- وصل زيادة تردد ساعة النواة الواحدة إلى حدود الطاقة والحرارة في منتصف العقد الأول من القرن الحادي والعشرين. أدت إضافة المزيد من النوى إلى زيادة الإنتاجية الإجمالية ضمن نفس ميزانية الطاقة، لذا أصبحت النوى المتعددة هي الطريقة السائدة للحفاظ على نمو الأداء — على الرغم من أنها تحول عبء التسريع إلى البرمجيات المتوازية.
- كيف تختلف وحدة معالجة الرسوميات (GPU) عن وحدة المعالجة المركزية (CPU) متعددة النوى؟
- تحتوي وحدة المعالجة المركزية (CPU) على عدد قليل من النوى القوية المحسّنة للتنفيذ العام بزمن انتقال منخفض. بينما تحتوي وحدة معالجة الرسوميات (GPU) على العديد من النوى الأبسط المحسّنة للعمل المتوازي للبيانات عالي الإنتاجية، حيث تنفذ نفس العملية عبر العديد من عناصر البيانات، وهو ما يناسب الرسوميات والحسابات العددية الكثيفة ولكن ليس جميع أعباء العمل.