Table of Contents

זמן ביצוע הגרוע ביותר (WCET) של משימה חישובית הוא אורך הזמן המקסימלי של המשימה יכול לקחת לביצוע על פלטפורמת חומרה מסוימת.בתחום של מערכות הפעלה בזמן אמת (RTOS), הבנה ויישום ניתוח WCET הוא לא רק תרגיל אקדמי - זה דרישה בסיסית להבטיח אמינות מערכת, בטיחות, וחיזוי זמן ביצוע גרוע יותר משמש בדרך כלל במערכות זמן אמתיות, שבו הבנה גרועה של התנהגות נכונה היא עניין פונקציונלי או התנהגות תקין.

עבור מפתחים העובדים על יישומים קריטיים כגון מערכות בקרת רכב, avionics, מכשירים רפואיים ואוטומציה תעשייתית, ניתוח WCET מספק את הוודאות המתמטית הנדרשת כדי להבטיח כי משימות יש להשלים בתוך חלון הזמן שהוקצה שלהם.מערכת מחשב השולטת בהתנהגות של מנוע ברכב עשוי להגיב קלט בתוך כמות מסוימת של זמן, ואם ניתן לקבוע את זמן ביצוע התוכנה הגרוע ביותר, אז את ההתנהגות של מערכת ההפעלה עשויה להגיב מספיק מהירה כמו ניתוח פתורה.

מדריך מקיף זה חוקר את העקרונות, המתודולוגיות, ואת היישומים המעשיים של ניתוח WCET בעיצוב המשימה RTOS, המספק מהנדסי מערכות משובצים עם הידע הדרוש כדי לבנות מערכות זמן אמתיות חזקות וצפויות.

הבנה של ניתוח זמן ביצוע גרוע - The Worst-Case Execution Time Analysis

הידיעה על WCET של תוכנית היא הכרחית בעת תכנון ואמת מערכות בזמן אמת. WCET ניתוח מייצג גישה שיטתית לקביעת ההתחייבות העליונה המוחלטת על ביצוע זמן ביצוע עבור חלק קוד בתנאים אפשריים.בניגוד למקרים ממוצעים או זמני ביצוע טיפוסיים, WCET מתמקדת משך המקסימלי האפשרי, חשבונאות עבור התרחישים התובעניים ביותר שעלולים להתרחש במהלך ניתוח המערכת.

חשיבותה של WCET

WCET תלוי הן בתזרים התוכנית, כגון אילולאות ושיחות פונקציה, ועל גורמי חומרה, כגון כינים צינורות. תלות כפולה זו הופכת ניתוח משמעת מורכבת אך חיונית.זמן הביצוע של כל משימה נתונה מושפע מגורמים רבים כולל:

  • שליטה במורכבות עם סניפים מותניים ו-Lows מקונן
  • אדריכלות קשיחה תכונות כגון צינורות הוראה וחיזוי סניף
  • השפעות היררכיה של זיכרון כולל להיטי כאב ומפספס
  • טיפול והקשר בין-rupt מעבר ל-head
  • המונחים: multicoreסביבות
  • החלטות לוח זמנים מערכת הפעלה ופתרון משימות

הערכות WCET צריכות להיות בטוחות (לא תחת אישור) ונוקשות (כפי שפחות יתר על המידה ככל האפשר) דרישה כפולה זו יוצרת מתח בסיסי בניתוח WCET: ההערכות חייבות להיות שמרניות מספיק כדי להבטיח בטיחות, אך די חזק כדי להיות שימושיות כמעט עבור עיצוב מערכת ו הקצאת משאבים.

WCET במערכות בטיחות-סיטוריות

בעוד WCET הוא עשוי להיות רלוונטי עבור מערכות זמן רבות בזמן אמת, בפועל אבטחת WCET משמשת בעיקר על ידי מערכות בזמן אמת הקשורות לאמינות גבוהה או בטיחות. תעשיות עם דרישות בטיחות מחמירות אימצו יותר ויותר ניתוח WCET כמרכיב חובה של תהליכי הפיתוח שלהם.

DO-178C קובע צורך בניתוח של WCET, המדגיש אותו ב §6.3 (Software Reviews and Analyses), §6.3.4 (סקירות ואנליזות של קוד מקור), ו §11.20 (Software Accomplishment באופן דומה, DO-178C הדרכה עבור חלל אוויר ותקן ISO 262 עבור שניהם דורשים קריטריונים של ראיות קריטיות שלך כדי לקבל את האישור שלך).

תעשיית הרכב ראתה צמיחה חומרית במורכבות תוכנה, עם כלי רכב מודרניים המכילים מיליוני שורות קוד השולטים בכל דבר מניהול מנוע ועד מערכות סיוע מתקדמות לנהג.השימוש הגובר בתוכנה במערכות הרכב מניע גם את הצורך להשתמש בניתוח WCET של תוכנה.

יסודות ואתגרים

הבעיה של מציאת WCET בניתוח שווה לבעיה העצירה ולכן אינה ניתנת להשגה באופן כללי, אך למרבה המזל, עבור סוג המערכות שהמהנדסים בדרך כלל רוצים למצוא WCET עבור, התוכנה בדרך כלל מובנה היטב, תמיד תסתיים והוא עמיד.

רוב השיטות למציאת WCET כרוכות בנספחים (בדרך כלל מקיפים למעלה כאשר יש אי-וודאויות) ולכן בפועל ה- WCET עצמו המדויק נחשב לעתים קרובות בלתי-אפשרי. במקום, טכניקות שונות למציאת WCET WCET הערכות עבור WCET.ההערכות הן בדרך כלל פסימיסטיות, כלומר WCET נחשב גבוה יותר מאשר אמיתי (שבדרך כלל הרצוי).

הפסימיות הטבועה הזו משמשת שולי בטיחות, אבל עבודה רבה בניתוח WCET היא על צמצום הפסימיות בניתוח כך שהערך המוערך נמוך מספיק כדי להיות בעל ערך למעצב המערכת. פסימיות מוגזמת עלולה להוביל לשיפוץ יתר של משאבי חומרה, עלויות גבוהות יותר וצמצום יעילות המערכת.

WCET Analysisמתודולוגיות

במהלך העשורים, חוקרים ומתרגלים פיתחו מספר גישות נפרדות לניתוח WCET, כל אחת עם כוחות משלה, מגבלות ושימוש הולם מקרים.הבנת שיטות אלה חיונית לבחירת הגישה הנכונה לפרויקט מסוים.

שיטות ניתוח סטטי

כלי WCET סטטי מנסה להעריך WCET על ידי בחינת תוכנת המחשב מבלי לבצע אותו ישירות על החומרה. Static Analysis Tool עובד ברמה גבוהה כדי לקבוע את המבנה של משימת התוכנית, עובד על פיסת קוד מקור או disa להרכיב עריכת בינארי.

