Supercomputer sets petaflop pace ×”×•× ×ž×מר שקפץ לי ×תמול מהBBC. תהיתי מיד – ×× ×™×©× × ×ž×¢×‘×“×™ סל של ×©×ž×•× ×” ליבות רצות ב4×’×™×’×”-הרץ ומעלה, למה ×ין ×œ×§× ×•×ª ×›×לו בשביל ×ª×—× ×•×ª עבודה ביתיות ומשרדיות? למה ×œ× ×©×¨×ª×™ פיצות להריץ ×¢×œ×™×”× ×©×¨×ª×™× ×‘×–×•×œ? הרי ×”×ž×—×©×‘×™× ×”×›×™ ×–×•×œ×™× ×©×¢×œ×™×”× ×”×ž×¢×‘×“ ×”×–×” רץ ×”× ×ž×›×•× ×•×ª ×”PS3 החביבות של ×¡×•× ×™, ×œ× ×¨×§ מחשבי על?
שי ×מר ש××™× ×˜×œ פשוט מקובעת בשוק, ×•×œ× ×™×›×œ×” להחדיר בעצמה ×ת פלטפורמת IA64. הסיבה ש××™×˜× ×™×§… סליחה ××™×˜× ×™×•× ×”×™×” כשלון ×”×™×” ×©×”×•× ×¤×©×•×˜ גרוע. עבדתי ×¢× ×›×ž×” ×ž×›×•× ×•×ª × ×¡×™×•× ×™×•×ª ×›×לו של הדור הר×שון, והדור ×”×©× ×™ ×œ× ×”×©×ª×¤×¨ בהרבה. מדובר בליבות מפלצתיות ששיטת ×”××•×¤×§×•×“×™× ×©×œ×”× ×“×•×¨×©×ª שלכל מעבד יהיו עשרות מגות של ק×ש כדי לתת ×‘×™×¦×•×¢×™× ×¡×‘×™×¨×™× ×‘×§×•×©×™, מייצר המון ×—×•× ×•×˜×•×‘ בעיקר ×‘× ×§×•×“×” צפה ×•×—×™×©×•×‘×™× ×ž×§×‘×™×œ×™×™×, ×בל ×‘×“×‘×¨×™× ×¤×©×•×˜×™× ×›×ž×• שרותי קבצי×, מסד × ×ª×•× ×™× ×ו ווב הפלטפורמה הזו ×”×™× ×¦×‘ חולה. מצד ×©× ×™ יש ×œ× ×• ×›×ן ×ž×¢×‘×“×™× ×ž×•×›×—×™× ×•×˜×•×‘×™× ×©×œ PPC שיש מערכות הפעלה ×ž×™×™× ×¡×˜×¨×™× ×©×¨×¦×•×ª ×¢×œ×™×”× ×•×™×›×•×œ×™× ×œ×¤×ª×•×— המון צוו×רי בקבוק. ××– למה דל, יב"מ וס×ן וHP ×œ× ×ž×¦×™×¢×™× ×ž×¢×‘×“×™ CELL שכ×לו ×œ×©×¨×ª×™× ×¨×’×™×œ×™×? פיצות של 1U? בין ×œ×™× ×•×§×¡ ומ×ק/BSD הרי ×©×¢×•×œ× ×”×©×¨×ª×™× ×›×‘×¨ ×”×™×” ×מור לקבל ××•×ª× ×ž×–×ž×Ÿ בברכה, ××– מה עוצר ××•×ª× ×‘×“×™×•×§?
אני חושב שבארץ מקובעים מידי עם אינטל, שעשתה את הטעות הכי גדולה שאפשר לעשות, וזה לירות לעצמה ברגל עם ליצור מערכת מעבדים חדשה במקום להמשיך את קו x86 ורק לתת לו תמיכה ל64 ביט (בעוד ש AMD כן הלכו בקו הזה).
לכן אני עובד עם amd64 כבר שלוש שנים כ. בהתחלה זו היתה עבודה קשה עם לינוקס, אבל השתלמה. כיום זה ממש פושט יחסית, ולמעט תוכנות קנייניות כדוגמת פלאש, אין לי כמעט בכלל בעיות עם המערכת, היא רק יותר מהירה, ומנצלת את ה 4 גיגה שלי בלי בעיות, ואני יכול לשדרג את המחשב לגדלים גבוהים יותר הן של דיסקים והן של זכרון בכל עת.
לדעתי אנשים לא מבינים את הסיבה לדרוש בכלל מעבדי 64 ביט (והרבה מחשבים שהם 64 ביט עדיין מותקנים כ32 ביט). אני מזכיר לך שסולאריס הגיע עם 64 ביט כבר לפני כמה עשורים טובים…
התשובה לשאלה שבסאבג'קט, ולשאר השאלות שאתה מעלה בפוסט, בשתי מילים: תאימות אחורה.
אני חושב שתקפת את איטניום קצת יותר מדי. גם אני מכיר את המעבד, ולמיטב הבנתי, הוא מגיע לביצועים טובים כתלות בקומפיילר. קומפיילר מתאים (כאן כנראה לICC יש יתרון אדיר על GCC) יבנה בינארי הרבה יותר יעיל. המשמעות של הקומפיילר (עבור הביצועים) באינטניום עלתה עשרות מונים לעומת x86.
אני חושב שאינטל עשו מעשה אמיץ לפני כעשור, ואמרו 'ננצל את ההזדמנות למעבר ל- 64 ביט, נכריח את הציבור לאט-לאט לעזוב סוף סוף את הקו המיושן של המעבדים שהומצא בסוף שנות השבעים'. אינטל נכשלו.
לדעתי הציבור אשם: הוא רצה תאימות אחורה ורץ לפאץ' שעשו ב- AMD, שאמרו 'אין ברירה, המין האנושי תקוע עם פקודות המכונה שהומצאו בסוף שנות ה- 70, ועם תאימות אחורה ל- 16 ביט'. והם צדקו.
אורן, אני מבין שלא ממש עבדת איתו. האיטניום לא דוגל בbranch prediction מתוחכם מדי וסומך על הקומפיילר לבדו לסדר את הפקודות בצורה יעילה כי הוא לא מנסה לעשות out of order execution ויש לו עוד מני שגעונות קטנים בתכנון. זה גורם לו להיות חזק בטסטים של פלואוטינג וחלש באינטיג'ר, אני יודע מה אני אומר לך, הוא גם אסון בכל מה שקשור להרצת תחנת עבודה עקב כך. אולי באיטניום 2 תקנו הרבה מהדברים אבל הוא עדיין תקוע עם ליבה אדירה וחמה ויקרה שאין הרבה מה לצמצם בה ואין איך להאיץ אותה. הוא מסתמך על עיצוב והחלטות שהוחלטו בעיקר בHP שהיתה השותפה של אינטל להרפתקאה ופשוט לא הצליחו לגשר על פערים בין כל המטרות הסותרות שהוצבו לפרויקט הזה.
AMD הצליחו כ"כ יפה כי היה להם באמת את השכל להוציא עוד מיץ מפלטפורמה קיימת, אבל גם עידכנו הרבה מהתכנון שלה, ספציפית את הבריג'ים, חיבור הליבות על אותה פרוסה בצורה יעילה, ועד לCore2 ביתה להם הובלה טכנולוגית אדירה בביצועים על פני אינטל. עם יציאת Core2 הם קצת מאחורה חזרה, ואינטל שוב מולכת בביצועים\דולר אבל אני בטוח שהם עוד לא אמרו את המילה האחרונה. שניהם כבר מזמן מריצים RISC קטן וחכם בpipe האמיתי שמתרגם בזמן אמיתי את פקודות הCISC שזורקים עליו, ומהרבה בחינות שניהם יכולים היו לעבור לעבוד ישירות RISC אם לא היו באמת נעולים על האופקודים של 86.
אבל ממול ניצב מעבד CELL שלפי הבנתי מתפקד כמעבד PPC עם שמונה ליבות. לינוקס, סולאריס, BSD ומערכות אחרות יכולות לרוץ על זה היום, בוודאי אפל יכולה עדיין להריץ על זה מאקים שולחניים. הוא זול בטירוף כי מדובר בליבות צפופות וקטנות – מספיק זול בשביל לשבת בPS3. וגם אם הוא לא יעיל מבחינת אנרגיה (ונדמה לי שהוא כן), הוא עדיין יכול להיות מצוין לשרתים. בוודאי בכל מקום שדוחפים לך איטניום או 8 ליבות קסאון בפיצה. הייתי שמח להריץ עליו שירותי ווב. אפאצ'י ומייאסקיואל יחגגו על הליבות המרובות.
בינתיים חפרתי באתר של יב"מ. למרות שהם לא מוכרים את הסל לתחנות עבודה או פיצות, יש להם שני דגמים של בליידים מבוססים עליו. המחירים פי 2.5 לבלייד יחסית לבלייד מקביל של קסאון אבל הביצועים – לך תדע. לצערי הם דוחפים אות בעיקר לשוק "מרסקי המספרים" של HTC, סיגנל פרוססינג וכאלו, וכותבים שם מספרים מרשימים, שבלייד בודד נותן 3 טרהפלופס בדיוק כפול או 6.4 טרהפלופס בדיוק יחיד (שווה ערך לקסאון אני מניח). מספרים מרשימים ביותר, אבל לא אומרים כלום למי שחושב עליהם בתור שרת לאפליקציות אינטיג'ר רגילות. צריל לחפור ככל הנראה בפורומים של לינוקס לPS3 לדעת מה הוא שווה.
אורן, הבעיה עם מה שאינטל עשו הוא שהם חרגו מהמותג PC.
הם שיווקו את Intenium בתור PC, אבל ללא ה"יכולות" של PC. רוב ציבור המשתמשים במחשבים לא מבינים מימינם לשמאלם. הם צריכים משהו עובד שלוחצים עליו 2 קליקים מהירים והכל עובד. הבעיה היא הכאב ראש של אנשים טכניים יותר.
התפיסה השולטת בשוק היא ש64 ביט זה עניין לא בוגר מספיק, ולכן צריך להמשיך ולהשתמש ב32 ביט. זו הסיבה שאינטל נכשלו. אם הם היו נותנים תאימות אחרוה גם ל64 ביט ואחרי שאנשים היו נכנסים לעולם ה64 ביט, היו באים אומרים "חברה יש צורה טובה יותר לעבוד עם 64 ביט קבלו מעבדים טובים יותר" אז הכל היה נראה אחרת.
למי איכפת?
ההתקדמויות החשובות בעשור האחרון הם סביב תקשורת, התוכנה לתמוך באפליקציות החדשות ואולי, בעוד מספר שנים, הכניסה של העיבוד הווקטורי (מעולם ה GPU) ל CPU.
כל הדברים החדשים החשובים – Web 2.0, clouds, לינוקס כיותר מקוריוז, הווב הנייד ובקרוב טלביזיה מעל IP – לאף אחד מהם לא איכפת מהו ה instruction set
צריך חשמל, איזה-שהוא CPU ואיזו-שהיא מערכת הפעלה ומעל התשתית ההכרחית הזו מתרחשים כל הדברים המהפכניים באמת
שי, אבסטראקציות זה נחמד, ואתה יכול להמשיך ולהגיד ש"העיקר שהמידע מגיע אלי למוח". אבל אני מדבר כאן על החדר האחורי שבו כל המידע מאוחסן ונשלף, לא על האייפון-במאתיים-דולאר שאתה עלול להחזיק ביד והתוכן המגניב שהוא מביא לך, אלא על פלאטפורמות יותר יעילות למסדי הנתונים שמהם המידע הזה אמור להשלף, להחתך ביעילות ולהיות מושווה וagregated עם מסדי נתונים אחרים. בלי "החדר האחורי" הזה, לא יהיה לך שום ווב2.0, ויעיד טוויטר שכבר שבועיים מתפקד בקושי כי התוכנה לא נבנתה לסילום (upscaling), או אולי השרתים סתם לא עומדים בעומס מכל סיבה אחרת.
http://lwn.net/Articles/285254/
YDL PowerStation
מעניין איך שהיא נראית כמו עיצוב של IBM מבחוץ… אבל זה צעד בכיוון הנכון. מדובר כאן במפלצת. אבל נגיד והייתי מוותר על הפומפוזיות של SAS, טאואר מפחיד וקואד-קור PPC לטובת מעבד Cell? כאן מוכרים משהו אחר, שמיועד יותר להתחרות בתחנת עוצמה של דואל-קסאון לפחות (מתחיל מכ$1800 לפני זכרונות). לא שזה רע, אבל מה לגבי תחנות של עד $1000? פיצות של $2000? על זה אני מדבר.
עירא, הוכחתה את הטענה שלי בתשובה שלך: הבעיות היום הם באזור של הנדסת תוכנה ליתירות וסקיילביליות, ובכלל אירגון ניהול ושליטה על מערכת אנטרפריז מורכבת. זה לא באמת משנה מה החומרה מתחת (כל עוד היא לא פולטת יותר מידי חום). הבעיות היום הם ברמות אבסטרקציה שלא רואות את CPU.
כרגע נראה שמעבד Cell של שמונה ליבות וCore2Duo של שתיים עולים די דומה. הראשון רץ ב3GHZ ומעלה ואילו השני רקץ ב2GHZ ומעלה. גם אם נניח שליבה של סל לא חזקה כמו ליבת אינטל בדרייסטון, זה לא עדיף? שמונה ליבות במקום שתיים? תחשוב על קהל היעד של גיימרים – מכונה בעוצמה של PS3 או אולי יותר, שמריצה דסקטופ מלא… רגע, כבר היום אפשר לעשות את זה על PS3, רק שאין לו יציאת DVI ומארז להכניס לו עוד דיסקים…
ObHack?
Windows.
That's why – Microsoft broke their promise to support anything but 32 bit x86 (remember Digital Alpha?) so even though UNIX-based OS's supported it eventually the hardware didn't have enough market to match the economy of scale of 32-bit x86.
עירא,
אכן הכרתי רק את איטניום 2, ואכן אני לא בקיא בפרטים הטכניים עד הסוף. אבל: אני לא חושב שהוא נכשל כי הוא איטי. אני חושב שהוא נכשל *מאותה הסיבה* שמעבדי פאוור לא נכנסים חזק מספיק. ואני שוב חוזר לעניין של תאימות: לא רק שבינאריז לא רצים (או רצים באמולציה), במקרים רבים גם צריך לעשות התאמות בקוד.
לא בכדי אפל הפסיקו עם פאוור, HP הרגו את אלפה ואת PA-RISC, וגם SGI הרגו את הארכיטקטורה שלהם ששכחתי את שמה, יחד עם IRIX. סאן עוד מדשדשים עם ספארק והמצאות חדשות כמו ניאגרה, בהצלחה להם. הם הכינו לעצמם דרך מילוט עם AMD.
אני לא מבין למה אתה מתעלם מההיסטוריה, והדוגמה היפה ביותר היא אלפה שהייתה מתקדמת טכנולוגית מאוד וזה לא עזר לה. לפחות במחשבים (בניגוד לאמבדד) אנחנו תקועים עם x86 לעוד זמן רב.
לא חולק על כך ש- HP ליצנים, וברור שהיו לאיטניום פאקים (שאני מודה שאני לא מכיר), אני רק אומר שגם אם הוא היה מוצר טוב מאוד, הסיכוי שלו לעשות חדירה רצינית לשוק היה קטן מאוד. כל עוד הוא לא תואם אחורה Natively (לא אמולציה).
עידו: אני חולק עליך לחלוטין:
1. האיטניום לא יועד לפי.סי אלא לסקטור העסקי, בדומה לספארק וחברים אחרים.
2. לדעתי הבעיה היא לא ב- 64 ביט. 64 ביט כבר שם דריסת רגל ולדעתי תוך שנים בודדות יהווה את הרוב (אני מדבר על מערכות הפעלה 64 ביט, חומרה כבר כמעט החליפה לגמרי). אתה אולי מתוסכל מהחדירה האיטית, אבל לא משנה כמה לאט, ברור שה- 64 ביט ישתלט. עם איטניום המצב היה שונה לחלוטין, הוא פשוט לא הצליח להתרומם. יתרה מזו, אני לא רואה מדוע מעבר מ- x86_64 לאיטניום יהיה קל יותר כפי שאתה טוען? איטניום זו ארכיטקטורה שונה לחלוטין!
עירא – מקריאה נוספת, בתגובתי לא התייחסתי במדוייק לטענותיך. אתה טוען שהמעבד פשוט לא נותן תמורה לאגרה, וזאת בניגוד ל- CELL.
אני מקבל את מה שאתה אומר, ורק מוסיף שאני מסיק מהמפלה הגדולה והזועקת של האיטניום, שגם אם הוא היה מעבד *יותר טוב* בקני המידה הללו, כל עוד לא תהיה לו native x86 support, הוא לא יצליח להשתלט על השוק. מקסימום להראות נוכחות. זו דעתי, ואני מסיק אותה מהפרה-היסטוריה (אלפה) ומההיסטוריה הקרובה (אפל נוטשת את פאוור).
חברים, אני אולי לא מיקדתי את השאלות שלי. אני לא דיברתי על איטניום, CELL, או כל מעבד אחר מחליף מכונות ביתיות, אני מדבר על עולם השרתים, דיברתי על בליידים ועל פיצות 1U. למה אני יכול לקנות פיצה קואד קסאון בזיל הזול עם 8G זכרון, זוג דיסקים 500G ועדיין ישאר עודף מ8000 ש"ח, אבל אין שרת עם CELL שעולה אותו המחיר.
אחר כך פינטזתי על להפוך את PS3 לתחנה אבל זה סיפור נפרד…
ברור לי לגמרי שיש יותר מדי לגאסי של X86 וחלונות לא תעבור, אבל אין הרבה שמפריע לי להריץ דביאן או ג'נטו על יותר מעשר פלאטפורמות אחרות (נכון שחצי מהן מתות, הן לא הפואנטה).
כמה תיקוני היסטוריה:
– ההסתמכות של האיטניום על קומפיילר חכם, ובעיות אחרות, הם הדברים שרצחו אותו.
– הPPC לא ננטש ע"י אפל כי הוא לא פלאטפורמה טובה, להפך, הוא יצור מבריק, אבל יב"מ עברה להתרכז בCell ולא מיהרה להוציא גרסה ניידת של G5, וליוזרים נמאס ממהירויות G4 בלאפטופים, ולכן לא היתה ברירה אלא לחצות את הכביש ולעבוד עם אינטל.
– הMIPS של SGI עדיין חי בפלטפורמות מאומבדות פה ושם, יש לו עדיין דיזיין מבריק ופשוט ומאוד קל להתאים אליו סביבות חדשות. העובדה שלא מעצבים לו דורות חדשים לא אומרת שהוא לא מיוצר יותר וגרסאות חסכוניות שלו עדיין מחזיקות מוצרים מוטמעים מכל מני סוגים, אפליאנסים של צ'קפוינט, DVRים וכל מיני דברים בסגנון. SGI נפלה לא בגלל מעבדים אלא בגלל חוסר פוקוס שיווקי קיצוני. בשלב מסוים הם יצרו חומרות מבוססות 3 ארכיטקטורות שונות עם 4 מערכות הפעלה (לינוקס, אייריקס, חלונות וקריי יוניקוס. טירוף!). התאבדות כלכלית של חברה אימה מעידה על איכות הפלאטפורמות החיסוביות, אלא רק על הגב השיווקי שלהן.
– סאן גם הם חברה מוזרה שמרביצה לעצמה יריות לרגליים מדי פעם, ולא ברור איך הם עוד שורדים. קודם הם מכרו לוחות אם כדי שבוני תואמים ימכרו יותר פלאטפורמות סולאריס, אח"כ הם מחלקים את סולאריס כדי למכור יותר חומרה, ובינתיים הם מחלקים חופשי את ג'אווה שמייתרת גם את הסולאריס וגם את הספארק, ועכשיו הם נכנסים לעסקי מסדי הנתונים והאפליקציות כי כבר אין להם מושג ממה לעשות כסף. סאן גם היא לא דוגמא לכלום. האולטראספארק לעומת זאת הוא מעבד מעולה, עם באס מהיר והמון יתרונות על פני האינטלים, אבל מאז נסיון קצרצר של NT3.51 מיקרוסופט לא רצו לגעת בו, וסאן לא השכילו בזמן לחבק את לינוקס על הספארק, ולכן הוא הפך למעבד של חברה אחת ומערכת הפעלה אחת ומחירו בהתאם בגלל כמויות הייצור נמוכות. חבל מאוד כי הוא פלאטפורמה מנצחת בהשוואות טכניות.
– אלפא היתה מוצלחת אבל שוב – שיווק כושל, וקניה ע"י חברה עם מוצר מתחרה חרצו את גורלה. הFPU המצוין שלה ALTIVEC מצא חלקית בית חדש בצורת 3Dnow של האתלון/פנום/אופטרון, אז לפחות לא הכל אבד.
מה שאני מצטער עליו הוא שיב"מ עשו את הצעד המרתק של הכנסת הCELL למוצרים LOW END כמו הPS3, והראו שיש לו שימושים מחוץ למחשבי על, אבל לא ממשיכים עם הכיוון, כי הם יורדים מייצור חומרות LOW END בעצמם (ודי בצדק, הספינ-אאוט של מחלקת יב"מ בלנובו לבעלות מוחלטת של לנובו על העיצובים והייצור), ושוב השוק מפסיד הזדמנות. אני מקווה שיכנס כבר מתחרה כלשהוא ויציע תחנות CELL, או אולי אפפל תחזור ותוציא במקביל למכונות השולחניות שלה קו שכזה (הרי המערכת שלהם עדיין רצה על שתי הפלאטפורמות), כי אני מאמין שחבל שהעולם יעצור מלכת ותשרוד רק ארכיטקטורה אחת. זה יתקע את הקידמה.
I didn't even see this post before…
Cell is not likely going to be a desktop AND IS DEFINITELY NOT going to be a server platform. blade or otherwise.
people already talked about one reason, backward compatability, but there are other reasons
Apple was offered to use cell, and they declined. for apple it, theoretically made sense from a backward compatability issue to migrate to cell. so why didn't they?
The BIG problem with cell is that it was designed to do ONE thing well – floating point and media. have you ever looked at Cell's specs?
I'll give you one hint:
"
32 KiB data Level 1 cache and a 512 KiB Level 2 cache. The size of a cache line is 128 bits.
"
that would make a REALLY sucky computer for anything other then brute
force mathematics, these days. intel's fucking PENTIUM PRO had 512 level two cache (albite a 32bit one) – nearly 15 years ago!
intel's current chips have DUAL 6MB L2 cache's on the chip! that's an order of magnitude more cache memory.
I hear you say the could enlarge the cache… well… they theoretically could but that means that they would have to spend a lot of money on R&D for a processor architecture that nobody knows if is needed in the market place – moreover – the resulting chip would be MUCH more expensive to manufacture since that cache memory is what makes the cell relatively inexpensive in the first place – the die is much smaller then chips with a lot of cache memory on board.
repeat after me the first rule of semiconductor fabrication:
THE SIZE OF THE DIE IS WHAT MAKES A CHIP CHEAP OR EXPENSIVE.
so basicly the case against the cell is that in order to make the cell a real alternative to X86 in server and desktop markets the cell has to be changed in a way that will make it too expensive for any real benefit vs X86.
and another thing: you say that the itanium has no branch prediction – neither does the cell – it's all done in the compiler. cell doesn't NEED branch prediction in the CPU level for the tasks it needs to do – they are alwredy prefefined sonce those taskes are pretty well scripted (read: games) – and the develoment work is done using tools that SONY (and IBM) control…
read here:
http://en.wikipedia.org/wiki/Cell_(microprocessor)
the reason you get to hear about cell based supercomputers is simply because they are great of the kind of things supercomputers are usualy designed to do: crunch numbers.
database access performance with cell, for example, would be crap. caching – crap, etc..
raytracing, matrix calculations, and pumping pixels – great!
תהיתי באמת איך לא ענית פה מעולם.
אכן נכון שהמכונה הזו היא מטחנת מספרים, אבל כמה כוח עיבוד צריך בשביל שאר הטאסקים של המחשב? אי אפשר להריץ אופיס או פיירפוקס עליו? ועוד איך אפשר. יוזר ממוצע בימינו לא מנצל 1/100 מיכולות המחשב, אולי 1/1000. אני תורם את כל הסייקלים הפנויים שלי לפרויקטים על BOINC אבל רוב האנשים לא ירגישו באמת את ההבדל בין X86 לסל לעניות דעתי.
ואגב, הם כן מגיעים בבליידים, ויקרים בטרוף!
it doesn't matter that it's fast. as I said, the real problem is cache memory. or lack thereof.
if people will not notice the difference between cell and x86 (something I'm not sure about at all) why should people switch anyway?
if you are looking at a x86 alternative – I'd take a look at ARM, not cell.
herenot, אתה דמגוג 🙂
ההשוואה לגודל המטמון של ה-P-Pro היא כל כך לא במקום שזה כואב. המטמון של ארכיטקטורת ה-Netburst של אינטל היה ענק בגלל מגבלות טכנולוגיות של הארכיטקטורה (צינור פקודות ענק עם מעל 20 שלבים בחלק מהדגמים כשהחמצה ב-prefetcher עלולה לזרוק לפח המון CPU cycles). גם לקונרו יש מטמון גדול יחסית (4MiB L2) בעיקר כי אחרת הוא לא יכול להתחרות ב-AMD בביצועים אבל בו נשווה את ה-Cell לארכיטקטורה של המעבד שאותו קונרו היה אמור להביס – ה-K8 של AMD:
K8 פותח עם L1 של 128KiB ו-L2 של 512KiB – שזה כמעט בדיוק מה שה-Cell מציע (מטמון L1 בשבבים התומכים בהוראות x86 הוא בד"כ כפול ממה שה-Cell צריך בגלל שאתה צריך שני מטמונים – אחד לקוד ואחד לנתונים. ב-Cell בגלל צורה שונה של ניהול קוד – ספציפית אין תרגום של קוד מ-CISC ל-RISC, וכפי שציינת בעצמך אין branch-prediction- אז אין צורך במטמון כפול). לאורך הזמן ה-L2 גדל לעד 2MiB (שזה גם מה שיש ל-K10, הארכיטקטורת הורגי-קונרו של AMD) בעוד שה-L1 נשאר זהה.
חמור מזה – ל-Cell יש 8 מעבדים, ורק ל-CPU הראשי יש את המטמון שציינת. לכל אחד מהמעבדים המשניים יש עוד 256KiB של זכרון מקומי (לא מטמון ממש, אבל משמש למטרות זהות). אין שום מניעה שמעבד עם כמויות המטמון שיש ל-Cell יציג ביצועי desktop טובים, ובטח שאין מניעה להציג ביצועי server טובים, כמו שגם אין מניעה שאם יהיה ביקוש אז המטמון L2 יגדל ל-1MiB (שלא ייקר בצורה משמעותית את השבב, לא יצריך השקעה מהותית במחקר ויוריד אנשים כמוך מהעץ הגבוה).
הטיעון היחידי הלגיטימי נגד ה-Cell כמעבד לכל מטרה הוא באמת מהדרים שמותאמים לייצר קוד יעיל ל-Cell, מטרה שכנראה היא פחות קשה מלייצר קוד יעיל לכל מיליוני הצורות של x86 שקיימות היום בשוק (ביחד), ולראיה GCC 4.3 מציג תמיכה מובנית ב-Cell (ולא רעה בכלל, כך מספרים לי).
גם לא הבנתי מה הקשר לARM. מה שאמרתי זה שלמשתמש הממוצע, העבודה היומיומית באופיס ודפדפן תראה דומה, אבל ביצועי משחקים וגרפיקה יקפצו שבע רמות. אולי אני צריך לשתוק ולראות נתונים מספריים של סיצועיםINT וFLOAT לפני שאני זורק הערכות כאלו, אבל לפי מה שהבנתי הוא יתן ביצועים שאולי מתחרים עם ARM משודרג בלבד לדסקטופ (שזה מספיק טוב) אבל יזרח כמו משוגע כשזה יגיע לגראפיקה. להרבה אנשים זה Give&Take מאד קורץ.
דמגוג?
🙂
נו טוב. מבדיקה של הנתונים הסקתי את המסקנה שלי – ויש סיכוי לא נמוך שאני טועה. אני די רחוק מהתחום כיום.
"קונרו היה אמור להביס – ה-K8 של AMD:"
היה אמור?!
מי פה הדמגוג? 😉
"גם לא הבנתי מה הקשר לARM"
תחרות לארכיטקטורה x86.
arm היא פלטפורמה הרבה יותר נפוצה מppc.
אבל arm היא ג'אנק – אתה לא ממש יכול לקבל חווית שולחן עבודה מודרני עליה, והיא רק נפוצה במובן שיש יותר מכשירי מחשוב ניידים ממחשבי מק G3/4, מה שלא מפתיע- בהחלט סביר שיש יותר מכשירי מחשוב ניידים ממחשבי PC ביתיים.
כן, "האמור" היה קצת דמגוגי. אני אישית חושב שאין ממש הבדל – יש לי קונרו בעבודה ו-K8 בבית ואני לא יכול להגיד בשביל הצרכים שלי אני מרגיש הבדל משמעותי בביצוענים (והצרכים שלי לא כוללים משחקי מחשב תלת-מימדיים מודרניים, אבל כן כוללים קידוד וידאו).
עוד רציתי לציין שנראה לי ששניינו טועים בקשר ל-Branch prediction – נראה לי של-Cell יש כזה, מה שאין לו זה Out of order processing שבשביל לא לסבול מזה הוא צריך קומפיילר שיודע לעשות אופטמיזציה לסדר של הפקודות – שזה יותר קל ממה שזה נשמע אם אתה זוכר שהקומפיילר מוציא ישר "פקודות מכונה" בניגוד למצב ב-x86 שהקומפיילר מוציא הוראות CISC שאחר כך מתקמפלות במעבד שוב לסט הפקודות האמיתי של המעבד.