היכן השרתים מבוססי ARM?

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

תחשבו על כל אתר שיש לו כמה אלפי משתמשים ומעלה. יש שרתי DB ויש שרתים שמריצים את האפליקציות. שרתים אלו ימשיכו לרוץ עם מעבדי Xeon כי המעבדים האלו נותנים תוצאות מעולות מבחינת ביצועים, אולם יש גם שרתי Front End, אלו מגישים בד"כ לדפדפני הגולשים תוכן שהוא כבר מעובד – תמונות, JS, HTML וכו', כלומר שרתים אלו אינם מריצים עיבודים רציניים וכל העיבודים הרציניים נעשים על ה-Back End. היתרון בתצורה כזו היא שאתה חוסך גם בחשמל בצורה ניכרת וגם בקירור (עם ARM בד"כ תצטרך קירור פאסיבי או מאוורר קטן או 2, תלוי כמובן מה הציוד שיש באותו שרת).

נשמע טוב, אז מדוע אין שרתים כאלו?

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

ARM כבר שחררו מפרט ארכיטקטורה למעבדי 64 ביט (ARMv8-A) וגם מפרט ל-2 מעבדים: ה-A57 ו-A53. שוב, אלו אינם מעבדים שלקוחות יכולים לרכוש אלא רק תכנונים ומפרטים שחברות יצרני חומרה רוכשים רשיון, מוסיפים דברים משלהם למעבד (אם בכלל) ומשלבים בציוד שאותו בסוף הם מוכרים ללקוחות.

ואז מתחילה בעיה רצינית שהיתה קיימת לפחות בשנתיים האחרונות.

תסתכלו בכל שרת שיש לכם, ותגלו שלמרות השינויים בין יצרן אחד למשנהו, השרתים הם די זהים ברמת המאקרו. לכולם יש ACPI, לכולם יש BIOS (החדשים כבר מגיעים עם UEFI), ויש פורט רשת לניהול השרת (IPMI). החברות כמובן בונות דברים מסביב כדי לייחד את השרתים שלהם, בין אם זה שילוב ב-AD שקיים ב-Corporate, מערכת ניהול אחידה לכל השרתים ודיווח על תקלות חומרה ועוד, אבל בסופו של יום, התקנת מערכת הפעלה וחיבור השרת נעשה בצורה זהה על כל השרתים, כך שאפילו טכנאי מתחיל יכול להרים שרת בצורה די קלה (טוב, חוץ מההגדרות הפנימיות, ששם עדיף שאיש סיסטם יגדיר).

בעולם ה-ARM לעומת זאת, לא היה שום דבר מהדברים הללו. כל יצרן עם הקושחה הסגורה שלו, אפילו ה-BOOT היה במקרים רבים שונה בין יצרן ליצרן ומבחינת מיפוי חומרה, כתובות וכו', כל חברה לקחה את זה בכיוון אחר, כך שלא היה שום מכנה משותף. בעולם הסמארטפונים והטאבלטים, כל חברה שרצתה לייצר מכשיר אנדרואיד, היתה צריכה לעבוד עם המפרטים והסטנדרטים שגוגל יחד עם חברי ה-Open Handset Alliance קבעו, כך שכיום ציודים כאלו מבחינת רכיבים די זהים אחד לשני (למעט מעבדים ומסכים שונים אך תואמים לסטנדרט)

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