ניתוח סטטי WCET estimation פותח כחלופה להתאמה מבוססת מדידה.ה היתרון העיקרי של ניתוח סטטי הוא כי אין צורך לקחת מדידות מהמטרה האמיתית, צמצום עלויות ומאמץ. גישה זו בונה מודלים מפורטים של זרימת הבקרה של התוכנה והתנהגות תזמון החומרה, ולאחר מכן משלבת מודלים אלה כדי להפיק תזמון גבולות.

הערכת ניתוח סטטי דורשת מודל מדויק בדיוק של המאפיינים של התזמון של המעבד, הכולל את ההתנהגות של צינורות, צ'יפים, זיכרון, אוטובוסים, וכל תכונה אחרת של החומרה תחת בדיקה שעלולה להשפיע על זמן ביצוע של הוראות מכונה.

תהליך הניתוח הסטטי בדרך כלל כרוך במספר מרכיבים מרכזיים:

  • ניתוח זרימה:0 (Control Flow Analysis:FLT:1Build a control Flow גרפן המייצג את כל נתיבי ביצוע אפשריים באמצעות התוכנית
  • (ב) [15] ,[[1924]]]]]]]]
  • (ב) ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
  • (FLT:0)Low-Level Timing Analysis:03F1) מודל התנהגות צינורות מעבד, אפקטים מטמון ודפוסי גישה לזיכרון
  • (FLT:0) ניתוח: FLT:1 זיהוי הנתיב הארוך ביותר לביצוע באמצעות התוכנית באמצעות טכניקות כגון תכנות ליניארי

עם זאת, ניתוח סטטי סובל משני חולשות מפתח: זה פסימי כפי שהוא מזהה את הפתולוגי - הגרוע ביותר מבחינה תיאורטית - WCET. אדריכלות מורכבת, כגון מעבדי רב-core, לא ניתן לדגום במדויק.

ניתוח מבוסס

מאז ימיו הראשונים של מחשוב מוטבע, מפתחי תוכנה משובצים השתמשו: מדידות קצה עד קצה של קוד, למשל מבוצע על ידי הגדרת I / O pin על המכשיר גבוה בתחילת המשימה, ונמוך בסוף המשימה ושימוש מנתח לוגי כדי למדוד את רוחב הדופק הארוך ביותר, או על ידי מדידה בתוך התוכנה עצמה באמצעות המעבד או ספירת ההוראה.

ניתוח WCET מבוסס מדידה כולל ביצוע התוכנית על חומרת היעד בפועל עם תרחישים קלט שונים להקליט את זמני ביצוע שנצפו.הגישה היא פרגמטית ומשקף התנהגות חומרה אמיתית, אבל זה מגיע עם מגבלות משמעותיות.

ניתוח מבוסס מדידה לא יכול לזהות WCET באופן כללי, רק תת-קבוצה של ההוצאות להורג מופעלת, אשר לא יכול להכיל את התרחיש הגרוע ביותר.עבור מגוון של סיבות, השימוש בניתוח מבוסס מדידה נוטה להיות הגישה המעשית יותר, וכתוצאה מכך הגישה המשמשת עבור מערכות רבות בעבר ונוכח.

לכן, בפועל, האופטימיות של גישה מבוססת מדידה מופחתת על ידי הוספת "ה שולי הבטוח", לדוגמה, הוספת 20% לזמן הביצוע הארוך ביותר.עם זאת, קביעת שולי בטיחות מתאימים נותרה אתגר, שכן היא חייבת לאזן את ההשטנות עם מעשיות.

ניתוח היברידי מתקרב

ניתוח WCET היברידי משלב את נקודות החוזק של שתי מתודולוגיות נפוצות.גישות היברידיות הופיעו כקרקע ביניים חזקה, מנסה למנף את היתרונות של טכניקות סטטיות ומדידות תוך הקטנת החולשות בהתאמה.

כלים היברידיים WCET שואפים לשלב את התכונות הטובות ביותר של כלים מבוססי מדידה סטטי ניתוח WCET תוך הימנעות ממלכודות שלהם על ידי שימוש בבדיקת target כדי למדוד את זמן הביצוע של תת-פתים קצרים בין נקודות החלטה בקוד ושילוב מדידות ומידע מניתוח נתיב כדי לבצע את זמני ביצוע הגרועים הגרועים ביותר באופן שתופס את הזמן לביצוע על נתיבים בודדים עקב השפעות חומרה.

באמצעות טכניקות אלה, ניתוח היברידי נועד לספק ערך בין WCET הפסימיסטי של ניתוח סטטי ואת הערכים האופטימיים של מדידה טהורה.המתודולוגיה ההיברידית בדרך כלל כרוך:

  • הפעלת קוד כדי למדוד את זמני ביצוע של בלוקים בסיסיים או פלחי קוד קטנים
  • ביצוע הקוד המותקן על חומרת היעד עם קלטות מבחן ייצוג
  • ביצוע ניתוח זרימה סטטית של זרימה כדי לזהות את כל נתיבי ביצוע אפשריים
  • שילוב נתוני תזמון נמדדים עם מידע נתיב כדי לחשב את הערכות WCET הכוללות
  • חשבונאות עבור מסלולים לא מובנים באמצעות תוספת שמרנית

זמני ביצוע נקבעים מדידות אמיתיות, תוך התייחסות לבעיה הראשונה עם כלים סטטיים בלבד WCET: אין להסתמך על מודלים של מעבדים.זה חשוב במיוחד עבור מעבדים מודרניים מורכבים שבהם מודלים מדויקים הם קשים או בלתי אפשריים ליצירתם.

החל ניתוח WCET ל- RTOS Task design

שילוב של ניתוח WCET בעיצוב המשימה RTOS הוא שבו התיאוריה פוגשת בפועל.הבנת כיצד ליישם ביעילות עקרונות WCET יכול להיות ההבדל בין מערכת אמינה, certifiable לבין אחד שחווה כשלי תזמון בלתי צפויים בתחום.

דרישות RTOS ו-IMITING

משימה היא פיסת קוד שיש לפעול בתוך חוט יחיד של ביצוע.משימה נושא רצף של משרות למעבד שהם תורים והוצא להורג.הזמן שהוצאו על ידי העבודה באופן פעיל באמצעות משאבי מעבד הוא זמן הביצוע שלו.

דרישות מערכת ברמה גבוהה יפרטו זמני תגובה מקסימליים למשימה, המכונה מועד אחרון.זמן ביצוע הגרוע ביותר הוא אורך הזמן המקסימלי של זמן משימה נדרשת לבצע על פלטפורמה מסוימת חומרה.בעיצוב RTOS, עמידה בלוחות הזמנים הללו אינה אופציונלית - זהו דרישה בסיסית הקובעת תיקון מערכת.

בעיצוב של כמה מערכות, WCET משמש לעתים קרובות כקלט לניתוח schedulability, למרות שימוש נפוץ יותר של WCET במערכות קריטיות הוא להבטיח כי תקציבי התזמון שנקבעו מראש במערכת מופץ מחיצה כגון ARINC 653 אינם מופרים.

