רכבות דוהרות במקביל

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

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

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

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

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

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

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

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

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

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

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

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

אבל זה כבר נושא לכתבה אחרת.

שיתוף ב facebook
Facebook
שיתוף ב twitter
Twitter
שיתוף ב linkedin
LinkedIn
שיתוף ב whatsapp
WhatsApp
שיתוף ב email
Email

4 תגובות

  1. אני סטודנט בהתמחות במערכות מידע ולא ידעתי עד כעת על הנושא אפילו חצי ממה שאני יודע בגלל המאמר

  2. הם מחפשים כל דרך להמשיך ולהוביל כל הזמן את ענף המעבדים
    ותחשבו על זה

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

כתיבת תגובה

האימייל לא יוצג באתר.

פרסום תגובה מהווה הסכמה לתנאי השימוש באתר.
התגובות יפורסמו לפי שיקול דעת העורך.

עשוי לעניין אותך

תמונה של קימל

הדרום הפרוע

הבעיות והסכנות בעקבות היעדר משילות בנגב

קידום אתרים אורגני וממומן

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