על מנת להמשיך ולהיות רווחיות, על יצרניות מעבדי המחשב לשפר ללא הרף את ביצועי המעבדים שלהן. דרישה זו הובילה לכך שבסוף שנות התשעים, חברת אינטל הייתה בבעיה: שיפור ביצועי המעבד המוביל שלה - "פנטיום-4" דרש הגדלת תדר העבודה. תדר העבודה הוא מספר הפעמים שהמעבד מופעל בשנייה, ונמדד "בג'יגה הרץ" - מיליארדי פעמים בשנייה. הבעיה הייתה, שמעבד זה צרך הרבה חשמל ונטה להתחמם כבר בתצורה הקיימת, והגדלת התדר הייתה מחמירה בעיה זו אף יותר. הסיבה היא, שהגדלת תדר המעבד גורמת להתחממות בחזקה שלישית. למשל, העלאת התדר ברבע (25%) גורמת להגדלת החימום כמעט פי 2 (3^1.25)! הבעיה חמורה במיוחד במחשבים ניידים, בהם יכולת הקירור מוגבלת מאוד.
אני נזכר בקיץ בו ישבתי במשרדי בבניין אינטל בחיפה וחשבתי מה ניתן לעשות. לפתע צץ רעיון במוחי: ללכת דווקא בכיוון הפוך. במקום להגדיל את התדר, נקטין אותו ונשתמש במעבד אטי יותר. אם נוריד את תדר העבודה בחמישית (20%), ההורדה תפגע בביצועי המעבד, אולם ההספק והחימום יקטנו בחצי (0.5~=3^0.8 ), ואז נוכל לשים מעבד נוסף על אותה פיסת סיליקון ולהשתמש בשני מעבדים מבלי להגדיל את ההתחממות!
כיוון זה היה לא רק הפוך, אלא מהפכני. בתקופה זו, טכנולוגית ריבוי מעבדים הייתה בשימוש בעיקר בחוות שרתים, ולא במחשבים ניידים. אז מה ניתן לעשות עם המעבד השני? מה תהיה רמת הביצועים שלו?
כדי לנתח זאת, חשבתי על בעיה פשוטה, שדומות לה פותרים רבות בתיכון. על סטודנט מוטל לפתור 100 תרגילים, ופתרון כל תרגיל לוקח דקה . בכדי לזרז את הביצוע, הסטודנט חולק את המשימה עם חברו. במצב אידאלי, כל אחד יפתור 50 תרגילים, הם יסיימו כעבור 50 דקות - כלומר במחצית הזמן - והביצועים ישתפרו פי 2. כעת, נניח שבמהלך העבודה הם מגלים שעשרה מן מהתרגילים תלויים אחד בשני: כלומר, התשובה של תרגיל משמשת כנתון לתרגיל שאחריו. תרגילים אלו לא ניתן לחלוק בין הסטודנטים, ורק אחד מהם יפתור. זמן הביצוע יהיה לפיכך: 90/2 +10 = 55 דקות, ושיפור הביצועים יהיה פי 100/55=1.8. נוכל לראות שהחלק בעבודה שלא ניתן לבצעו במקביל (10% בדוגמה) משפיע מאוד על שיפור הביצועים.
למרות המורכבות של מערכות מרובות מעבדים, ניתן להשתמש באנלוגיה זו בכדי לתאר אותם בקירוב. מבדיקת ביצועי שלל תכניות מקביליות (תכניות שמנסות לחלק עבודה בין מספר מעבדים) במערכות אלו, החלק שלא ניתן להרצה במקביל היה כ- 10%. משילוב שתי ההערכות - הורדת התדר ושיפור ביצועים על ידי הרצה מקבילית - ניתן היה להסיק שרמת הביצועים של השיטה החדשה היא בערך פי 1.4 =0.8*1.8 מביצועי הדור הקודם (פנטיום-4).
חמוש במידע ובגרפים, יצאתי ממשרדי, והצגתי את הרעיון לצוות. אחרי מאמצים רבים, הצוות באינטל חיפה השתכנע, ואנו נרתמנו למשימה לבדוק את הרעיון לעומקו, לשכנע את החברה ולממש אותו. בדיקה מקיפה הראתה יתרונות נוספים של הטכנולוגיה באמצעות שיפור ביצועי כל מעבד. יתרון נוסף הוא היכולת להאריך את זמן העבודה בשימוש בסוללה על ידי ניתוק אחד המעבדים מחשמל, כאשר אין צורך בביצועים מיטביים.
למרות הממצאים, היה צורך בהרבה נחישות ועקשנות של הצוות הישראלי והמנהלים להסביר להנהלת החברה את יתרון הטכנולוגיה לשיפור ביצועים, לשיפור זמן סוללה, ובאפשרות לשימוש במחשבים ניידים דקים, בהם יכולת הקירור מאוד מוגבלת. לבסוף זה קרה: הצוות בישראל מימש את הטכנולוגיה, וב-2006 השקנו את המעבד הראשון בטכנולוגית "ליבה כפולה" למחשבים ניידים, תחת שם הקוד הפנימי "יונה" [1]. הייתה זו פריצת דרך משמעותית בתעשייה. כיום, יש מבחר גדול של מחשבים ניידים וטלפונים חכמים, המכילים ריבוי ליבות - לעתים אפילו 8 ליבות!
בהסתכלות לאחור, אפשר ללמוד רבות מהסיפור על יצירתיות וחדשנות, עקשנות, מסירות, ועל עבודת צוות מוצלחת. אינטל הכירה בתרומתי, וקיבלתי כהוקרה פרס מרכזי על ההמצאה והדחיפה של הרעיון. ממקרה זה ואחרים למדתי שפישוט ושימוש במתמטיקה בסיסית - אפילו ברמה תיכונית - יכולים לפעמים לעזור בניתוח, הבהרה והצגה של תופעות מורכבות בעולם ההנדסה, ולאפשר בכך פריצות דרך.
לקריאה נוספת:
קרדיט תמונה: lungstruck , via Wikipedia