המשימה של Scheduling ו WCET

ההתקדמות האחרונה בתחום הפרשנות המופשטת הובילה לפיתוח של כלי ניתוח תכנית סטטיים הקובעים ביעילות את הגבולות העליונים של זמן ההוצאה הגרוע ביותר (WCET) של קוד ניתוק כדי לבצע ניתוח schedulability הכולל על מנת להבטיח כי כל מגבלות התזמון ייפגשו.חלק מערכות הפעלה בזמן אמת מציעים כלים לניתוח schedulability, אבל כל הכלים האלה דורשים WC משימות כקלט.

היחסים בין WCET ו- תזמון הם דו-כי-כיווניים. WCET מודיעים על החלטות תזמון, בעוד מדיניות תזמון משפיעה על זמן ביצוע בפועל של משימות באמצעות גורמים כגון:

  • (ב) ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
  • (ב) זיהום:0) זיהום כאב: 1 (Preemption) יכול לגרום למגרעות כאשר משימה חוזרת
  • (ב) ⁇ :0) ⁇ : ⁇ : 1 (בקיצור: 1) משימות פרטיות תחתית) עלולות לחסום משימות פרטיות גבוהות יותר
  • (ב) [15] ,9) ,5 ,1 פעולות המתחרות על משאבים משותפים
  • (ב) ,0) עצלות: זמן 1 נדרש להגיב ולטפל בהפרעות

ניתוח WCET מתייחס בדרך כלל לשעת ביצוע של חוט יחיד, משימה או תהליך. עם זאת, על חומרה מודרנית, במיוחד רב-core, משימות אחרות במערכת ישפיעו על WCET של משימה נתונה אם הם חולקים cache, קווי זיכרון ותכונות חומרה אחרות.יתר, אירועי תזמון כגון חסימת או להיות הפרעות יש לשקול ניתוח WCET אם הם יכולים להתרחש במערכת מסוימת.

ניתוח RTOS Kernels

ניתוח זמן ביצוע גרוע (WCET) הוא אחד המשימות העיקריות באימות תזמון של מערכות בזמן אמת קשה. במערכות מורכבות עם מערכות הפעלה בזמן אמת (RTOS), תכונות התזמון של המערכת נקבעות על ידי יישומים ו RTOS. באופן מסורתי, ניתוח WCET עוסק בעיקר תוכניות יישום, בעוד חיוני לדעת אם RTOS מתנהג גם הוא מתנהג באופן צפוי.

הקרנל RTOS תורם לתזמון המערכתי הכולל באמצעות שירותים ופעולות שונות:

  • יצירת משימות ומחיקה
  • מעבר בין משימות
  • פעילות Semaphore ו- mutex
  • ניהול תור הודעות
  • שירותי Timer
  • טיפול
  • הקצאת זיכרון וחלוקת

לכל אחד משירותי הקרנל האלה יש WCET משלה, אשר חייב להיות אחראי על כאשר ניתוח משימות ברמת היישום.הבנת התנהגות התזמון של פרימיטיבי RTOS היא חיונית לניתוח תזמון ברמה מדויקת.

עדיפויות ו-Aconlocation

ניתוח WCET משפיע ישירות על האופן שבו משימות ניתנות לפני מועד וכיצד משאבי המערכת מוקצים.עם הערכות מדויקות של WCET, מעצבי המערכת יכולים:

  • לחתום על סדרי עדיפויות מתאימים למשימות המבוססות על מועדי המועדים שלהם ועל זמני ביצוע
  • הקצאת מספיק זמן CPU במערכות זמן הקשורות לזמן
  • משימות אפשריות של קביעת היתכנות שניתן לקבוע ללא הפרות מועד
  • אופטימיזציה של שימוש במשאבי תוך שמירה על ערבויות תזמון
  • לזהות צווארי בקבוק פוטנציאליים ובעיות ביצועים מוקדם בשלב העיצוב

ניתוח מונוטוני (RMA) ו-Earth Deadline הראשון (EDF) אלגוריתמים תזמון שניהם מסתמכים על ערכי WCET כדי לקבוע schedulability.ללא הערכות מדויקות WCET, ניתוחים אלה אינם יכולים לספק ערבויות משמעותיות לגבי התנהגות המערכת.

יישום WCET Analysis in Practice

מעבר הבנה תיאורטית ליישום מעשי דורש תכנון זהיר, בחירת כלים מתאימה ומתודולוגיה שיטתית.סעיף זה מספק הדרכה מעשית לשילוב ניתוח WCET לפרויקטים של פיתוח RTOS בעולם האמיתי.

זיהוי משימות קריטיות לניתוח

לא כל המשימות ב- RTOS דורשות את אותה רמה של ניתוח תזמון.הצעד הראשון ביישום WCET מעשי הוא זיהוי אילו משימות הן באמת קריטיות ומצריכות ניתוח מפורט.

  • (ב) ⁇ :0) פונקציות קריטיות: 10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.
  • משימות בזמן אמת: 10.10.10.1 משימות עם מועדים שאינם ניתנים להשגה, שבו כל הפרה מהווה כשל במערכת
  • (ב) משימות:0 (בלטינית:0) ⁇ : 1 משימות אשר מבצעות לעיתים קרובות וצורכים משאבי CPU משמעותיים
  • (ב) ⁇ (ב) ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
  • (ב) ,0) טוסקים עם שולי תזמון הדוקים: ההרחבה 1 (המשימה שבה ההבדל בין WCET ותאריך מועד אחרון הוא קטן

עבור כל אחד זיהה משימה קריטית, לתעד את דרישות התזמון שלה, כולל זמן, מועד אחרון, וכל תלות במשימות או משאבים אחרים.מידע זה מהווה את הבסיס לניתוח הבא.

בחירת כלי ניתוח WCET

בחירת כלי ניתוח WCET תלויה במספר גורמים הכוללים חומרה, שפת תכנות, דרישות הסמכה, ומגבלות תקציב.מספר כלים מסחריים ואקדמיים זמינים:

AiT הוא כלי WCET לשימוש תעשייתי.מידע הנדרש עבור WCET estimation כגון מטרות סניף קידוד וגבולות לולאה נקבע על ידי ניתוח סטטי.כלי IT מ AbsInt משמש נרחב בחלל אווירי ותעשיות רכב עבור ניתוח WCET סטטי.

הכלי הייחודי של Rapita של ניתוח התזמון ההיברידי נקרא RapiTime והוא מזוהה על ידי FAA כ"דוגמה של כלי בוגר" לניתוח תזמון דינמי. RapiTime מייצג את גישת הניתוח ההיברידי והוא שימושי במיוחד עבור פלטפורמות חומרה מורכבות.

כלים בולטים אחרים כוללים:

  • (FLT:0)Bound-Trea: FLT:1 Static WCET כלי ניתוח תומך מעבדים מוטבעים שונים
  • (FLT:0)Chronos:FLT:1 WCET ניתוח אקדמי עם תמיכה ארכיטקטורות מרובות
  • (ב) ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
  • (FLT:0)SymTA/S:FLT:1 Tool for system-level time Analysis and Optimization

כאשר בוחנים כלים, שקול גורמים כגון מעבדים נתמך, דיוק ניתוח, קלות שימוש, שילוב עם זרמי עבודה קיימים, וזמינות של ערכות הסמכה למטרות הסמכה.

קוד WCET Analysis

מבנה הקוד משפיע באופן משמעותי על יכולת הכדאיות והדיוק של ניתוח WCET.לאחר שיטות הטובות ביותר לפיתוח קוד בזמן אמת מאפשר ניתוח יעיל יותר:

  • (ב) כל הלולאות ללא חתומות:
  • (FLT:0) צמצום התנהגות דינמית: FLT:1ua או ביטול הקצאת זיכרון דינמי, נקודות תפקוד וטיולים
  • (ב) ,0) ,הגדלה של זרימת הבקרה: FLT:1, מורכבות הובלות ותנאי הקן מגבירים את הקושי בניתוח
  • (ב) ,0) מגבלות תזמון של תזמון: FLT:1ua מספק הסתייגויות עבור לולאות גבולות ומגבלות על נתיב ביצוע
  • (ב) ,0) קוד: 1FLT: 1lor (ב) שוברים תפקידים גדולים ליחידות קטנות יותר, אנאליות
  • (FLT:0) אופטימיזציה של מברקים כי תזמון מעורפל: סימולציות מסוימות הופכות ניתוח תזמון קשה יותר

