مستوى التفصيل (الحوسبة المتوازية)

في الحوسبة المتوازية ، تُعدّ دقة (أو حجم الحبيبات ) المهمة مقياسًا لكمية العمل (أو الحساب ) التي تُنفذها تلك المهمة. [ 1 ]

يُعرّف مفهومٌ آخر للدقة الحسابية بأنه نسبة وقت الحساب إلى وقت الاتصال، حيث يُمثل وقت الحساب الوقت اللازم لإنجاز عملية حسابية معينة، بينما يُمثل وقت الاتصال الوقت اللازم لتبادل البيانات بين المعالجات . [ 2 ]

إذا كان T comp هو وقت الحساب و T comm يشير إلى وقت الاتصال، فيمكن حساب دقة G للمهمة على النحو التالي: [ 2 ]

جي=تيجoمصتيجoمم{\displaystyle G={\frac {T_{\mathrm {comp} }}{T_{\mathrm {comm} }}}}

عادةً ما تُقاس دقة التنفيذ بعدد التعليمات التي تُنفذ في مهمة معينة. [ 1 ] وبدلاً من ذلك، يمكن تحديد دقة التنفيذ أيضاً من حيث وقت تنفيذ البرنامج، وذلك بدمج وقت الحساب ووقت الاتصال. [ 1 ]

أنواع التوازي

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

التوازي الدقيق

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

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

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

يصعب على المبرمجين اكتشاف التوازي في البرنامج، ولذلك، تقع مسؤولية اكتشاف التوازي الدقيق عادةً على عاتق المترجمات . [ 1 ]

ومن الأمثلة على الأنظمة الدقيقة (من خارج مجال الحوسبة المتوازية) نظام الخلايا العصبية في دماغنا . [ 4 ]

تعتبر آلة الاتصال (CM-2) وآلة J أمثلة على الحواسيب المتوازية ذات الحبيبات الدقيقة التي يتراوح حجم حبيباتها بين 4-5 ميكروثانية. [ 1 ]

التوازي الخشن

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

تستغرق بنية تمرير الرسائل وقتًا طويلاً لنقل البيانات بين العمليات، مما يجعلها مناسبة للتوازي واسع النطاق. [ 1 ]

يُعد Cray Y-MP مثالاً على الكمبيوتر المتوازي ذي الحبيبات الخشنة والذي يبلغ حجم حبيباته حوالي 20 ثانية. [ 1 ]

التوازي متوسط ​​الحبيبات

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

يُعد Intel iPSC مثالاً على الحواسيب المتوازية متوسطة الحجم، والتي يبلغ حجمها حوالي 10 مللي ثانية. [ 1 ]

مثال

لنفترض وجود مجموعة من 20 صورة بحجم 10×10 بكسل، تحتاج إلى معالجة، بافتراض إمكانية معالجة كل بكسل من البكسلات المئة بشكل مستقل عن الآخر. تستغرق معالجة كل بكسل دورة ساعة واحدة.

المعالجة المتوازية الدقيقة: تتم معالجة كل بكسل على حدة بواسطة معالج واحد في كل مرة. بافتراض وجود 100 معالج مسؤول عن معالجة الصورة، يمكن لهذه المعالجات معالجة صورة واحدة بحجم 10×10 بكسل في دورة ساعة واحدة. أما مع 20 معالجًا، فستستغرق العملية 5 دورات ساعة لكل صورة. يمكن استخدام كل معالج بكامل طاقته، ولكن يجب إرسال نتيجة كل عملية حسابية على البكسل وتجميعها في نهاية كل معالجة صورة، مما قد يُسبب عبئًا إضافيًا كبيرًا (100 عملية إرسال لكل صورة = 2000 عملية إرسال إجمالًا).

المعالجة المتوازية متوسطة الدقة: تُقسّم الصور إلى أربعة أجزاء. يُعالج كل جزء على حدة بواسطة معالج واحد في كل مرة، مستغرقًا 25 دورة ساعة (لـ 5×5 بكسل). بافتراض وجود 20 معالجًا مسؤولًا عن معالجة مجموعة الصور العشرين، يمكن معالجة 5 صور بالتوازي، حيث يعمل 4 معالجات على كل صورة. في حال توفر 100 معالج، يمكن لـ 80 معالجًا معالجة المجموعة بالتوازي، مستغرقًا 25 دورة ساعة، بينما تبقى 20 معالجًا في وضع الخمول دون أي عمل مُسند إليها. بعد معالجة الأجزاء الأربعة، يجب تجميع النتائج (4 اتصالات لكل صورة = 80 اتصالًا إجماليًا).

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

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

مستويات التوازي

ترتبط دقة المعالجة ارتباطًا وثيقًا بمستوى المعالجة. يمكن تقسيم البرنامج إلى 4 مستويات من التوازي -

  1. مستوى التدريس.
  2. مستوى الحلقة
  3. مستوى الروتين الفرعي و
  4. مستوى البرنامج

