הידען - Hayadan

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

אבי בליזובסקי ·

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

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

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

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

למה בעצם?

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

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

נעילה (Deadlock), ו-DATA RACE CONDITIONS, הן בעיות מאוד חמקמקות, מאוד קשות לגילוי, כמו וירוסים הן יושבות בקוד והאפליקציה עובדת כמו שצריך והם יכולים להתעורר אחרי חודשיים ואף אחרי שנתיים, לעשות את הנזק ולהעלם כלעומת שבאו. קשה לאתר זאת ללא שימוש בכלים.

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

מי אחראי לכך שלא מלמדים תכנות מקבילי?

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

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

מה לגבי המכללות?

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

האם לפחות בתי התוכנה מארגנות קורסים במיקבול לעובדיהן?

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

מה קורה בעולם?

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

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

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

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

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