ניתוח WCET דורש כי גבולות גבוהים עבור מספרי ההסרה של כל הלולאות יהיו ידועים. aiT קובע את מספר הלולאות על ידי ניתוח גבולות לולאה.זה אפשרי עבור לולאות רבות המתרחשות ביישומים טיפוסיים. Bounds עבור מספרי ההסרה של הלולאות הנותרים יש לספק כמסנויות משתמש.

ניתוח Static WCET

זרימת העבודה הסטטית בדרך כלל עוקבת אחר השלבים הבאים:

(FLT:0) שלב 1: שלב בניית והתכונן להוצאה להורג של מספר 1R:2Compile הקוד עם הגדרות מאגד מתאימות, בדרך כלל מרתיע אופטימיזציה אגרסיביים שמסבך ניתוח תזמון.

[ה]העיקרון השני: [ה]: [ה] [ה]], [ה], [ה], [ה],] [ה], [ה], [ה]][ה]]], [ה], [ה], [ה]המידע הזה עוזר לכלי הניתוח להבין את התנהגות התוכנית שלא ניתן לקבוע באופן אוטומטי.

(FLT:0) 3: שלב הארדware ModelFLT103)FLT:2Set up the time Model for the goal מעבד, כולל cacheתצורה, מאפייני צינורות ותזמון זיכרון.

(FLT:0) 4: RunBuild AnalysisFLT:1 ,2 (Execute את כלי הניתוח WCET על ה- exetable.

(ב) [ה]:0] 5, תוצאות סקירה של ההרחבה: 2 [Examine תוצאות הניתוח, כולל ערך WCET, הדרך הקריטית באמצעות הקוד, וכל אזהרות או שגיאות לבדוק כי התוצאות הן סבירות וחוקרות כל ממצאים בלתי צפויים.

6Step: Iterate and RefineearFeloph:1] ;2 בהתבסס על תוצאות הניתוח, חדד את מבנה הקוד, להוסיף סטיות חסרות, או להתאים מודלים חומרה לפי הצורך.

ניתוח מבוסס-Desment- Based Analysis

עבור ניתוח WCET מבוסס מדידה, התהליך שונה באופן משמעותי:

(ב) [15] קוד אינסטרוקמנט 1:10:2Add כלי ללכידת מידע תזמון במהלך ביצוע.זה עשוי לכלול את זמני הדגימה בנקודות מפתח בקוד או באמצעות יכולות מעקב חומרה.

(ב) [ה]ה- [ה]: [ה], [ה], [ה],] [ה], [ה]], [ה],] [ה]]ה'], [ה'], [ה'], [ה'], [ה']'[ה']'[ה']']']'[ה']']'[ה'[ה']']']'[ה']']''[ה'[ה'[ה'[ה'[ה'[ה']'[ה'[ה']']']'[ה'[ה']'[ה'[ה']']']'[ה']'[ה'[ה'[ה'[ה']']']']']'[ה'[ה']']']'[ה'[ה'[ה']']'[ה']']']'[ה'[ה'[ה'[ה']'[ה']']']'[ה'[ה'[ה'[ה'

(FLT:0) 3:Stepהוצאה לפועל על Target HardwareFreave 1OVA:2 Run the Tooled Code on the real Purpose חומרה with the Developed test.

(FLT:0) 4: אנליז מדדים של אנליז:1IRLT:2Process את נתוני התזמון שנאספו כדי לזהות את זמן ביצוע הצפייה הארוך ביותר.

(ב) [5]:5]: קבלת בטיחות מרג'יןFLT:1irph:2Add a right Safety שולי to the longנצ'ר הזמן הארוך ביותר כדי להסביר תרחישים לא רצויים.

(ב) [ה]ה- [ה]: [ה]] [ה]]] [ה]]]][דרוש מקור]]] [ה]]], [ה]]]], [הההתחילה] היא [הת], [התחילה], [ה] היא] ש[התחילה] [ה] היא] היא], היא [ה] היא [ה] היא] היא לא הייתה קיימת.

יישום ניתוח היברידי

גישות היברידיות להשתמש בבדיקה מקוונת כדי למדוד את זמן הביצוע של תת-פתים קצרים בין נקודות החלטה בקוד, לתמוך בניתוח לא מקוון עם מידע שהושג במהלך בדיקות, כגון מספר של הלולאות, ותארי ביצוע כדי לבנות מודל של מבנה הקוד הכולל ולקבוע אילו שילובים של תת-פתים שלמים ועלולים לעבור דרך הקוד, מדידה וניתוח מידע הוא משולב כדי לשלב את זמני ביצוע הגרועים ביותר.

זרימת העבודה של הגישה ההיברידית משלבת אלמנטים של ניתוח סטטי ומתבסס על מדידה:

  • קוד אינסטרוקציה בגרנריות קנס (בלוקים מבוימים או פלחי קוד קטנים)
  • קוד ייעודי עם קלטות מבחן ייצוג
  • איסוף מדידות תזמון עבור פלחי קוד בודדים
  • לבצע ניתוח זרימה סטטית של זרימה כדי לזהות את כל הדרכים האפשריות
  • שילוב של פעמים פלח נמדד על פי זרימת שליטה לזמני נתיב מותנים
  • לזהות את הנתיב הארוך ביותר האפשרי באמצעות התוכנית

