אתם יכולים ליצור מכונת VM שמוכנה ל-HPC באמצעות הממשקים הבאים:
- Google Cloud CLI
- Google Cloud console
- הכלי לניהול עומס העבודה Slurm של SchedMD
מידע על קובץ האימג' של מכונה וירטואלית ל-HPC ועל Advanced Compute Images זמין במאמרים סקירה כללית על קובצי אימג' של מכונות וירטואליות שמוכנות ל-HPC וסקירה כללית על Advanced Compute Images.
לפני שמתחילים
-
אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות.
אימות הוא תהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי API ולשירותים של Google Cloud . כדי להריץ קוד או דוגמאות מסביבת פיתוח מקומית, אפשר לבצע אימות ל-Compute Engine באחת מהדרכים הבאות:
צריך לבחור את הכרטיסייה הרלוונטית לאופן שבו תכננתם להשתמש בדוגמאות בדף הזה:
המסוף
כשמשתמשים במסוף Google Cloud כדי לגשת לשירותים Google Cloud ולממשקי ה-API, לא צריך להגדיר אימות.
gcloud
-
התקינו את ה-CLI של Google Cloud. אחר כך, מאתחלים את ה-CLI של Google Cloud באמצעות הפקודה הבאה:
gcloud initאם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
- הגדרת אזור ותחום כברירת מחדל
מדריכים למתחילים
במדריכים האלה מוסבר איך להגדיר מכונה וירטואלית (VM) שעברה אופטימיזציה ל-HPC. במאמר הזה נסביר איך:
- יצירת מכונת HPC וירטואלית (בלי להגדיר Cloud RDMA)
- ציון מדיניות למיקום קומפקטי כשיוצרים מכונות וירטואליות ל-HPC
- יצירת מכונה וירטואלית ל-HPC שמשתמשת ב-Cloud RDMA
אי אפשר להוסיף Cloud RDMA למופע קיים של מכונה וירטואלית ל-HPC, לכן צריך לפעול לפי השלבים המתאימים כשיוצרים את המופע.
לפני שמתחילים
- כדי להשתמש ב-Google Cloud CLI במדריך למתחילים הזה, קודם צריך להתקין את Google Cloud CLI ולהפעיל אותו:
- בדף לבחירת הפרויקט במסוף Google Cloud , בוחרים פרויקט ב-Google Cloud או יוצרים אותו.
יצירת מכונה וירטואלית של HPC
מומלץ מאוד להשתמש בקובץ אימג' של מכונה וירטואלית של HPC או בAdvanced Compute Images (גרסת טרום-השקה (Preview)) עם עומסי העבודה של HPC באמצעות סדרות המכונות הבאות:
לסוגי המכונות בסדרות האלה יש מיפויים קבועים של ליבות וירטואליות לליבות פיזיות, והן חושפות ארכיטקטורת תאים של NUMA למערכת ההפעלה האורחת. שני המאפיינים האלה חשובים לביצועים של אפליקציות HPC עם צימוד הדוק.
אם אתם יוצרים כמה מכונות וירטואליות של HPC שמחוברות ביניהן, כדאי לפעול לפי ההוראות במאמר בנושא יצירת מכונות וירטואליות של HPC עם מדיניות מיקום קומפקטית כדי להשיג זמן אחזור נמוך ברשת.
המסוף
אפשר להשתמש במסוף Google Cloud כדי ליצור מכונות וירטואליות שמוכנות ל-HPC ומריצות קובץ אימג' של מכונה וירטואלית ל-HPC עבור מערכת ההפעלה של האורח. כדי להשתמש באחת מתמונות המחשוב המתקדמות, צריך להשתמש ב-CLI של gcloud או ב-REST.
נכנסים לדף Create an instance במסוף Google Cloud .
אם מתבקשים, בוחרים פרויקט ולוחצים על המשך. הדף Create an instance מופיע ובו החלונית Machine configuration.
בחלונית Machine configuration:
- בשדה Name (שם), מציינים שם למופע של המחשוב. מידע נוסף זמין במאמר בנושא מוסכמות למתן שמות למשאבים.
אופציונלי: בוחרים Region ו-Zone למכונה.
ברירת המחדל של Zone היא Any (כל אזור). אם לא תשנו את הבחירה הזו שמוגדרת כברירת מחדל, Google תבחר בשבילכם אזור באופן אוטומטי על סמך סוג המכונה והזמינות שלה.
לוחצים על הכרטיסייה Compute-optimized (אופטימיזציה לחישוב). במסוף Google Cloud מוצגות סדרות המכונות שזמינות למשפחת המכונות שבחרתם.
בעמודה Series, בוחרים את סדרת המכונות של ה-VM, לדוגמה C2.
בקטע Machine type, בוחרים את סוג המכונה של המכונה הווירטואלית, למשל c2-standard-60.
בתפריט הניווט (בצד ימין), לוחצים על מערכת הפעלה ואחסון.
בחלונית Operating system and storage, מגדירים את דיסק האתחול באופן הבא:
- לוחצים על Change. מופיעה החלונית דיסק אתחול עם הכרטיסייה Public images.
- ברשימה Operating system בוחרים באפשרות HPC VM Image.
- ברשימה Version, בוחרים את גרסת מערכת ההפעלה.
- אופציונלי: ברשימה Boot disk type, בוחרים את סוג דיסק האתחול.
- אופציונלי: בשדה Size (GB) מציינים את הגודל של דיסק האתחול.
- אופציונלי: לדיסקים של מערכת ההפעלה מסוג Hyperdisk Balanced, מציינים ערכים בשדות Provisioned IOPS ו-Provisioned throughput.
- אופציונלי: כדי לראות אפשרויות הגדרה מתקדמות, מרחיבים את הקטע Show advanced configurations.
- כדי לאשר את האפשרויות של דיסק האתחול ולחזור לחלונית מערכת ההפעלה והאחסון, לוחצים על בחירה.
בתפריט הניווט, לוחצים על Networking (רשת). בחלונית Networking שמופיעה, מבצעים את הפעולות הבאות:
- עוברים לקטע Firewall.
כדי לאפשר תעבורת HTTP או HTTPS למכונה הווירטואלית, בוחרים באפשרות Allow HTTP traffic או Allow HTTPS traffic.
Compute Engine מוסיף תג רשת למכונה הווירטואלית ויוצר את כלל חומת האש המתאים לכניסת תנועה, שמאפשר את כל התנועה הנכנסת ב-
tcp:80(HTTP) או ב-tcp:443(HTTPS). תג הרשת משייך את כלל חומת האש למכונה הווירטואלית. מידע נוסף זמין בסקירה הכללית של הכללים של חומת האש במאמרי העזרה של Cloud Next Generation Firewall.
אופציונלי: אם בחרתם תמונת מערכת הפעלה שתומכת בתכונות של מכונה וירטואלית מוגנת, אתם יכולים לשנות את ההגדרות של המכונה הווירטואלית המוגנת.
כדי לעשות את זה, בתפריט הניווט, לוחצים על אבטחה. בחלונית Security שמופיעה, אפשר להגדיר את האפשרויות הבאות:
כדי להפעיל את הפעלה מאובטחת, מסמנים את תיבת הסימון הפעלת הפעלה מאובטחת. ההגדרה 'אתחול מאובטח' מושבתת כברירת מחדל.
כדי להשבית את vTPM, מבטלים את הסימון בתיבת הסימון הפעלת vTPM. vTPM מופעל כברירת מחדל. השבתה של vTPM משביתה גם את ניטור התקינות, כי ניטור התקינות מסתמך על נתונים שנאספים על ידי אתחול מדוד.
כדי להשבית את המעקב אחר תקינות, מבטלים את הסימון בתיבה Turn on Integrity Monitoring. המעקב אחר שלמות מופעל כברירת מחדל.
אופציונלי: מציינים אפשרויות הגדרה אחרות. מידע נוסף מופיע במאמר אפשרויות הגדרה במהלך יצירת מכונה.
אופציונלי: כדי ליצור את מכונת החישוב באמצעות משאבים מוזמנים, בתפריט הניווט לוחצים על מתקדם. בקטע Reservations, בוחרים באפשרות Use automatic selection. כדי להשתמש בהזמנה, צריך לוודא שהמאפיינים של מכונת ה-Compute תואמים למאפיינים שצוינו בהזמנה.
כדי ליצור את מכונת ה-HPC ולהפעיל אותה, לוחצים על Create.
gcloud
כדי ליצור מכונה וירטואלית של HPC, משתמשים בפקודה instances create.
כדי ליצור מכונה וירטואלית (VM) של HPC בלי מדיניות מיקום, משתמשים בפקודה דומה לזו:
gcloud compute instances create INSTANCE_NAME \
--zone=ZONE \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT \
--maintenance-policy=TERMINATE \
--machine-type=MACHINE_TYPE
מחליפים את מה שכתוב בשדות הבאים:
-
INSTANCE_NAME: שם למופע של מכונה וירטואלית ל-HPC. -
ZONE: האזור שבו רוצים ליצור את המכונה. -
IMAGE_FAMILY: משפחת התמונות של התמונה שבה רוצים להשתמש כשיוצרים את המכונות הווירטואליות.- לתמונות של מכונות וירטואליות ל-HPC, משתמשים באחת מהאפשרויות הבאות:
hpc-rocky-linux-8אוhpc-rocky-linux-9 - כדי להשתמש ב-Advanced Compute Images, צריך לבחור אחת ממשפחות התמונות שמפורטות במאמר בנושא חומרה נתמכת ומשפחות תמונות.
- לתמונות של מכונות וירטואליות ל-HPC, משתמשים באחת מהאפשרויות הבאות:
-
IMAGE_PROJECT: פרויקט התמונה שבו רוצים להשתמש כשיוצרים מופעים של מכונות וירטואליות. עבור תמונות של מכונות וירטואליות ל-HPC, הפרויקט הואcloud-hpc-image-public. ב-Advanced Compute Images, הפרויקט הואadvanced-compute-images. -
MACHINE_TYPE: סוג המכונה שבה רוצים להשתמש כשיוצרים את המופע של המכונה הווירטואלית.
אחרי זמן מה, יצירת המכונה הווירטואלית תושלם. כדי לוודא את הגדרות המופע ולראות את הסטטוס שלו, מריצים את הפקודה הבאה:
gcloud compute instances describe INSTANCE_NAME
REST
משתמשים ב-method instances.insert כדי ליצור מכונת Compute שמשתמשת בקובץ אימג' של מערכת הפעלה של מכונת HPC:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
"machineType":"zones/ZONE/machineTypes/MACHINE_TYPE",
"name":"VM_NAME",
"disks":[
{
"initializeParams":{
"sourceImage":"projects/cloud-hpc-image-public/global/images/IMAGE"
},
"boot":true
}
],
"networkInterfaces":[
{
"network":"global/networks/NETWORK_NAME"
}
]
}
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט שבו רוצים ליצור את מופע Compute -
ZONE: האזור שבו רוצים ליצור את מכונת ה-Compute -
MACHINE_TYPE: סוג המכונה, מוגדר מראש או מותאם אישית, עבור מכונת המחשוב החדשה -
INSTANCE_NAME: השם של מכונת ה-Compute החדשה -
IMAGE_FAMILY: משפחת התמונות של התמונה שבה רוצים להשתמש כשיוצרים את המכונות הווירטואליות.- לתמונות של מכונות וירטואליות של HPC, משתמשים ב-
hpc-rocky-linux-8או ב-hpc-rocky-linux-9 - כדי להשתמש ב-Advanced Compute Images, צריך לבחור אחת ממשפחות התמונות שמפורטות במאמר בנושא חומרה נתמכת ומשפחות תמונות.
- לתמונות של מכונות וירטואליות של HPC, משתמשים ב-
-
IMAGE_PROJECT: פרויקט התמונה שבו רוצים להשתמש כשיוצרים מופעים של מכונות וירטואליות.- לדימויים של מכונות וירטואליות של HPC, משתמשים בפרויקט
cloud-hpc-image-public. - ל-Advanced Compute Images, משתמשים בפרויקט
advanced-compute-images.
- לדימויים של מכונות וירטואליות של HPC, משתמשים בפרויקט
-
NETWORK_NAME: רשת ה-VPC שבה רוצים להשתמש עבור מופע Compute. אפשר לצייןdefaultכדי להשתמש ברשת ברירת המחדל.
יצירת מכונות וירטואליות ל-HPC עם מדיניות למיקום קומפקטי
כדי להקטין את זמן האחזור בין מופעי מחשוב, אפשר ליצור מדיניות מיקום קומפקטית. מדיניות למיקום קומפקטי מבטיחה שמופעים באותו אזור זמינות ימוקמו קרוב זה לזה.
אם אתם צריכים יותר מופעי מחשוב מכפי שאפשר להכניס למדיניות מיקום קומפקטית אחת, אתם יכולים לחלק את המופעים לכמה מדיניות מיקום. משתמשים במספר המינימלי של מדיניות מיקום שיכול להתאים לכל המקרים.
כדי ליצור מכונות וירטואליות ל-HPC שמציינות מדיניות מיקום קומפקטית, פועלים לפי השלבים הבאים:
מבצעים אחת מהפעולות הבאות:
איך מחילים את מדיניות המיקום הקומפקטי על מכונת VM קיימת ל-HPC
יצירת מכונה עם מדיניות למיקום קומפקטי.
כדי ליצור מכונה שמציינת מדיניות למיקום קומפקטי, משתמשים בדגלים
--maintenance-policyו---resource-policiesעם הפקודהgcloud compute instances create.
יצירת מכונה וירטואלית ל-HPC שמשתמשת ב-Cloud RDMA
כדי ליצור מכונה וירטואלית ל-HPC שמשתמשת ב-Cloud RDMA, קודם צריך ליצור לפחות רשת VPC אחת רגילה ורשת אחת של Falcon VPC. רשת ה-VPC של Falcon משתמשת בפרופיל רשת RDMA שמאפשר תעבורת RDMA בין מופעי מחשוב. הרשת הזו נפרדת מרשת ה-VPC הרגילה שמעבירה תנועה שאינה RDMA לשירותים אחרים שלGoogle Cloud או לאינטרנט.
כדי ליצור מכונה וירטואלית ל-HPC שמשתמשת ב-Cloud RDMA, צריך לבצע את המשימות הבאות:
מזהים או יוצרים לפחות שתי רשתות VPC:
- רשת VPC רגילה לתעבורה שעוברת דרך ממשק הרשת gVNIC
- רשת Falcon VPC לתעבורת הנתונים ברשת RDMA
יוצרים מכונה וירטואלית של HPC.
- לתמונת המקור, משתמשים בתמונת מכונה וירטואלית של HPC או בתמונות מחשוב מתקדמות שמבוססות על Rocky Linux. התמונות האלה כוללות את הדרייברים שנדרשים ל-Cloud RDMA.
במהלך יצירת המכונה, מגדירים לפחות שני ממשקי רשת – אחד שמשתמש במנהל ההתקן gVNIC ואחד שמשתמש במנהל ההתקן IRDMA.
הסבר מלא יותר זמין במאמר יצירת מופע שמשתמש ב-Cloud RDMA.
אם אתם מתכננים להריץ אפליקציות MPI במכונות וירטואליות של HPC שמשתמשות ב-Cloud RDMA, אתם צריכים לפעול לפי שלבי ההגדרה של MPI במאמר הגדרה של אפליקציות MPI והרחבתן במכונות וירטואליות מסוג H4D עם Cloud RDMA.
גישה למכונה וירטואלית של HPC
אחרי שיוצרים את מופע המכונה הווירטואלית של HPC, הוא מופעל באופן אוטומטי. כדי לגשת למופע, מבצעים אחת מהפעולות הבאות:
המסוף
נכנסים לדף VM instances במסוף Google Cloud .
לוחצים על השם של מכונת החישוב.
בקטע גישה מרחוק, לוחצים על הרשימה הנפתחת הראשונה ובוחרים איך רוצים לגשת למכונה.
מפתחות ה-SSH מועברים על ידי Compute Engine ונוצר משתמש. מידע נוסף זמין במאמר איך מתחברים למכונות וירטואליות של Linux.
gcloud
כדי לגשת למכונה באמצעות SSH, משתמשים בפקודה gcloud compute ssh:
gcloud compute ssh INSTANCE_NAME --zone ZONE
מפתחות ה-SSH מועברים על ידי Compute Engine ונוצר משתמש. מידע נוסף זמין במאמר התחברות למכונות וירטואליות של Linux.
הסרת המשאבים
כדי להימנע מחיובים בחשבון Google Cloud על המשאבים שבהם השתמשתם במדריכים למתחילים האלה, מוחקים את כל המכונות הווירטואליות של HPC ואת כל המשאבים המצורפים שיצרתם.
המסוף
נכנסים לדף VM instances במסוף Google Cloud .
בוחרים את המופעים שרוצים למחוק.
לוחצים על מחיקה.
בתיבת הדו-שיח, מבצעים את הפעולות הבאות:
אופציונלי: כדי למחוק את המופעים בלי לכבות אותם בצורה מסודרת, או כדי להפסיק כיבוי מסודר שמתבצע, מסמנים את התיבה דילוג על כיבוי מסודר (אם רלוונטי).
כדי לאשר, לוחצים על מחיקה.
כדי למחוק את הדיסקים שבהם נעשה שימוש במופעים שנמחקו, עוברים לדף Disks (דיסקים) ומבצעים את השלבים הבאים:
בוחרים את הדיסקים שרוצים למחוק. הדיסקים שבוחרים לא יכולים להכיל ערך בעמודה בשימוש על ידי.
לוחצים על מחיקה.
כדי לאשר, לוחצים על מחיקה.
gcloud
כדי למחוק מכונה וירטואלית אחת או יותר באותו אזור, משתמשים בפקודה gcloud compute instances delete.
כדי לכפות את המחיקה של הדיסקים שמצורפים למופע אחד או יותר, צריך לכלול את הדגל --delete-disks:
gcloud compute instances delete INSTANCE_NAMES \
--delete-disks=DELETE_DISK_TYPE \
--zone=ZONE
מחליפים את מה שכתוב בשדות הבאים:
INSTANCE_NAMES: רשימה של שמות מופרדים ברווחים של מופעים – לדוגמה,instance-01 instance-02 instance-03.
ZONE: האזור שבו נמצאים המופעים.
DELETE_DISK_TYPE: מציינים אחד מהערכים הבאים:- כדי למחוק אחסון מתמיד מצורף של אתחול ושל לא אתחול:
all - כדי למחוק רק את האחסון המתמיד של דיסק האתחול המצורף:
boot - כדי למחוק רק אחסון מתמיד שאינו ניתן לאתחול:
data
- כדי למחוק אחסון מתמיד מצורף של אתחול ושל לא אתחול:
REST
כדי למחוק מכונה, שולחים בקשת
DELETEאל ה-methodinstances.delete:DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט שבו נמצא המופע. -
ZONE: האזור של המכונה. -
INSTANCE_NAME: שם המכונה.
-
כדי למחוק דיסק שמשמש את המכונה, שולחים בקשת
DELETEל-methoddisks.delete:DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט שבו נמצא הדיסק. -
ZONE: האזור שבו נמצא הדיסק. -
DISK_NAME: שם הדיסק.
-
חוזרים על השלבים הקודמים עבור מופעים או דיסקים נוספים.
הגדרת מכונת וירטואלית של HPC בהתאם לשיטות המומלצות
כדי לשפר את הביצועים של מכונת ה-VM שלכם ל-HPC ולחזות אותם בצורה מדויקת יותר, מומלץ לפעול לפי השיטות המומלצות הבאות.
השבתת ריבוי נימים סימולטני
קובץ האימג' של מכונה וירטואלית ל-HPC וקובצי אימג' של Advanced Compute שמבוססים על Rocky Linux מאפשרים כברירת מחדל ריבוי הליכי משנה בו-זמני (SMT), שנקרא גם Hyper-Threading במעבדי Intel. השבתת SMT יכולה להפוך את הביצועים לצפויים יותר ולקצר את משך העבודות.
אפשר להשבית את SMT בדרכים הבאות:
כדי להשבית את SMT בזמן יצירת מופע חדש של מכונה וירטואלית ל-HPC, פועלים לפי השלבים ליצירת מופע של מכונה וירטואלית ל-HPC וכוללים את הדגל
--threads-per-core=1.כדי להשבית את ה-SMT במכונה וירטואלית קיימת של HPC, מתחברים למכונה ומריצים את הפקודה הבאה ממערכת ההפעלה של האורח:
sudo google_mpi_tuning --nosmt
מידע נוסף מופיע במאמר בנושא הגדרת מספר ה-threads לכל ליבה.
הגדרת gVNIC כסוג ממשק הרשת למכונות C2 ו-C2D
אם יוצרים מכונת C2 או C2D חדשה, כברירת מחדל נעשה שימוש ב-Virtio-net עבור ממשק הרשת הווירטואלי. שימוש ב-gVNIC במקום ב-Virtio-net יכול לשפר את יכולת ההתאמה של אפליקציות MPI, כי הוא מספק ביצועים טובים יותר של תקשורת וקצב העברה גבוה יותר. בנוסף, gVNIC הוא תנאי מוקדם לביצועי רשת ברמה 1 לכל מכונה וירטואלית, שמאפשרים רוחב פס גבוה יותר וקצב העברת נתונים גבוה יותר.
כדי להשתמש ב-gVNIC, פועלים לפי השלבים ליצירת מכונת HPC וירטואלית או ליצירת מכונת מחשוב עם תמונות מחשוב מתקדמות, ומבצעים אחת מהפעולות הבאות:
המסוף
כדי להגדיר את gVNIC כממשק הרשת, כשיוצרים את המכונה, בתפריט הניווט לוחצים על Networking (רשת). בחלונית Networking שמופיעה, מבצעים את הפעולות הבאות:
- עוברים לקטע Network interfaces (ממשקי רשת).
- בקטע כרטיס ממשק רשת, בוחרים באפשרות
gVNIC.
gcloud
כוללים את הדגל --network-interface=nic-type=GVNIC בפקודה gcloud compute instances create.
REST
בבקשת POST ל-method instances.insert, צריך לכלול את "nicType": "GVNIC" במאפיין networkInterfaces.
קובץ האימג' של מכונת ה-VM של HPC וקובצי ה-Advanced Compute Images שמבוססים על Rocky Linux כוללים את הדרייבר gVNIC כתמיכה במודול ליבה דינמי (DKMS). מידע נוסף מופיע במאמר בנושא שימוש ב-Google Virtual NIC.
השבתה של אמצעי ההגנה מפני Meltdown ו-Spectre
קובץ האימג' של מכונה וירטואלית ל-HPC וקובצי האימג' של Advanced Compute שמבוססים על Rocky Linux מאפשרים את הפתרונות לבעיות Meltdown ו-Spectre כברירת מחדל. במקרים מסוימים, אמצעי ההגנה האלה עלולים לגרום לירידה בביצועים של עומסי עבודה ספציפיים. כדי להשבית את אמצעי ההגנה האלה ולקחת על עצמכם את סיכוני האבטחה שקשורים לכך, צריך לבצע את הפעולות הבאות:
מריצים את הפקודה הבאה במופע:
sudo google_mpi_tuning --nomitigation
מפעילים מחדש את המופע.
שיפור הביצועים של הרשת
כדי לשפר את ביצועי הרשת של המופע, צריך להגדיר אחת או יותר מההגדרות הבאות:
הגדרת רוחב פס גבוה יותר. כדי להגדיר רשת ברמה 1 למכונות וירטואליות מסוג C2 או C2D, משתמשים בפקודה
gcloud compute instances createכדי ליצור את המכונה. מציינים את הדגל--network-performance-configsכשיוצרים את המכונה. מידע נוסף זמין במאמר בנושא יצירת מופעים וקונטיינרים שמשתמשים ברשת Tier_1.שימוש ב-jumbo frames. כדי לצמצם את תקורה העיבוד של מנות רשת, מומלץ להשתמש בגודל מנה גדול יותר. צריך לאמת גדלים גדולים יותר של מנות מידע בהתאם לפרטים של האפליקציה. מידע על השימוש ב-jumbo frames ובגדלי מנות זמין במדריך ליחידת שידור מקסימלית.
הגדלת מגבלות הזיכרון של TCP. רוחב פס גבוה יותר דורש יותר זיכרון TCP. פועלים לפי השלבים כדי להגדיל את ההגדרות של
tcp_*mem.שימוש בפרופיל של זמן האחזור ברשת. בודקים את זמן האחזור של האפליקציה ומפעילים סקר פעיל שמקטין את זמן האחזור בנתיב הקבלה ברשת. משנים את ההגדרות של
net.core.busy_pollושלnet.core.busy_readב-/etc/sysctl.conf, או משתמשים ב-tuned-adm.
שימוש ב-Intel MPI 2021
Google ממליצה להשתמש בספריית Intel MPI 2021 להרצת משימות MPI ב-Google Cloud.
להטמעות של MPI יש הרבה פרמטרים פנימיים להגדרה שיכולים להשפיע על ביצועי התקשורת. הפרמטרים האלה רלוונטיים במיוחד לתקשורת קולקטיבית של MPI, שמאפשרת לכם לציין אלגוריתמים ופרמטרים של הגדרה שיכולים לפעול בצורה שונה מאוד בסביבת Google Cloud.
קובץ האימג' של מכונת ה-HPC וקובצי האימג' של Advanced Compute שמבוססים על Rocky Linux כוללים כלי,
google-hpc-compute, שמתקין את ספריות ה-MPI המומלצות ומשתמש
Google Cloud בספקי libfabric מותאמים אישית על פני פרוטוקול TCP.
מגבלות
ההטבות של שינוי ההגדרות משתנות מאפליקציה לאפליקציה. במקרים מסוימים, יכול להיות שכוונון מסוים ישפיע לרעה על הביצועים. כדאי להשוות את האפליקציות שלכם לאפליקציות אחרות כדי למצוא את ההגדרה היעילה או החסכונית ביותר.
שימוש בכלי השירות google-hpc-compute לתמיכה ב-Intel MPI 2021
סקריפט google_install_intelmpi הוא הכלי שקשור ל-MPI בכלי השירות google-hpc-compute. הוא עוזר להתקין ולהגדיר את Intel MPI.
כדי להתקין את ספריית Intel MPI בזמן יצירת מכונת VM חדשה של HPC או מכונה של Advanced Compute Images, פועלים לפי השלבים ליצירת מכונת VM של HPC או ליצירת מכונת חישוב עם Advanced Compute Images וכוללים את הפעולות הבאות כשיוצרים את מכונת החישוב:
--metadata=google_install_intelmpi="--impi_2021"
כדי להתקין את הספרייה במכונת VM קיימת של HPC או במכונה של Advanced Compute Images, מריצים את הפקודה הבאה במכונת החישוב הזו:
sudo google_install_intelmpi --impi_2021 --install_dir=PATH_INSTALL_MPI
מיקום ברירת המחדל של install_dir מוגדר כ-/opt/intel.
ספריית Intel MPI וכוונונים קולקטיביים של MPI
תמונת המכונה הווירטואלית של HPC ותמונות מחשוב מתקדמות שמבוססות על Rocky Linux כוללות כוונונים כלליים שמשביתים את ה-hyperthreading, מבצעים אופטימיזציה של הזיכרון, משנים את המגבלות של משאבי המערכת ומחילים פרופילים מותאמים אישית. הסקריפט google_hpc_firstrun מיועד להרצה אוטומטית באתחול הראשון של המופע.
כחלק מהכלי google-hpc-firstrun, מריצים את הסקריפט mpi-tuning כדי לשפר את הביצועים ואת זמן האחזור של מכונת ה-VM של HPC. אפשר להריץ את הסקריפט mpi-tuning.sh כדי להחיל שינויים על מופעי מחשוב ספציפיים.
Usage:
Verify tuning steps: $ mpi_tuning OPTIONS --dryrun
Apply tunings: $ mpi_tuning OPTIONS
Options:
--hpcprofile Install and apply google-hpc-compute tuned profile
Also applies: --tcpmem, --limits
--hpcthroughput Install and apply google-hpc-compute-throughput profile
Also applies: --tcpmem, --limits
--tcpmem Increase memory for TCP
--limits Change the system ulimits
--nosmt Disable simultaneous multi threading
--nofirewalld Disable firewalld
--noselinux Disable SE Linux (reboot required)
--nomitigation Disable CPU vulnerabilities mitigations (reboot required)
--reboot Reboot system after tunings if required
--dryrun Do not execute commands
--verbose Print verbose messages
--help Show help message
יצירת אימג' בהתאמה אישית באמצעות אימג' של מכונה וירטואלית ל-HPC
כדי ליישם את השיטות המומלצות בהיקף גדול, צריך ליצור אימג' של מערכת הפעלה בהתאמה אישית לשימוש במכונות הווירטואליות (VM) של HPC. כדי ליצור אימג' בהתאמה אישית לשימוש כשיוצרים מכונות וירטואליות של HPC, צריך לבצע את המשימות הבאות:
יוצרים מכונת מחשוב שמשתמשת בקובץ אימג' של מכונה וירטואלית ל-HPC.
יוצרים אימג' בהתאמה אישית באמצעות דיסק האתחול של אימג' המכונה הווירטואלית (VM) של HPC בתור דיסק המקור. אפשר לעשות זאת באמצעות Google Cloud מסוף או Google Cloud CLI.
המסוף
נכנסים לדף Images במסוף Google Cloud .
לוחצים על יצירת תמונה.
מזינים שם לתמונה.
בקטע Source disk (דיסק מקור), בוחרים את השם של דיסק האתחול במופע של מכונה וירטואלית ל-HPC.
בוחרים את שאר המאפיינים של התמונה.
לוחצים על יצירה.
gcloud
יוצרים את האימג' בהתאמה אישית באמצעות הפקודה images create.
gcloud compute images create IMAGE_NAME \
--source-disk=INSTANCE_NAME \
--source-disk-zone=ZONE \
--family=IMAGE_FAMILY \
--storage-location=LOCATION
מחליפים את מה שכתוב בשדות הבאים:
-
IMAGE_NAME: שם לתמונה המותאמת אישית. -
INSTANCE_NAME: השם של מופע ה-VM שלכם ל-HPC. -
ZONE: האזור שבו נמצא מופע ה-VM שלכם ל-HPC. -
IMAGE_FAMILY: אופציונלי. משפחת התמונות שאליה התמונה הזו שייכת. -
LOCATION: אופציונלי. האזור שבו רוצים לאחסן את התמונה המותאמת אישית. מיקום ברירת המחדל הוא האזור המרובה הכי קרוב למיקום של דיסק המקור.
תמחור
תמונת מכונת ה-VM של HPC ותמונות Advanced Compute זמינות ללא עלות נוספת. מכיוון שהתמונות האלה פועלות ב-Compute Engine, יכול להיות שתחויבו על משאבי Compute Engine כמו vCPU, דיסקים וזיכרון.
מידע נוסף זמין במאמר בנושא תמחור ב-Compute Engine.
המאמרים הבאים
- מומלץ לעיין בשיטות המומלצות להרצת עומסי עבודה של HPC.
- מידע על Advanced Compute Images לעומסי עבודה של HPC
- איך מגדירים ומגדילים את קנה המידה של אפליקציות MPI במכונות וירטואליות של H4D באמצעות Cloud RDMA ב- Google Cloud
- מידע נוסף על משפחת המכונות מותאמת לצריכת מעבד גבוהה (compute-optimized).
- איך יוצרים אשכולות H4D HPC עם יכולות ניהול אשכולים משופרות
- אם יש לכם משוב או שאתם צריכים תמיכה, אתם יכולים לשלוח אימייל לכתובת hpc-image-feedback@google.com.