מאת: דניאל בלדרמן, Server Specialist ב-Dell Technologies ישראל.
תשתית עבור מחשוב עתיר ביצועים (HPC) - עקרונות
מטרתו של מסמך זה היא לספק מידע בסיסי אודות מחשוב עתיר ביצועים, הידוע כ- HPC (High Performance Computing), ובייחוד אודות התשתית הנדרשת עבור מחשוב זה. אין צורך בידע מקדים.
מה הוא HPC?
נתחיל עם השאלה: מהו HPC ?HPC הינו פתרון תוכנה וחומרה מסוג הרחבה, סקייל-אאוט (scale out) המסייע לפתרון בעיות "גדולות". מערכות HPC רבות פותרות בעיות על ידי שימוש בתכנות מקבילי (הנקרא לעיתים תכנות מקבילי מסיבי (Massive Parallel Programming) או MPP), אשר נדרשים לו שרתים מרובים בתצורת אשכול (cluster).
HPC עושה שימוש במקביליות על מנת לחלק משימה אחת גדולה להרבה משימות קטנות. בקיצור, זהו תחום בו מומחים רותמים כוח מחשוב רב על מנת לבצע סימולציות של מצבים מסוימים, כגון תחזית מזג האוויר.
אשכולות של HPC עשויים להתחיל בקטן כאשר הם מונים עשרות שרתים, ולהתרחב לאלפי שרתים.
אילו ענפי תעשיה משתמשים ב-HPC?
ובכן, בעבר היה זה תחום שהתמקד במוסדות מחקריים כמו אוניברסיטאות, אך לא עוד. HPC מתאחד כעת עם בינה מלאכותית ומספק פתרונות כמעט לכל חברה שרוצה לנתח ולהפיק תועלות מהמידע שברשותה. לפיכך, מדובר בתחום הנמצא בתהליך של צמיחה ומיועד למגוון רחב של ארגונים. אף פעם אין לצאת מנקודת הנחה ש-HPC עדיין לא נמצא בשימוש במיוחד בחברות גדולות.
מרכיבי התשתית
לפתרון HPC נדרשת תשתית שיכולה להשתנות ואשר תלויה במקרה בו נעשה בה שימוש. באופן כללי, HPC כולל תשתית רחבה הכוללת:
- תחנות עבודה
- תקשורת (אתרנט ו/או אינפיניבנד)
- מערכות אחסון scale-out
- שרתים
- מעבדים גרפיים (GPU)
פריסה של המרכיבים העיקריים של תשתית HPC מוצגת להלן:
[איור מס. 1: פריסה של תשתית חומרת HPC — מרכיבים עיקריים]
סוגי אשכולות HPC
בדרך כלל, אשכול HPC מוגדר כאחד מהבאים: מטרה כללית, ניתוח נתונים עתיר ביצועים (HPDA), עומס עבודה היברידי או למידה עמוקה/למידת מכונה.
דרישות תשתית HPC
כאמור לעיל, מבחינת התשתית, לפתרונות HPC דרושים מחשוב, רשת ואחסון. הנה סקירה של שלושת המרכיבים הללו:
תקשורת
מתחילים ברשת. לרוב מגדירים שלושה סוגי רשתות הנדרשים ל-HPC: רשת ניהול החומרה (hardware management network), רשת ניהול האשכולות (cluster network) ורשת מחובררת (interconnected network). הבה נתמקד בכל אחד מהם:
ניהול רשת החומרה – לניהול מרכיבי חמרה כמו שרתים ואחסון, השימוש לרוב הוא במתג אתרנט של 1 גיגה ביט.מידע עבור היישומים השונים אינו זורם ברשת זו. עבור שרתי PowerEdge של חברת דל, תהיה זו הרשת אליה מחברים את יציאות כרטיסי ה- iDRAC. סדרת מתגי S3100 של דל תתאים היטב לרשת זו.
רשת לניהול אשכולות – נדרשת לשם פריסה של משאבים (שרתים לדוגמה), ניהול העבודות המתקבלות מהמשתמשים וכן לניטור מצב בריאותו של מערך האשכול. הרשת מבוססת לרוב על מתגי אתרנט של 10/ 25 גיגה בייט. באשכולות קטנים משמשת גם לגישה לאחסון. סדרת מתגי S5200 של דל מתאימה היטב למטרה זו.
Interconnect Network — רשת זו נדרשת לשם תקשורת שרת-שרת ו/או שרת-אחסון מהירה עבור החישובים עצמם. לרוב נדרשים עבורה מתגים בעלי מהירות גבוהה וזמן שיהוי קצר.
בכדי לדעת מהו סוג הפתרון הנכון לרשת זו, עלינו לבחון את העבודות הרצות באשכול, אנו מגדירים אותן כ"צימוד הדוק" (tightly coupled) או "צימוד רפה" (loosely coupled) בהתאם לתקשורת השרת-שרת הנדרשת.
"צימוד הדוק" הכוונה לאשכול בו השרתים מעבירים בינם לבין עצמם מידע רב הנדרש לביצוע משימותיהם, בצימוד רפה השרתים כמעט ואינם זקוקים למידע משרתים אחרים בכדי לבצע את משימתם.
"צימוד הדוק" דורש תקשורת רחבת פס ובעלת שיהוי (Latency) נמוך ולכן ניכר לרוב השימוש בטכנולוגיית מתגים מסוג אינפיניבנד של חברת מלנוקס. למידע על מתגי אינפיניבנד של דל, יש לפנות לאתר כאן. לארגונים אשר מעדיפים רשת מחובררת בעלת מהירות גבוהה המבוססת על אתרנט כדאי לשקול שימוש במתגים של דל מסדרת Z.
עקרונות עיצוביים של רשת Interconnect/רשת אחסון
עבור רשת ה-Interconnect, נמצא לרוב מתאמי תקשורת עם מבואות של 100 גיגה בייט (מבוססי אינפיניבנד או אתרנט) בשרתים. קיימים מספר עקרונות עיצוביים לרשת זו:
Fat Tree – זוהי טופולוגית רשת בלתי-חוסמת (non-blocking) אשר מורה על כך שמספר ורוחב הפס של חיבורי התקשורת הנכנסים (downlinks) מהשרתים למתג צריך להיות שווה למספר ורוחב הפס של חיבורי התקשורת היוצאים (uplinks) לעבר מתגי הליבה. טופולוגיה זו מספקת את הפתרון המיטבי לטופולוגית רשת שרת-שרת בצימוד הדוק. ראו את התמונה שלהלן, עם דוגמה לחיבור של 72 שרתים למתגים מסוג ToR ו- Core בטופולוגיה בלתי חוסמת.
[איור מס. 2: חיבור של 72 צמתי חישוב למתגים מסוג ToR ו- Core]
Blocking-Fabric – אפשרות נוספת היא מבנה חוסם עם פקטור חסימה סביר, לדוגמה, חסימת יתר (oversubscription) של 2:1, בו היחס בין מספר ערוצי התקשורת היוצאות הינו פי 2 ממספר התמסורות הנכנסות.
קיימות טופולוגיות רשת של רשתות HPC מחובררות אחרות, אשר אינן מוזכרות כאן.
יישומי מחשוב
באופן כללי, ישנם מספר סוגים של תפקידים ופונקציות באשכול של HPC
שרתי ניהול
- שירות ניהול גישת משתמשים (Login node) – מנהל את הגישה של המשתמש, יכול להיות חלק משרת הניהול הראשי באשכולות קטנים או כשרת פיזי נפרד באשכולות גדולים
- שרת ראשי (Head node)– ניהול האשכול, זה המקום בו פועלות תוכנות הכוללות תוכנה לניהול האשכול כגון Bright Cluster Manager שמטרתה לדאוג לפריסה, ניהול וניטור, וכן תוכנה לתזמון עבודות כמו Slurm.
שרתי עבודה (Worker Nodes)
- שרתי מחשוב (Compute node)– אלה השרתים המשמשים לביצוע החישובים. ניתן למצוא סביבות המתחילות ים עשרות שרתים הגדלות עד לאלפים. היות ונדרשת כמות גדולה של שרת מחשוב שרתי דל מדגם PowerEdge c6420 ו-PowerEdge c6525 s מספקים פתרון של צמתי מחשוב צפופים אשר עוצבו עבור HPC.
- שרת האצה (Accelerator node) – שרת עם מאיצים גרפים (GPU)
- שרת זיכרון (Fat node)- כינוי לשרתים עם קיבולת גדולה של זיכרון. עבור שרתים מסוג זה באפשרותנו להציע את דגמי ה- PowerEdge R840 ו/או PowerEdge R940
[איור מס. 3: דגמים נפוצים של שרתי PowerEdge ל-HPC]
על מנת לצפות בשרתים המתאימים, אנו ממליצים לבקר באתר בעמוד הארכיטקטורות המומלצות של PowerEdge של חברת דל.
אחסון
פתרונות HPC נסמכים לרוב על פתרון של אחסון scale-out. בפתרון HPC שכיח למצוא מספר רמות אחסון (Tiering) שונות, כמו אחסון מסוג "Scratch" המשמש כאזור העבודה הפעיל של סביבת המחשוב, זהו בדרך כלל אחסון לפרק זמן קצר, לצד אחסון מידע לפרק זמן ארוך הדורשים רמה אחרת/סוג אחר של אחסון.
בנוסף, מאחר וזוהי מערכת של עיבוד מקבילי של שרתים רבים, נדרשת יכולת לספק גישה מצד שרתים רבים לאותו קובץ, ולכן, דרושה מערכת קבצים (file system) מקבילית התומכת בכך.
הבה נסקור חלק מהטרמינולוגיות השכיחות של אחסון HPC:
ניהול היררכי של המידע (Hierarchical Storage Management (HSS
כאמור, עבור חלק מפתרונות ה-HPC נדרשות דרגות אחסון שונות, הזכרנו למעלה שטחי האחסון עבור סביבת ה- Scratch, לצד שטחי אחסון הדורשים שמירה לטווח ארוך.
Space Scratch (זיכרון עבודה) — מיועד לקבצים זמניים של תוצאות מחושבות, בדרך כלל אחסון מהיר.
נקודת ביקורת (תמונת מצב - snapshot) - טכנולוגיה הנדרשת לעיתים על מנת לבחון מידע בנקודת זמן מסוימת, טכנולוגיה זו נדרשת לרוב לסביבת-Scratch Space
אחסון בית (directory home) — איזור בו משתמשים מאחסנים כמו ספקריפטים, אפליקציות קטנות וכד'
אחסון ארוך טווח — לרוב מידע ארכיוני שנשמר לשנים, עשוי להיות אגם נתונים בצורה של אחסון scale-out, מיועד לאחסון מידע מובנה ובלתי מובנה (כגון Isilon ו- Hadoop).
כעת, הבה נסקור מספר טכנולוגיות אחסון שכיחות וכיצד (והאם) הן מתאימות בכדי לשמש אשכולות HPC:
מערכת קבצים ברשת (NFS)/ אחסון מבוסס רשת (NAS) Scale-Out
יתרונות: מחיר, קיבולת, סְקֵילָבִּילִיוּת
חסרונות: עשויה להפוך לצוואר בקבוק בכל הקשור לביצועים באשכולות HPC ברמה גבוהה (high end).
אידיאלי עבור: אשכולות HPC להם דרושה קלט\פלט ברמה נמוכה\בינונית וכמובן לסביבת Home directory ואחסון לטווח ארוך.
אחסון של דל: Dell Isilon ו- Dell EMC Ready Solutions for HPC NFS Storage
רשת אזור אחסון [SAN] (FC) —
יתרונות: ביצועים ברמה גבוהה
חסרונות: ביצוע סְקֵילָבִּילִיוּת יקר
אידיאלי עבור: נדיר
מערכות קבצים מקביליות
Lustre (מערכת קבצים מקבילית)— הינה דוגמה למערכת קבצים מקבילית. זוהי תוכנת אחסון עם קוד פתוח הפועלת על שרתי Linux, לרוב עם כונני אחסון מקומיים בחיבור ישיר (DAS) לשרת. קיימים שני סוגי שרתי Lustre: שרתי Object Storage Servers (OSS) ושרתי Meta Data Servers (MDS). המטא-דאטה של המערכת מאוחסנים בשרתי ה-MDS והמידע מאוחסן בשרתי ה-OSS. דוגמה נוספת למערכות קבצים מקביליים היא BeeGFS. לחצו על הקישורים על מנת לצפות בארכיטקטורה המומלצת של דל בעבור שתי מערכות אלו.
יתרונות: מערכת קבצים מקבילית גלובלית, סְקֵילָבִּילִיוּת הן בקיבולת והן בביצועים, יכולת לחלק את הקבצים על פני שרתים רבים.
אידיאלי עבור: סביבת Scratch של אשכולות HPC גדולים הדורשים פלט/קלט ברמה גבוהה
דרישות רשת: לרוב אינפיניבנד או (RDMA over Converged Ethernet (RoCE
שרת שער (Gateway Node) – תפקידו של שרת שער הוא לסייע במקרים בהם האשכול כולל מספר מערכות הפועלות בפרוטוקולים שונים, תפקידם לסייע בעברת קבצים בין מערכות אחסון כאשר יש שימוש במערכת קבצים שאינה תואמת, לדוגמה, CIFS ו-Lustre
לרשימה המלאה של הפתרונות של דל לאחסון עבור HPC.
לקריאה נוספת: