הזיכרון הרב-תכליתי

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

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

פרופ' שחר קוטינסקי

פרופ’ שחר קוטינסקי

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

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

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

אוריאן לייטרסדורף בכנס

אוריאן לייטרסדורף בכנס

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

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

רוני רונן

רוני רונן

את הקונספט החדש הם מכנים PyPIM – שילוב הקיצורים של Python ו-Processing-in-Memory (עיבוד בזיכרון). פלטפורמה זו תאפשר למפתחי תוכנה לכתוב בקלות תוכנות שיותאמו למחשבים המבצעים חישובים בתוך הזיכרון.

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

המחקר הוצג בכנס IEEE/ACM International Symposium on Microarchitecture, אחד הכנסים החשובים בתחום ארכיטקטורת מחשבים, שנערך בנובמבר באוסטין, טקסס.

אילוסטרציה מתוך המאמר.

אילוסטרציה מתוך המאמר.

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

למאמר לחצו כאן