التوازي القابل للتوسع

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

من أجل t := 0 إلىنفّذ ما يلي : من أجل i := 1 إلى N-1 ، نفّذ ما يلي: new(i) := (A(i-1) + A(i) + A(i) + A(i+1)) * 0.25 // الفرق الأمامي الصريح مع R = 0.25 نهاية حلقة التكرار من i := 1 إلى N- 1 A(i) := new(i) نهاية نهاية

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

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

اللغات

مراجع

  1. ووناكوت، د. (2000). "استخدام انحراف الوقت للتخلص من وقت الخمول الناتج عن قيود عرض نطاق الذاكرة والشبكة". وقائع الندوة الدولية الرابعة عشرة للمعالجة المتوازية والموزعة. IPDPS 2000. ص 171-180 . doi : 10.1109/IPDPS.2000.845979 . ISBN  978-0-7695-0574-9.
  • فوس، مايكل (26 أكتوبر 2006). "تبسيط التوازي القابل للتوسع باستخدام خوارزميات التوازي العامة في وحدة بناء الخيوط من إنتل" . DevX.com . مؤرشف من الأصل بتاريخ 5 فبراير 2012. تم الاطلاع عليه بتاريخ 24 أبريل 2026 .