قانون غوستافسون

في هندسة الحاسوب ، يُحدد قانون غوستافسون (أو قانون غوستافسون-بارسيس [ 1 ] ) مقدار التسارع في زمن تنفيذ مهمة ما، والذي يُفترض نظريًا أنه يتحقق من خلال الحوسبة المتوازية ، وذلك باستخدام تشغيل افتراضي للمهمة على معالج أحادي النواة كخط أساس. بعبارة أخرى، هو التباطؤ النظري لمهمة مُوازية بالفعل عند تشغيلها على معالج تسلسلي. سُمي القانون نسبةً إلى عالم الحاسوب جون إل. غوستافسون وزميله إدوين إتش. بارسيس، وعُرض في مقال " إعادة تقييم قانون أمدال" عام 1988. [ 2 ]
على عكس قانون أمدال ، الذي يفترض حجمًا ثابتًا للمشكلة ويؤدي إلى توسع متشائم، يفترض قانون جوستافسون أن أحجام المشاكل تنمو مع موارد الحوسبة المتاحة، مما يسمح بتسريع فعال أكبر بكثير من التنفيذ المتوازي.
تعريف
وقدّر غوستافسون التسارعبرنامج تم الحصول عليه باستخدام الحوسبة المتوازية على النحو التالي:
أين
- هو التسريع النظري للبرنامج مع التوازي (التسريع المقياس [ 2 ] )؛
- هو عدد المعالجات؛
- وتمثل هذه النسب الزمنية الوقت المستغرق في تنفيذ الأجزاء التسلسلية والأجزاء المتوازية من البرنامج، على التوالي، على النظام المتوازي ، حيث.
بدلاً عن ذلك،يمكن التعبير عنها باستخدام:
يعالج قانون غوستافسون أوجه القصور في قانون أمدال ، الذي يقوم على افتراض ثبات حجم المشكلة ، أي أن عبء التنفيذ لا يتغير مع ازدياد الموارد. وبدلاً من ذلك، يقترح قانون غوستافسون أن المبرمجين يميلون إلى زيادة حجم المشكلات للاستفادة الكاملة من القدرة الحاسوبية المتاحة مع ازدياد الموارد. [ 2 ]
لاحظ غوستافسون وزملاؤه أيضًا من خلال أعباء العمل الخاصة بهم أن الوقت المخصص للجزء التسلسلي لا يزداد عادةً مع حجم المشكلة وحجم النظام، [ 2 ] أيثابت. وهذا يعطي نموذجًا خطيًا بين عدد المعالجاتوالتسارعمع ميلكما هو موضح في الشكل أعلاه (الذي يستخدم رموزًا مختلفة):لول). أيضًا،يتناسب خطيًا معبدلاً من النمو الأسي وفقًا لقانون أمدال. [ 2 ] مع هذه الملاحظات، توقع غوستافسون "توسيع نطاق نجاحهم [في الحوسبة المتوازية] ليشمل مجموعة أوسع من التطبيقات وقيمًا أكبر لـ[ 2 ]
كان أثر قانون غوستافسون هو تحويل أهداف البحث نحو اختيار المشكلات أو إعادة صياغتها، بحيث يصبح حل مشكلة أكبر في نفس الوقت ممكناً. وبطريقة ما، يُعيد القانون تعريف الكفاءة، نظراً لإمكانية التغلب على القيود التي يفرضها الجزء التسلسلي من البرنامج عن طريق زيادة إجمالي العمليات الحسابية.
الاشتقاق
يمكن تقسيم وقت تنفيذ برنامج يعمل على نظام متوازٍ إلى جزأين:
- جزء لا يستفيد من العدد المتزايد للمعالجات (جزء تسلسلي)؛
- جزء يستفيد من العدد المتزايد للمعالجات (الجزء المتوازي).
مثال : برنامج حاسوبي يعالج الملفات من القرص. قد يقوم جزء من هذا البرنامج بمسح دليل القرص وإنشاء قائمة بالملفات داخليًا في الذاكرة. بعد ذلك، يمرر جزء آخر من البرنامج كل ملف إلى خيط معالجة منفصل. لا يمكن تسريع الجزء الذي يمسح الدليل وينشئ قائمة الملفات على حاسوب متوازٍ، ولكن يمكن تسريع الجزء الذي يعالج الملفات.
دون الإخلال بعمومية المسألة، لنفترض أن إجمالي وقت التنفيذ على النظام المتوازي هو. لنرمز إلى الوقت التسلسلي بـوالزمن الموازي كـ، أين. لنرمز إلى عدد المعالجات بـ.
افتراضياً، عند تشغيل البرنامج على نظام تسلسلي (معالج واحد فقط)، سيظل الجزء التسلسلي يستغرق وقتاً.بينما يأخذ الجزء الموازي الآنوقت التنفيذ على النظام التسلسلي هو:
استخدامكخط أساس، يكون تسارع النظام المتوازي كما يلي:
عن طريق الاستبدالأو، ويمكن اشتقاق العديد من الأشكال في القسم السابق.
الاستخدامات
في مجال البحث
يفترض قانون أمدال أن متطلبات الحوسبة ستبقى ثابتة مع زيادة القدرة الحاسوبية. بعبارة أخرى، سيستغرق تحليل البيانات نفسها وقتًا أقل مع زيادة القدرة الحاسوبية.
في المقابل، يرى غوستافسون أن زيادة القدرة الحاسوبية ستؤدي إلى تحليل البيانات بدقة وشمولية أكبر: بكسلًا بكسلًا أو وحدةً وحدة، بدلًا من تحليلها على نطاق أوسع. ففي حين أنه لم يكن من الممكن أو العملي محاكاة تأثير الانفجار النووي على كل مبنى وسيارة ومحتوياتها (بما في ذلك الأثاث، وقوة الهيكل، وما إلى ذلك) لأن مثل هذه الحسابات كانت ستستغرق وقتًا أطول من الوقت المتاح للتوصل إلى إجابة، فإن زيادة القدرة الحاسوبية ستدفع الباحثين إلى إضافة المزيد من البيانات لمحاكاة المزيد من المتغيرات بشكل أكثر شمولًا، مما يُعطي نتيجة أكثر دقة.
في أنظمة الحاسوب اليومية
يكشف قانون أمدال عن وجود حدٍّ، على سبيل المثال، لقدرة المعالجات متعددة النوى على تقليل الوقت اللازم لتشغيل نظام التشغيل في الحاسوب وجعله جاهزًا للاستخدام. بافتراض أن عملية الإقلاع تتم بالتوازي في معظمها، فإن مضاعفة قوة المعالجة أربع مرات في نظام استغرق دقيقة واحدة للتحميل قد يقلل وقت الإقلاع إلى ما يزيد قليلاً عن خمس عشرة ثانية. ولكن زيادة التوازي بشكل متزايد ستفشل في النهاية في تسريع عملية الإقلاع، إذا كان أي جزء من عملية الإقلاع تسلسليًا بطبيعته.
ينص قانون غوستافسون على أن زيادة القدرة الحاسوبية أربعة أضعاف ستؤدي بدلاً من ذلك إلى زيادة مماثلة في توقعات قدرات النظام. فإذا كان وقت التحميل لمدة دقيقة واحدة مقبولاً لدى معظم المستخدمين، فهذه نقطة انطلاق لزيادة ميزات ووظائف النظام. سيبقى وقت بدء تشغيل نظام التشغيل كما هو، أي دقيقة واحدة، لكن النظام الجديد سيتضمن المزيد من الميزات الرسومية أو سهولة الاستخدام.
الحدود
لا تتطلب بعض المشكلات مجموعات بيانات ضخمة بشكل جوهري. فعلى سبيل المثال، لا تتجاوز الزيادة في حجم البيانات التي تتم معالجتها لكل مواطن في العالم بضعة بالمئة سنويًا. ومن أهم مبادئ قانون غوستافسون أن مثل هذه المشكلات لا تُعدّ على الأرجح من أكثر استخدامات المعالجة المتوازية جدوى.
قد تجد الخوارزميات ذات أوقات التشغيل غير الخطية صعوبة في الاستفادة من التوازي الذي يوفره قانون غوستافسون. يشير سنايدر [ 3 ] إلىتعني الخوارزمية أن مضاعفة التزامن لا تؤدي إلا إلى زيادة حجم المشكلة بنسبة 26% تقريبًا. وبالتالي، فبينما قد يكون من الممكن تحقيق تزامن هائل، إلا أن ذلك قد لا يُحقق فائدة تُذكر مقارنةً بالحل الأصلي الأقل تزامنًا، ومع ذلك، فقد شهدنا في الواقع تحسينات كبيرة.
يؤكد هيل ومارتي [ 4 ] أيضًا على ضرورة وجود أساليب لتسريع التنفيذ التسلسلي، حتى بالنسبة للأجهزة متعددة النوى. ويشيران إلى أن الأساليب غير الفعالة محليًا يمكن أن تكون فعالة عالميًا عند تقليلها للمرحلة التسلسلية. علاوة على ذلك، درس وو ولي [ 5 ] تأثير الطاقة والقدرة على معالجات المستقبل متعددة النوى استنادًا إلى قانون أمدال، موضحين أن المعالج غير المتماثل متعدد النوى يمكنه تحقيق أفضل كفاءة ممكنة في استهلاك الطاقة من خلال تفعيل العدد الأمثل من النوى، مع العلم بمقدار التوازي قبل التنفيذ.
قام كلٌّ من الحياني ورفيع وآخرون بتطوير نماذج جديدة لتسريع الأداء واستهلاك الطاقة، استنادًا إلى تمثيل عام لعدم تجانس النواة، يُشار إليه باسم عدم تجانس الشكل الطبيعي، والذي يدعم نطاقًا واسعًا من بنى المعالجات متعددة النوى غير المتجانسة. تهدف أساليب النمذجة هذه إلى التنبؤ بكفاءة استهلاك الطاقة ونطاقات الأداء للنظام، وتُسهّل البحث والتطوير على مستوى الأجهزة وبرمجيات النظام. [ 6 ] [ 7 ]
انظر أيضاً
مراجع
- ↑ ماكول، مايكل د.؛ روبيسون، آرتش د.؛ رايندرز، جيمس (2012). "2.5 نظرية الأداء" . البرمجة المتوازية المهيكلة: أنماط للحوسبة الفعالة . إلسيفير. ص 61-62 . ISBN 978-0-12-415993-8.
- 1 2 3 4 5 6 غوستافسون، جون ل. (مايو 1988). "إعادة تقييم قانون أمدال" . اتصالات رابطة آلات الحوسبة . 31 (5): 532-533 . CiteSeerX 10.1.1.509.6892 . doi : 10.1145/42411.42415 . S2CID 33937392 .
- ↑ سنايدر، لورانس (يونيو 1986). "بنى الأنواع، والذاكرة المشتركة، ونتيجة الإمكانات المتواضعة" (ملف PDF) . المجلة السنوية لعلوم الحاسوب 1 : 289-317 . doi : 10.1146 /annurev.cs.01.060186.001445 .
- ↑ هيل، مارك د.؛ مارتي، مايكل ر. (يوليو 2008). "قانون أمدال في عصر المعالجات متعددة النوى" . مجلة IEEE Computer . 41 (7): 33-38 . CiteSeerX 10.1.1.221.8635 . doi : 10.1109/MC.2008.209 . UW CS-TR-2007-1593.
- ↑ دونغ هيوك وو؛ هسين-هسين إس. لي (ديسمبر 2008). "توسيع قانون أمدال للحوسبة الموفرة للطاقة في عصر المعالجات متعددة النوى". مجلة IEEE Computer . 41 (12): 24-31 . CiteSeerX 10.1.1.156.3907 . doi : 10.1109/mc.2008.494 . S2CID 6136462 .
- ↑ رافيف، آشور؛ الحياني، محمد أ.ن؛ شيا، فاي؛ شفيق، رشاد؛ رومانوفسكي، ألكسندر؛ ياكوفليف، أليكس (2018-07-01). "نماذج تسريع وتوسيع نطاق الطاقة لأنظمة متعددة النوى غير متجانسة" . معاملات IEEE لأنظمة الحوسبة متعددة المقاييس . 4 (3): 436-449 . doi : 10.1109/TMSCS.2018.2791531 . ISSN 2332-7766 . S2CID 52287374 .
- ↑ الحياني، محمد أ. نعمان؛ شيا، فاي؛ رافيف، آشور؛ رومانوفسكي، ألكسندر؛ شفيق، رشاد؛ ياكوفليف، أليكس (يوليو 2020). "قانون أمدال في سياق الأنظمة متعددة النوى غير المتجانسة - دراسة استقصائية" . مجلة IET للحاسبات والتقنيات الرقمية . 14 (4): 133-148 . doi : 10.1049/iet-cdt.2018.5220 . ISSN 1751-8601 . S2CID 214415079 .
- تحليل الخوارزميات المتوازية
- بيانات بنية الحاسوب
