مرجع
آخر الزيارات

معالجة متعددة

1٬387 كلمة•0 مشاهدة•🗒️ منذ يوم
باختصار: المعالجة المتعددة أو تعدد المعالجة أو تعدد التشغيل أو تعدد المعالجات أو المُواكَبة تعني استخدام إثنتين أو أكثر من وحدات المعالجة المركزية ضمن نظام حاسوبي واحد، ويدل هذا المصطلح كذلك على قدرة نظام ما على دعم أكثر من معالج واحد و/أو القدرة…. تتناول المقالة 5 أقسام، منها «المعالجة المتعددة ذات التعليمة الواحدة والمعطى الواحد»، «المعالجة المتعددة ذات التعليمات العديدة والمعطى الواحد» و«تناظر المعالج».
المحتويات
  1. المعالجة المتعددة ذات التعليمة الواحدة والمعطى الواحد
  2. المعالجة المتعددة ذات التعليمات العديدة والمعطى الواحد
  3. تناظر المعالج
  4. التعليمات والبيانات
  5. ارتباط المعالجات

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

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

أنواعها

المعالجة المتعددة ذات التعليمة الواحدة والمعطى الواحد

المعالجة المتعددة ذات التعليمة الواحدة والبيانات المتعددة

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

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

ومن جهة أخرى، في حاسوب يعتمد نظام التعليمة الواحدة والبيانات المتعددة، يعالج معالج واحد قناة من التعليمات التي تستطيع كل منها تنفيذ عمليات حسابية على التوازي في مواقع بيانات متعددة.

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

من جانب آخر، في حاسوب يعتمد نظام التعليمة الواحدة المعطى الواحد، يعالج معالج واحد التعليمات بصورة متعاقبة، فتعالج كل تعليمة عنصر واحد من البيانات. وأحد الأمثلة على ذلك بنية حاسوب «فون نيومن» مع مجموعة التعليمات المخفضة RISC.

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

المعالجة المتعددة ذات التعليمات العديدة والمعطى الواحد

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

  • انظر كذلك
  • حوسبة متوازية
  • حوسبة متعددة غير متماثلة
  • حوسبة متعددة ومتماثلة

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

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

المعالجة المتعددة ذات التعليمات العديدة والبيانات العديدة

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

من جهة ثانية، ويمكن أن تنشأ تضاربات على مستوى الأجهزة بين المعالِجات ( تضارب الذاكرات الوسيطة والفساد مثلًا) ويجب حلَّها دائماً في الجهاز أو بتشكيلة من البرنامج والجهاز (مثل تعليمات مسح الذاكرة الوسيطة).

تناظر المعالج

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

إضافةً إلى ذلك، وتدعى الأنظمة التي تعامل جميع وحدات المعالجة المركزية بشكل متساوٍ بأنظمة المعالجة المتعددة المتناظرة (SMP)، ويمكن في الأنظمة التي لا تكون فيها جميع وحدات المعالجة المركزية متساوية تقسيم موراد النظام بعدد من الطرق منها المعالجة المتعددة غير المتناظرة(ASMP)، أو النفاذ غير المنتظم إلى الذاكرة(NUMA)، أو الحوسبة المتعددة العنقودية.

التعليمات والبيانات

إضافةً إلى ذلك، يمكن أن يتم استخدام المعالجات في أنظمة المعالجة المتعددة لتنفيذ سلسلة وحيدة من التعليمات في سياقات متعددة (تعليمة وحيدة ومعطيات متعددة SIMD والتي تستعمل غالباً في المعالجة الشعاعية) أو تنفيذ سلاسل متعددة من التعليمات في سياق وحيد (تعليمات متعددة ومعطيات وحيدة MISD والتي تستعمل في الزيادة في الأنظمة الآمنة من الفشل وتطبق أحياناً لوصف المعالجات ذات قنوات التوارد أو تقنية خطوط المعالجة الفائقة)، أو تنفيذ سلاسل متعددة من التعليمات على معطيات متعددة (تعدد التعليمات وتعدد المعطيات MIMD).

ارتباط المعالجات

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

قضايا تشغيل البرامج

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

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

وعلى صعيد آخر، تحوي أنظمة المعالجة المتعددة المقترنة بإحكام عدة وحدات معالجة مركزية متصلة على مستوى الناقل، ويمكن لهذه الوحدات أن تمتلك ولوجاً إلى ذاكرة مركزية مشتركة(SMP أو UMA)، أو يمكن أن تشترك في تسلسل ذاكرة هرمي يحوي كلا نوعي الذاكرة المحلية والمشتركة(NUMA)، ويعتبر معالج ريجيتا بي 690 من شركة آي بي إم مثالاً على نظام البرمجة المتعددة المتناظرة عالي الجودة، وسيطرت معالجات زيون من شركة إنتل على سوق المعالِجات المتعددة لحواسب الشركات وظلت هي خيار x86 الوحيد حتى أطلقت شركة إيه إم دي (الأجهزة الدقيقة المتقدمة AMD) مجموعة معالجات أبترون في عام 2004. وتتمتع مجموعتي المعالجات في لوحاتها بذاكرتها التخزينية المؤقتة ولكنها توفر إمكانية النفاذ إلى الذاكرة المشتركة، وذلك عن طريق قناة مشتركة بالنسبة لمعالج إكسيون، وعن طريق قنوات مستقلة بالنسبة للمعالج إوبتيرون إلى ذاكرة الوصول العشوائي في النظام.

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

ما رأيك في هذه المقالة؟

📝 هل في هذه المقالة خطأ؟

إذا وجدت معلومة تحتاج تصحيحاً أو إضافة، أو أردت حذف المقالة، أرسل لنا طلباً وسنراجعه.