Adi Shieber & Yan Vainter, Freescale Semicondutor
תקשורת M2M (מכונה למכונה) הולכת וחודרת לשווקים כגון שוק מוצרי הצריכה, השוק התעשייתי ושוק המכשור הרפואי. עם זאת, במונחים של עיבוד משובץ, גודל אחד אינו מתאים לכל היישומים האלה בגלל עלות, נצילות וצריכת הספק. יתר על כן, ממשקי משתמש ו/או ממשקי אדם-מכונה (HMI) שונים, צורות קישוריות שונות ושימושים שונים בנתונים נחוצים בכל הרמות של M2M ושל ה-IoT (האינטרנט של הדברים).
קלות השימוש – גודל אחד אינו מתאים לכל
כיום, קיימות תחזיות כי ה-IoT צפוי לגדול באופן חד ביותר לכ-20 מיליארד התקנים עד שנת 2020. גם אם אפשר להתווכח על המספר המדויק, ברור שרוב ההתקנים שיהיו מחוברים, יחברו מכשירים/מכונות יחד דרך קישוריות קווית או אלחוטית: M2M (איור 1). לכן, ההתקנים המשמשים כיום והתקני הדור הבא צריכים לענות על האתגרים של M2M כדי לעמוד בצרכים שלו.
האתגר הראשון הוא מגוון הפתרונות שאותם יש להציע כדי לענות על טווח היישומים של יישומי IoT. למשל, המפרט של התקן שאוסף נתוני חיישנים עבור יישום של מוצר צריכה רפואי, של התקן לניטור ובקרת בית חכם, ושל ממשק משתמש מבוסס מסך המחובר לאינטרנט, שונים מאוד האחד מהשני במונחים של דרישות ביצועים, גודל וצריכת הספק.
ואכן, נצילות אנרגיה היא בוודאות אחד האתגרים העיקריים. גורמים כגון התחממות גלובלית, ומחסור במקורות אנרגיה שאינם מתחדשים, כופים צורך בבקרה טובה יותר על צריכת האנרגיה וחיסכון מחמיר באנרגיה. לכן עלייה גדולה במספר ההתקנים המחוברים ברשת ה-IoT מעמידה במפורש אתגר בתחום שיפור הבקרה על צריכת האנרגיה. מאחר שחלק גדול מהתקנים אלו יהיו ניידים או יוצבו באתר מרוחק, הם יופעלו בסוללה, עובדה שמוסיפה אתגרים בתחום הקטנת התחזוקה למינימום והגדלת אורך חיי הסוללה למקסימום. בנוסף, צפוי שהתקנים אלו יוכלו לקבל גישה למידע ויוכלו לחשב ולבצע תקשורת בכל עת, ולכן צריכת הספק במצב אופטימלי גם היא הופכת להיות קריטית. אילוצים מחמירים מעין אלה מונעים שימוש במערכות שמשתמשות בקירור פעיל (כמו למשל במאווררים), ונדרשת להן ארכיטקטורה שמתוכננת עבור יישום בצריכת הספק נמוכה מהרגע הראשון, עם בחירה נכונה במעבד, בתכנון מערכת על שבב
(System on Chip – ), צריכת הספק חכמה וארכיטקטורת תוכנה.
פרמטר נוסף הוא הגודל הפיסי של התקנים כאלה. למעשה, התפשטות השימוש בהתקנים מחוברים תוכל להתרחש אם אפשר יהיה לממש את הגודל המתאים עבורם. גם אם גודל קטן יותר ייחשב טוב יותר, לא תמיד הוא יהיה הטוב ביותר כתוצאה מאילוצי קישוריות ועלות.
חלק מיישומי M2M יוצרים פעילות גומלין עם סביבה שונה, ולכן נדרש ניהול נתונים באופן שונה מאוד. לדוגמה, מנוע חשמלי כמו למשל כזה המיועד למנועי זרם ישר חסרי מברשות (BLDC) או למנועים סינכרוניים בעלי מגנט קבוע (PMSM), נדרשת בקרה בזמן אמת, שאותה אפשר לספק באמצעות מיקרובקר עם מערכת הפעלה זמן אמת (למשל ™MQX) ותוכנה מתאימה. עם זאת, כאשר נדרשים קישוריות M2M וממשק משתמש, יש צורך שמישורי זמן שונים ומערכות הפעלה שונות יתקיימו יחד אלה בצד אלה. העברת נתונים בין מישורים שונים אלו, תוך כדי שמירה על כך שהמערכת תהיה יעילה וכדאית בעלות, עלולה להיות קשה להשגה דרך פתרונות סטנדרטיים.
רוב יישומי IoT יהיו חדשניים ועדיין אינם קיימים. לכן, לאפשרות להשתמש במגוון יישומים יידרשו פתרונות חומרה עם מערכת סביבתית (ecosystem) עשירה, על מנת שאפשר יהיה לפתח יישומים ולהתאים אותם באופן אישי תוך זמן קצר. ואכן, המשמעות של יציאה מהירה לשוק, היא שימוש בפלטפורמה המשלבת חומרה שמותאמת היטב עם תוכנה מתאימה, שתאפשר להתמקד ביישום הסופי ובממשק המשתמש במקום במימוש עצמו.
לשרשרת עיבוד IoT מהחיישן אל השרת או לענן המחשוב נדרש אוסף עצום של נתונים, מה שיכול להפוך את קבלת ההחלטות על בסיס ניתוח נתונים לבלתי מעשית. מעבר לכך, צווארי בקבוק של נתוני תקשורת ונצילות השימוש בהספק יהיו אף הם גורמים מגבילים. רק פשרה מאוזנת בין התקשורת לחישובים שתתבצע בכל צומת, תוכל לאפשר את קיומם של IoT ו-M2M. פירושו של דבר, שלכל צומת צריך שיהיה יכולת עיבוד ותוכנה שיספקו קבלת החלטות ברמת הצומת ולספק רק את הנתונים הנדרשים לצומת הבא. אם כן, בכל צומת צריך להתאים את יכולות העיבוד והתקשורת. גם אם זה עומד בניגוד לנקודת מבט ממורכזת שרתים, זו הדרך היחידה שבה אפשר לקבל הטמעה מסיבית של יישומי IoT לקבלת ניהול הספקים, עלויות וניהול נתונים נכונים, וכן עומס תוכנה נכון.
אבטחה היא פרמטר בעל חשיבות עליונה, שיאפשר הטמעה של M2M בקנה מידה גדול ב-IoT. רבים הם האיומים על חיבור התקנים יחד עם גישה לענן המחשוב: וירוסים, פצחנים (hacking), הנדסה הפוכה (reverse engineering), איבוד של קניין רוחני, גישה לנתונים פרטיים, ועוד. אבטחת תוכנה הינה חיונית, אך אין בה די עבור יישומים כאלו. אבטחת חומרה משובצת יכולה לאפשר קישוריות בטוחה יותר.
לסיכום, עלות המערכת תקבע את ההצלחה של ה-IoT ואת קצב הטמעתם של יישומים חדשים. לכן, עלות כגון זו הכרוכה בחומרה, בתוכנה ובפיתוח הנדסי, בתחזוקה, איכות ובאורך חיים, כלולה בתכנון של כל התקן. כל זאת מחזק את העיקרון של “גודל אחד אינו מתאים לכל” עם ממד נוסף: עלות מערכת.
אמנם ההזדמנויות שמספק ה-IoT עצומות, אך גם רבים מאוד האתגרים הנדרשים כדי לעמוד בהצלחה בדרישות של ה-IoT: יישומים המחולקים לסגמנטים רבים בשוק עם דרישות מחמירות לגבי גודל, עלות וביצועים הם רק כמה מאתגרים אלו.
מכאן שהתאמה אישית של יישומים, יעילות, ומערכות וצמתים “חכמים” הופכים להיות בעלי חשיבות עליונה.
מענה לאתגרי ה-IoT
א. עיבוד מרובה ליבות
בין הארכיטקטורות העיקריות של מעבדים, ®ARM® ,Power Architecture ו-CISC, ארכיטקטורת ARM היא המתאימה ביותר לשימושים בהספק נמוך, בעלות נמוכה, עם תכונות רבות עבור שווקי מערכות משובצות (®TrustZone, מצבי הספק, SIMD, הרחבות וירטואליזציה ועוד…). ®Power Architecture עדיין מובילה במונחים של נצילות הספק עבור מחשוב ברמה גבוהה, במיוחד עם ארכיטקטורת 64 הסיביות שלה. המימוש עם CISC (או 86) הותאם באופטימיזציה עבור מחשוב שולחני ועבור חלק מהשרתים. רק לאחרונה, מותאמים שבבי 86 במטרה לשמש בהתקנים ניידים, ועדיין יש צורך בהוכחה שהם יעילים ושהשוק ייאמץ את השימוש בהם. ואכן, מערכות על שבב (SoC) המבוססות על מעבדי ARM נהנות מהיתרון של נצילות הספק, וביצועי השיא שלהן מתקרבים לאלו של 86 (מערכת על שבב מבוססת על מעבד ARM ב-64 סיביות, מערכת מבוססת ארכיטקטורת ARMv8 החדשה שמשתמשת בעיבוד big.LITTLETM, אמורה לסגור כל פער שנותר). בניגוד לכך, צריכת ההספק הנמוכה של 86, עדיין לא הושגה, ביצועי השיא עדיין לא שופרו בהרבה, וחוק Moore מביא אותנו לחשוב שעידן שיפורי הביצועים המתמידים חלף ללא שוב.
אפשר לתת מענה למרות הסגמנטציה הגבוהה בשוק, בצד אילוצים של עלות, ביצועים וצריכת הספק, רק עם פתרונות פלטפורמה רבים. להשגת הפתרון יש צורך, ראשית, במשפחת מוצרים רחבה של מיקרובקרים ומעבדים במערכות על שבב. סדרת המיקרובקרים ®Kinetis של ®Freescale, מציעה מעל ל-500 רכיבים עם תכונות, יכולות, מחירים וגדלים שונים. למשל, KL02 הוא המיקרובקר
() 32 סיביות הקטן ביותר, בגודל שהוא פחות מ-2mm x 2mm.
כבר הוכח שארכיטקטורת עיבוד מרובת ליבות היא הפתרון המאפשר עמידה בדרישות של אמינות, ביצועים ועלות עבור יישומים לרכב ובמיוחד עבור יחידת הבקרה האלקטרונית (ECU), שבה הושגה תגובה קרובה לזמן אמת בעזרת ריבוי ליבות. עיבוד תמונה בזמן אמת, מפיק אף הוא תועלת רבה מעיבוד מרובה ליבות באמצעות ביצוע משימות במקביל.
ב. היתרונות הטמונים בעיבוד מרובה ליבות
מלבד העובדה שהשימוש בעיבוד מרובה ליבות מסייע להתגבר על הבעיה הקיימת כיום שמציב חוק Moore, הוא גם חוסך בצריכת ההספק.
להלן מספר דוגמאות המראות יתרונות שימוש בעיבוד מרובה ליבות עם סדרת
i.MX6 (סדרה ממשפחת ה-®i.MX) ושימוש בליבת העיבוד Cortex®-A9 בלבד (ולא במאיצים המשובצים הקיימים עבור JPEG או במעבדי GPU המשובצים).
הדוגמה הראשונה היא הפעלה של וידיאו HTML5 דו ממדי, עם קידוד ופענוח JPEG ועם יצירת תמונה (רינדור-rendering) וגלילה של עמוד דפדפן WebKit. איור 2 מציג את מערך הבדיקה.
התוצאה של הבדיקה מראה באופן ברור שאפשר לעבור את גורם המכפלה המוסכם של 1.8 במונחים של הכפלת ליבת העיבוד. למעשה, גורם מכפלה של 4 הושג בין ליבה כפולה לארבע ליבות עבור קידוד ופענוח JPEG. גורמי מכפלה שבין 1.25 לבין 2 הושגו בהשוואה של ליבה כפולה לארבע ליבות. מעניין לציין את השיפור העצום בין ליבה יחידה לליבה כפולה שמדגים את העובדה שריבוי ליבות הוא ארכיטקטורה יעילה עבור ריבוי משימות.
את הגידול בצריכת ההספק שנבע מהשימוש בריבוי ליבות אפשר לראות באיור 4. עבור סדרת i.MX6 ועריכת מבחן Dhrystone
ב-1GHz, צריכת ההספק גדלה ב-41% משימוש בליבה יחידה לשימוש בליבה כפולה, וב-62% משימוש בליבה כפולה לשימוש בארבע ליבות (כאשר זיכרון DRAM לא נלקח בחשבון). מכאן, שהגידול בצריכת ההספק (גורם מכפלה של 1.6) מקבל פיצוי במידה רבה על ידי השיפור בביצועים (מ-1.25 ל-4).
ג. מֵעֵבֶר לעיבוד מרובה ליבות סטנדרטי
המשמעות של עיבוד מרובה ליבות אינה מסתכמת רק בעובדה שיש לנו ריבוי ליבות מאותו סוג של מעבד. מעבדי GPU הם חלק מעיבוד מרובה ליבות. מעבדי GPU משמשים בעיקר עבור יישומי מולטימדיה ואפשר גם להשתמש בהם לעיבוד יעיל של תבניות. לדוגמה, השימוש במעבד GPU עבור יישום מולטימדיה יכול להקטין את צריכת ההספק של i.MX6 ב-46% תוך שיפור ביצועי היישום (קצב מסגרות תמונה ורזולוציה גבוהים יותר).
דוגמה נוספת לקבלת ביצועים יוצאים מן הכלל, תוך כדי מניעת עיכובים הנובעים מממשקי נתונים, זיכרון ומחשוב היא
ה-®T4240 המבוסס על Power Architecture. מערכת על שבב כזו, שמציגה את
ה-CoreMark הטוב ביותר בתעשייה, היא שילוב של 12 ליבות של 64 סיביות עם dual threading, שפועלות בקצב של עד 1.8GHz כל אחת עם SIMD מבוסס על ®AltiVec ל-128 סיביות. T4240 יכול לטפל בחבילות מידע של 50Gb/s. ואכן, ביצועים גבוהים כאלו לא מושגים רק על ידי יעילות עיבוד גבוהה, אלא גם באמצעות מימוש קפדני של מערכת על שבב. נתיב נתונים מובנה שמשולב עם מאיצים בחומרה, אשר מתגבר על צוואר בקבוק שנוצר כתוצאה מניהול נתונים. זיכרון מטמון עם שכבות שונות (L1 עד , CoreNet) ושלושה בקרי DDR3 שפועלים בקצב של עד 2.1GHz, מקלים את צווארי הבקבוק בזיכרון. יכולת עיבוד גבוהה כזו שמושגת בצריכת הספק נמוכה ועם אבטחה משובצת, יכולה לשמש ביעילות בענן מחשוב תעשייתי עבור אוטומציה תעשייתית.
אי לכך, עיבוד הטרוגני עם מימוש מערכת על שבב מתאימה מאפשר להקל את השפעת חוק Amdahl ולעלות בביצועים על המהירות התיאורטית של מימושים של עיבוד מקבילי. כמו כן, הוא יכול לענות על דרישת נצילות אנרגיה M2M ועל אתגרים הכרוכים בפשרות על ביצועים.
ד. עיבוד א-סימטרי
אין ספק שעיבוד א-סימטרי (או הטרוגני) הוא פריצת הדרך המעניינת ביותר, לא רק לגבי האתגר הכרוך בחוק Amdahl, אלא גם מבחינת מתן מענה יעיל ליישומי M2M. הוכח שאפשר להגיע לביצועים משופרים של ארכיטקטורה מרובת ליבות, המשולבת עם חיסכון בהספק, דרך עיבוד א-סימטרי.
כדוגמה לכך, מערכת על שבב המשלבת Cortex-A למטרות עיבוד ממשק משתמש ו-Cortex-M למטרות עיבוד זמן אמת.
תובנות
לשוק המבטיח של יישומי M2M דרך גידול מדהים בתחום ה-IoT יש צורך במגוון רחב של פתרונות מגוונים עם מאפיינים כגון נצילות אנרגיה, גודל פיסי מתאים (כלומר הקטן ביותר), שיכול לטפל בו זמנית בממשק המשתמש ובזמן אמת, עם פשרת התקשורת הטובה ביותר – עיבוד נתונים, וכל זאת בתמורה לעלות המתאימה. כדי לעמוד בכל הדרישות המחמירות האלו, מוצע להשתמש במערכות על שבב מבוססות על מעבד מרובה ליבות, מאחר שהן יכולות לספק נצילות אנרגיה גבוהה יותר וביצועים טובים יותר עם תכונות משובצות. מימוש נבון של מערכת על שבב הוא הדרך היחידה להקל על כל צווארי הבקבוק הקשורים בעיבוד מקבילי בביצועים גבוהים. עיבוד א-סימטרי (הטרוגני) משפר את צריכת ההספק ואת יעילות העיבוד וגם מאפשר את הופעתם של יישומים חדשים.
ההפרדה בין מעבדים מרובים לבין שימוש בהספק נמוך, ביצועים גבוהים עם סוגים שונים של עיבוד (מעבדי GPU ,SIMD ומעבדי DSP), זיכרון מטמון מתאים והאצה בחומרה עבור הממשק הממומש במערכת על שבב, נראית הדרך הטובה ביותר לענות על הצרכים של יישומי M2M. פתרונות לסגמנטציה הגבוהה, אפשר להשיג באופן יעיל בעזרת כרטיסים משובצים (מודולים -SoM) על מנת להציע טווח רחב יותר של פתרונות, המגלמים בתוכם גם זמן קצר יותר של יציאת המוצר לשוק.