לקראת הסמכת בטיחות אוויוניקה לארכיטקטורות של מעבדים מרובי-ליבות

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

ARINC 653 compliant OS architecture

ARINC 653 compliant OS architecture

האתגר שבבחירת מעבד מרובה-ליבות
במהלך העשור האחרון עברו יצרני מעבדים לארכיטקטורות מרובות-ליבה כדי להשיג שיפורי ביצועים. בעקבות מיצוי היכולת לעמוד בביקוש ההולך וגובר מהשוק המסחרי לביצועים, ונוכח רף הביצועים העליון המוגבל אותו ניתן להשיג עם מעבד בעל ליבה אחת, כתוצאה מההגעה לתקרת מהירות השעון.
השקתן של ארכיטקטורות מעבדים מרובי-ליבה, סיפקה שיפורי ביצועים עבור יישומים ארגוניים לשימושים כלליים, ובמקביל הציגה מספר אתגרים ייחודיים עבור השימוש בהם במערכות אוויוניקה, בהן בטיחות היא קריטית. זה נובע מכך שליישומי אוויוניקה יש דרישות ייחודיות, הכוללות (אך לא רק) “הפרדה” במרחב הזיכרון של יישומים ואופיים הדטרמיניסטי – המוחלט.
דרישות אלו אינם מהווים שיקולים עיקריים בתכנונם של מעבדים מרובי-ליבה עבור השוק המסחרי בפני יצרני החומרה.
תעשיית האוויוניקה, האקדמיה ורשויות ההסמכה, ביצעו פרויקטים מחקריים על השימוש במעבדים מרובי-ליבות באפליקציות אוויוניקה. מחקרים אלו הראו כי קיימת שונות בין תכנוני ריבוי-ליבות לתכנון חד ליבתי, מבחינת ההתאמה שלהם ליישומי אוויוניקה.
השונות משפיעה על תכנון המערכת מהיבטים המשפיעים על יכולת “הפרדה” ודטרמיניזם. גורמים אלה נובעים משיתוף משאבים במערכת, הכוללים שימוש בבקר זיכרון בודד או בערוץ (bus) משותף המשמש מספר ליבות (מהווה גורם סיכון לתחרות על משאבים). באופן דומה שימוש בזיכרונות Level 2 cache נפרדים או משותפים בכל ליבה.
זאת ועוד, חוסר הוודאות בבחירת מעבדים מרובי-ליבות עבור תכניות הקשורות לאוויוניקה, מורכב מהגורמים הבאים:
על אף שהרשויות לרשיון מערכות אוויוניקה – EASA ו-FAA פרסמו את דוח המחקר MULCORS ואת נייר העמדה CAST-32 בנוגע לשימוש במעבדים מרובי-ליבות באוויוניקה, אין במסמכים אלה מדיניות או קווים מנחים רשמיים.
מעבדים עם ליבה אחת, אשר שימשו ביישומי אוויוניקה בהם בטיחות הנה קריטית, אינם זמינים כלל או מתקרבים לסוף זמינות הסיליקון שלהם (end-of-life).
נראה כי השליטה ההיסטורית של PowerPC בשוק מערכות משובצות מחשב בתחום האוויוני פוחתת במידה מסוימת, והעתיד לטווח הרחוק אינו וודאי, כעת כש-NXP (בעבר Freescale) מפתחת מעבדים מבוססי ARM בנוסף ל-PowerPC. כמו כן, המספר הגדול של וריאציות לארכיטקטורת מעבדי PowerPC QorIQ, גורם לאי-בהירות האם תהיה בחירה דה-פקטו ברכיבים אלה עבור אוויוניקה.
משמעות הביצועים הגוברים של מעבדים מבוססי ARM, מאפשרת לשקול אותם כאופציה משמעותית עבור יישומי אוויוניקה מסוימים, בהם מעבדי PowerPC שימשו בעבר.
מעבדי אינטל, אשר בעבר לא נשקלו באופן נרחב לשימוש ביישומי אוויוניקה, מסיבות של פיזור אנרגיה לא יעיל, נשקלים עתה הודות למעבדי 14 ננומטר החסכוניים בצריכת אנרגיה.
דינמיקות שוק אלה הביאו למחשבה מחודשת בבחירת מעבדים לאוויוניקה, מה שגורם לחוסר בהירות לגבי היורש היחיד למעבדי PowerPC הנפוצים, שהנם בעלי מעבד בודד.
אנו עומדים כעת בפני מגוון רחב של אפשרויות בבחירת מעבדים.
מעבדי ARM מרובי-ליבות, משפחות ארכיטקטורת PowerPC QorIQ, וארכיטקטורות Intel Core ו-Atom.
האתגר שברשיון למערכת הפעלה בזמן אמת (RTOS)
ביצוע רשיון תוכנה DO-178B ו-ED-12B Level A עבור מערכת הפעלה בזמן אמת, הוא יקר ביותר – מיליוני דולרים, והיא ספציפית לארכיטקטורת המעבד בו מדובר. כמעט בלתי אפשרי עבור ספקי מערכות הפעלה לבצע רשיון בתקן DO-178B ו- ED-12B עבור ארכיטקטורות מעבד רבות ושונות, ללא הידיעה כי יהיו מסוגלות להחזיר את עלויות הפיתוח (NRE).
מסיבות אלה, פותחו חבילות רשיון עבור מעבדי ליבה אחת הנפוצים ביותר בעולם האוויוניקה.
ווינד ריבר השתמשה בגישת “רשיון” COTS עבור VxWorks RTOS, דבר שאיפשר לפצל ולהוריד משמעותית את עלויות ה-NRE של תהליך הרשיון, למגוון לקוחות ותוכניות – תוך שימוש באותה ארכיטקטורת מעבד והפחתת עלויות הרשיון בכל תכנית.
התהליך הביא למעגל קסמים חיובי, מאחר שמעבדים אלה סיפקו את אופציות העלות הנמוכה ביותר עבור פרויקטים של רשיון המשך, הודות ליכולת לעשות שימוש חוזר בתהליכי רשיון קיימים עבור רשיון DO-178 ו-ED-12.
תהליך זה חסך את הצורך לפתח עבור ארכיטקטורת מעבד חדשה,ואת העלויות הגדולות הכרוכות בכך.