גישה זו יעילה במיוחד לחומרה מורכבת שבה מודלים סטטיים קשים אך ורק גישות מבוססות מדידה לבד אינן מספיקות עבור אישור בטיחות.

נושאים מתקדמים בניתוח WCET

ככל שמערכות משובצות צומחות מורכבות יותר, ניתוח WCET חייב להתפתח כדי להתמודד עם אתגרים חדשים שמציבים ארכיטקטורות חומרה מודרניות ופרדיגמות תוכנה.

אתגרים רב-תכליתיים ו- Multiprocessor

כאשר מבצעים ניתוח WCET על מערכות מרובותcore, הגישה ההיברידית היא השיטה היעילה היחידה ליצירת מדדי תזמון שימושיים.שאמר, הגישה ההיברידית המקובלת לניתוח יחידי לא עונה על estimation multicore WCET על עצמו, שכן היא אינה אחראית להתערבות בשל תוכן עבור משאבים משותפים וזיהומים חומרה אחרים.

טכניקות ייצוב סטטיות WCET אינן יכולות להסביר את כל מקורות ההתערבות האפשריים; ואפילו אם הן יכולות, הן יהיו מורכבות מאוד ויקרות חישובית לרוץ.

מעבדי Multicore מציגים מספר מקורות של הפרעות תזמון:

  • (ב) [15] ,5 ,5 ,5 ,5 ,5 , ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
  • (ב) ויקרא י"א): "הזיכרון הסמוי" (הופנה מהדף ⁇ )
  • (ב) ,0) פרוטוקול ההנעה מעל ראש: FLT:1 (Cache coherency Traffic)
  • (ב) ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
  • (ב) ויקרא י"ד: ויקרא י"ד:

התייחסות לאתגרים אלה דורש טכניקות ניתוח מיוחדות שיכולות להעביר את ההתערבות ממשימות הפעלה משותפת.גישות כוללות מספרי זמן של משאבים משותפים, חלוקת משאבים סטטיים ושיטות ניתוח WCET.

מורכבות ניתוח Cache Analysis Complexity

ניתוח Cache מגדיר את הגישה לזיכרון הראשי.הניתוח בכלי שלנו מבוסס על טכניקות המטפלות בניתוח של כיבים עם LRU (Least בשימוש לאחרונה) אסטרטגיה חלופית.

התנהגות של כאב מייצגת את אחד המקורות המשמעותיים ביותר של תזמון פנויות במעבדים מודרניים. להיט מטמון עשוי לקחת כמה מחזורים, בעוד שפספסת כאב יכולה לקחת מאות מחזורים.ניתוח WCET חייב לקחת בחשבון את התנהגות ה-Cache, הדורשת:

  • סיווג כל גישה לזיכרון כתמיד-hit, תמיד-miss, או לא ברור
  • מודלים של מדיניות החלפת מטמון (LRU, FIFO, pseudo-LRU, וכו ')
  • ניתוח סכסוכים בין גישה לזיכרון שונה
  • חשבונאות עבור זיהום מטמון מהפרעות ומניעה
  • המונחים: multilevel cacheerarchies

עבור מערכות קריטיות בטיחות, גישות שמרניות כגון מחיצת כאב או מנעול מטמון עשויים להיות מועסקים כדי להפוך את התזמון לצפוי יותר, אפילו במחיר של ביצועים ממוצעים.

אפקט פיפיר וחיזוי הזרוע

בניתוח WCET סטטי מורכב על ידי נוכחות של תכונות אדריכליות שמשפרות את הביצועים הממוצע של המעבד: הוראות / נתונים, חיזוי סניף צינורות הוראה, למשל.זה אפשרי, אבל קשה יותר, לקבוע WCET הדוק גבולות אם תכונות אדריכליות מודרניות אלה נלקחות בחשבון במודל התזמון המשמש ניתוח.

מעבדים מודרניים משתמשים בטכניקות מתוחכמות לשיפור הביצועים הממוצעים, אך תכונות אלה מסבך את ניתוח התזמון:

  • (ב) ,0) ,העברה: 1 ,1 ,5 ,1 ,5 ,2 , ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
  • (ב) חיזוי:0 (Branch Assessment: FLT:1) ביצוע ספציפי המבוסס על תוצאות של סניף חזו
  • (ב) ,0Out-of-order Publishing: FLT:1 Instructions in different order
  • (ב) ביצוע:0) ביצוע פעולות להורג לפני הידיעה אם יש צורך
  • (ב) ,0) ביצוע של סופרקלאר: 110 הוראות מרובות שהוצאו למחזור

ניתוח תכונות אלה דורש מודלים מעבדים מפורטים ואלגוריתמים של ניתוח מתוחכם.במקרים מסוימים, המורכבות הופכת כל כך גדולה כי מעבדים פשוטים יותר, צפויים יותר נבחרים עבור יישומים קריטיים בטיחותיים.

עקבו אחרי Interrupts and Preemption

בסביבות RTOS, משימות ניתן להפריע על ידי משימות פרטיות גבוהה יותר או להפריע שגרות שירות (ISRs) זה גורם השפעה WCET בכמה דרכים:

  • (ב) ⁇ :0) , ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
  • (ב) [15] ,9) , דחיית ההונאה הקשורה ל-CRPD:FLT: 1:1 מפספסת כאבי ראש נוספים לאחר שפיכת זיהום
  • (ב) ,0) , חליל (הופנה מהדף ⁇ )
  • (FLT:0)TLB וזיהום החיזוי של ענף: 1FreaLT: אובדן של בושם וחיזוי חיזוי של מצב הרוח

חשבונאות עבור preemption בניתוח WCET דורש הבנה של המספר המקסימלי של קריטריונים שיכולים להתרחש במהלך ביצוע משימה ואת ראש נוסף הקשורים לכל סיבה.ניתוח זה חייב לשקול סדרי עדיפויות משימה, להפריע תדרים ומדיניות לוח זמנים.

ניתוח WCET

עבור מערכות שבהן מערכות WCET ⁇ WCET הן פסימיות מדי או בלתי אפשריות להשיג, ניתוח WCET WCET (pWCET) מציע גישה חלופית במקום לספק חד-צדדית גרועה, ניתוח pWCET מייצר הסתברות של זמני ביצוע.

גישה זו רלוונטית במיוחד עבור מערכות עם תכונות חומרה אקראיות או כאשר מתמודדים עם אדריכלות מורכבת מאוד.הפצה pWCET מאפשרת למעצבי מערכת לקבל החלטות המבוססות על סיכון לגבי שולי תזמון והקצאת משאבים.

עם זאת, גישות פרוביביליסטיות דורשות שיקול זהיר של הסתברות לכישלון מקובל ועשויות להתמודד עם אתגרים בהסמכה ליישומים הבטיחותיים הקריטיים ביותר.

