מיחשוב מרובה מעבדים הוא השם החם בתחום הסמיקונדקטור. ניתן כיום להתקדם לפני שיהיו לנו הכלים האופטימלים לצורך פתרון בעיית המיחשוב המקבילי. Nvidia הוכיחה כי זוהי בעיה הדורשת פתרון משולב של חומרה/תוכנה. .
איור – יבמ |
משהו היה שונה השנה בכנס Hot Chips. משהו שונה משמעותית. השנה קיימו אנשי Hot Chips מושב על מחשוב מקבילי.
אחד מהנואמים הגדיר את המחשוב מרובה מעבדים ( (multi-core computing כדבר הגדול ביותר בתחום המחשוב מאז 1940 רק כדי להדגיש כמה זה חשוב. תעשיית המעגלים המשולבים נעה ממחשוב המבוסס על מעבד אחד למחשוב מרובה מעבדים והניעה אותנו ממודל הוון ניומן (von neumann ) לעולם בו מודל החישובים טרם הוגדר. בדרך היא סיכנה גם את ההתפתחות של חוק מור. המחקר כמה מרכזי מחקר נוסדו כדי לטפל במשבר זה. אוניברסיטת אילינוי, וכן האוניברסיאות ברקלי וסטנפורד מקליפורניה היו מיוצגות ב מושב של Hot Chips. כל השלושה נקטו בגישה שונה לטיפול בבעיה וכתוצאה מכך,הגיעו לתובנות שונות.
בשנתיים האחרונות נעשה ברור שדרושה גישת המבוססת על ישומים. תכנות המבוסס על יישומים יעודים הוא לא התשובה אך יישומים יראו לנו את הדרך. המחקר של GSEDA חברת המחקר של גרי סמית GSEDA עוקבת אחר מחשוב מרובה מעבדים ותכנון מקבילי מאז 2004. בשלוש השנים הראשונות רוב המחקר לא הוביל לפתרונות ישימים.
לפני שנתיים שיטת הישומים אפשרה למחקר לבצע פריצת דרך. העבודה שנעשתה בIBM, באוניברסיטאת ברקלי, באוניברסיטאת אילינוי ובחברת NVIDEA כולם החלו לבא עם תשובות לחלקי הפזל. לזמן מה זה נראה כמו הסיפור ההודי הישן על חמישה עיוורים ופיל. (סיפור עם הודי מספר על חמישה עוורים שנגעו בפיל. כל אחד נגע במקום אחר וכשנשאלו כיצד נראה פיל לכל אחד היה תיאור שונה. כך גם במקרה דנן כל אחד מהגופים החוקרים הגיע עם תוצאות שונות לאותה מציאות). האם זה מספיק להסיק מסקנות? השאלה היא האם יש לנו מספיק מידע כדי לדעת כיצד תיראה התמונה הנכונה בפזל הזה.
GSEDA חושבת שכן או לפחות אנו רוצים לנסות להסיק מסקנות. ראשית עלינו לחקור חלק מההסטוריה של המיקרו מעבד שאף אחד לא מדבר עליה. אם תבחנו את המיקרו מעבד הראשונים תראו שהם לא נראים כמו המיקרו מעבדים של היום. למעשה הם נראים יותר כמו מיקרו בקרים מאשר מיקרו מעבדים. המיקרו מעבדים האמיתים הגיעו לשוק עם הצגתם של מעבד Signetics 2650, ולאחריו מעבד ה 8080 של אינטל וה-6800 של מוטורולה. באותו הזמן התעשיה החלה לקרא למעבדים מסוימים מיקרו בקרים ולמעבדים אחרים מיקרו מעבדים. כך שאפשר לראות כי בשלבי ההתפתחות המוקדמים של המעבדים הקונספט של מעבדים לתחום ספיציפי היו חלק מחיינו. לאחר מכן היו מעבדי רשת וכמה מעבדי מולטימדיה אבל המעבד הבא החשוב היה המעבד הגרפי של Nvidia. כיום אנו ניצבים עם שלושה מעבדים לתחומים יעודיים או ליתר דיוק שני מעבדים לתחומים יעודיים ומעבד לשימושים כלליים. 12 הגמדים זה לוקח אותנו למחקר הנערך בברקלי. אם אתה מסתכל על המעבד הגרפי של Nvidia תמצא שהוא פותר בעיות בישומים רבים כולל משחקים, חיפושי נפט, רפואי,צבאי, תכנון שבבים ופיננסים. אם תביט בעבודה שלהם בתחום תכנון השבבים (EDA) תוכל לראות שהם יכולים לתת לנו שדרוג משמעותי בביצועים בכמה מהכלים אך בכלים המבוססים על גרפים בסיסים הם אינן עוזרים הרבה. כך שזה מוביל אותנו לומר שישומים מכוונים לתשובה אך הם לא התשובה.
התשובה היא שיטה אלגוריתמית הלוכדת תבנית חישוב ותקשורת. שיטה זו מכונה גמד (Dwarf) ויש בה 12 גמדים: Dense Linear Algebra 2. Sparse Linear Algebra 3. Spectral Methods 4. N-Body Methods 5. Structured Grids 6. Unstructured Grids 7. MapReduce 8. Combinational Logic 9. Graph Traversal 10. Dynamic Programming 11. Backtrack and Branch-and-Bound 12. Graphical Models 13. Finite State Machines זה לא וודאי שיהיו לנו 13 סוגי מעבדים לתחומים ספציפים. כמה לא יהיו יעילים יותר מביצועי המעבדים הכללים הקיימים כיום. כמה מהגמדים יהיו ניתנים לשילוב ואחרים לא יהיו יעילים מסחרית כמוצר סטנדרטי. סביר להניח כי בסופו של דבר יהיו לנו בין ארבעה לששה מעבדים סטנדרטים לתחומים יעודיים. לפתח מיקרו בקר בעל יכולות עיבוד מקבילי יהיה אתגר אך נראה כי נעשה זאת. זו התוכנה, טמבל כן זו התוכנה, אבל נסיון לפתור את בעיות התוכנה מבלי לדעת באיזה מנוע חישוב תשתמש לא יעבוד. רוב העבודה הנעשית כיום מייעדת שימוש בגרסאות מעבד מרובה ליבות של המעבד לישומים כללים. זהו כנראה תצורת המעבד הכי לא יעילה שנוכל להשתמש. אם נחשוב שנוכל לתקן את בעיית העיבוד המקבילי בדרך רגילה זהו בזבוז זמן. כיום צרכי כח החישוב דורשים שנשתמש במעבדים היעילים ביותר האפשריים . סביבת הריבוי מעבדים תהיה בלתי אחידה (הטרוגנית). האם מעבדים ליישומים כללים ישרדו?כמובן.האם הם יהיו בחזית המחשוב? סביר להניח שלא. זה מביא אותנו לשפות. הטענה ששפת C תהיה השפה המרכזית של העתיד נעשית קצת נדושה. קהילת מפתחי ה C כבר מתלוננת שC לא נלמדת ברוב הקולג'ים. האם תהיה שפה לכל תחום? למרות שזוהי הבחירה האופטימלית סביר להניח שזה לא יעבוד לפחות לא בסביבת המחשוב ההטרוגני. מה שסביר להניח שנראה מבנה דומה ל C++ כאשר לשפה יש ספריות בסיסיות לכל תחום. זה יוכל לקרות גם בשפת ה C אך שפת C תוחלף לבסוף ע"י שפה המכוונת יותר לעתיד המחשוב. מסקנות ניתן כיום להתקדם לפני שיהיו לנו הכלים האופטימלים לצורך פתרון בעיית המיחשוב המקבילי. אנו מאמינים כי Nvidia הוכיחה כי זוהי בעיה הדורשת פתרון משולב של חומרה/תוכנה.המחקר של היום מצביע על הדרך לעתיד המחשוב.
{loadposition content-related} |