תתפלאו: יש הרבה דמיון בין הבאגים שלכם בקוד לבין ההתרסקות של בראשית

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

צילום: גיקטיים

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

אין הזדמנות שנייה בחלל

צילום: גיקטיים

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

דוגמה ברורה לסטארטאפ שכזה היא ללא ספק Space IL, שהיזמים שלו היו בטוחים שהם יצליחו להגיע לירח ״צ׳יק צ׳ק״ בהשקעה כספית צנועה יחסית של 8 מיליון דולר. הלהט שלהם שכנע את מוריס קהאן להביא להם את ה-100,000 דולר הראשונים שבסופו של דבר תפחו ל-40 מיליון דולר. אלא שתוך כדי שהם החלו לרוץ עם החזון האידילי שלהםף המציאות לפתע הכתה, והם הבינו שהדרך היחידה להוציא את המיזם השאפתני לפועל היא באמצעות חבירה למי שמבין בחלל. כך, נוצר החיבור המעניין בין סטארטאפ צעיר לבין גוף מבוסס למדי – התעשייה האווירית, או מה שדורון מכנה ״New Space meets traditional space״.

אחד הגורמים לכשלון – בעיות בקוד

המיזם השאפתני חווה לא מעט קשיים מתחילת הדרך ועד לסופה – קשיים מוכרים וידועים בכל שיגור של חללית או לוויין, שכן לא משנה כמה בדיקות מעבדה נעשו – ברגע האמת, כשהוא יוצא לאוויר – הכל יכול להשתנות. כך למשל הם נתקלו בקשיים בפיענוח מיקומה המדויק של החללית וההטייה שלה – פרט חיוני לרגע הפעלת המנוע. מי שהיו אמונים על המשימה הזו היו ״עוקבי הכוכבים״ (ידועים גם כ-STR), שסבלו מסינוורים – דורון טוען כי יתכן והדבר התרחש בגלל אבק שנפלט מהמנועים ברגע השיגור. עם זאת, הם חשבו שהם יצליחו ״ללמוד לחיות עם הסינוור״ ויתבססו על מכשיר ה-IMU בחללית (Inertial Measurement Unit – יחידת מדידה אינרציאלית), רכיב אלקטרוני שמודד את התאוצה והמהירות הזוויתית בעזרת חיישנים. ואכן, לאורך כל המשימה הרכיב עשה את עבודתו נאמנה.

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

אלא שהחללית הזעירה, ששקלה קצת פחות מ-600 ק״ג, עשתה שימוש במחשב קטן שיועד לנאנו-לווינים. תוך כדי שהתפתחה המשימה – יחד איתה גדל גם הקוד (והרי אין כזה דבר קוד שהולך וקטן), אבל לא היה מספיק מקום פנוי בנפח האחסון של המחשב. כתוצאה מכך, Space IL לא ממש יכלו לעדכן תוכנה והיו צריכים לחשוב באופן יצירתי כיצד ניתן להשתיק את אותם עוקבי הכוכבים. איך הם עשו זאת? בעזרת פאצים, עוד פאץ׳ ועוד פאץ׳. אבל הריסטרטים לא פסקו.

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

״הפעלה מחדש? Big mistake״

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

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

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

הילה חיימוביץ׳

גיקית, Deal With It

הגב

19 תגובות על "תתפלאו: יש הרבה דמיון בין הבאגים שלכם בקוד לבין ההתרסקות של בראשית"

avatar
Photo and Image Files
 
 
 
Audio and Video Files
 
 
 
Other File Types
 
 
 

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

סידור לפי:   חדש | ישן | הכי מדורגים
גיק
Guest

שישתמשו בארדואינו

Asaf Shelly
Guest

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

ניר איזיבייק
Guest

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

אורן קידר
Guest

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

the triboot
Guest

אהרון
Guest

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

וואט
Guest

החללית שוקלת 600 ק”ג, תקציב 40 מיליון דולר , ולא היה מספיק נפח אחסון במחשב???

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

מישהו
Guest

זה מחשב אמבדד לא הלפטופ שלך. כל שורת קוד מחושבת

Dog lee
Guest

כמה קילוגרם זה 32GB של דיסק??
אולי בשנות ה- 80…

מישהו
Guest

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

חוכמת הבדיעבד
Guest

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

אסף
Guest

האנדרואיד היה נמס להם

שיאומי
Guest

זה היה בצחוק- התכוונתי לאיפון

מישהו
Guest

בחיים לא ראיתי כזה ממבו ג’מבו לא ברור. מה זה “נפלו כל הפאצ’ים”? זה FXP פה?
מקווה שמתישהו יפורסם דוח יותר מקצועי

יצחק כהן
Guest

ב”ה

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

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

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

installing updates..0%...
Guest

שאלות טובות ויפות- מצטרף לבקשה על הסבר טכני מעמיק…

מתעסק בבקרה
Guest
ענית בעצמך, לא משתמשים במחשב רגיל למשימות כאלו. לא בונים מחשב ייעודי כתוכנה על PC, למעט תוכנות בקרה כבדות שעושות משימות של בקרים (בתחומי ה SCADA). צריך שבב ייעודי שכותבים לו את הקוד לביצוע בדומה לכל שבב אחר בתעשיית האלקטרוניקה, שעושה באמינות מאוד גבוהה את התרחיש במשך שנים בלי הפסקה. גם אם יש מחשב נוסף שעושה פעולה מורכבת יותר (למשל בבראשית היה התקן שהקליט ודחס את הוידאו והתמונות, למרות שספציפיצ גם הוא היה שבב ייעודי) הוא נפרד מהמחשב הראשי. למשל בטסלה מחשב הרכב בסיסי ועובד תמיד בלי קשר למחשב של הנהג האוטומטי, וגם הוא עצמו שבב ייעודי של nvidia למשל,… Read more »
לתקן את התיקן
Guest

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

מישהו
Guest

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

wpDiscuz

תגיות לכתבה: