מאת: Christian Eder , Congatec. מכשירים והתקנים רפואיים חייבים, בדרך כלל, להיות זמינים ביותר ואמינים מאוד. הם משמשים לביצוע משימות ניטור רגישות, לעתים אפילו חיוניות לחיים, ולמשימות בקרה. אי לכך, יש צורך להקטין את תקלות התפקוד ומצבי ההשבתה למעט שבמעט, עד לאפס תקלות, כמעט, ובמקרים רבים למנוע את התרחשותם כליל. את התפקוד המושלם הזה יש לאמת בתהליכי הסמכה מרובים, כדי להשיג את קבלתם הרשמית. בתפקודים תומכי חיים משתמשים לא פעם ברשתות של כמה מעבדים/ מחשבים בלתי תלויים, על מנת להבטיח רציפות של התהליך גם במצב של תקלה או השבתה של יחידה בודדת אחת (יתירות). מסיבות כלכליות ומעשיות, יש היגיון בכריכה משותפת של כמה פונקציות בהתקן יחיד. ברוב המקרים מערכות מודרניות של מעבדים בעלי ארבע ליבות (Quadcore) מציעות גישה של פתרונות בטיחותיים וכלכליים.
המפתח הוא להגיע להפרדה בטוחה ונכונה (למשל כזו שיש לה יכולות זמן אמת) של מערכות ופונקציות הפעלה שונות בכל מעבד פיסי בלתי תלוי מבחינה הדדית או אפילו, במעבד לוגי עם משאבים ייעודיים: אחת הדרכים המוכחות להשיג זאת היא בעזרת שימוש בתוכנית פיקוח על לזמן אמת (Real-Time Hypervisor).
דרישות סותרות בהתקנים רפואיים
את הדרישות הגבוהות ביותר אפשר לזקוף לחובת התחומים של אבטחה, אמינות וזמינות. באופן מסורתי, כמעט כל ההתקנים החיוניים לבטיחות פועלים על מערכות הפעלה לזמן אמת, שעברו תהליך הקשחה, והן מבטיחות התנהגות מחמירה שניתנת לחיזוי באופן מוחלט (דטרמיניסטית) מחמירה, לעיתים אפילו במסגרת תנאי זמן אמת.
פונקציות חיוניות חייבות לא להיות מושפעות מתהליכים אחרים, בשום תנאי שהוא, ואפילו לא להיות מוצבות במצב סיכון כלשהו, בגלל תהליכים אחרים. מי היה רוצה לראות “מסך מוות כחול” (מסך של מחשב שבו יש שגיאה קריטית של מערכת ההפעלה) במערכת תומכת חיים, שנובע מפעולה שגויה פשוטה שהתרחשה בתהליך נלווה?
וזה מדגים בדיוק את האתגר הטמון בהרחבות ובשילובים של מערכות.
הפונקציה החיונית ביותר תהיה הקובעת ביותר לגבי מערכת ההפעלה, בהתאמה. לצורך אינטגרציה, אנו נאלצים להעביר פונקציות כפיפות אל מערכת הפעלה מסוימת זו, תוך השקעה של מאמצים רבים ובזבוז של עלויות. כך הופכת האינטגרציה לקשה ביותר, כאשר היא מנצלת טכנולוגיית מעבד יחיד מסורתית.
מגבלה נוספת היא העובדה שעבור מערכות הפעלה ייחודיות אלו, אפשר למצוא, בדרך כלל, מעט מאוד תבניות תוכנה “מוכנות לשימוש”. דבר נוסף הוא שבזמנים של חוסר כללי במהנדסי תוכנה מוסמכים, אפילו עבור מערכות הפעלה מהזרם המרכזי, כמו Windows של ®Microsoft ו-Linux, איתור מהנדסים בעלי ידע שמוכוון למטרה הופך מהר מאוד להיות לחיפוש של מחט בערמה של שחת. התוצאות המתקבלות הן פעולות התאמה מתוכנה לתוכנה (porting) שהן ארוכות ויקרות, או אפילו, פיתוחי תוכנה חדשים.
אין ספק שיכול היה להיות קל יותר בהרבה, אם אפשר היה ליישם באופן ישיר פתרונות הכוללים תבניות קיימות מוכנות לשימוש או פתרונות פנימיים (של גרפיקה). במיוחד, כאשר מדובר בתהליכים שלעיתים קרובות דרושים לעדכוני הרשאות ולקבלת הסמכות, תהליך כזה יכול היה להסתיים בחיסכון משמעותי של זמן וכסף.
זמני הפיתוח (זמן היציאה אל השוק) ועלות בעלות כוללת (TOC) נחשבים אף הם לגורמים קריטיים להצלחה בשוק של הציוד הרפואי וההתקנים הרפואיים, שאורך החיים שלהם ארוך באופן יחסי. לכן שני גורמים אלו צריכים להיות צנועים, בדיוק במידה שבה ההתקנים הרפואיים ייכנסו לשימוש כאשר עדיין תהליך קבלת האישורים עבורם לא יהיה כרוך במאמץ רב ובהרבה כסף. דרישה נוספת, שעומדת בפני שימוש בציוד רפואי בתחום הציוד הנייד והנייד למחצה, היא צריכה מזערית מוגדרת של אנרגיה, שמאפשרת פעולה ללא מאווררים. חוץ מהיתרונות הכרוכים בפעולה שקטה, פעולה זו מאפשרת גם מארזים אטומים באופן הרמטי שמאפשרים לבצע בדרך פשוטה פעולות חיטוי ועיקור בהתקנים שנמצאים בסביבות רפואיות.
באשר להתקנים ניידים, אורך חיי הסוללה, שמתאפשר על ידי צריכה נמוכה של אנרגיה בסיסית, וניהול משוכלל של סוללות, יכולים להיות מועילים למכירה ומשמשים גורם חיסכון מיידי בעלויות. בדרך כלל, השימוש בהתקנים מהדור הנוכחי צריך להיות פשוט, קל ואינטואיטיבי, למרות התפקודיות העשירה והמורכבת הנדרשת מהתקנים אלו. אם נוסיף לכך את הדרישה למארז אטום באופן הרמטי, דומה שהפתרון האידיאלי טמון בשימוש במסך מגע מבוקר על ידי ממשק משתמש גרפי וניווט בתפריט גרפי. ואולם, לבקרה על ידי מגע דרך תוכנות גרפיקה ברזולוציה גבוהה יש צורך בחומרה גרפית, שהיא באופן מסורתי אמנם מהירה אך זוללת אנרגיה. בנוסף, רוב תוכנות הגרפיקה הרגילות וקבוצות הכלים הבונות את התפריט, נמצאות מתאימות עבור מערכות הפעלה השייכות למגמה הרווחת בלבד, כגון Linux ו-Windows של ®Microsoft. יצרנים רבים פותרים את הבעיה בדרך מתוחכמת, על ידי שימוש במערכות מחשבים נוספות, ייעודיות לבקרה ולתצוגה, המבוססות על מערכות הפעלה אלו מן הזרם המרכזי.
חזון של אינטגרציה
בעולם מושלם, אפשר בקלות לחבר באינטגרציה דרישות רב גוניות על פלטפורמה יחידה:
יישומים שהם פחות קריטיים לבטיחות, כמו ממשק משתמש נוח שפועל על פלטפורמות של תוכנה במגמות הרווחות כגון Windows של ®Microsoft.
יישומים קריטיים שדורשים דפוסי התנהגות ויכולות זמן אמת צפויות ברורות ומוסברות, שפועלים על פלטפורמות של מערכות הפעלה לזמן אמת פנימיות שלהם, ואשר נדרש להם שינוי מועט בלבד (בעיקר כזה הנדרש לצורך תקשורת).
פונקציות של בקר, שאותן אפשר לממש ללא חומרת בקר נוספת.
פונקציות של מעבד DSP, שיכולות לפעול כמימושי תוכנה ללא מעבדי DSP נוספים.
מילוי הדרישות האלו מאפשר לבצע אינטגרציה של הפתרונות הטובים ביותר מכל העולמות, כשהם פועלים באופן בטוח וללא מאמצי אינטגרציה וללא פעולות התאמה בין תוכנות, ובצורה טובה, על פלטפורמה משותפת. המסד הבסיסי הוא פלטפורמה יחידה בריבוי מעבדים ניתנת לשדרוג. וכיתרון נוסף, כל החומרה והקושחה (firmware) מסופקים יחד, כשהם משולבים מראש בפלטפורמה מודולרית.
דרך טובה שבה אפשר לממש את המשימה המורכבת הזו בעולם הממשי, היא על ידי שילוב של “תוכנת פיקוח על לזמן אמת”, מוצר של Real Time Systems, עם פלטפורמות חומרה משובצות CoreTM i5 ו-CoreTM i7 מהדור השני הנוכחי של ®Intel, על מחשב על מודול (COM) מהמדף.
מהי תוכנת פיקוח על לזמן אמת ואיך היא פועלת?
בעיקרון, זוהי תוכנה דומה לקושחה, ברמת בסיס, שמנהלת משאבי מעבדים על פלטפורמה בריבוי מעבדים בהתאם לכללים מוגדרים. התוצאה היא, שעבור כל לקוח וירטואלי (למשל מערכת הפעלה), המעבד המיוחד שלה נראה ומתנהג כאילו הוא מערכת של מעבדים יחידה ועצמאית. העובדה שבגללה תוכנת פיקוח על לזמן אמת הופכת לייחודית כל כך היא, שמעבר ליכולות של פתרונות וירטואליים מסורתיים, היא יכולה לנהל ריבוי מערכות יחידות של הפעלה לזמן אמת, מבלי להפר את הדרישות לזמן אמת, באף אחת מהמערכות האלו.
למטרה זו, תוכנת פיקוח על לזמן אמת מקצה זיכרון זמין באופן בלעדי למערכות ההפעלה השונות. התקני חומרה, בין אם אלו הם ממשקי PCI או התקנים מסורתיים מוגדרים בקונפיגורציה, בדרך שבה הפסיקות יטופלו בהתאמה באופן בלעדי ויבוזרו באופן ישיר אל הליבות ומערכות ההפעלה היחידניות. מערכת ההפעלה המסוימת יכולה לראות רק את המשאבים האלו ולטפל בהם בלבד (הווה אומר בליבות ובהתקני הזיכרון) אשר מוקצים לה באופן מפורש.
ומאחר שהפסיקות המתאימות מוקצות באופן ישיר לכל אחת ממערכות ההפעלה, והן ניגשות באופן ישיר להתקני החומרה שלהם, אין צורך במנהלי התקנים (“דרייברים”) מיוחדים או במנהלי התקנים שעברו שינוי.
התוכנה לפיקוח על לזמן אמת יכולה לבחור בסדר ההפעלה האפשרי של המחשבים ולאתחל, להפעיל או לכבות באופן בלתי תלוי כל אחד מהמעבדים היחידים או כל אחת ממערכות ההפעלה, דרך הליבות הווירטואליות או הליבות הפיסיות האחרות. אין אחת מבין מערכות ההפעלה המותקנות שמבצעת משימות עבור מערכות הפעלה אחרות או אפילו משימות עבור התפקוד של התוכנה לפיקוח על לזמן אמת עצמה – באופן כזה, האבטחה נשמרת כל הזמן ובכל תנאי.
ומאחר שהפסיקות המתאימות מוקצות באופן ישיר לכל אחת ממערכות ההפעלה, והן ניגשות באופן ישיר להתקני החומרה שלהן, אין צורך במנהלי התקנים (“דרייברים”) מיוחדים או במנהלי התקנים שעברו שינוי. אין זה משנה כלל אם המערכת הכוללת משתמשת במופעים יחידים או רבים של אותה מערכת הפעלה (לזמן אמת), או אם הותקנו בה תערובת של צורות הפעלה (plays) שמגיעים ממערכת הפעלה אחרת, אחת או יותר.
התקשורת בין המחשבים הווירטואליים השונים יכולה להיות אקראית; השימוש ברשתות תקשורת פנימיות מבוססות פרוטוקולי TCP/IP או שימוש בזיכרון משותף שהוגדר בקונפיגורציה מתאימה, נחשב לדרך התקשורת הטובה ביותר.
דרישות מהמעבדים
מעבדים מסוג ארבע ליבות, שקיימים היום בשוק עבור יישומים משובצים, משתמשים ברוב המקרים בארבע ליבות פיסיות. לכן הפרדה לוגית נוספת של ליבות כאלו אל תוך שמונה ליבות וירטואליות, לכל היותר, יכולה להיות אפשרית אם עליך להשתמש ביותר ליבות נפרדות, על מנת להפעיל את היישומים שלך. את התכונה הזו אפשר להשיג, מזה זמן מה, בעזרת המעבדים הקיימים של ®Intel שידועים בכינוי hyper-threading (יצירת תהליכוני על). את ליבת המעבד בעלת התכונה הזו אפשר לפצל לשתי ליבות וירטואליות נפרדות, אף ללא תוכנת פיקוח על לזמן אמת. הסיבה לכך טמונה בעובדה שכל החומרה הנוספת הדרושה, כמו למשל בקרי פסיקה ייעודיים, ממומשת כבר על השבב. יתרון משמעותי נוסף של מעבדי ®Intel המתקדמים שפועלים בריבוי ליבות, אפשר לראות בתכונת האצת “הטורבו” שלהם. תכונה זו מאפשרת ביצוע המהרה (overlocking) ייחודית ללא כל סיכונים, שבעזרתה ניתן לבצע איזון עומס פשוט בין הליבות שנמצאות בטווח מסוים.
יתרונות של מחשב על מודול
כמה מבין היתרונות המעולים ביותר של התקני מעבדים, יכולים בקלות להפוך להיות חסרונות ביישומים משובצים שקיימים במציאות: רמת האינטגרציה הרחבה במיוחד גורמת להיווצרות של רשתות חיבורי פינים במרווחים של פחות ממילימטר, שבהם קשה לטפל בעזרת כלים בעלי תכנון קונבנציונלי שנוצרו בתהליך רגיל, מצד אחד, וגורמת לתדירות גבוהה ולשפות תלולות במיוחד של האותות, מאידך. הידע המסוים הנדרש כדי לטפל באופן מוצלח באתגרים אלו, נמצא, לעתים נדירות, בתחום היכולות העיקריות של חברות למוצרי אלקטרוניקה לרפואה.
וזו הסיבה, שיש היגיון, הן מנקודת מבט כלכלית והן מנקודת מבט טכנית, לעבוד עם חברות שותפות במגזרים הקריטיים האלו. או במילים אחרות, אפשר להשיג בקלות את היכולת העיקרית הזו עם מחשבים על מודול שעברו מראש אינטגרציה. נקודת מפתח להצלחה היא הידע הייחודי, הניסיון שיש לספק של יחידות מחשב על מודול, אשר בסופו של דבר משתלם עם יתרונות אופייניים, כגון:
יכולת שדרוג שמתקבלת כתוצאה משימוש במודולים שניתנים להחלפה בדרך פשוטה.
פלטפורמות שעברו אינטגרציה מראש והן כבר “מוכנות ליישום”, זאת אומרת, אין בעיות עם חומרה, שלעיתים היא ייחודית מאוד, אשר משמשת סביב המעבד – בחבילות תמיכה במנהלי התקנים ובמעגל, שאותם אפשר לקבל “מוכנים לשימוש” עבור מבחר עשיר של מערכות הפעלה (לרבות גרסאות לזמן אמת).
זמני הפיתוח וזמני היציאה לשוק קצרים באופן משמעותי בעקבות החיסכון העצום שניכר במאמצים המושקעים בשלבי הפיתוח, הבדיקה ואיתור שגיאות.
איכות גבוהה ביותר. הסיבות לכך טמונות בהשפעות המיוחדות שיש לידע ומיזוג של יצרני המחשבים על מודול, שמתבססות על תגובות משוב שמגיעות מאלפי משתמשים, בהרבה מאוד מודולים ובהרבה יותר מודולים גדולים, שמגיעים לבית היצרן של מחשב על מודול.
ביישום מסוים זה, ניסיון ייחודי בריבוי ליבות הוא הכרחי, ויכולות פיתוח משותפות או שותפות קרובה לפחות עם ספק מכובד של תוכנת וירטואליזציה המשמשת (תוכנת פיקוח על לזמן אמת של Real Time Systems בגרמניה) ייחשבו ליתרונות חשובים מאוד.
רצוי מאוד שכל רכיבי החומרה החשובים הנוספים יהיו על המעגל או לפחות שתהיה אפשרות להגדיר את הקונפיגורציה שלהם. והכוונה באופן מיוחד למערכות גרפיות בעלות יכולת וחסכוניות באנרגיה וכן ניהול סוללות חכם בהתקנים ניידים ונישאים.
והיכן אנו עומדים כעת?
היום יש לנו פתרון. שילוב של המעבד המתקדם ביותר מהדור השני של Intel® – CoreTM – כגון המעבד CoreTM i7-2710QE של IntelTM (פועלים ב-2.1 ג’יגה הרץ, 45 וואט, במארז PGA) עם תוכנת פיקוח על לזמן אמת שפועלים המחשב על מודול של congatec .Conga-BM67 ממלא את כל הדרישות הנחוצות שבהם עסקנו עד עתה.
השימוש בתוכנת פיקוח על לזמן אמת מאפשר את השימוש בשמונה ליבות מעבדים וירטואליים עם טכנולוגיית ארבע הליבות הקיימת היום. יישומים רבים שפועלים על מעבדי X86 יכולים לשמש בצורה בטוחה ללא מאמצי התאמה בין תוכנות או אינטגרציה. אפשר להשתמש בתוכנה גרפית תלת ממדית ברזולוציה גבוהה שמואצת בעזרת חומרה. תוכנת הגרפיקה ברזולוציה גבוהה מסדרה 6 של ®Intel שיכולה לתמוך בעוד שלושה חיבורים לתצוגה HDMI משולבת באינטגרציה על שבב, בחיסכון אנרגיה. בעקבות יישומי התמיכה המתקדמים ביותר Open-GL ו-Direct-X, ניתן לממש או להתאים בקלות יישומים של תוכנות גרפיקה חדשות ומסורתיות ולהפעיל אותם על הליבה הרביעית. רמה גבוהה של ביצועים של ליבות המעבד שנמצא בשימוש מאפשרת את המימוש של פונקציונליות ותכונות של מעבד DSP בתוכנה. אם כך, ברוב המקרים אין עוד צורך בחומרה של מעבד נוסף. הטכנולוגיה Power Boost של ®Intel מוסיפה מאגרי יכולות נוספים ליישומים בעלי ביצועים גבוהים על ידי המהרה בטוחה באופן אוטומטי.
אין עוד צורך בבקרי יישומים נוספים מיוחדים על מנת להבטיח ניטור ופעולה בטוחה של תהליכים קריטיים. אפשר להחליף את הפונקציונליות שלהם בליבות וירטואליות זמינות. תוכנת פיקוח על לזמן אמת מבטיחה בכל תנאי שהוא, קיום פעולה בטוחה ומתמשכת (אפילו בזמן אמת) במקרה שיישום “גורם לקריסה” או להפסקת הפעולה של מערכת הפעלה באחת מהליבות הווירטואליות.
שימוש חוזר שנעשה בקלות ובאמינות ביישומים המסורתיים של X86 מחד גיסא, ובטיחות ואמינות של פלטפורמה מהסוג “מוכן עבור היישום” בשלב שלפני אינטגרציה עם מחשב על מודול ותוכנת פיקוח על, מאידך גיסא, מאפשרים הרבה מאוד הזדמנויות למיזוג של יישומים רפואיים מסורתיים בתוך התקנים חדשים וחסכוניים. גרפיקה מתקדמת ביותר, רמה גבוהה של אינטגרציה מראש, מאמצים מעטים הנדרשים להתאמה של תוכנות והרחבה לצורך יישומים קיימים, מאפשרים ליצור במהירות ובעלויות נמוכות התקנים אלקטרוניים רפואיים. תכונות אחרות חוסכות עלות כוללות את יכולת השדרוג, המודולריות ואת צריכת ההספק הנמוכה באופן משמעותי בביצועים גבוהים. בעזרת אלו אפשר לקבל התקנים מופעלים במתח חילופין נתונים במארזים ללא מאווררים, סגורים ונוחים לחיטוי, שיש להם גיבוי לזמן ארוך יותר המבוסס על סוללות קטנות יותר, ואשר חלקם אפילו יכול לפעול על סוללות, כעת.
מה צופן לנו העתיד:
הדורות הבאים של מעבדים משובצים בעלי ריבוי ליבות ובעלי עוצמה רבה אפילו עוד יותר, עם שמונה ליבות פיסיות ויותר, ירחיבו את יכולת השדרוג עד לרמות הביצועים הגבוהות ביותר שקיימות כיום. אפילו היום, אפשר להשיג את מעבדי ULV המשובצים (הפועלים במתח נמוך במיוחד) בריבוי ליבות. הם מאפשרים לבצע הרחבות פונקציונליות וגרפיות רבות חשיבות בהתקנים קטנים נישאים ביד, שרק עד לא מזמן היו מחוברים להתקנים רפואיים שמופעלים על ידי זרם חילופין.
ומתי יופיע מחשב ה-Medi-pad הראשון בשוק?
עם היתרונות הזמינים כיום, טכנולוגיה של ריבוי מעבדים שהשתלטה על עתידם של רוב ההתקנים האלקטרוניים הרפואיים, תמשיך ותתפתח מעתה מהר עוד יותר.