תמיכה לארכיטקטורת Zen 2 של חברת AMD התווספה ללינוקס

לינוקס 4.21 כולל בתוכו שדרוגים ואופטימיזציות חשובות לתמיכה בארכיטקטורת ה- Zen 2 הנמצאת במעבדי ה- Rome של חברת AMD. שבבי ה- 7nm EPYC Rome החדשים של חברת AMD מביאים ארכיטקטורה ייחודית לשולחן (בצורת הצ'יפלטים עליהם כתבנו כאן) שאמורה לאפשר נקודות מחיר נמוכות מאוד ועדיין להכיל מספר מרשים של ליבות (עד ל- 64 ליבות ו- 128 נימים), אבל, ארכיטקטורה חדשה מחייבת שדרוגים ואופטימיזציות חדשות, במיוחד לאור העיצוב הייחודי של חברת AMD.

מעבדי ה- EPYC Rome של חברת AMD יכנסו לשוק הרבעון הראשון של 2019, והם מביאים איתם עיצוב ארכיטקטורה פורץ דרך, אפילו יותר מהדור הראשון של EPYC Naples. חברת AMD משתמשת בדור השני של חומרי היצור, שאמורים להביא איתם שיפורים ברוחב הפס וכן ב- Latency, ע"מ לחבר בין מספר שבבים לשבב "בקרה" I/O של 14nm.

בקרי זיכרון ה- DDR4 של שבבי ה- Rome מתחברים כולם לשבב ה- I/O המרכזי. דבר זה יוביל למעט יותר Latency לכל השבבים המחוברים, אך ידאג כי לכולם תהיה את אותה ה- Latency ובכך יאפשר עקביות בביצועים. דבר זה אמור לעזור רבות בבעיה המרכזית של הדור הראשון, ואמור לתת מענה לבעיות עקביות הביצועים. כפי שניתן לראות, גם שבבי העיבוד בגודל 7nm מתחברים לשבב הבקרה המרכזי, ולכן הגישה בין השבבים לזיכרון המטמון עלולה להיות אף מסובכת יותר.

ליבת (Kernel) הלינוקס החדשה כוללת בתוכה את הרחבות ה- (Zen2 QoS (Quality Of Service המבקרות ושולטות בשימוש של משאבים מסוימים, כגון ה- L3 Cache. הרחבות אלו אמורות להוות גשר בין הארכיטקטורה החדשה לבין תוכנות קיימות פיתוח תוכנות חדשות. בנוסף, ישנה גם תמיכה לפקודות הקומפיילר החדשות ש- AMD הוסיפה ל- znver2 compiler בארכיטקטורת ה- Zen2 כגון (Write Back and Do Not Invalidate Cache (WBNOINVD), Read Processor ID (RDPID ו- Cache Line Write Back (ה- CLWB), כאשר הפקודה האחרונה מאפשרת תמיכה ב- (NVDIMMs (Non-Volatile DIMMs. באופן מפתיע הקומפיילר החדש לא תומך ב- ACVX512, אך תמיכה בפקודה זו, ועוד, ניתן תמיד להוסיף בשלב מאוחר יותר.