אנדרואיד

שבבים מרובי ליבות מהווים אתגר גדול אחר עבור התעשייה

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

האם בקרוב יושתלו שבבים חכמים בבני אדם? ומה הקשר בין מגיפת הקורונה לגאולה לפי הרמח"ל?
Anonim

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

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

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

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

] אבל בשנים האחרונות, אינטל ו- Advanced Micro Devices הוסיפו ליבות כדרך יעילה יותר לחיסכון ביצועים שבב, שינוי ניכר מן הפרקטיקה המסורתית שלהם של הגדלת מהירות השעון. אינטל בונה שמונה ליבות לתוך שבבי Nehalem-EX הקרובה, ו- AMD מעצבת שבבי 12 ליבות עבור שרתים. הם גם מוסיפים יכולות מרובות-השחלה, המאפשרות לכל אחת מהליבות לעבוד על מספר שורות של קוד בו-זמנית.

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

קיימים מספר כלי תכנות מקבילים, כגון Intel Parallel Studio עבור C ו- C ++. ספקים אחרים בחלל הם Codeplay, Polycore Software ו Clik Arts. יש גם מודל חדש של תכנות מקבילי מבוסס C, הנקרא OpenCL, המפותח על ידי קבוצת Khronos ומגובה על ידי Apple, Intel, AMD, Nvidia ואחרים.

אבל רבים מהכלים הזמינים עדיין פועלים, אמר אקספו multicore. המהנדסים של התוכנה צריכים להיות מסוגלים לזהות קוד שניתן לקבילו במקביל, ואז לעשות את העבודה של מקבילה ללא התערבות ידנית מצד מתכנתים, אומר שי גלאון, מנהל הנדסת תוכנה ב- EEMBC, ארגון ללא כוונות רווח המפתח מדדים לשבבים משובצים על אף היעדר הכלים, מספר ספקי תוכנה מצאו שקל יחסית ליצור קוד מקבילי עבור עבודות מחשוב פשוטות, כמו עיבוד תמונה ועיבוד וידאו, אמר גוואנאפ. Adobe יש rewritten Photoshop בצורה שיכולה להקצות משימות כמו הגדלה ותמונה סינון ליבות x86 ספציפיים, שיפור בביצועים של שלוש עד ארבע פעמים, אמר.

"אם אתה עושה וידאו או גרפיקה, אתה יכול לקחת קבוצות שונות של פיקסלים ולהקצות אותם למעבדים שונים.אתה יכול לקבל הרבה מקביל ככה, "הוא אמר. אבל למשימות מורכבות יותר, קשה למצוא גישה אחת לזיהוי רצף של חישובים, שניתן לקבצם ולהפריד ביניהם.בעוד הצד תכנות עשוי להציג את האתגר הגדול ביותר, יש גם שינויים בחומרה כי צריך להיעשות, כדי להתגבר על בעיות כגון זיכרון חביון ומהירות האוטובוס איטי. "כאשר אתה מוסיף עוד ועוד CPUs על השבב, אתה צריך את רוחב הפס של הזיכרון כדי לגבות את זה", אמר Gwennap. שיתוף מטמון זיכרון אחד או אוטובוס נתונים בין ליבות מרובות יכול ליצור צוואר בקבוק, כלומר ליבות נוספות יהיה להיות מבוזבז במידה רבה. "עד שאתה מגיע לשש או שמונה מעבדים, הם מבלים את כל זמנם בשיחה זה עם זה ולא מתקדמים לעשות את כל העבודה", הוא אומר. "Onus עשוי בסופו של דבר לשקר עם מפתחים כדי לגשר על הפער בין חומרה ותוכנה כדי לכתוב תוכניות מקבילות טובות יותר. Coders רבים אינם עד מהירות על ההתפתחויות האחרונות בעיצוב החומרה, אמר Gal-on. הם צריכים לפתוח דפי נתונים ולבדוק ארכיטקטורות שבב כדי להבין איך הקוד שלהם יכול להיות טוב יותר, הוא אמר