שילוב עם זרימת עבודה לפיתוח

כדי שניתוח WCET יהיה יעיל באמת, יש לשלב אותו במחזור חיי פיתוח התוכנה הכולל ולא להתייחס אליו כאל פעילות חד פעמית בסוף הפיתוח.

שלב העיצוב המוקדם

שיקולים WCET צריכים להשפיע על החלטות ארכיטקטורות של מערכת משלבי התכנון המוקדמים ביותר:

  • קביעת תקציבי תזמון עבור פונקציות מערכת עיקריות במהלך ניתוח דרישות
  • פלטפורמות חומרה עם תזמון חיזוי
  • ארכיטקטורת תוכנה עיצוב כדי להקל על ניתוח WCET
  • שולי תזמון תזמון לכל משימה המבוססת על הערכות ראשוניות
  • זיהוי צווארי בקבוק תזמון פוטנציאליים לפני ביצוע מפורט

שילוב מוקדם מאפשר לטפל בבעיות תזמון כאשר הם יקרים פחות לתקן, ולא לגלות בעיות מאוחרות בפיתוח כאשר האפשרויות מוגבלות.

שילוב מתמשך וניתוח אוטומטי

שיטות פיתוח מודרניות מדגישות שילוב מתמשך ובדיקות אוטומטיות. WCET ניתוח יכול להיות חלק מזרימת העבודה האוטומטית הזו:

  • Integrate WCET ניתוח לתוך מערכת הבנייה
  • ניתוח תזמון אוטומטי על כל קוד מבצע או לבנות לילה
  • עקבו אחרי WCET Trends toזה
  • יצירת התראות כאשר WCET מעריך כי עולה על התקציבים שהוקצו
  • לשמור על מסד נתונים של תוצאות WCET לניתוח היסטורי

אוטומציה מבטיחה כי ניתוח התזמון נשאר קיים ככל שהקוד מתפתח ומסייע לתפוס בעיות תזמון מוקדם לפני שהם הופכים לבעיות קריטיות.

מסמכים ועבירות

עבור מערכות קריטיות בטיחותיות בכפוף להסמכה, תיעוד מקיף של ניתוח WCET הוא חיוני:

  • מתודולוגיית ניתוח מסמכים וכלים המשמשים
  • להקליט את כל הנחות והערות שנעשו במהלך ניתוח
  • שמירה על מעקב בין דרישות, קוד ותוצאות ניתוח תזמון
  • אימות מסמכים ואימות של WCET
  • לספק הצדקה לרווחי בטיחות ולנחות שמרניות

תיעוד זה משרת מטרות מרובות: תמיכה בטיעונים הסמכה, המאפשר תחזוקה עתידית, ומספק ראיות של נאותות עקב התפתחות המערכת.

אימות ואימות של הערכות WCET

שמירה על הערכה WCET היא רק חלק מהאתגר - מה שהופך את ההערכה נכונה מספיק הוא חשוב באותה מידה.

אסטרטגיות לסימולציה

אימות של WCET בדרך כלל כרוך בגישות רבות המשלימות:

  • בדיקה אחרונה ב-17 במאי 2010. ^ FLT:0.000.Stress Testing: FLT:1הוצאה לאור של המערכת בתנאי עומס מקסימליים כדי להתבונן בהתנהגות התזמון בפועל
  • בדיקה אחרונה ב-17 במאי 2010. ^ "FLT:0.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.
  • (ב) ,0) ,Faultזרקה: 1), תקנו תקלות כדי לאמת התנהגות של מערכת בתנאים שגיאה
  • (ב) סימולציה של ה-FLT:0) סימולציה של ה-Platware-in-the-loop:03: 1 Test with ריאליים גירויים חיצוניים ותזמון
  • ניתוח:0 (Statistical Analysis: FLT:1 Analyze תזמון מדידות כדי לאמת את ליפול בתוך גבולות צפויים

המטרה היא להשיג ביטחון כי הערכות WCET הן בטוחות (לא מזלזלות) ונוקשות יותר (לא פסימיות יתר).

השוואת שיטות ניתוח

בעתיד, סביר להניח כי דרישה עבור מערכות קריטיות בטיחות היא שהם ניתחו באמצעות גישות סטטיות ומדידות.שימוש בשיטות ניתוח עצמאיות רבות מספק אמון נוסף בתוצאות.

כאשר שיטות שונות מייצרות הערכות שונות באופן משמעותי של WCET, החקירה נדרשת להבין את מקור המשמעת.

  • שגיאות במודלים של תזמון חומרה המשמשים ניתוח סטטי
  • כיסוי מבחן Insufficient בניתוח מבוסס מדידה
  • הנחות שמרניות יותר בניתוח סטטי
  • מסלולים לא נשמרים הגרועים ביותר בניתוח מבוסס מדידה

מעקב ואימות

עבור מערכות פרוסות, ניטור בריצה יכול לספק אימות מתמשך כי הנחות התזמון נשאר בתוקף:

  • מעקב אחר זמני ביצוע משימות בפועל
  • תזמון הפרות עבור post-analysis
  • השתמש בשעון כדי לזהות משימות אשר מעל הזמן שהוקצה להם
  • איסוף סטטיסטיקות תזמון לניתוח טרנד ארוך טווח
  • יישום אסטרטגיות השפלה מעינות כאשר הפרות התזמון מתרחשות

ניטור Runtime משמש רשת אבטחה סופית, לתפוס בעיות תזמון שנמלטו ניתוח ובדיקות.

אסטרטגיות אופטימיזציה ל-WCET REduction

כאשר ניתוח WCET מגלה כי משימות מעל תקציבי התזמון שלהם, אופטימיזציה הופכת הכרחית. עם זאת, אופטימיזציה לביצועים הגרועים ביותר שונה מקידוד עבור ביצועים סטנדרטיים.

אופטימיזציה של קוד-רמה

מספר טכניקות ברמת קוד יכולות להפחית את WCET:

  • (ב) ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
  • (ב) [15] ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
  • (ב) ,0) , הקטנת ענפים מותניים (FLT:1 ).
  • (FLT:0) אופטימיזציה של מבנה נתונים: 1FLT 1 , רצף נתונים לשיפור אזורי ה-Cache
  • (הקדמה:0) שיפור אלגורית: אלגוריתמים של 1FLT:1 , עם מורכבות טובה יותר

כאשר החלת אופטימיזציה, חשוב לבצע ניתוח WCET כדי לאמת כי השינויים למעשה לשפר את התזמון הגרוע ביותר. כמה אופטימיזציה לשיפור ביצועים ממוצעים עשויים להחמיר את ההתנהגות הגרועה ביותר.

המונחים: Optimization

אופטימיזציה Compiler להציג חרב כפולה עבור ניתוח WCET. בעוד הם יכולים לשפר את הביצועים, הם יכולים גם לעשות ניתוח תזמון קשה יותר ולהציג את יכולת התזמון.