האתגר של רשיון מערכת עם מעבד בעל ריבוי-ליבות
התהליך לרשיון מערכת מרובת ליבות מהווה כיום אתגר עבור תוכניות אוויוניקה, עקב המחסור במדיניות רשמית/קווים מנחים מצד ה-FAA ו-EASA.
עם זאת, יש לקחת בחשבון את דוח המחקר EASA MULCORS ונייר העמדה FAA CAST-32 כאשר מתכננים פרויקט אוויוניקה מרובה-ליבות שהינו קריטי מבחינת בטיחות.
מתכנתים ירצו לשקול את השימוש במעבד מרובה ליבות בפלטפורמת החומרה הבאה שלהם, אפילו אם דרישות העיבוד הנוכחיות שלהם בפרויקט, אינן מעבר למה שמספקת ליבה יחידה, וזאת כדי לספק עוצמת עיבוד מתאימה לעמידה בדרישות עיבוד עתידיות. הבחירה במעבד מרובה-ליבות יכולה להפוך גם להכרח בעקבות מחסור בזמינות של מעבדים עם ליבה אחת, כפי שהוזכר קודם. באופן דומה, יש מתכנתים שעשויים לרצות להשתמש במעבדים מרובי-ליבות שיש להם יותר משתי ליבות, מאחר שמכשירים עם 4 או 8 ליבות הנם נפוצים יחסית כיום. עם זאת, CAST-32 אינו מתייחס למעבדים מרובי-ליבות עם יותר מאשר שתי ליבות פעילות. הסמכת מעבדים מרובי-ליבות תדרוש מחקר משמעותי וניהול רשיון כדי להרחיב את הקווים המנחים של MULCORS ו-CAST-32.
בשני התרחישים לעיל, למתכנתים צריכה להיות היכולת לנצל ליבות מעבד מסוימות, ולנטרל את הליבות שאינן בשימוש. כך שיוכלו לעמוד בדרישות CAST-32.
מתכנתים יצטרכו להוכיח שליבה שנותקה, לא יכולה להפוך באופן בלתי צפוי לפעילה, ולהפריע לפעילות ליבות אחרות של המעבד.
ניתן להשתמש בגישה של קריאה רציפה של רישומי אוגרים (registers) שהנם קריטיים לתפעול בטוח, ואיפוס ערך הרגיסטר במקרה שזוהה שינוי מצב; או באמצעות כתיבה קבועה על רגיסטרי הבקרה כדי להבטיח שהמצב הרצוי יישמר. מעבדים מסוימים עשויים גם לספק יחידות ניטור(Monitor) שיאפשרו לקבוע באופן עצמאי את המצב של מעבד יחיד.
הטמעת התוכנה של נטרול ליבה היא ספציפית למעבד, ותלויה באם ארכיטקטורת אותו מעבד מספקת לליבה את היכולת לכתוב לרגיסטר בקרה כדי לנטרל ליבה אחרת, או לא. לדוגמא, במעבד ה-PowerPC QorIQ T2080, ניתן להשיג נטרול של ליבה בודדת באמצעות הנחת שדה הביט המתאים ברגיסטר נטרול הליבה במהלך הפעלת Pre-Boot או כאשר הליבה במצב עצירת אתחול, וברגע שליבה נוטרלה, ניתן לאחזר אותה רק באמצעות כיבוי והפעלה, אתחול חומרה או אתחול ליבה.
היכולת של מתכנתי אוויוניקה עם היבטי בטיחות קריטיים, להיות מסוגלים לנטרל ליבות ספציפיות ולפתח תרחישי בטיחות ברמה גבוהה עבור התפעול הדטרמיניסטי של התהליך, תלויה ביכולת לקבל מידע טכני מפורט מיצרן השבבים על התכנון והתפעול של המעבד.
חלק מהחברות עשויות לשחרר מידע זה לציבור, בעוד אחרות עשויות לספק רק רמות מסוימות של מידע תחת הסכם שמירת סודיות. עבור מתכנתים המבצעים הסמכת חומרה DO-254, זו תהיה דרישה חשובה במיוחד, והם יצטרכו להבטיח כי יצרן המעבדים הנבחר יספק גישה למידע הנדרש, אפילו אם אינו תומך באופן רשמי במפרט DO-254 כפי שעושות חברות כגון Altera.
מסקנות
שוק האוויוניקה נמצא כעת במעבר משמעותי, משימוש בארכיטקטורה של ליבה אחת לריבוי ליבות. מעבר זה מונע על ידי דרישות לתפקודיות מורחבת של המערכת, ומחזורי החיים של מעבדים אשר מכוונים בעיקר לפלחי השוק המסחרי הגדול בהרבה. התקדמויות שנעשו על ידי יצרני שבבים מציגות כעת מגוון רחב בהרבה לבחירת מעבד עבור יישומי אוויוניקה, מכפי שהיה זמין בעבר. על אף שכרגע נראה כי ישנה אי וודאות מסוימת לגבי הבחירה הטובה ביותר עבור תוכניות אוויוניקה עם דרישות בטיחות קריטיות, סביר להניח כי שילוב של מאמצים מוקדמים בתוכניות ריבוי-ליבות, יביאו למעגל קסמים של תמיכה, אימוץ נוסף והצלחה, בדרך דומה לזו של תוכניות אוויוניקה עם ליבה-יחידה בעשורים הקודמים, אשר יצרו סביבה עשירה של ספקי פתרונות COTS מורשים לאוויוניקה.

פול פרקינסון הינו ארכיטקט מערכות ראשי, A&D בחברת ווינד ריבר

פול פרקינסון, ווינד ריבר

תגובות סגורות