freeCodeCamp/guide/arabic/algorithms/embarassingly-parallel-algo.../index.md

2.8 KiB

title localeTitle
Embarassingly Parallel Algorithms الخوارزميات الموازية المحرجة

الخوارزميات الموازية المحرجة

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

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

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

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