עבור מערכות קריטיות בטיחות, יש לשקול:

  • שימוש ברמות אופטימיזציה בינוניות אשר מאזן ביצועים ופיראטיות
  • אופטימיזציה מרתיעה המציגה גמישות משמעותית לתזמון
  • שימוש ב-Matders מוסמך עם התנהגות אופטימיזציה תועדות
  • בדיקת אופטימיזציה לא מפרה את הנחות התזמון

אופטימיזציה של חומרה-Level

תצורה של חומרה יכולה להשפיע באופן משמעותי על WCET:

  • (ב) ,0) מטמון: 1FLT: קוד ביקורתי והנתונים במטמון כדי לחסל את הפגמים
  • זיכרון ה-FLT:0 (בקיצור:0) ,(צילום: ⁇ )
  • (ב) ,0) תכונות של קידוד: FLT:1 (הופנה מהדף חיזוי ענף והוצאה להורג של אנתרופולוגיה)
  • (ב) ,0) דפוסי גישה מזכרים: FLT:1 , פריסת זיכרון ארוני למזער את הקונפליקטים בגישה
  • (ב) ,0) בחירה: אספקת 1FLT (ב) בחר מעבדים עם תכונות תזמון צפויות יותר

אלה ברמת חומרה גישות ביצועים ממוצעי מזוודה של ממוצעי תזמון משופרים וקווי WCET הדוקים יותר.

תוצאות חיפוש ויישומים אמיתיים

הבנת האופן שבו ניתוח WCET מיושם במערכות בעולם האמיתי מספק תובנות חשובות לאתגרים ופתרונות מעשיים.

בקרת מנוע רכב

יחידות בקרת מנוע רכב מודרניות (ECUs) חייבות לבצע אלגוריתמים מורכבים תחת מגבלות תזמון קפדניות.מערכת בקרת מנוע טיפוסית עשויה לכלול:

  • בקרת התזמון של הזרקת דלק (Hard real-Time, sub-milliII)
  • בקרת תזמון התעלמות (Hard Real-time, Sub-milliII)
  • רכישת נתונים חושיים וסינון (periodic, MilliII-scale)
  • ניטור אבחון (זמן אמת רך, מועדים רגועים)

ניתוח WCET עבור מערכות כאלה חייב לקחת בחשבון קלטות חיישן מונעות הפרעה, אלגוריתמי בקרה מורכבים, ואת הצורך הסמכה תחת ISO 26262. גישות ניתוח היברידי הם לעתים קרובות מועסקים, שילוב אימות מבוסס מדידה עם ניתוח סטטי עבור ראיות הסמכה.

בקרת טיסה Avionics Flight Control

מערכות בקרת טיסה מטוסים מייצגות כמה מהיישומים התובעניים ביותר לניתוח WCET.מערכות אלה חייבות לעמוד בדרישות אישור DO-178C ולפעול עם אמינות גבוהה מאוד.

אתגרים כוללים:

  • ערוצים רבים של undant הדורשים תזמון סינכרוני
  • אלגוריתמים מורכבים
  • זיהוי ומנגנוני התאוששות
  • תזמון מופץ עם בידוד זמני קפדני

כלי ניתוח Static WCET כמו AiT משמשים בדרך כלל ב avionics, מתן גבולות הדטרמיוניים הדרושים לאישור.ניתוח חייב להסביר את כל מצבי הכישלון האפשריים ואת ההשלכות התזמון שלהם.

בקרת מכשירים רפואיים

מכשירים רפואיים כגון משאבות אינסולין, קוצרים קצבים, ואווררים יש דרישות תזמון קריטיות לחיים. a ventilator, למשל, חייב לשלוט במחזורי נשימה עם דיוק תזמון נמדד במלי שניות.

ניתוח WCET עבור מכשירים רפואיים חייב לשקול:

  • בטיחות המטופל כדאגה העיקרית
  • דרישות תגמול (FDA, IEC 62304)
  • פעילות מופעלת על ידי סוללות עם מגבלות אנרגיה
  • התנהגות לא בטוחה בכל התנאים

הניתוח חייב להוכיח שכל פונקציות קריטיות בטיחות יכולות להשלים בתוך המועדים שלהם אפילו בתנאים הגרועים ביותר, כולל שינויי מתח סוללה וכישלונות חיישן.

מגמות עתידיות ודרכים מחקר

ניתוח WCET ממשיך להתפתח בתגובה לאדריכלות חומרה חדשה, פרדיגמות תוכנה, דרישות יישום.

Machine Learning ו- AI ב-WCET Analysis

הרחבה על המתודולוגיה ההיברידית מוצעת אשר מיישמת מודל צופה באמצעות Machine Learning (ML) גישה חדשה זו מעריכה את WCET על ישויות קטנות יותר של הקוד, שנקרא בלוקים היברידיים, בהתבסס על תכונות תוכנה וחומרה. כתוצאה מכך, הניתוח ההיברידי מבוסס ML מספק תובנה של WCET מוקדם בתהליך הפיתוח וחדד את ההערכה שלו כאשר תכונות מפורטות יותר זמינים.

גישות למידת מכונות מראות הבטחה לשיפור הדיוק של WCET וצמצום מאמצי הניתוח.רשתות נילי שהוכשרו על נתוני זמן ביצוע עשויים לחזות WCET עבור קוד חדש המבוסס על דפוסים שלמדו.

עם זאת, החלת ML במערכות קריטיות בטיחות מעלה שאלות על הסברה, הסמכה וביטחון בתחזיות.מחקר ממשיך כיצד לבצע ניתוח תזמון מבוסס ML מקובל על מערכות ביטוח גבוהה.

אדריכלות תזמון

במקום לנתח חומרה מורכבת בלתי צפויה, גישה חלופית מעצבת חומרה במיוחד עבור חיזוי תזמון מעבדים לוח זמנים לחסל או להגביל תכונות שגורמות לגמישות תזמון:

  • מדיניות החלפת צוואר
  • מספר משאבים משותפים של Time-division
  • התנהגות צינורות
  • ביטול ביצוע ⁇

פרויקטים כמו אדריכלות Precision Timed (Precision Timed) והמעבד של T-CREST מפגינים גישה זו. בעוד מעבדים אלה עשויים להקריב ביצועים ממוצעים, הם מציעים הרבה יותר WCET וניתוח פשוט יותר.

ניתוח תזמון

ככל שהמערכות צומחות גדולות יותר ויותר מורכבות, ניתוחן מונותולי הופך באופן לא מעשי לניתוח תזמון קומפוזיציה שובר את המערכת לרכיבים, מנתח כל רכיב באופן עצמאי, ולאחר מכן מארגן את התוצאות.

גישה זו מאפשרת:

  • שימוש חוזר של ניתוח התזמון תוצאות על פני פרויקטים
  • פיתוח עצמאי וההסמכה של רכיבים
  • סקלאלה במערכות גדולות
  • ניתוח חומרים כאשר רכיבים משתנים

