סקירה מקדימה: מעבד AMD EPYC ROME

בשבוע שעבר אינטל החלה לחשוף מספר נתונים על מעבדי על Cascade Lake AP שלהם. כשאני מדבר על "מספר נתונים", אני מדבר על פירורים ורמזים – הרבה מאוד מידע חסר. אינטל חשפה את המידע יום אחד לפני ש-AMD חשפו את מעבדי ה-EPYC החדשים תחת הקוד "ROME" (רומא, כל הקודים של מעבדי EPYC קשורים למקומות/ערים באיטליה).

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

נתחיל בקצת היסטוריה: ל-AMD היו מספר מעבדים לשרתים במשפחת Opteron. היתרון שלהם היה מחיר זול, אך החסרון שלהם היה בביצועים בהשוואה למעבדים של אינטל. בדרך כלל, מי שלא כל כך מעניין אותו הביצועים אך מעניין אותו כמות הליבות אלו חברות ה-Hosting שרכשו כמויות של שרתים כאלו (זה היה בתקופה לפני העננים הציבוריים). מאז ל-AMD לא היו פתרונות טובים ואינטל כבשה את השוק לחלוטין.

ב-2017, אחרי שההנהלה הוחלפה וד"ר ליסה סו נכנסה לתפקיד המנכ"לית, הציגה AMD את ארכיקטורת ZEN, ואת מעבדי ה-EPYC, ו-AMD הציגו את המעבד הראשון בעולם עם 32 ליבות, 64 נימים ותמיכה של עד 2 טרהבייט זכרון פר מעבד. מבחינת ביצועים, אם נשווה את ה-EPYC למעבדי ה-Xeon SP, מעבדי ה-EPYC של AMD מובילים ב-2 קטגוריות עיקריות:

  • וירטואליזציה, כולל VDI
  • קונטיינרים

ב-2 המקרים, מעבדי ה-EPYC נותנים יתרונות ברורים על פני מעבדי Xeon SP, הן במצב וירטואליזציה "קלאסי" (סטורג' חיצוני, מכונות VM רצות על ברזלים) והן בפתרונות Hyper Converged (סטורג', רשת, Compute – הכל רץ על הברזלים המקומיים). ב-VDI היתרון של EPYC הוא שניתן להכניס הרבה יותר סשנים/מכונות וירטואליות פר ברזל מבלי לשלם את המחירים הגבוהים של מעבדי Xeon SP. כשזה מגיע לעומת זאת לאפליקציות ופלטפורמות שרצים על הברזל כמו Deep Learning, AI, רינדור תלת מימד ועוד מספר דברים (או מכונת VM שמשתמשת ברוב הליבות) – היתרון למעבדי Xeon SP ברור (אם כי רק בדגמים של Gold ו-Titanium). הביצועים היו יותר נמוכים עקב הארכיקטורה של המעבד שנתנה ביצועי Latency יותר גבוהים, תלוי על איזה ליבות או פיסת סיליקון נופלים, דבר שלא משנה ממש בוירטואליזציה/קונטיינרים וניתן להגדרה בקלות עם CPU Affinity.

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