يُحقق أعلى مستوى من التوازي على مستوى التعليمات ، يليه التوازي على مستوى الحلقات . وعلى مستوى التعليمات والحلقات، يُحقق توازي دقيق. يبلغ حجم التوازي النموذجي على مستوى التعليمات 20 تعليمة، بينما يبلغ حجم التوازي على مستوى الحلقات 500 تعليمة. [ 1 ]

على مستوى الروتين الفرعي (أو الإجراء)، يكون حجم الحبيبات عادةً بضعة آلاف من التعليمات. ويتحقق التوازي متوسط ​​الحبيبات على مستوى الروتين الفرعي. [ 1 ]

على مستوى البرنامج ، يتم تنفيذ البرامج بالتوازي. ويمكن أن تصل دقة التنفيذ إلى عشرات الآلاف من التعليمات. [ 1 ] ويُستخدم التوازي ذو الحبيبات الخشنة على هذا المستوى.

يوضح الجدول أدناه العلاقة بين مستويات التوازي وحجم الحبيبات ودرجة التوازي.

المستوياتحجم الحبوبالتوازي
مستوى التعليماتبخيرأعلى مستوى
مستوى الحلقةبخيرمعتدل
مستوى الروتين الفرعيواسطةمعتدل
مستوى البرنامجخشنالأقل

تأثير مستوى التفصيل على الأداء

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

لتقليل عبء الاتصال، يمكن زيادة دقة المعالجة. تتميز المهام ذات الدقة المنخفضة بعبء اتصال أقل، لكنها غالبًا ما تُسبب عدم توازن في توزيع الأحمال. لذا، يتحقق الأداء الأمثل بين طرفي نقيض التوازي الدقيق والتوازي ذي الدقة المنخفضة. [ 6 ]

اقترحت دراسات عديدة [ 5 ] [ 7 ] [ 8 ] حلولاً للمساعدة في تحديد الحجم الأمثل للحبيبات لدعم المعالجة المتوازية. ويعتمد إيجاد الحجم الأمثل للحبيبات على عدد من العوامل، ويختلف اختلافاً كبيراً من مشكلة إلى أخرى.

انظر أيضاً

الاقتباسات

  1. 1 2 3 4 5 6 7 8 9 10 11 هوانغ، كاي (1992). هندسة الحاسوب المتقدمة: التوازي، قابلية التوسع، قابلية البرمجة (  الطبعة الأولى). ماكجرو هيل للتعليم العالي. ISBN 978-0070316225.
  2. 1 2 كوياتكوفسكي، يان (9 سبتمبر 2001). "تقييم البرامج المتوازية بقياس دقتها". المعالجة المتوازية والرياضيات التطبيقية . سلسلة محاضرات في علوم الحاسوب. المجلد 2328. الصفحات 145-153 . doi : 10.1007/3-540-48086-2_16 . ISBN   9783540437925.رقم الكتاب المعياري الدولي (ISBN) 9783540480860.
  3. بارني، بليز. مقدمة في الحوسبة المتوازية .
  4. 1 2 ميلر، روس؛ ستاوت، كوينتين ف. (1996). الخوارزميات المتوازية للهياكل المنتظمة: الشبكات والأهرامات . كامبريدج، ماساتشوستس: مطبعة معهد ماساتشوستس للتكنولوجيا. الصفحات 5-6 . ISBN  9780262132336.
  5. 1 2 تشين، دينغ كاي؛ سو، هونغ مين؛ يو، بن تشونغ (1 يناير 1990). "تأثير التزامن والتفصيل على الأنظمة المتوازية". وقائع الندوة الدولية السنوية السابعة عشرة حول هندسة الحاسوب - ISCA '90 . المجلد 18. الصفحات 239-248 . CiteSeerX 10.1.1.51.3389 . doi : 10.1145/325164.325150 . ISBN    0-89791-366-3. S2CID 16193537 . 
  6. يونغ، دونالد؛ دالي، ويليام جيه؛ أغاروال، أنانت. "كيفية اختيار حجم الحبيبات في الحاسوب المتوازي" (ملف PDF) . معهد ماساتشوستس للتكنولوجيا . ص 2. 
  7. مكرياري، كارولين؛ جيل، هيلين (1 سبتمبر 1989). "التحديد التلقائي لحجم الحبيبات من أجل معالجة متوازية فعالة" . مجلة اتصالات رابطة مكائن ​​الحوسبة . 32 (9): 1073-1078 . doi : 10.1145/66451.66454 . ISSN 0001-0782 . S2CID 14807217 .  
  8. ^ كرواتراشو ، بونتي. لويس ، تيد (1 يناير 1988). "تحديد حجم الحبوب للمعالجة المتوازية" . برامج آي إي إي إي . 5 (1): 23– 32. بيب كود : 1988ISoft...5a..23K . دوى : 10.1109/52.1991 . ISSN 0740-7459 . S2CID 2034255 .