המחקר ממשיך לפתח מסגרות ניתוח של יצירת קול המספקות תזמון ברמה מערכתית ערבויות מניתוחים ברמת הרכיב.

שיטות והמלצות הטובות ביותר

בהתבסס על עשרות שנים של מחקר וניסיון תעשייתי, כמה שיטות טובות ביותר הופיעו עבור ניתוח WCET יעיל בפיתוח RTOS.

עיצוב ל Analyzability

הדרך היעילה ביותר להשיג WCET הדוקה היא לעצב תוכנה עם משככי כאבים מראש:

  • שימוש בזרימת בקרה פשוטה, מובנה
  • להימנע או למזער התנהגות דינמית
  • החלטות תכנון רלוונטיות
  • בחר אלגוריתמים עם מורכבות טובה
  • עיצוב לבדיקות ושקיפות

קוד שקשה לנתח לעתים קרובות יש מאפיינים תזמון גרועים ביותר, כמו גם עיצוב עבור פינות בדרך כלל משפר את שניהם.

לשמור על תקציבים תזמון

הקמת ושמירה על תקציבי התזמון לאורך כל הפיתוח:

  • תקציבי תזמון תזמון למערכת מרכזית מתפקדים מוקדם
  • עקבו אחרי WCET נגד תקציבים באופן קבוע
  • הסלמה כאשר התקציבים נמצאים בסיכון להיות עלה
  • שולי חליפין לשינויים בשלבים מאוחרים ותיקון באגים
  • סקירה ועדכון תקציבים כדרישות מתפתחות

תקציבים תזמון מספקים התראה מוקדמת של בעיות וסיוע למנוע משברים של הרגע האחרון.

השקעה באימון ומומחיות

ניתוח WCET דורש ידע ומיומנויות מיוחדות.ארגונים מפתחים מערכות בזמן אמת קריטיות צריכות:

  • מפתחי רכבת בעקרונות תכנות בזמן אמת
  • פיתוח מומחיות בבית בכלים ניתוח תזמון ושיטות
  • לעסוק עם מומחי ניתוח תזמון לפרויקטים מורכבים
  • השתתפות במחקר ופיתוח
  • שיתוף ידע ושיעורים שנלמדו על פני פרויקטים

ההשקעה במומחיות משלמת דיבידנדים באמצעות פיתוח יעיל יותר ומערכות באיכות גבוהה יותר.

איזון בטיחות ומעשיות

בעוד בטיחות היא רבת ערך, ניתוח תזמון שמרני מדי יכול להוביל מערכות מתקדמות, יקרות.

  • השתמש בשיטות ניתוח מתאימות לרמה הקריטית
  • החל ניתוח קפדני יותר לפונקציות הקריטיות ביותר
  • קבל שולי סבירים ולא גבולות מוחלטים
  • שקול גישות פרוביביליסטיות שבו גבולות דטרמיניסטיים הם לא מעשיים
  • השתמש בהגנת ההגנה עם מספר רב של שכבות של הגנה על תזמון

המטרה היא מערכות שהן בטוחות ובעלות יכולת כלכלית.

מסקנה

ניתוח זמן ביצוע הגרוע ביותר של התיק מייצג משמעת קריטית בפיתוח מערכות הפעלה בזמן אמת ויישומים משובצים בבטיחות.כאשר מערכות צומחות דרישות מורכבות יותר בטיחות הופכות מחמירות יותר, החשיבות של ניתוח תזמון קפדני רק עולה.

יישום מוצלח של ניתוח WCET לתכנון המשימה RTOS דורש הבנה של היסודות התיאורטיים, בחירת שיטות ניתוח מתאימים, באמצעות כלים מתאימים, ושילוב ניתוח תזמון לאורך מחזור החיים של הפיתוח. בעוד אתגרים נשארים - במיוחד עבור ארכיטקטורות רב-core מורכבות תכונות מעבד מתקדמות - מחקר ופיתוח כלי מרחיב את הגבולות של מה שניתן לנתח ביעילות.

עבור ארגונים מפתחים מערכות בזמן אמת, השקעה ביכולות ניתוח WCET אינה אופציונלית - חיוני לספק מערכות אמינות, סודיות העומדות בדרישות התזמון שלהם בכל התנאים.על ידי ביצוע שיטות הטובות ביותר, מינוף כלים מתאימים, ושמירה על מיקוד בתזמון לאורך כל הפיתוח, מהנדסים יכולים לבנות מערכות בזמן אמת עם ביטחון בהתנהגותם הזמנית.

התחום ממשיך להתפתח עם טכניקות ניתוח חדשות, כלים מתוחכמים יותר, וחומרה שנועדה לחיזוי תזמון.להישאר נוכחית עם ההתפתחויות הללו וליישם אותן כראוי תאפשר לדור הבא של מערכות זמן אמת בטוחות ואמינות.

משאבים נוספים

עבור אלה המבקשים להעמיק את ההבנה שלהם של ניתוח WCET ואת היישום שלה לפיתוח RTOS, משאבים רבים זמינים:

  • מחקר אקדמי:0 (FLT:1 The International Workshop on Worst-Case Execution Time Analysis (WCET Workshop) מפרסם מחקר חדשני מדי שנה
  • (FLT:0) תקנים תעשייתיים: FLT:1 DO-178C עבור avionics ו- ISO 26262 עבור רכב לספק הדרכה לדרישות ניתוח תזמון
  • (FLT:0)Tool Vendors: חברות כמו AbsInt, Rapita Systems ו-LDRA מציעות תיעוד מקיף והדרכה לכלי הניתוח WCET שלהם
  • קהילות:0 (Onlineקהילות:FLT:1 פורומים ורשימות דיוור המוקדשות מערכות בזמן אמת לספק הזדמנויות ללמוד ממתרגלים
  • ארגונים מתקדמים: FLT:0 (Profesional Organizations: FLT:1) IEEE ו- ACM קבוצות עניין מיוחדות להתמקד במערכות בזמן אמת ומחשוב מוטבע

לקבלת מידע נוסף על פיתוח מערכות בזמן אמת והנדסת תוכנה מוטבעת, בקר ב-FLT:0 (Esbedded Systems DesignFLT:1 הקהילה.) תובנות נוספות בפיתוח תוכנה ביקורתית של בטיחות ניתן למצוא ב-FLT:2Safety Critical Systems ClubveFLT 3: The FLT:4ARTIST Network of ExcellenceFLT:5 מספק משאבים נרחבים על מערכות משובצות וניתוח עיצוב.

על ידי שילוב ידע תיאורטי עם ניסיון מעשי ומינוף המערכת האקולוגית הגוברת של כלים ומשאבים, מפתחים יכולים לשלוט בניתוח WCET וליישם אותו ביעילות כדי ליצור מערכות זמן אמתיות חזקות, אמינות העומדות בדרישות התובעניות של יישומים קריטיים של היום.