בתמונה משמאל נוכל לראות את המעבד בגירסה הראשונה: 4 מעבדים שמכילים את כל מה שצריך (I/O, PCIe, ניהול זכרון וכו') בתוך כל אחד מהם. בתמונה למעלה נוכל לראות תצורה שונה לחלוטין: כל מלבן קטנטן שרואים בתמונה (AMD קוראים להם Chiplets) הם פיסות סיליקון שמכילות כל אחת מהן 8 ליבות (וסך הכל 64 ליבות במעבד בקצה הגבוה) אך ללא הדברים האחרים כמו ניהול זכרון, I/O, PCIe ועוד. מי שדואג לכל הדברים הוא המלבן האמצעי הגדול – זהו ה-I/O מודול שכולל את כל מה שצריך בשרת, הוא מנהל את הזכרון מה-Chiplets ואליהם, תעבורה, חיבור למעבדים וציוד אחר ועוד. בשיטה הזו, מהירויות תעבורת הנתונים וה-Latency הם צפויים וקבועים. כך בעצם AMD מסירה מה-Chiplets כל דבר שאינו קשור ישירות לליבות והביצועים יותר גבוהים בהשוואה למעבדי EPYC מדור קודם: פי 2 בהשוואה לדור קודם בעבודות רגילות, ופי 4 כשמדובר על Floating Point. ב-AMD החליטו גם להיות הראשונים (במעבדי X86-64) לצאת עם מעבדים עם תמיכת PCIe 4.0 כך שרוחב הפס לכל כרטיס PCIe הוא כפול ושבב ה-I/O יוכל לתקשר איתם במהירות כפולה בהשוואה לכל מעבד של אינטל.

מבחינת תאימות, AMD מאוד אוהבת סולידיות (כמו הלקוחות שלהם) ולכן מעבדי ה-EPYC החדשים יכולים להיות מוכנסים לשרתים הנוכחיים, לעדכן BIOS/UEFI ולקבל גם את הביצועים הגבוהים וגם כמות ליבות גבוהה (עד 64 ליבות פר מעבד) באותו שרת, ו-AMD מבטיחים שגם משפחת ה-EPYC הבאה (שם קוד: "Milan" שתצא ב-2020) תהיה תואמת לאותה תושבת, כך שניתן יהיה לשדרג כל שרת קדימה.

בזמן הצגת המעבד, ב-AMD החליטו קצת להתעמר באינטל עם הדגמת C-RAY, זו תוכנה לחישובי תלת מימד שמשתמשת רק במעבד (לא ב-GPU), והם השוו מכונה עם 2 מעבדי Xeon SP 8180M (זה המעבד הכי גבוה שיש לאינטל להציע ללקוחות, עם 28 ליבות פר מעבד) מול מכונה עם מעבד יחיד של EPYC החדש, וזה נראה כך:

ה-Sales Pitch של AMD לחברות שמריצות פתרונות וירטואליזציה הוא כזה: מחירי המעבדים שלנו זולים ב-60% מהמעבדים של אינטל בקצה הגבוה. אתה יכול לחסוך חשמל, ניהול מכונות וחסכון ברשיונות וירטואליזציה (הם מדברים על VMWare, לא על הפתרונות של מיקרוסופט) בכך שתעבור לכמות קטנה של שרתים מבוססי EPYC החדשים. הוידאו כולו המציג את המעבדים החדשים, את 2 כרטיסי ה-GPU החדשים ל-Data Center, עננים וחסכון ב-Datacenter אפשר לראות בוידאו הבא (הקישור לוידאו מתחיל בחלק של החסכון, תרגישו חופשי לרוץ קדימה ואחורה בוידאו):

לסיכום: AMD הציגה פרטים על מעבדי ה-EPYC החדשים ו-AMD מראה שאין לה כל כוונה לרדת מה"מלחמה" מול אינטל בכל הנוגע לתחרות של מעבדים לשרתים (על מעבדים לדסקטופ – AMD תציג פרטים במהלך ינואר). ב-AMD הפיקו לקחים רבים מה-EPYC הראשון ושינו דברים רבים, אך יחד עם זאת חשוב להם לשמור על תאימות כך שלקוחות לא יצטרכו לזרוק שרתים רק בגלל שהחברה החליטה להחליף תושבת למעבד (דבר שאינטל משנה תדיר, מה שמקשה על שדרוג שרתים מבלי להחליף שרת). ישנם שינויים רבים ש-AMD ביצעה ל-I/O Chip שלהם שלא כתבתי עליהם ושיופיעו בפוסט עתידי.

על בחירת מחשב תעשייתי/מוקשח

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

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

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

ברכבים לדוגמא, כשהחלק יושב בסביבת המנוע, פתרון קירור רציני הוא חובה. קחו לדוגמא את הלוח של nVidia Drive PX2. רואים את 4 המעבדים? תנסו להפעיל את המערכת ללא איוורור ותראו את המערכת נכבית תוך שניות ספורות. במקרה של הלוח הזה, הפתרון קירור יחד עם הלוח נראה כך (התמונה עם לוח מהגירסה הקודמת):

  • סוג מעבד: במקרים של מחשבים תעשייתיים, את סוג המעבד יש לקבוע בהתאם לעבודה שאותו מחשב אמור לבצע. אין שום סיבה לרכוש i7 אם המחשב מבצע עבודה שמעבד עם ביצועים נמוכים יותר יוכל לעשות מבלי לפגוע בביצועים. בניגוד לדסקטופ, כאן בהחלט מומלץ גם לשקול מעבדים מבוססי ARM, מעבדי ATOM של אינטל, או EPYC Embedded של AMD.
  • חיבור ציוד עם USB: חיבור ציודים עם USB הוא בעייתי. בניגוד לחיבורים כמו VGA או DVI או Display Port שכוללים ברגים או מנגנון לנעילת החיבור, USB הוא לא החיבור הכי יציב, ולכן אם חייבים לחבר ציוד בעזרת USB, יש צורך לדאוג לפתרון בולם זעזועים מחוץ למחשב. ללא פתרון לזעזועים, המערכת תדווח בזמן עבודה על חיבור/ניתוק ציודים באופן תכוף.
  • אמצעי אחסון: לא מומלץ להשתמש בדיסקים מכניים. הדיסקים המכניים כוללים בתוכם בולם זעזועים, אבל אם הפתרון מצריך נסיעות בדרכים או עמידה בתנאים קיצוניים הכוללים תנועה, פתרון הבולם זעזועים הפנימי לא תמיד יפעל טוב (הבולם זעזועים מתאים למקרים של נפילה פיזית פתאומית אחת לזמן רב, לא כל מספר דקות). בעבר ההמלצה היתה להשתמש ב-SATADOM (שהוא בעצם Flash Disk שנכנס ישירות לתוך חיבור SATA ומצריך חיבור חשמל על לוח האם), אולם כיום מומלץ להשתמש ב-SSD בחיבור M.2 הכולל 2 ברגים לחיזוק החיבור. M.2 הרבה יותר אמין ועומד בכבוד גם בזעזועים על טרקטורים.
  • שימוש בכרטיסי PCIe: אין בעיה להכניס כרטיסי PCIe (יש מעט דגמים של מחשבים תעשייתיים המאפשרים הכנסת כרטיסי PCIe) בפתרונות הללו, אולם מומלץ אם אפשר – לחפש כרטיסי Mini PCIe עם אותה פונקציונאליות. כמו ב-M.2, הפתרון מוברג ומוחזק בצורה יותר טובה.
  • שימוש במאווררים: רוב המחשבים התעשייתיים הם מחשבים שקטים, ודרישת השקט מגיעה במקרים רבים מהלקוחות וכך יצרני אותם מחשבים עושים הכל על מנת שהמחשב יהיה שקט. יחד עם זאת, יש לעיתים צורך (בהתאם לתצורה) להחליף את המאווררים הכלולים במאווררים אחרים. הדבר האחרון שמומלץ הוא להשתמש במאווררים רגילים שעולים 30 שקל. יש צורך לבדוק את כמות ה-RPM וה-CFM ואז לרכוש את המאווררים המתאימים או לבקש מהיצרן מאווררים אחרים או המלצות על מאווררים אחרים. מאווררים שאינם תואמים עלולים לגרום לנזק למחשב.

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

ה"מפלצות" החדשות של אינטל

אינטל החלה לאחרונה לחשוף יותר ויותר פרטים על המעבדים החדשים מסידרת Cascade Lake לשרתים, אלו מעבדים שישבו תחת המשפחה "Cascade Lake SP" והמשפחה הזו תהיה היורשת של הדגמים מסוג "Skylake SP". בימים האחרונים הציגה אינטל פרטים ראשונים על נגזרת ממשפחת ה-Cascade Lake ואותה נגזרת נקראת Cascade Lake AP.

הסיפור (הלא רשמי) בכל מה שקשור ל-Cascade Lake AP (שמעתה פשוט אקרא לו בפוסט: AP) הוא פשוט: AMD הוציאה את מעבדי ה-EPYC שלהם עם גרסאות עד 32 ליבות. מעבדי ה-EPYC בנויים בעצם ממספר מעבדים שיושבים בחבילה אחת. כך לדוגמא, מעבד עם 32 ליבות מכיל 4 פיסות סיליקון שכל אחת מהן מכילה 8 ליבות.

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

עובדתית, הדברים אינם נכונים, מה גם שמבחינת ביצועים, המעבדים של AMD עוקפים את המעבדי שרתים של אינטל בכל הקשור לוירטואליזציה וקונטיינרים, אבל איך אומרים באנגלית: Water Under the bridge. מה שלא השתנה – זה שאינטל רוצה עכשיו להתחרות במספר ה-Cores מול AMD וכמובן לגרוף מכך רווחים רציניים. לגטימי? בהחלט.

מה שאינטל כן עשו, הם בעצם החליטו לעשות "Me Too" כמו ש-AMD עושים, רק עם שינויים. מעבדי ה-AP יהיו עם עד 48 ליבות. מה שאינטל בעצם עושים, זה לקחת 2 פיסות סיליקון של ה-SP (כלומר Cascade Lake SP) שכל אחד מהם עם 28 ליבות, לבטל לכל אחד מהם 4 ליבות, להכניס אותם לחבילה אחת (עם תושבת שונה ממה שיש כיום, ההערכות בשוק מדברות על LGA 5903), ובכך למכור ללקוח מכונה עם 2 מעבדים שתכיל בעצם 96 ליבות.

איך יבוצע החיבור בין הליבות עצמן ובין הליבות לבין המעבד השני? דרך חיבור שאינטל המציאה ומשתמשת ב-SP, שנקרא UPI. החלק של ה-UPI הוא חלק מאוד חשוב: חיבור לא אופטימלי יתן תקשורת יותר איטית בין הליבות ובין המעבדים, אבל לאינטל יש נסיון. כרגע לא ניתן ממש להרחיב לגבי ה-UPI במעבדי AP הואיל ואינטל לא פרסמה את התצורה שבה היא תפרוס את חיבורי ה-UPI (ופרטים רבים נוספים על הארכיטקטוטרה והמעבדים), וההערכות הן שאינטל תפרסם יותר פרטים בשבוע הבא, בכנס ה-Super Computing 2018.

השאלה שרבים ישאלו: לפי הפרטים המפורסמים, האם המעבדים האלו משנים דברים בצורה רדיקלית? הרבה יותר טובים ממה שקיים כיום מהצד של אינטל ובכלל?

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

אינטל גם הציעה מעבדים שמתאימים לשרתים עם תמיכה ל-4 עד 8 מעבדים (בעבר אלו היו מעבדי Xeon E7, כיום הם אותם מעבדי Xeon SP אם כי מסידרת ה-Gold או Platinum). הבעיה (שבגינה אני לא ממליץ לרכוש שרתים כאלו, ויש להבדיל בין שרת 2U/3U/4U עם 4-8 מעבדים לבין מארז Blade ששם הדברים שונים לחלוטין) המרכזית היא שה-Scaling שתצורות כאלו נותנות אינו נותן ביצועים ששווים את המחיר של שרת כזה. זה לא רק ש-חץ בן חמו לא ממליץ, זו המלצה שניתנת ע"י מאות ואלפי אנשי מקצוע בארץ ובעולם, ובגלל זה הרוב פשוט רוכשים שרתים עם מקסימום 2 מעבדים, ונראה שאינטל הבינו את הפואנטה עם מעבדי ה-AP, שם התצורה המקסימלית תהיה עד 2 מעבדים.

למי מיועדים המעבדים והמערכות הללו? ברוב המקרים, התשובה היא: לספקי העננים הגדולים ובמיוחד לאלו שנותנים שרותים של Deep Learning/AI. לשאר החברות, מחיר של שרת עם 2 מעבדי AP יהיה יותר גבוה מ-2 שרתים עם מעבדי SP בתוכם.

לסיכום: אינטל רוצה להיכנס למלחמת ליבות, ואני שמח שהיא לומדת מהמתחרה הקטנה שלה (AMD) דברים חדשים. אינטל כבר מייצרת את המעבדים עם 28 ליבות, אז לשים 2 באריזה אחת ולגבות כפול (פלוס) זה יכול להיות רווח מצוין. האם אתם, כצרכני שרתים, צריכים דבר כזה? האם זה שווה את המחיר? אני בספק.

התקציב השנתי ורכישת ציוד

יש חברות שכבר הספיקו לתכנן את תקציב ה-IT לשנה הקרובה, יש כאלו שעדיין יושבים על המספרים. כמובן שאצל כל חברה הדברים שונים, יהיו כאלו שירצו בשנה הקרובה להחליף שרתים, להחליף סטורג', אולי לרכוש PC חדשים, לשדרג ל-SSD, לעבור לתקשורת פנימית יותר מהירה (10/40/50/100 ג'יגהביט), וכמובן שיש את כל עניין הפלטפורמות: לעבור לקונטיינרים, הטמעת CI/CD, להתחיל לעבוד בתצורת AGILE, לשכור אנשים/חברות ללמד את העובדים טכנולוגיות חדשות וכו'.

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

נתחיל בסטורג' SDS.

את עולם הסטורג' לקצה התחתון עד הבינוני ניתן לחלק ל-2: סטורג' קנייני (כזה שמגיע עם "ראש", מדפים), וסטורג' מבוסס תוכנה (SDS – כלומר Software Defined Storage). אם תשאלו את אנשי השיווק של הסטורג' הקנייני, תקבלו הילולים מכאן עד הודעה חדשה כמה הוא יציב, וכמה "לא כדאי" לרכוש SDS. המצב במציאות – די הפוך. בואו נאמר שאתם הולכים להוציא $50,000 על פתרון סטורג' ואתם מבקשים מכל העולם והחתול שלו הצעות מחיר לסטורג'. רוב ההצעות שתקבלו – הם SDS, גם אם הם לא יקראו כך בכותרת.

באופן עקרוני, סטורג' SDS מבוסס בעצם על חלקים COTS (כלומר Common Off The Shelf), כלומר שרת SDS אינו שונה מהותית מכל שרת שיש לכם בחדר/חוות שרתים שלכם. יש בו זכרון, מעבדים, בקר דיסקים, דיסקים קשיחים, וכרטיסי רשת. 2 הדברים ששונים בין סטורג' SDS לשרת רגיל הם בקר דיסקים (בחלק מהמקרים יש SAS Expander ו/או בקר RAID יותר יוקרתי הכולל תמיכה ל-SSD Caching) וכרטיסי רשת לחיבור מהיר (10/40/50 ג'יגה). הדבר העיקרי שהופך את השרת ל-סטורג', זו בעצם התוכנה שרצה עליו.

אחת השאלות הראשונות שאני נשאל לגבי פתרונות כאלו זה "האם יש תמיכה מהיצרן שרתים"? והתשובה בדרך כלל היא "כן", כלומר אם תבקשו מ-HP או DELL או LENOVO פתרון תוכנה של סטורג', הם ישמחו למכור לכם את התוכנה, עם או בלי שרת שלהם. היתרון הגדול בשיטה זו הוא שאם ציוד כלשהו בשרת נדפק, אתה נמצא תחת אחריות מלאה וטכנאי יגיע אליך תוך 4 שעות או ביום העסקים הבא (בהתאם לחוזה שרות שחתמת), ואם יש לך שאלות או תקלות עם תוכנת הסטורג', תוכל לקבל תמיכה מהיצרן שרתים או מיצרן התוכנה, כך שאתה מכוסה מכל צד. אפשר להשוות זאת לרכישת ברזלים + רשיונות של vSphere – אני לא מכיר מקרים שלקוח נשאר ללא מענה לתקלות אם הוא תחת אחריות של יצרן השרת והתוכנה.

מבחינת ביצועים – אחת השאלות שאני תמיד מקבל מצד כל מיני חברות שמתעניינות בסטורג' זה משהו בסגנון "אני צריך פתרון סטורג' עם X טרהבייט ועם כמות Y של IOPS רציפים". עם SDS אין בכלל את העניין הזה. רוצה X טרהבייט? תכניס כך וכך דיסקים ואם נגמר המקום, חבר JBOD בחיבור SAS-HD2. רוצה IOPS? תגדיל כמות זכרון ותוודא שיש לך SSD מהירים כמו P4800X או 905P של אינטל או Z-SSD של סמסונג (זה במקרה הקיצוני שצריכים IOPS גבוה בכל מחיר) או כל SSD שהוא Mixed והוא נמכר לך ע"י יצרן השרתים שלך. סמסונג, אינטל, מיקרון, טושיבה – כולם מייצרים כאלו.

שרידות – אחת הבעיות הקשורות במחיר – היא שרידות High Availability בסטורג' קנייני, כלומר כשצריכים "2 ראשים" לקבל שרידות. המחיר של ראש שני – יקר מאוד! לעומת זאת, בסטורג' SDS, מדובר בעצם על עוד שרת, רכישת JBOD לדיסקים וחיבור ה-JBOD ל-2 השרתים והפעלת פונקציית HA בתוכנת הסטורג'.

מה עם ביצועי רשת ב-SDS? שרת חזק יחיד עם כרטיסי רשת במהירות גבוהה, יתן ביצועים גבוהים ומענה לחיבור כל התשתית שצריך. מנסיון אישי על שרתים שהקמתי, הגעתי ל-250 ג'יגהביט תוך חיבור 150 שרתים, חלקם ב-NFS, חלקם ב-iSCSI וחלקם ב-CIFS (הייתי יכול להגיע ליותר אם היתה לי מכונה יותר חזקה ויותר כרטיסי רשת), כך שפתרון SDS יכול לעמוד בעומסים בלי שום בעיה.

מחירים ו"חופש": כשרוכשים סטורג' קנייני, אתה בעצם רוכש ברזל עם כמות X של דיסקים וכמות Y של פונקציונאליות. רוצה עוד פונקציונאליות? תשלם. רוצה להכניס דיסקים אחרים? ברוב המקרים יאמרו לך ש"אי אפשר". ב-SDS לעומת זאת, אתה יכול להתחיל היום עם דיסקים של 4 טרהבייט (נניח) ולעבור מחר ל-10 טרהבייט, ובד"כ הרשיון של התוכנה כולל את כל האפשרויות במחיר, רק שהמחיר משתנה לפי כמות האחסון בפתרון (אם כי יש תוכנות שכמות האחסון לא משנה את מחיר הרשיון), כך שעם SDS יש לך יותר חופש להחליט איך להשתדרג ומה לשדרג – אתה מזמין מיצרן השרתים את החומרה שאתה צריך, מרכיבים את החומרה, מפעילים את המכונה וממשיכים לעבוד.

לסיכום: פתרון סטורג' SDS נותן לך הרבה יותר ואתה עדיין מקבל תמיכה מיצרן החומרה שאתה רוכש ממנו את הברזלים – אם זו נקודה קריטית עבורך. אפשר כמובן להקים מערכות כמו FreeNAS או ZFS על לינוקס (או על אחת מגרסאות הקוד פתוח של Solaris) אם אתה לא מעוניין לשלם על התוכנה ואתה מעדיף לסגור עם אינטגרטור חיצוני שיעשה את העבודה ויתן לך את התמיכה הרצויה. סטורג' קנייני בדרך כלל יעלה לך הרבה יותר בהשוואה לרכישת שרת כלשהו שיארח את פתרון האחסון ואתה תמיד יכול לגדול עם פתרון הסטורג' בהתאם לצרכים שלך מבלי לשלם סכומי עתק על כל שדרוג בהשוואה לסטורג' קנייני.

עוד על SDS כתבתי כאן וכאן.

ניתוח: רכישת רד-האט ע"י IBM

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

בהודעה לעיתונות של IBM ו-רד-האט, לא ממש דובר בהרחבה מדוע בוצעה הרכישה ומה היא בעצם עוזרת ל-IBM, למעט המילים "Hybrid Cloud". מה שלא הוזכר בהודעה לעיתונות הוא עניין השותפות ארוכת השנים של IBM עם SuSE. אחרי הכל, IBM מוכרת הרבה יותר מערכות עם SLE של SuSE מאשר פתרונות מבוססים של רד-האט (לפחות ממה שידוע לי). עכשיו ש-IBM רכשו את רד-האט, ל-IBM לא ממש תהיה סיבה להמשיך ולדחוף רכישת מוצרים של SuSE, הואיל והרווח ממכירת מוצרי רד-האט ע"י IBM עובר בעצם ל-IBM מהרגע ש-רד-האט היא יחידה של IBM.

אז בואו נדבר על Hybrid Cloud, נתחיל בחלק של הוירטואליזציה. בחלק הזה אין ל-רד-האט משהו לתרום ל-IBM. ל-IBM יש תוסף עבור מערכות vSphere ואני מתקשה להאמין שלקוחות IBM (שנחשבים מאוד שמרנים) יעבירו את התשתית שלהם מ-vSphere ל-RHV. אם ניקח את הפתרון האחר הקשור לוירטואליזציה של רד-האט (OpenStack), אז IBM בכלל לא צריכים את רד-האט. כמה חודשי עבודה של כמה מפתחים ו-IBM יכולים לשנות את OpenStack שיעבוד בקלות עם תשתית הענן של IBM בנוסף לתשתית מקומית. OpenStack בנוי במיוחד לתצורת "תוספים" שיצרנים שונים יכולים למכור והלקוחות יכולים להתקין בתשתית שלהם.

אם זה לא הוירטואליזציה, אז מה כן? הקונטיינרים.

ל-IBM יש נסיון עשיר בקונטיינרים (עוד משנות ה-70 של המאה הקודמת) ומערכות ה-Mainframe שלהם כבר כוללים תמיכה לקונטיינרים של Docker, RKT, ועוד. המערכות גם כוללות תמיכה ב-Kubernetes, כך שלהריץ קונטיינרים זו לא בעיה.

אבל מה שכן יש לרד-האט, זו מערכת OpenShift, מערכת שלא רק בנויה על Kubernetes, אלא היא גם מאפשרת דברים רבים נוספים הקשורים ל-CI/CD, אחסון וכו' (את רוב הדברים ניתן לעשות על Kubernetes עצמאית, ה-OpenShift מוסיף שכבת אבטחה, אותנטיקציה, Auditing ודברים נוספים שחברות נותנות) ולרד-האט יש גם ענן משלה המאפשר לאנשים וחברות לעשות מנוי ולהקים קונטיינרים בשניות בענן שלה ומה שיותר חשוב ל-IBM – יש יותר ויותר רכישות מנויים ל-OpenShift מצד חברות גדולות, ואם IBM תוותר על ה-Cloud Private שלה לטובת OpenShift ותעודד את לקוחותיה לעבור לפלטפורמה החדשה, אז IBM תרוויח מכך. מבחינת OpenShift, כמות השינויים שיהיה צריך לעשות על מנת לתמוך ב-Hybrid Cloud לא תהיה גדולה (יחסית).

מה שכן עלול להיות בעייתי (עם כל הכבוד ש-רד-האט תמשיך להיות "עצמאית" כיחידה (unit) ב-IBM זה ה"שוק התרבותי". ב-רד-האט תרבות העבודה שונה לחלוטין מאשר IBM. לכל פרויקט יש מספר מפתחים ואם למפתח יש רעיון איך להוסיף או לשפר דברים, הוא יכול לשוחח עם המנהל מוצר ואם המנהל מאשר – קוד לפונקציות חדשות יכנס לגירסה הבאה. ב-IBM לעומת זאת, בשביל להכניס פונקציונאליות חדשה – יש צורך בחתיכת בירוקרטיה ואישורים של כמה מנהלים, להכין ניירת, וכו'. איך המפתחים של רד-האט יעבדו בתרבות כזו? (שבסופו של דבר, אני מאמין, תיכנס ל-רד-האט, גם אם היא יחידה עצמאית) – שאלה מצוינת.

יש, לעניות דעתי כמה דברים שעדיין תלוים באויר ואין להם תשובה. מה יהיה בגורל CentOS? חוקית אין שום בעיה ש-CentOS תמשיך להתקיים הואיל והקוד של RHEL משוחרר תחת רשיון קוד פתוח, השאלה איך IBM תסתכל על כך והאם היא תפעל נגד העניין (אני מתקשה להאמין ש-IBM תנסה לפעול נגד CentOS). מה לגבי מוצרים אחרים של רד-האט, האם IBM "תהרוג" מוצרים של רד-האט שלא ממש מכניסים הרבה כסף? שאלה טובה. מה לגבי מוצרים שמתחרים במוצרים של IBM (כמו Ceph או GlusterFS שמתחרים ב-Spectrum Scale מהצד של IBM)? מה עם שיתופי הפעולה של רד-האט עם Azure או AWS או GCE? אחרי הכל – ל-IBM יש ענן משלה שמתחרה בעננים הציבוריים.

לסיכום: הרכישה הזו, לעניות דעתי, מרימה לא מעט גבות. אלו 2 חברות שונות לחלוטין מבחינה תרבותית, מבחינת מוצרים וקוד פתוח, ומבחינת פתרונות. זה ש-IBM מבטיחה ש-רד-האט תישאר עצמאית זה נחמד, אבל בסופו של דבר, אם נלמד משהו מהיסטוריית רכישות של חברות שונות שהבטיחו שהחברה הנרכשת "תישאר עצמאית" – בעל המאה הוא בעל הדעה ובלא מעט מקרים יש "דחיפה" מצד ההנהלה של החברה הרוכשת לשנות דברים אצל החברה הנרכשת.
אני מתקשה להאמין שנראה שינויים מהותיים במהלך החצי שנה הקרובה (יקח זמן שהרכישה תאושר על ידי גורמים שונים במדינות שונות) ורד-האט היא האחרונה שלא תעמוד בהתחייבויות שלה, כך שלעניות דעתי, חברות שחושבות לרכוש מוצרים של רד-האט, יכולים לרכוש אותם – ההתחייבויות יכובדו. מצד שני, יהיה כדאי כבר עכשיו לחברות כמו SuSE לפתח אפיקים חדשים, הואיל ואי אפשר לדעת איך השת"פ בין IBM ל-SuSE ימשיך, עכשיו ש-IBM רכשה את רד-האט ולרד-האט יש מוצרים מתחרים ל-SuSE.

אחסון נתונים – לאן אנחנו מתקדמים?

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

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

נפתח בכותרת ראשית: מלחמה. יצרני פתרונות SSD כמו אינטל, טושיבה, סמסונג, מיקרון ואחרים מתחילים להוציא דיסקים SSD מבוססי QLC NAND Flash (כלומר בכל תא ניתן יהיה לאחסן 4 בייטים של מידע) בכדי להתחרות ביצרני הדיסקים הקשיחים המכניים. היתרונות של SSD QLC על פני דיסקים מכניים:

  • ניתן יהיה לרכוש SSD בגדלים של עד 32 טרהבייט (פר דיסק) – בהשוואה לעד 14 טרהבייט דיסק מכני.
  • מהירות הכתיבה תהיה יותר מהירה ממהירות הכתיבה לדיסק מכני, אם כי לא בהבדל כה משמעותי כמו SSD MLC – זה יהיה בסביבות ה-800-1000 מגהבייט לשניה. מהירות הקריאה לעומת זאת תהיה בערך כמו SSD MLC – בערך 2 ג'יגהבייט לשניה.
  • טיפול בשגיאות יהיה הרבה יותר חכם בהשוואה לדיסקים קשיחים מכניים – והטיפול יהיה פנימי (עם Garbage Collection ו-TRIM).
  • הקץ לחיבורי SATA ו-SAS2/SAS3 – כל החברות מעוניינות להעיף זאת (אוקיי, חוץ מטושיבה) לטובת NVME.

הדיסקים הללו יצאו במהלך השנה הקרובה. שימו לב: במקרים מסויימים, גם אם יש לכם תמיכת NVME בשרת, לא בטוח שדיסקים כאלו יהיה ניתן להכניס אותם הואיל והעובי שלהם הוא 15 מ"מ (בניגוד לרוב הדיסקים SSD שהם בין 5 ל-7 מ"מ).

רוב האנשים שאומר להם את המילים "SSD עם QLC Flash" לא ממש יבינו את ההבדלים בין SSD רגיל ל-SSD QLC ולכן אני מציע להציץ בלינק הבא. כפי שתוכלו להבין מקריאת המאמר שם – אלו דיסקים שלא מיועדים להירכש במקום דיסקים SSD שנמכרים כיום, אלא מיועדים להחליף את רכישת הדיסקים המכניים.

מ-QLC נעבור לטכנולוגיה שאינטל כה גאה בה – ה-3D Xpoint. טכנולוגיה זו, למי שאינו מכיר – היא טכנולוגיית אכסון על שבבים, אך לא מדובר ב-NAND Flash אלא על פתרון קנייני של אינטל ומיקרון. SSD בטכנולוגיות כאלו יחזיק הרבה יותר זמן, מהירות הכתיבה והקריאה שלו שווה פחות או יותר למתחרים, אולם הטכנולוגיה "עוקפת" את המתחרים בכל מה שקשור ל-Latency או בשימוש בחלק מה-SSD כ-SWAP והוא מאוד מתאים לדברים כמו SQL אם אנחנו מעוניינים להצמיד SSD כזה למכונת VM (או להריץ על "הברזל").

למרות שאינטל מהללת את הטכנולוגיה – ברוב המקרים אצל רוב החברות, לא יהיה לה ממש שימוש, הואיל ושימוש ב-SSD כזה על פתרון וירטואליזציה כמו vSphere לא יתן יתרון גדול על מתחרים אחרים כמו סמסונג, מיקרון ואחרים (ב-SSD ל-Enterprise). בנוסף, אינטל מייצרת אותם בגודל די קטן: 280, 375, ו-750 ג'יגהבייט (שוב, בגרסאות Enterprise) במחיר הרבה יותר גבוה מהמתחרים, כך שאם רוצים להשתמש ב-SSD כאלו – מומלץ לחשוב ולקחת יעוץ. מצד שני, אם אתם בונים פתרון NAS, דגם 905P לדוגמא יכול לתת פתרון Cache הרבה יותר טוב מאחרים (שימו לב, שבשביל להשתמש ב-SSD כזה, צריך מכונה די חדשה, מהשנתיים האחרונות).

טכנולוגיה נוספת שתעניין חברות שמשתמשות ב-SQL ושצריכים ביצועי Read רצחניים, היא טכנולוגיית ה-Z-SSD של סמסונג. ה-Z-SSD עוקף בביצועים את ה-3D Xpoint של אינטל, אבל הוא הרבה יותר איטי בכתיבה.

מכאן נעבור לפתרונות אחסון קנייניים. ברוב המקרים בקצה הנמוך עד בינוני (תקציב של 5-6 ספרות בדולרים) הטכנולוגיות הם פחות או יותר אותן טכנולוגיות, רק שכל חברה נותנת שמות אחרים (די מזכיר מה שקורה בתחום השרתים) ואחת השגיאות שרבים נופלים אליה – היא המושג "AFA" (או All Flash Array). אפשר להשוות את זה למושג שיגיע מאיש שיווק של רכבים – "מכונית מפוארת". זה שפתרון Storage הוא All Flash יכול להטעות, בגלל שכל SSD יש לו מגבלות – בכמות כתיבה רנדומלית או Sequencial, חלקם הוא Mixed Intense אבל ברוב המקרים בהצעה הראשונה שתקבל ה-SSD הוא Read Intense, מה שיאיט את הביצועים בצורה ניכרת בעבודות דיסק כבדות.

בשנה הקרובה יהיו יותר ויותר הצעות AFA שמבוססים על דיסקים SSD TLC (ולא MLC שהוא הרבה יותר מהיר. ה-TLC יושב "באמצע" בין ה-MLC ל-QLC) ושיהיו Read Intense. בהצעות היותר גבוהות, סביר להניח שנראה לקראת סוף שנה הבאה פתרונות Storage גדולים יותר מבוססי SSD QLC – כאשר חלק מה-SSD יהיו TLC כדי "להחביא" ביצועי כתיבה איטיים. אלו שרוצים להקים פתרונות VDI גדולים – פתרונות Storage כאלו יאיטו ביצועים במקרים מסויימים (במיוחד אם מרימים כל דסקטופ כ-VM ולא כ-Session RDP לדוגמא).

עוד תחום שיקבל תאוצה בשנה הקרובה הוא ה-NVMEoF שעליו כתבתי בעבר. הפתרונות הללו יקרים (7 ספרות בדולרים) והם הרבה יותר מורכבים מפתרונות Storage קודמים. תחום נוסף שיקבל דחיפה ויכול לעניין את אלו שמחפשים פתרון Storage עם Scale Out – הם פתרונות קנייניים של Scale Out מ-EMC, NetApp, ואחרים אך לעניות דעתי אין להם הצדקת רכישה – יש מספר פתרונות Scale Out Storage שיכולים לרוץ על ה-Nodes עצמם מבלי לרכוש עוד Storage.

עוד פתרונות מעניינים שיגיעו לשוק (אבל אני מאמין שלא יכנסו לשוק הישראלי האולטרא-שמרן) הם פתרונות JBOF – מכונות שמזכירות JBOD אך עם SSD במקום דיסקים מכניים, שמחברים כל מכונה למספר שרתים עם כרטיס HBA וב-JBOF מגדירים כמות דיסקים שיוקצו פר שרת. יש גם פתרונות של מכונות שיכולות לקבל 45-60 דיסקים מכניים בגודל 3.5 אינטש וכוללות מעבד, זכרון וכו' ויכולות לשמש כפתרון Storage (אולם יש צורך בשדרוג תשתית הרשת ל-40-50 ג'יגהביט).