המסמך הראשון שיצא ליצרנים הוא מסמך ה-SBSA (ר"ת Server Based System Architecture) והמסמך מתאר את הארכיקטורה ומה יצרנים צריכים להכניס בצ'יפ ויותר חשוב – בלוח אם. אין יותר הגדרות יחודיות פר יצרן.

המסמך השני שיצא שבוע שעבר הוא מסמך ה-SBBR (ר"ת Server Based Boot Requirement) ובו נקבעו החלקי תוכנה והמפרט קישוריות בין החומרה לתוכנה כחובה. דברים כמו UEFI (גירסה 2.4, לשמחת מיקרוסופט), ה-ACPI שמלווה את ה-PC יובא אל מערכות ARM (גירסה 5.1), ה-SMBIOS ולבסוף גם הוסיפו את החלק של תמיכת במספר מעבדי ARM על לוח אחד. בדרך מחקו כבר תאימות ל-16/32 ביט מהסטנדרטים הללו.

מערכת ההפעלה הראשונה שתתמוך ב-ARM לשרתים היא … פדורה 21. הלוח הראשון שיכלול מעבד מבוסס ARM הוא לוח של AMD עם מעבד Opteron A1100. הלוח נראה כך:

 

A1100

בשלב זה הלוח הנ"ל אינו מיועד להכנסה לטסטים או פרודקשן והוא מיועד כרגע לחברות המפתחות אפליקציות. מחירו – אינו זול (3000$) והוא מוגדר כ-Development Kit והואע יגיע עם Fedora 21. (כך שבשלב זה אפשר להזמין דרך AMD אבל הלוח לא יצא לשוק עד כמעט סוף השנה הנוכחית).

בשנה הבאה חברות שמשתתפות בפרויקט יתחילו להוציא שרתים כאלו (גם HP וגם DELL נמצאים בבדיקות סופיות של הלוחות יחד עם Red Hat), ויש כבר התעניינות גוברת מצד מיקרוסופט (שבהתחלה לא רצתה להיכנס לזה) להוציא Windows Server ל-ARM. גירסת RHEL ל-ARM תצא כפי הנראה בחצי השני של שנה הבאה.

כמובן שבשוק הזה, אינטל לא רואה בעין יפה את המאמצים של ARM להיכנס לשוק הזה, לפיכך צפויה להיות תחרות עזה (ונראה כמה הפעם אינטל לא תשתמש בטריקים של שוחד כדי "לעודד" יצרנים לייצר כמה שפחות לוחות כאלו (כמו שהם עשו ל-AMD עם ה-Opteron, מה שכמעט נגמר במשפט ובסוף אינטל שילמה רק קנס וצחקה כל הדרך לכיבוש שוק השרתים)). סביר להניח שנראה את אינטל שוב חוזרת עם מעבדי ATOM לשרתים (ה-C2758 לא ראה עדכון כבר שנה ומחירו יקר – 208$ למעבד לבד עבור יצרן הלוחות, הצ'יפ לא ניתן לרכישה ללקוח סופי).

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

אז לינוס רוצה לכבוש את הדסקטופ

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

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

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

 

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

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

  1. ראשית, ישנה הבעיה של אפליקציות. ללינוקס יש המון אפליקציות שאנשים וחברות כותבים, אבל התוכנות הפופולריות שקיימות על מק או על Windows – רבות מהן לא קיימות ללינוקס. אם אתה רוצה להשתמש במיקרוסופט אופיס, עריכת תמונה, צליל או וידאו, לא תמצא את האפליקציות של אדובי ומיקרוסופט. אם יש לך תוכנות שונות שרכשת שרצות רק על Windows, חלק גדול מהן לא נמכר ולא קיים בגרסאות ללינוקס. חלופות קיימות, אולם ברוב המקרים, החלופות אינן תמיד אפליקציות מקצועיות שיהיו קלות למשתמש הממוצע להגר אליהן.
  2. הבעיה שניה קשורה דווקא לכסף – משתמשי לינוקס רבים פשוט לא מוכנים לשלם על אפליקציות מסחריות וחברות תוכנה מסחריות רבות רואות את השוק הקטן של לינוקס בתחום הדסקטופ ואת האי רצון לשלם על תוכנות ופשוט לא מוציאות גרסאות ללינוקס. נסו לשכנע את אדובי להוציא את אפליקציות Creative Cloud ללינוקס.
  3. הבעיה השלישית קשורה ל"פוליטיקה" של קוד פתוח – אנשים מעדיפים, אם הם כבר משתמשים בלינוקס – להשתמש באפליקציות בקוד פתוח גם אם המתחרה בקוד פתוח "נחות" יותר מאפליקציה מסחרית וכך קורה לעיתים שחברה שכבר הוציאה מוצר מסחרי בקוד סגור, מפסידה לקוחות לפרויקט כמעט זהה בקוד פתוח, והיו מקרים מעולם.
  4. הבעיה הרביעית קשורה לקצב ההתפתחות של הפצות לינוקס: חלקם יוצא בקצב סופר מהיר (אחת לחצי שנה) ובין גירסה לגירסה נשברים דברים מבחינת תאימות (Fedora ו-Ubuntu), ואילו ההפצות היציבות יותר מתעדכנות באפליקציות חדשות אחת לתקופה של 3 שנים בערך, וגם אז ישנן בעיות תאימות. ברוב האפליקציות שבקוד פתוח הבעיה לא רצינית כל כך ומה שיש לבצע זה הידור (compile) מחדש של קוד המקור, אבל לאפליקציות מסחריות בקוד סגור זה בעייתי.

לינוס אולי שוכח, אבל ישנה מעין גירסה של לינוקס שדווקא כן תופסת בשוק לאט לאט והיא … ChromeOS של גוגל וכמות המחשבים שנמכרים עם ChromeOS הולכת וגודלת (בגלל המחיר הנמוך של מחשב כזה, שבד"כ מגיע גם עם מפרט טכני נמוך מאוד). גוגל, בניגוד ל-Fedora ו-Ubuntu דווקא לא מעוניינת שמשתמשים יריצו אפליקציות לינוקס רגילות על ChromeOS ואכן במצב רגיל אין לך אפשרות להריץ אפליקציות מהפצות לינוקס כפי שהזכרתי לעיל – על ChromeOS. גוגל מעוניינת שמפתחים יפתחו אפליקציות Native תוך שימוש בספריית pnacl שלהם, שמצד אחד יכולות לרוץ ישירות הן על מעבדי X86 והן על מעבדים מבוססים ARM, אבל מצד שני האפליקציה תהיה יותר אפליקציית ++WEB, כלומר אפליקציה שמציגה את הפלט ומקבלת קלט דרך הדפדפן.

גוגל הצליחה להכניס לשוק את אנדרואיד שמבוסס על ליבת לינוקס בצורה שהפתיעה רבים. היא לא השתמשה בספריות שכל הפצת לינוקס משתמשת, אפילו לא בספריה שמאפשרת גרפיקה (Xorg) והיא בנתה הרבה חלקים באנדרואיד מאפס, ובסופו של דבר, בסיוע יצרנים שחיפשו כמה שיותר טלפונים וטאבלטים לשווק – היא כבשה את השוק, כך שניתן לאמר ש(ליבת) לינוקס כבשה את שוק הסלולר והטאבלטים. יכול להיות ש-ChromeOS תכבוש נתחים גדולים יותר בשוק, את זה נראה במהלך השנה שנתיים הקרובות, אבל עם הפצות הלינוקס כיום – אני בספק אם תהיה קפיצה נרחבת בשימוש לינוקס בדסקטופ. נכון, אובונטו כובש Power users רבים, אבל אותם משתמשים מתפתים ולבסוף במקרים רבים גם רוכשים – מחשבי מק לעבודה ולשימוש יומיומי – יש לך ממשק גרפי מעולה, חומרה טובה, וגם טרמינל עם המון אפליקציות שקיימות בלינוקס, שילוב מנצח עבור משתמש כזה.

האם לינוקס יכנס ל-Corporate בתור עמדת עבודה? לא, לא נראה לי. חברות אוהבות את ה"גב" שמיקרוסופט נותנת להם, וברוב המקרים הם לא יוותרו עליו במהירה. אם גוגל רוצה לכבוש את ה-Corporate עם ה-ChromeOS, הם יצטרכו לבצע מספר שינויים כמו הורדת מחיר פר משתמש, תמיכה ב-Active Directory והרבה יותר אפליקציות Clients טובות. גוגל הראתה בכנס I/O האחרון איך הם הולכים להריץ אפליקציות אנדרואיד על ChromeOS, אבל אפליקציות אלו אינן מספקות פתרון מלא שחברות מחפשות ומשתמשים עדיין רוצים אפליקציות מלאות, לא "מסורסות" גם אם הן Native.