أسوأ وقت للتنفيذ
أسوأ وقت تنفيذ ( WCET ) لمهمة حسابية هو أقصى مدة زمنية يمكن أن تستغرقها المهمة للتنفيذ على منصة أجهزة معينة .
ما هي استخداماته؟
يُستخدم وقت التنفيذ في أسوأ الحالات عادةً في أنظمة الوقت الحقيقي الموثوقة ، حيث يكون فهم سلوك التوقيت في أسوأ الحالات للبرامج أمرًا مهمًا للموثوقية أو السلوك الوظيفي الصحيح.
على سبيل المثال، قد يحتاج نظام حاسوبي يتحكم في سلوك محرك مركبة إلى الاستجابة للمدخلات خلال فترة زمنية محددة. أحد مكونات زمن الاستجابة هو الوقت المستغرق في تنفيذ البرنامج؛ لذا، إذا أمكن تحديد أسوأ زمن تنفيذ للبرنامج، فيمكن لمصمم النظام استخدام هذه المعلومة مع تقنيات أخرى، مثل تحليل جدولة المهام، لضمان استجابة النظام بالسرعة الكافية.
على الرغم من أن اختبار وقت التنفيذ في أسوأ حالاته (WCET) قابل للتطبيق نظريًا على العديد من الأنظمة الآنية، إلا أن ضمان WCET يُستخدم عمليًا بشكل أساسي في الأنظمة الآنية التي تتطلب موثوقية عالية أو أمانًا. على سبيل المثال، يتطلب معيار DO178C، القسم 6.3.4، إيلاء بعض الاهتمام للبرمجيات في برمجيات الطائرات. كما أن تزايد استخدام البرمجيات في أنظمة السيارات يُحفز الحاجة إلى استخدام تحليل WCET للبرمجيات.
في تصميم بعض الأنظمة، غالبًا ما يتم استخدام WCET كمدخل لتحليل الجدولة ، على الرغم من أن الاستخدام الأكثر شيوعًا لـ WCET في الأنظمة الحرجة هو ضمان عدم انتهاك ميزانيات التوقيت المخصصة مسبقًا في نظام مجدول بالتقسيم مثل ARINC 653 .
حساب
منذ الأيام الأولى للحوسبة المدمجة، استخدم مطورو البرامج المدمجة إما:
- القياسات الشاملة للتعليمات البرمجية، على سبيل المثال يتم إجراؤها عن طريق ضبط دبوس الإدخال/الإخراج على الجهاز على مستوى عالٍ في بداية المهمة، وعلى مستوى منخفض في نهاية المهمة واستخدام محلل منطقي لقياس أطول عرض نبضة، أو عن طريق القياس داخل البرنامج نفسه باستخدام ساعة المعالج أو عدد التعليمات.
- تقنيات التحليل الثابت اليدوي مثل عد تعليمات التجميع لكل دالة، حلقة، إلخ، ثم دمجها.
لكلتا هاتين التقنيتين قيود. فقياسات التكامل الشامل تُلقي عبئًا كبيرًا على اختبار البرمجيات لتحديد أطول مسار؛ أما عدّ التعليمات فلا ينطبق إلا على البرمجيات والأجهزة البسيطة. وفي كلتا الحالتين، يُستخدم هامش خطأ غالبًا لمراعاة التعليمات البرمجية غير المختبرة، أو تقديرات أداء الأجهزة، أو الأخطاء. ويُستخدم هامش بنسبة 20% في كثير من الأحيان، مع أن هذا الرقم لا يستند إلى مبرر يُذكر، باستثناء الثقة التاريخية ("لقد نجح الأمر في المرة السابقة").
مع ازدياد تعقيد البرمجيات والأجهزة، برزت الحاجة إلى أدوات داعمة. بات التعقيد يمثل مشكلة متزايدة في كل من التحليل الثابت والقياسات. يصعب تحديد هامش الخطأ الأمثل ومدى كفاية اختبار النظام البرمجي. تُستخدم حجج سلامة النظام القائمة على أعلى مستوى أداء تم تحقيقه أثناء الاختبار على نطاق واسع، لكن يصعب تبريرها مع تزايد صعوبة التنبؤ بأداء البرمجيات والأجهزة.
في المستقبل، من المرجح أن يكون أحد متطلبات الأنظمة الحساسة للسلامة هو تحليلها باستخدام كل من الأساليب الثابتة والقائمة على القياس.
الاعتبارات
تُعادل مشكلة إيجاد أسوأ وقت تنفيذ (WCET) عن طريق التحليل مشكلة التوقف ، وبالتالي فهي غير قابلة للحل بشكل عام. لحسن الحظ، بالنسبة لأنواع الأنظمة التي يرغب المهندسون عادةً في إيجاد أسوأ وقت تنفيذ لها، يكون البرنامج عادةً منظمًا جيدًا، وسينتهي دائمًا، وقابلًا للتحليل.
تعتمد معظم طرق حساب وقت التشغيل الأمثل (WCET) على التقريب (عادةً ما يكون التقريب لأعلى عند وجود شكوك)، ولذلك يُعتبر الحصول على قيمة دقيقة لوقت التشغيل الأمثل في كثير من الأحيان أمرًا غير ممكن عمليًا. وبدلًا من ذلك، تُنتج التقنيات المختلفة لحساب وقت التشغيل الأمثل تقديراتٍ له. [ 1 ] عادةً ما تكون هذه التقديرات متشائمة، أي أن وقت التشغيل الأمثل المُقدَّر يكون أعلى من وقت التشغيل الأمثل الحقيقي (وهو ما يُراد عادةً). ويركز جزء كبير من العمل في تحليل وقت التشغيل الأمثل على تقليل التشاؤم في التحليل بحيث تكون القيمة المُقدَّرة منخفضة بما يكفي لتكون ذات قيمة لمصمم النظام.
يشير تحليل أسوأ وقت تنفيذ (WCET) عادةً إلى وقت تنفيذ خيط أو مهمة أو عملية واحدة. مع ذلك، في الأجهزة الحديثة، وخاصةً متعددة النوى، تؤثر المهام الأخرى في النظام على أسوأ وقت تنفيذ لمهمة معينة إذا كانت تتشارك في ذاكرة التخزين المؤقت وخطوط الذاكرة وميزات الأجهزة الأخرى. علاوة على ذلك، ينبغي مراعاة أحداث جدولة المهام، مثل الحظر أو المقاطعات المحتملة، في تحليل أسوأ وقت تنفيذ إذا كان من الممكن حدوثها في نظام معين. لذلك، من المهم مراعاة السياق الذي يُطبق فيه تحليل أسوأ وقت تنفيذ.
الأساليب الآلية
توجد العديد من الطرق الآلية لحساب وقت المعالجة الأمثل (WCET) بالإضافة إلى الطرق اليدوية المذكورة أعلاه. وتشمل هذه الطرق ما يلي:
- تقنيات تحليلية لتحسين حالات الاختبار لزيادة الثقة في القياسات الشاملة
- التحليل الثابت للبرنامج (و"الثابت" يعني بدون تنفيذ البرنامج).
- الأساليب المدمجة، والتي يشار إليها غالبًا باسم التحليل "الهجين"، هي مزيج من القياسات والتحليل الهيكلي
تقنيات التحليل الثابت
تحاول أداة تقدير وقت التنفيذ في أسوأ حالاته (WCET) الثابتة تقدير هذا الوقت من خلال فحص برمجيات الحاسوب دون تشغيلها مباشرةً على الأجهزة. وقد هيمنت تقنيات التحليل الثابت على الأبحاث في هذا المجال منذ أواخر ثمانينيات القرن الماضي، على الرغم من أن أساليب القياس الشاملة كانت هي الممارسة القياسية في البيئة الصناعية.
تعمل أدوات التحليل الثابت على مستوى عالٍ لتحديد بنية مهمة البرنامج ، إما من خلال تحليل جزء من شفرة المصدر أو الملف التنفيذي الثنائي المُفكك . كما تعمل أيضًا على مستوى منخفض، باستخدام معلومات التوقيت الخاصة بالأجهزة الفعلية التي ستُنفذ عليها المهمة، بكل خصائصها المميزة. ومن خلال الجمع بين هذين النوعين من التحليل، تحاول الأداة تحديد الحد الأقصى للوقت اللازم لتنفيذ مهمة معينة على منصة أجهزة معينة.
على المستوى الأدنى، يصبح تحليل وقت التنفيذ في أسوأ الحالات (WCET) الثابت معقدًا بسبب وجود خصائص معمارية تُحسّن أداء المعالج في الحالة المتوسطة ، مثل ذاكرة التخزين المؤقت للتعليمات/البيانات ، وتوقع التفرعات ، وخطوط أنابيب التعليمات . من الممكن، ولكن من الصعب بشكل متزايد، تحديد حدود دقيقة لوقت التنفيذ في أسوأ الحالات (WCET) إذا أُخذت هذه الخصائص المعمارية الحديثة في الاعتبار في نموذج التوقيت المستخدم في التحليل.
لذلك، تعتمد هيئات الاعتماد مثل الوكالة الأوروبية لسلامة الطيران على مجموعات التحقق من صحة النماذج.
أظهر التحليل الثابت نتائج جيدة للأجهزة البسيطة، إلا أن أحد عيوبه المحتملة هو أن الأجهزة (وخاصة وحدة المعالجة المركزية) قد وصلت إلى درجة من التعقيد يصعب معها نمذجتها. فعلى وجه الخصوص، قد تُدخل عملية النمذجة أخطاءً من مصادر متعددة: أخطاء في تصميم الشريحة، ونقص في التوثيق، وأخطاء في التوثيق، وأخطاء في إنشاء النموذج؛ ما يؤدي إلى حالات يتنبأ فيها النموذج بسلوك مختلف عن السلوك الملاحظ على الأجهزة الحقيقية. عادةً، عندما يتعذر التنبؤ بدقة بالسلوك، تُستخدم نتيجة متشائمة، ما قد يؤدي إلى تقدير وقت التنفيذ في أسوأ الحالات (WCET) أكبر بكثير من أي قيمة مُحققة أثناء التشغيل.
يُعد الحصول على تقدير دقيق لوقت التنفيذ في أسوأ الحالات أمرًا صعبًا بشكل خاص على المعالجات متعددة النوى.
يوجد عدد من الأدوات التجارية والأكاديمية التي تطبق أشكالاً مختلفة من التحليل الثابت.
تقنيات القياس والتقنيات الهجينة
عادةً ما تحاول الأساليب القائمة على القياس والأساليب الهجينة قياس أوقات تنفيذ أجزاء قصيرة من التعليمات البرمجية على الأجهزة الحقيقية، ثم دمجها في تحليل على مستوى أعلى. تأخذ الأدوات في الاعتبار بنية البرنامج (مثل الحلقات والتفرعات) لإنتاج تقدير لأسوأ وقت تنفيذ للبرنامج الأكبر. والسبب في ذلك هو صعوبة اختبار أطول مسار في البرامج المعقدة، بينما يسهل اختباره في العديد من مكوناتها الأصغر. يكفي ظهور أسوأ تأثير مرة واحدة أثناء الاختبار حتى يتمكن التحليل من دمجه مع أسوأ أحداث أخرى في تحليله.
عادةً، يمكن قياس أجزاء صغيرة من البرمجيات تلقائيًا باستخدام تقنيات مثل إضافة علامات (إضافة مؤشرات إلى البرنامج) أو بدعم من الأجهزة مثل أدوات تصحيح الأخطاء ووحدات تتبع وحدة المعالجة المركزية. تُنتج هذه العلامات سجلًا للتنفيذ، يتضمن مسار البرنامج والوقت الذي تم فيه تنفيذ كل نقطة. ثم يُحلل هذا السجل لتحديد أقصى وقت استغرقه كل جزء من البرنامج للتنفيذ، وأقصى وقت تكرار مُلاحظ لكل حلقة، وما إذا كانت هناك أي أجزاء من البرنامج لم يتم اختبارها ( تغطية الكود ).
أظهر تحليل أسوأ وقت تنفيذ (WCET) القائم على القياس نتائج جيدة لكل من الأجهزة البسيطة والمعقدة، إلا أنه، كما هو الحال في التحليل الثابت، قد يعاني من تشاؤم مفرط في حالات المعالجات متعددة النوى، حيث يصعب تحديد تأثير كل نواة على الأخرى. ومن عيوب القياس اعتماده على رصد أسوأ تأثيرات الحالات أثناء الاختبار (وإن لم يكن بالضرورة في الوقت نفسه). وقد يصعب تحديد ما إذا كانت أسوأ تأثيرات الحالات قد تم اختبارها بالفعل.
يوجد عدد من الأدوات التجارية والأكاديمية التي تطبق أشكالاً مختلفة من التحليل القائم على القياس.
بحث
تتركز أنشط مجموعات البحث في الولايات المتحدة الأمريكية (جامعة ميشيغان الأمريكية)، والسويد (مالاردالن، لينشوبينغ)، وألمانيا (ساربروكن، دورتموند، براونشفايغ)، وفرنسا (تولوز، ساكلاي، رين)، والنمسا (فيينا)، والمملكة المتحدة (جامعة يورك وشركة رابيتا سيستمز المحدودة)، وإيطاليا (بولونيا)، وإسبانيا (كانتابريا، فالنسيا)، وسويسرا (زيورخ). وقد حظي موضوع تحليل التوقيت على مستوى الشيفرة باهتمام متزايد خارج أوروبا مؤخرًا، من قبل مجموعات بحثية في الولايات المتحدة (كارولاينا الشمالية، فلوريدا)، وكندا، وأستراليا، وبنغلاديش (مختبر MBI وRDS)، والمملكة العربية السعودية (مختبر HISE)، وسنغافورة، والهند (المعهد الهندي للتكنولوجيا في مدراس، والمعهد الهندي للعلوم في بنغالور).
تحدي أدوات اختبار WCET
عُقدت أول مسابقة دولية لأدوات تحليل أسوأ وقت تنفيذ (WCET) خلال خريف عام 2006. نظمتها جامعة مالاردالن برعاية شبكة ARTIST2 للتميز في تصميم الأنظمة المدمجة. هدف المسابقة إلى فحص ومقارنة مختلف المناهج المستخدمة في تحليل أسوأ وقت تنفيذ. شاركت جميع الأدوات والنماذج الأولية المتاحة القادرة على تحديد الحدود العليا الآمنة لأسوأ وقت تنفيذ للمهام. عُرضت النتائج النهائية [ 2 ] في نوفمبر 2006 في ندوة ISoLA 2006 الدولية في بافوس ، قبرص.
أُقيمت مسابقة ثانية في عام 2008. [ 3 ]
انظر أيضاً
مراجع
- ↑ " مشكلة وقت التنفيذ في أسوأ الحالات - نظرة عامة على الأساليب ومسح للأدوات "، فيلهلم، راينهارد، وآخرون، معاملات ACM لأنظمة الحوسبة المدمجة (TECS)، المجلد 7، العدد 3، 2008.
- ↑ "نسخة مؤرشفة" (PDF) . مؤرشفة من النسخة الأصلية (PDF) بتاريخ 1 أكتوبر 2011. تم الاطلاع عليها بتاريخ 15 أغسطس 2010 .
{{cite web}}: CS1 maint: archived copy as title ( link ) - ↑ "تحدي WCET لعام 2008" . مؤرشف من الأصل بتاريخ 16 فبراير 2012. تم الاطلاع عليه بتاريخ 16 أغسطس 2008 .
المقالات والأوراق البحثية
- أطر تدفق البيانات لتحليل وقت التنفيذ في أسوأ الحالات
- التنبؤ بأسوأ وقت تنفيذ من خلال تحليل البرنامج الثابت (ملف PDF)
- أوتاوا، إطار عمل لتجربة حسابات وقت التنفيذ الأقصى (ملف PDF)
- تحليل نتائج الاختبارات الموسعة لتحدي أدوات WCET لعام 2006 في التقرير النهائي (مقالة منشورة في مجلة Springer) [ تمت إزالة الرابط ]
- التقرير النهائي لتحدي أدوات WCET لعام 2006 (ملف PDF)
- إطار عمل للمترجم لتقليل أوقات التنفيذ في أسوأ الحالات (ملف PDF)
روابط خارجية
- الحوسبة في الوقت الحقيقي