מצד הדיסקים המכניים אנחנו נראה בשנה הבאה דיסקים שעובדים עם מנועים כפולים (ומהירות גישה כפולה – בסביבות ה-450 מגהבייט לשניה) בחיבורי NVME והיצרניות כבר יציעו דיסקים שמגיעים לגדלים של עד 20 טרהבייט. יהיה מעניין לראות את התחרות מבחינת מחירים – בהשוואה ל-SSD QLC.

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

על לאפטופים וטריקים מכוערים

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

החברה הראשונה והראשית עם הטריקים הנבזיים הללו היא אפל. אפל תמיד טענה שהיא "מגנה" על הלקוחות מחלקים "מזוייפים" בכל הנוגע לתיקון מחשבים אישיים, אולם זהו שקר. לכו לכל טכנאי מחשבים עצמאי שמתקן מחשבי אפל ותראו שכל החלקים המורכבים ע"י הטכנאי אינם מזוייפים. במקרים רבים הרכיבים שמותקנים ע"י הטכנאי במחשב התקול הן רכיבים ממחשבי מק שפורקו מאותו דגם שהבאתם לטכנאי לתיקון. בכל גירסת מקבוק/מקבוק-אייר וכו' אפל עושה שינויים על מנת להקשות על הטכנאים החיצוניים (שאינם "מורשים" ע"י אפל – אצל טכנאי "מורשה" התיקון אם הוא אינו במסגרת האחריות [ותיכף אגיע לכך] יהיה יותר יקר ויותר ארוך כי אפל פשוט לא מאפשרת לטכנאים לקנות מלאי גדול של חלקים שמא הם ימכרו בשוק לטכנאים אחרים). אפל בעבר שינתה תושבת SSD מספר פעמים עד שהם החליטו שלעזאזל התושבת, מלחימים ישר את רכיבי ה-Flash, כך שאם יש תקלה בלוח אם – הלך לך כל המידע.

אני משער שקהל גדול של משתמשי מק יאמר ש"לי יש אחריות עם Apple Care, אפל מתקנים לי ללא תשלום". אז תרשו לי להציג משהו.

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

רוצים לראות דוגמא? הסתכלו בקליפ הבא:

אז אוקיי, אם תיתקלו בבעיה כזו, תפנו לטכנאי חיצוני. לא ביג דיל, נכון? אז זהו, שכאן אפל הכינה לכם הפתעה שנקראת שבב T2. אפל מתגאה בכך שהשבב החדש נועד לשמור בצורה מוצפנת על טביעת האצבע שלכם כדי שאם מחשבכם יגנב, לא ניתן יהיה לעשות בו שימוש או לגנוב כספים דרכו עם טביעת האצבע המאוחסנת (בהצפנה) בשבב. מה שאפל לא מספרת לכם שהם הוסיפו "תכונה" חדשה נוספת: בתוך אותו שבב T2, אפל מקודדת עתה מספרים סידוריים של כל הציוד שקיים בתוך המק, החל מבקר המקלדת, הפאנל תצוגה, מעבד גרפי, CPU וכו' – והכל מאוחסן בתוך ה-T2. התקלקל לכם המק והלכתם לטכנאי חיצוני? הטכנאי יוכל להחליף את החלק התקול, אולם המחשב פשוט לא יעבוד מכיוון שהמספר הסידורי של אותו חלק שונה ממה שמאוחסן על ה-T2, והדרך היחידה (כרגע) לטפל בכך היא ע"י תוכנה סגורה שאפל לא נותנת לאף אחד – שיודעת לעדכן את ה-T2 ובכך לאפשר למחשב לעבוד מחדש. במילים אחרות: אם טכנאי מחשבים יאמר לכם שתיקון התקלה (עד לאחרונה) מחירו 800 שקל ואפל דורשים 2500 שקל – תצטרכו לפנות לאפל ולשלם את המחיר המופרז, רק בגלל ה-T2.

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

לכן, אם אתם רוצים לרכוש בחברה שאותם עובדים (או לעצמכם) מחשב נייד, כדאי יהיה לשים לב לדברים הבאים:

  • בארץ אצל יבואני מחשבים (או חברות שנותנות שרותי טכנאות עבורן אותן יבואניות) – בקושי משתמשים במלחם. בדרך כלל מחליפים את החלק כולו, ולכן הדבר הראשון שכדאי לבדוק לפני קניית דגם ספציפי של מחשב – זה לחפש צילום לוח אם שלו ולראות שה-SSD הוא שליף (בין בגירסת מקלון או בגירסת דיסק 2.5 אינטש). בלי זה – כל תקלה תבטיח שהמידע שיש לכם במחשב הנייד – אבד.
  • ודאו שניתן להרחיב זכרון במחשב. הזכרון במחשבים ניידים אינו ECC ויכולים לקרות בו תקלות, ושוב – אם הזכרון מולחם ולא ניתן לשלוף את ה-SSD – המידע שלכם יעלם.
  • אם אתם קונים כמות גדולה של מחשבים ניידים עבור משתמשים שונים בחברה, תנסו לקחת אחד מהם ולהריץ עליו עבודות ש"חונקות" את ה-CPU ובסיום העבודה תבדקו בעזרת מכשיר מודד חום את הטמפרטורות בצד הקדמי (היכן שהמקלדת). אם הטמפרטורה מגיעה ל-50+ מעלות, חפשו דגם אחר – ההגנות הטרמיות במחשבים ניידים מסויימים אינן אחידות ויכול להיות שרכיבים מסויימים ישרפו לאחר עבודה מאומצת כל פעם לאחר מספר חודשים.
  • תבדקו סקירות עצמאיות של המחשבים הניידים שאתם רוצים לרכוש, לא רק את ניירות השיווק של היבואן.

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

על ליבות, נימים, אינטל, AMD

בשבוע האחרון נשאלתי ע"י מס' אנשים לגבי ליבות, נימים לאחר שפירסמתי לינק (שאפרסם אותו שוב בהמשך פוסט זה) מבחינת ביצועים. למען פוסט זה, אבהיר שכשאני מדבר על "נימים", אני מדבר על Threads, אינטל קוראת לזה HT (או Hyper Threading) ו-AMD קוראת לזה SMT (או Simultaneous multithreading).

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

מדוע אינטל מציעה את אותם HT מזה שנים רבות? התשובה לכך פשוטה: מחיר. במשך שנים רבות אינטל היתה די בודדה בצמרת (אם נשכח לרגע את Sun, אבל המכירות של Sun לשעבר היו קטנות לעומת המכירות של אינטל, לפחות ב-15 השנים האחרונות) ואינטל גבתה מחירים גבוהים מאוד על מעבדים שהיו בסופו של דבר קצת יותר משופרים ממעבדי הדסקטופ שלה (כשאני מדבר על "קצת יותר משופרים" אני מדבר על כך שיש יותר זכרון מטמון ועוד מס' דברים שאינטל לא רצתה שיהיו במעבדי הדסקטופ, כמו תמיכת זכרון ECC, או RAS וכו'). אינטל תמיד ציינה שיצור מעבדים מעל 4 ליבות הוא תהליך יקר עם תפוקה יותר נמוכה, ובכך הם צודקים, אז אינטל ניסתה בעצם "להיפגש באמצע" עם לקוחות, בכך שהם הציעו את ה-HT. אינטל נקטה עוד כמה צעדים שיווקיים כמו "עידוד" היצרנים לייצר לוחות אם בעלי תושבת מעבד כפולה גם אם הלקוח רוצה מעבד יחיד ואין לו כוונה להוסיף מעבד (כיום זה מעט פחות רלוונטי מכיוון שיצרני השרתים מייצרים גם דגמים עם תושבת אחת).

אינטל, בשונה מ-AMD, מייצרת את המעבדים שלה כך שכל הליבות יושבות על פיסת סיליקון בודדת (במעבדי Xeon ישנים בעלי 3 ספרות, היו 2 פיסות סיליקון). ב-AMD לעומת זאת, הלכו על שיטה שונה לגמרי: בכל פיסת סיליקון ישנם 8 ליבות (בגרסאות מעבדים עם פחות מ-8 ליבות הם מבטלים ליבות עם מיקרוקוד), ובמעבדים כמו Threadripper ו-EPYC הם פשוט שמים עד 4 פיסות סיליקון (שנקראים CCX) ומשתמשים בטכנולוגיה שנקראת Infinity Fabric כדי לקשר בין הליבות במהירות של 100 ג'יגהביט לשניה. כך AMD יכולה למכור ברבע עד חצי מחיר מעבדים עם אותה כמות ליבות כמו אינטל.

כפי שציינתי לעיל, ברוב המקרים ל-HT אין יתרון. היכן בעצם יש יתרון (חלקי)? כשאנחנו מעוניינים "לנעוץ" מכונת VM לליבה לוגית (מה שנקרא CPU Affinity) או כשאנחנו מעוניינים להצמיד Process מסוים לליבה לוגית (בתוך ה-OS) כדי לקבל את כל אותם משאבי הליבה הלוגית. שם – יש יתרון ויש יותר גמישות כי יש לך "יותר ליבות".

עוד מקום שיש לו יתרון קטן ל-HT/SMT הוא דווקא בתחום ה-VDI. אם ניקח לדוגמא מערכת Windows ונפעיל אותה על VM, הליבה תהיה עמוסה (יחסית) בזמן ש-Windows עושה Boot, מעלה דרייברים, שרותים, ואפליקציות שונות, אולם מהרגע שהמשתמש ביצע Login והפעיל את האפליקציות שלו, הליבות די "משתחררות" והעומס יורד. מדוע ציינתי "יתרון קטן"? כי אם נרים פתרון VDI של מאות מכונות וירטואליות, שרתים עם כמות ליבות קטנה (פחות מ-16 ליבות פיזיות בכל השרת) ו-HT יתנו ביצועים נמוכים יותר בעת הפעלת מכונות ה-Windows הוירטואליות, וצריכת החשמל תהיה יותר גבוהה.

באתר Phoronix ישנו מאמר שמראה מה קורה אם אנחנו רוצים להריץ אפליקציות Multi Threaded על כמות ליבות שונה, החל מ-2 ליבות (ללא HT) ועד 64 ליבות פיזיות – והשוואה של התוצאות כשמפעילים HT/SMT. המבחנים בוצעו על שרת R7425 של DELL עם 2 מעבדי EPYC  של AMD והפצת לינוקס, אך התוצאות יהיו פחות או יותר זהות על מערכת עם מעבדי אינטל.

לסיכום: האם כדאי לכבות את ה-HT? כן, אם יש לכם מכונות VM עם ליבות מרובות או שאתם מריצים דברים "על הברזל" ואותן אפליקציות הן Multi Threaded. אם לעומת זאת, מכונות VM לא ממש מנצלות את הליבות עד תום או שהאפליקציות הן Single Threaded, אז HT לא ממש יפריע. בתחום ה-VDI לעומת זאת, כדאי לשקול לבטל את ה-HT – אחרי בדיקות ביצועים (יש הבדלים שונים בין פתרונות VDI הקיימים בשוק).

דעה: כמה מילים על פרשת הריגול ו-Super Micro

עדכון בסוף הפוסט

היום התפרסמו מס' מאמרים על "פרשת ריגול חמורה" שקרתה אצל מספר ספקי ענן (אמזון, אפל) ואפילו ה-CIA. למעוניינים, הנה לינק לכלכליסט, דה-מרקר, והמקור – בלומברג.

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

כשאני מסתכל על עולם השרתים, אני מחלק אותם ל-2. רוב השרתים שנרכשים בישראל ובחברות Enterprise אמריקאיות רוכשים שרתים, הם רוכשים אותם מחברות כמו Dell, HPE, Cisco, Lenovo, Fujitsu ואצל האירופאים יש גם את Siemens, Huawai ועוד כמה. את כל אלו אני מכניס תחת קטגוריית "פתרון שרתים רגיל".

לעומת זאת, אצל חברות מחשוב ענן (גוגל, פייסבוק, אפל, אמזון, מיקרוסופט, אקמאי ועוד כמה) הכל שונה. בחברות רגילות ירכשו שרת בגודל 1U ובחברות ענן לא יהיה דבר כזה – יהיו לפחות 4 שרתים במארז 1U. אין ספק כח (או זוג ספקים) בכל שרת – הם פשוט יזרימו את המתח שצריך ישירות, פתרונות האוורור/קירור שונים, אין מתגים/סוויצ'ים של ג'וניפר, פורטיגייט, סיסקו ואחרים – אלא מתגים "תוצרת בית" מבוססי לינוקס שמשתמשים במעבד כמו של Avago בסוויצ' לעשות את העבודה + מעבד אינטל מהקצה הנמוך ללינוקס. אין סטורג' כמו NetApp או EMC ואין אחסון מקומי (למעט במכונות מסויימים ללקוח – אחסון שנמחק מיידית ברגע שהלקוח מסיים את העבודה עם המכונה) בשרתים. לא משתמשים בדיסקים ל-Enterprise בשום מצב (כי זה סתם מייקר את העלויות) ומה שהכי חשוב – בדרך כלל אצל ספק הענן מתכננים את כל הלוחות והדברים מוצאים החוצה לייצור (בכמויות של מינימום כמה אלפים, אחרת אין עיסקה). בד"כ מי שמייצר את הדברים הללו הם חברות כמו Super Micro, Compal, WyWinn ועוד מספר חברות סיניות או שהייצור שלהם בסין. רוב הטכנולוגיות והתוכניות ללוחות אם מופיעות תחת רשיון בקוד פתוח בפרויקט OCP שמשותף לכל ספק הענן. כמעט כל הטכנולוגיות הללו לא מופיעים אצל יצרני פתרונות שרתים רגילים מכל מיני סיבות (במיוחד רווח של היצרנים).

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

כפי שתיארתי לעיל, כמעט כל אותן חברות ענן מתכננות In House את הלוחות לשרתים ולשאר הציודים. הם מעבירים את התוכנית ליצרן, היצרן מעביר את הייצור לסין (כי בארה"ב ובשאר מקומות בעולם או שאין תשתית או שזה יקר מדי והלקוחות לא ממש רוצים לשלם פרמייה יקרה רק שזה ייוצר בארה"ב). בהתחלה מעבירים תוכנית לאב טיפוס (תהליך סופר יקר!) – חוזרים מס' לוחות בודדים עם הרכיבים ואותם לוחות עוברים בדיקות. במידה ויש בעיות, ייצרו שוב אב-טיפוס נוסף (וכמה אנשים יחטפו על הראש), הלוח המיוצר חוזר ללקוח, עובר בדיקות, ואם יש אישור QC מלא, מוציאים אישור הזמנה לכמה אלפי עותקים. כאן יכולה להיות בעיה שאף אחד מצד הלקוח לא בדק מה הרכיבים שיש והאם יש כל מיני דברים שנוספו (ואני בטוח שכבר 3 שנים החברות הללו הפיקו את הלקחים והם בודקים עם מיקרוסקופ).

עכשיו נעבור לצד של היצרן הסיני. לוח אם באופן עקרוני מורכב ממס' שכבות של כל מיני פסים מוליכים (ובאנגלית זה נקרא Traces). על יצור לוח האם עובדים כמה וכמה אנשים והלוח מורכב מאותם שכבות, יש את עניין הצביעה, הרכבת רכיבים וכו' (מי שרוצה לראות קליפ איך בונים לוח אם, יכול לראת זאת בקליפ הבא). היכן נכנסו המרגלים הסיניים? ב-2 שלבים: בשלב שינוי Traces באחד מהשכבות לוח אם ובשלב השני של הרכבת הרכיבים. חשוב לזכור: תנאי סף הקבלה לעבודות כאלו הם נמוכים מאוד (וכך גם השכר). אתה לא חייב להיות עם ידע על אלקטרוניקה אפילו, כך שסביר להניח שהממשל הסיני הצליח לשתול 2 (או יותר) אנשים משלו בלי שום בעיה (יש תחלופה גבוהה של עובדים, בגלל התנאים).

האם חברת Super Micro ידעה לגבי העניין? אני מוכן להמר שלא, ואני מאמין שגופים כמו ה-CIA ואחרים שמשתמשים בענן המאובטח של אמזון, ה-GOV Cloud) שמקבלים דיווח על נסיון חדירה כזה והיו מוצאים שהנהלת Super Micro (שהיא חברה אמריקאית) – ההנהלה היתה ממזמן מבלה כבר בכלא, כך שסביר להניח שגופי הבטחון האמריקאיים חקרו ומצאו שלהנהלה האמריקאית לא היה מושג ירוק לגבי העניין.

עכשיו לגבי ה-So called "פריצה".

מכיוון שאף אחד לא פירסם איך אותו מיקרו שבב חובר ללוח האם ולאיזה שבב או רכיבים – קשה לדעת מה בדיוק תפקיד השבב, אבל אם יש משהו אחד (במיוחד ב-GOV Cloud ובעננים כמו באמזון) שאין בשרתים – זה גישה חופשית לאינטרנט. כל מי שהקים אי פעם VPC (חוץ מברירת המחדל) באמזון יודע שברירת מחדל – אין לך גישה לאינטרנט, וכך גם בשרתים עצמם – אין גישה לאינטרנט. כשאתה מקים Instance ואתה מריץ אפילו פקודת ping 8.8.8.8, אותו ping עובר דרך כמה שרתים וכמה ניתובים עד שהוא יוצא החוצה, ולשרת שמריץ את אותו VM אין מושג ירוק מהיכן זה יוצא – הוא מעביר את הבקשה ל-hop הבא ומשם זה ממשיך ובחזרה.

נמשיך: אותו מיקרו שבב לא יכל לעשות הרבה מהסיבה הפשוטה שכל ספק מריץ מערכת אחרת, מודולים שונים, ה-TCP/IP לפעמים מבוצע בשרת ולפעמים מבוצע בכלל כ-Offload על שבב יעודי בכרטיס הרשת. בנוסף, כשמדובר בלינוקס או VMWare, המודולים חתומים כך שכל נסיון שינוי שלהם יגרום להם פשוט לא לעלות. נוסיף על כך שבמכונות האלו אין UEFI שדרכו ניתן להיכנס (יש Core Boot, כל הספקים מספיק חכמים לזרוק את ה-UEFI המעפן לפח!) וגם המודולים של Core Boot חתומים, שינית? אין Boot לשרת.

בקיצור, בניגוד למצב של הרבה חברות שכמעט לכל מכונה יש גישה דרך סוויצ' ב-Firewall החוצה, אצל ספקי ענן אין את הדברים הללו, כך שעם כל הכבוד לנסיון הסיני, אני מאמין שהטריק הנבזי הזה נכשל (במיוחד בענן GOV Cloud ששם אין אינטרנט בשום מצב). מי שאכל אותה מזה היתה חברת Super Micro שהפסידה חוזים ולקוחות, ואישית, כאחד שמדי פעם משוחח עם החברה – זו אחת החברות שהכי כיף לעבוד איתם ולמצוא אצלם פתרונות שאין אצל אף אחד אחר בשוק החופשי (ואפשר להתכתב באנגלית מבלי לקבל תשובות באנגלית ברמה של כיתה ה').

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

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

על PLX, שרתים מיוחדים ומחשבים תעשייתיים

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

כיום יש בחלק קטן מהמקרים דרישות לשרתים שונים. אחד הפופולריים לדוגמא הוא שרת שיכול לקבל כמה שיותר GPU לצרכי Deep Learning או AI. ברוב השרתים מהיצרנים הידועים ניתן להכניס בין 1 ל-4 כרטיסי GPU. מדוע זה נעצר ב-4 GPU? הרי תמיד אפשר לבנות שרת בגודל 3U ולדחוף בו עד 8 GPU בקלות (ואם מתאמצים – ויש כמה דגמים כאלו בשוק – גם 10 GPU). הסיבה לכך (לדעתי) היא המחשבה של רוב היצרנים שאם אתה רוצה לדחוף 8 כרטיסי GPU – עדיף שתקנה 2 שרתים שבכל אחד מהם יהיה 4 כרטיסי GPU. השיטה הזו עובדת מעולה על רוב החברות, אבל ממש לא עובדת על חברות ענן.

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

תכירו את השרת הבא: 3U8G-C612 מחברת Asrock Rack (לחצו להגדלה):

כפי שאתם יכולים לראות, השרת נראה מעט .. מוזר. לא רואים את ספקי הכח (הם נמצאים מתחת ללוח האם, יש 4 ספקי כח אימתניים), והמאווררים נמצאים באמצע, לא בחלק השמאלי כמו רוב השרתים. כמו שאנחנו רואים, יש לנו 8 כרטיסי GPU.

מי שיציץ במפרט הכללי של מעבדי Xeon SP, יגלה שיש לנו בכל מעבד עד 48 נתיבי PCIe, כלומר יש לנו סה"כ (ברוטו) 96 נתיבים. לעומת זאת יש לנו 8 כרטיסי GPU שכל אחד מהם משתמש ב-16 נתיבי PCIe. חישוב פשוט של 8 כפול 16 שווה 128, אבל אין לנו 128 נתיבים, שלא לדבר על כך שכל פיפס דורש מס' נתיבי PCIe: ה-Chipset דורש 4, כרטיס רשת 10 ג'יגה דורש בממוצע 8, בקר ה-RAID דורש גם 8, ויש עוד כמה ציודים שגם הם דורשים מס' נתיבי PCIe.

אז איך ניתן לכולם וגם נספק 128 נתיבי PCIe לכל הכרטיסים?

לשם כך ישנה טכנולוגיה שנקראת PCIe Switching או כפי שהיא יותר מוכרת בתעשיה: PLX.

מה שה-PLX עושה בעצם, הוא יוצר מעין "מתג" בין מספר תושבות PCIe, ובכל פעם הוא מעביר למערכת מידע מכרטיס אחר. כך לדוגמא ישנם דגמים שיודעים לעשות סימולציה של 2 או 4 תושבות PCIe X16 ואותו PLX ממתג בין ארבעתם ומעביר את כל הנתונים הלוך וחזור בין המעבד לכרטיסים, כל זאת בשעה שהמערכת עצמה מודעת לכך שיש 4 כרטיסים (נניח) אבל המעבד מקבל כל פעם נתונים מכרטיס אחד. לשיטה הזו יש יתרון עצום בכך שאפשר להכניס הרבה יותר ציוד במחשב, אם כי המחיר שלה היא איבד מועט של מהירות (בסביבות ה-50-80 ננושניות).

שיטת ה-PCI Switching גם עובדת חיצונית. נניח ויש לנו מערכת vSphere עם מספר שרתים ואנחנו צריכים לתת למספר מכונות VM כרטיס GPU יעודי. אם נתקין GPU בשרת פיזי שמריץ vSphere לא תהיה לנו אפשרות לעשות Migration של המכונה לשרת אחר או Fault Tolerance. עם PLX לעומת זאת, אנחנו יכולים להקים מכונה כמו בתמונה לעיל, ולמפות בעזרת ציוד PCI Switching (שיושב "באמצע" בין השרת לשרתי ה-vSphere – כולל כבלים כמו SAS HD בין הציודים לשרתים) כרטיס ספציפי ל-VM ואנחנו יכולים להעביר ב-Live את הציוד בין מכונות ה-VM. (אגב, לאלו שחושבים לאמץ את הטכנולוגיה – היא יקרה, מאוד!)

כך, בקרוב, השרתים החדשים מבית DELL, Cisco ו-HPE יאפשרו ללקוחות להכניס בכל תושבות הדיסקים – SSD NVME. כל NVME דורש 4 נתיבי PCIe כך שאם אנחנו יכולים להכניס 24 דיסקים SSD NVME, נצטרך 96 נתיבים שאותם ב"טבעי" אין לנו ולכן ב-Backplane של השרת יהיו 2 שבבי PLX שישתמשו ב-32 נתיבי PCIe ואת זה אין שום בעיה ל-PCIe לתת. אגב, אינטל מאפשרת עד 96 נתיבי PCIe ו-AMD נותנת .. 128 נתיבים. יום אחד אולי אצליח להבין מדוע אינטל כה "חוסכת" נתיבי PCIe… אגב: שרתים מבית SuperMicro, Tyan, ASRock Rack כוללים כבר פתרון כזה מזה שנתיים וחצי…

משרתים נעבור למחשבים תעשיתיים. אלו מחשבים שאמורים לעמוד בתנאים קיצוניים של רעידות, חום קיצוני (עד 60 מעלות בזמן עבודה). בחלק מהמקרים המחשב, כשפותחים אותו, נראה כמו PC רגיל, ובחלק מהמקרים המחשב מורכב מלוח אם שהוא כמעט ריק ויש בו תושבת אחת ארוכה ועוד תושבות PCIe X16 ו-PCIe X8. המחשב עצמו יושב ב-90 מעלות אנכית בתושבת הארוכה (שמזכירה תושבת Riser בשרתים) והציודים מתחברים לאותו לוח אם. אחת הטעויות הנפוצות שיבואנים לא מודעים (וחלק מחברות האינטגרציה לא מודעות) היא שפתרון שאינו כולל PLX הוא מוגבל. ברוב המקרים במחשבים תעשייתיים יש מעבד i5 או i7 או Xeon E3 מכילים כמות קטנה של נתיבי PCIe! כך לדוגמא אם מכניסים GPU אז הוא משתמש ב-16 נתיבים ומעבד כמו Xeon E3-1585 v5 מגיע עם .. 16 נתיבים בלבד. אם לא מכניסים GPU, אז אנחנו יכולים להכניס 2 כרטיסים שמשתמשים כל אחד מהם ב-8 נתיבים או כרטיס של 8 נתיבים וכרטיס של 4 נתיבי PCIe, כך שאם בונים מחשב תעשייתי עם ציוד רב שצריך להתחבר אליו (GPU, בקרים – לא ב-RS232, חיבורי USB, חיבורים קנייניים וכו') אז חובה לחפש פתרון שכולל PCIe Switching.

לסיכום: ישנם תצורות נוספות של שרתים שיכולים לסייע לנו בכל מיני דרכים, שיצרני ציוד רגילים לא תמיד מוכרים. אם אנחנו רוכשים ציוד שאנחנו צריכים להכניס אליו ציודים רבים נוספים, חשוב לבדוק אם יש בו פתרון PCIe Switching, אחרת המחשב אפילו לא יפעל. הטכנולוגיה הזו  גם יכולה לסייע כשיש לנו צורך לחבר ציודים מסויימים כמו SSD NVME או GPU ממכונה יעודית אחת לשרתים אחרים מבלי שנצטרך להחליף שרתים. כדאי להתייעץ ולבדוק מה הצרכים והאם פתרונות כאלו יכולים לסייע לכם.