מעקב אחר מכונות וירטואליות של TPU
במדריך הזה מוסבר איך להשתמש ב-Cloud Monitoring כדי לעקוב אחרי מכונות וירטואליות של TPU. Cloud Monitoring אוסף באופן אוטומטי מדדים ויומנים מה-TPU וממכונת ה-VM המארחת שלו. אפשר להשתמש בנתונים האלה כדי לעקוב אחרי התקינות של TPU ו-Compute Engine.
מדדים מאפשרים לכם לעקוב אחרי כמות מספרית לאורך זמן, לדוגמה, ניצול מעבד (CPU), שימוש ברשת או משך הזמן שבו TensorCore בלי פעילות. היומנים מתעדים אירועים בנקודת זמן ספציפית. רשומות ביומן נכתבות על ידי הקוד שלכם,Google Cloud שירותים, אפליקציות של צד שלישי ותשתיתGoogle Cloud . אפשר גם ליצור מדדים מהנתונים שמופיעים ברשומה ביומן על ידי יצירת מדד מבוסס-יומן. אפשר גם להגדיר מדיניות התראות על סמך ערכי מדדים או רשומות ביומן.
כדי לעקוב אחרי יחידות TPU, אפשר גם להשתמש בכלי לתכנון קיבולת (בגרסת Preview). בעזרת כלי לתכנון קיבולת, אתם יכולים לראות את נתוני השימוש ב-TPU ואת נתוני התחזיות של הפרויקט, התיקייה או הארגון שלכם. הנתונים האלה מתעדכנים כל 24 שעות, ואפשר להשתמש בהם כדי לנתח את מגמות השימוש ולתכנן את צורכי הקיבולת העתידיים. מידע נוסף מופיע במאמר סקירה כללית על כלי לתכנון קיבולת.
גישה למדדי TPU
Compute Engine יוצר שני סוגים של מדדי TPU: מדדי זמן ריצה של TPU ומדדי תשתית של מכונות וירטואליות של TPU. יש שתי דרכים לקבל את המדדים:
TPU Monitoring Library: אפשר לקבל מדדי זמן ריצה של TPU מ-LibTPU SDK באמצעות TPU Monitoring Library. כך האפליקציות יכולות לקבל טלמטריה בזמן אמת מתוך סביבת האורח. מידע נוסף זמין במאמר ספריית מעקב אחרי TPU.
AI Telemetry Collector: קבלת מדדי זמן ריצה ומדדי תשתית של מכונות וירטואליות באמצעות AI Telemetry Collector. הכלי לאיסוף טלמטריה של AI פועל בתוך מכונת ה-TPU הווירטואלית ומאפשר לכם לגשת למדדים דרך Cloud Monitoring או דרך צינור הנתונים שלכם לניטור שמבוסס על Prometheus. מידע נוסף זמין במאמר בנושא AI Telemetry Collector.
מדדי TPU
Google Cloud מדדים של Cloud TPU נוצרים אוטומטית על ידי מכונות וירטואליות של Compute Engine וזמן הריצה של Cloud TPU. המדדים בטבלה הבאה נוצרים על ידי מכונות וירטואליות ב-Compute Engine.
למחרוזות של 'סוג המדד' בטבלה הזו צריך להוסיף את הקידומת compute.googleapis.com/. הקידומת הזו הושמטה מהרשומות בטבלה. כשמריצים שאילתה על תווית, משתמשים בקידומת metric.labels. לדוגמה,
metric.labels.LABEL="VALUE".
| סוג המדד שלב ההשקה (רמות בהיררכיית המשאבים) שם לתצוגה |
|
|---|---|
| סוג, יחידה משאבים במעקב |
תיאור תוויות |
instance/tpu/accelerator/duty_cycle
בטא
(פרויקט)
מחזור הפעילות של המאיץ |
|
GAUGE, DOUBLE, %
gce_instance |
אחוז הזמן במהלך תקופת הדגימה שבו המאיץ עיבד באופן פעיל. הערכים הם בטווח [0,100].
accelerator_id:
מזהה המכשיר של המאיץ.
|
instance/tpu/accelerator/memory_bandwidth_utilization
בטא
(project)
ניצול רוחב הפס של הזיכרון של המאיץ |
|
GAUGE, DOUBLE, %
gce_instance |
אחוז השימוש הנוכחי ברוחב הפס של זיכרון המאיץ. החישוב מתבצע על ידי חילוק של רוחב פס הזיכרון שנעשה בו שימוש במהלך תקופת דגימה, ברוחב הפס המקסימלי הנתמך במהלך אותה תקופת דגימה.
accelerator_id:
מזהה המכשיר של המאיץ.
|
instance/tpu/accelerator/memory_total
בטא
(project)
Accelerator Memory Total |
|
GAUGE, INT64, By
gce_instance |
הנפח הכולל של זיכרון המאיץ שהוקצה כרגע בבייטים.
accelerator_id:
מזהה המכשיר של המאיץ.
|
instance/tpu/accelerator/memory_used
בטא
(project)
Accelerator Memory Used |
|
GAUGE, INT64, By
gce_instance |
סך הזיכרון של המאיץ שנעשה בו שימוש כרגע בבייטים.
accelerator_id:
מזהה המכשיר של המאיץ.
|
instance/tpu/accelerator/tensorcore_utilization
בטא
(פרויקט)
השימוש ב-TensorCore של המאיץ |
|
GAUGE, DOUBLE, %
gce_instance |
האחוז הנוכחי של ליבות Tensor בשימוש. החישוב מתבצע על ידי חלוקת מספר הפעולות של Tensorcore שבוצעו במהלך תקופת דגימה במספר הפעולות הנתמכות של Tensorcore במהלך אותה תקופת דגימה.
accelerator_id:
מזהה המכשיר של המאיץ.
|
instance/tpu/active_chips
GA
(project)
Active TPU Chips Count |
|
GAUGE, INT64, 1
gce_instance |
המספר הנוכחי של שבבים שנמצאים בשימוש פעיל (כלומר, לא במצב המתנה).
accelerator_type:
סוג המאיץ והדור שלו.
reservation_id:
המזהה של ההזמנה של המכונה הפיזית.
provisioning_model:
מודל ההקצאה המשויך.
protection_tier:
מודל ההגנה המשויך.
block_id:
המזהה של הבלוק בתוך האשכול שמארח את המכונה הווירטואלית.
subblock_id:
המזהה של תת-הבלוק שמארח את המכונה הווירטואלית.
is_exr:
(BOOL)
מציין אם הצ'יפ הוא חלק משמירת מקום מורחבת.
|
instance/tpu/chip_state
בטא
(פרויקט)
TPU Chip State Count |
|
GAUGE, INT64, 1
gce_instance |
מספר שבבי ה-TPU במצבים שונים, כמו תקין, לא תקין ולא ידוע.
state:
מצב הצ'יפ.
accelerator_type:
סוג המאיץ והדור שלו.
block_id:
המזהה של הבלוק בתוך האשכול שמארח את המכונה הווירטואלית.
subblock_id:
המזהה של תת-הבלוק שמארח את המכונה הווירטואלית.
reservation_id:
המזהה של ההזמנה של המכונה הפיזית.
is_exr:
(BOOL)
מציין אם הצ'יפ הוא חלק משמירת מקום מורחבת.
|
instance/tpu/infra_health
בטא
(project)
TPU Instance Health |
|
GAUGE, INT64, 1
gce_instance |
מציין את סטטוס התקינות הכולל של מופע TPU. תוויות המדדים עוזרות לזהות את הסטטוס הבריאותי הספציפי ואת הסיבות לבעיות במופעי TPU שהביצועים שלהם ירודים או שהם לא תקינים. התוויות מתמקדות בעיקר בחומרה של TPU ובמצב המערכת. יכול להיות שיחלפו כמה דקות עד שהשינויים בסטטוס התקינות יתעדכנו במדד הזה. הדגימה מתבצעת כל 60 שניות. אחרי הדגימה, הנתונים לא מוצגים למשך עד 420 שניות.
health_status:
מצב התקינות הכללי של מופע ה-TPU. ערכים אפשריים: HEALTHY (פועל כצפוי), UNHEALTHY (זוהתה בעיה קריטית), DEGRADED (בעיה שמשפיעה על הביצועים), UNKNOWN (לא ניתן לקבוע את הסטטוס).
unhealthy_category:
הסבר על הסטטוס 'לא תקין' של המכונה הווירטואלית. התווית הזו מאוכלסת רק כשהערך של המדד הוא 'לא תקין'.
machine_type:
סוג המכונה של המופע (לדוגמה, ct6e-standard-4t-tpu).
machine_id:
המזהה של המכונה הפיזית שמארחת את המכונה הווירטואלית.
block_id:
המזהה של הבלוק בתוך האשכול שמארח את המכונה הווירטואלית.
cluster_id:
המזהה של האשכול שמארח את המכונה הווירטואלית.
reservation_id:
המזהה של ההזמנה של המכונה הפיזית.
subblock_id:
המזהה של תת-הבלוק שמארח את המכונה הווירטואלית.
|
instance/tpu/runtime/uptime
בטא
(פרויקט)
זמן פעולה (Uptime) של זמן הריצה |
|
GAUGE, INT64, s
gce_instance |
זמן הפעולה של סביבת זמן הריצה של ML מאז ההפעלה של ספריית זמן הריצה (libtpu.so) על ידי משימת ה-ML. במהלך התקופה הזו, ספריית זמן הריצה חוסמת את מכשירי ה-TPU לשימוש על ידי משימת ה-ML.
ml_framework_name:
שם מסגרת ה-ML.
ml_framework_version:
גרסת מסגרת ה-ML.
|
instance/tpu/scheduled_chips
GA
(project)
Scheduled TPU Chips Count |
|
GAUGE, INT64, 1
gce_instance |
המספר הנוכחי של צ'יפים שהוקצו למכונה וירטואלית במצב תקין (HEALTHY) ושלא הושבתו לצורך תחזוקה.
accelerator_type:
סוג המאיץ והדור שלו.
reservation_id:
המזהה של ההזמנה של המכונה הפיזית.
provisioning_model:
מודל ההקצאה המשויך.
protection_tier:
מודל ההגנה המשויך.
block_id:
המזהה של הבלוק בתוך האשכול שמארח את המכונה הווירטואלית.
subblock_id:
המזהה של תת-הבלוק שמארח את המכונה הווירטואלית.
is_exr:
(BOOL)
מציין אם הצ'יפ הוא חלק משמירת מקום מורחבת.
|
instance/tpu/utilized_chips
בטא
(פרויקט)
שבבי TPU בשימוש |
|
GAUGE, DOUBLE, 1
gce_instance |
הקיבולת המנוצלת המצטברת הנוכחית, שמוצגת כמספר אפקטיבי של שבבים פעילים. הוא שווה לסכום של ניצול השברים (0.0 עד 1.0) של כל השבבים הפעילים.
accelerator_type:
סוג המאיץ והדור שלו.
reservation_id:
המזהה של ההזמנה של המכונה הפיזית.
provisioning_model:
מודל ההקצאה המשויך.
protection_tier:
מודל ההגנה המשויך.
block_id:
המזהה של הבלוק בתוך האשכול שמארח את המכונה הווירטואלית.
subblock_id:
המזהה של תת-הבלוק שמארח את המכונה הווירטואלית.
is_exr:
(BOOL)
מציין אם הצ'יפ הוא חלק משמירת מקום מורחבת.
|
quota/tpus_per_tpu_family/exceeded
אלפא
(פרויקט)
מספר יחידות ה-TPU לכל משפחת TPU. שגיאה של חריגה מהמכסה |
|
DELTA, INT64, 1
compute.googleapis.com/Location |
מספר הניסיונות לחרוג מהמגבלה על חישוב מדד המכסה compute.googleapis.com/tpus_per_tpu_family. אחרי הדגימה, הנתונים לא גלויים למשך עד 150 שניות.
limit_name:
שם המגבלה.
tpu_family:
מאפיין מותאם אישית של משפחת TPU.
|
quota/tpus_per_tpu_family/limit
אלפא
(פרויקט)
מכסת TPU לכל משפחת TPU. |
|
GAUGE, INT64, 1
compute.googleapis.com/Location |
המגבלה הנוכחית על מדד המכסה compute.googleapis.com/tpus_per_tpu_family. הדגימה מתבצעת כל 60 שניות. אחרי הדגימה, הנתונים לא גלויים למשך עד 150 שניות.
limit_name:
שם המגבלה.
tpu_family:
מאפיין מותאם אישית של משפחת TPU.
|
quota/tpus_per_tpu_family/usage
אלפא
(פרויקט)
מספר יחידות ה-TPU לכל משפחת TPU. ניצול המכסה |
|
GAUGE, INT64, 1
compute.googleapis.com/Location |
השימוש הנוכחי במדד המכסה compute.googleapis.com/tpus_per_tpu_family. אחרי הדגימה, הנתונים לא גלויים למשך עד 150 שניות.
limit_name:
שם המגבלה.
tpu_family:
מאפיין מותאם אישית של משפחת TPU.
|
tpu/multislice/accelerator/device_to_host_transfer_latencies
בטא
(פרויקט)
זמני האחזור של העברת נתונים ממכשיר למארח |
|
CUMULATIVE, DISTRIBUTION, us
gce_instance |
התפלגות מצטברת של זמן האחזור של העברת נתונים מהמכשיר למארח לכל נתח נתונים. השהייה מתחילה כשמוציאים בקשה להעברת נתונים למארח, ומסתיימת כשמתקבל אישור שהעברת הנתונים הושלמה.
buffer_size:
גודל המאגר.
|
tpu/multislice/accelerator/host_to_device_transfer_latencies
בטא
(שם הפרויקט)
זמני האחזור של העברת נתונים מהמארח למכשיר |
|
CUMULATIVE, DISTRIBUTION, us
gce_instance |
התפלגות מצטברת של זמן האחזור של העברת נתונים ממארח למכשיר לכל נתח נתונים של תנועת נתונים מרובת-פרוסות. ההשהיה מתחילה כשמוציאים בקשה להעברת נתונים למכשיר, ומסתיימת כשמתקבל אישור שהעברת הנתונים הסתיימה.
buffer_size:
גודל המאגר.
|
tpu/multislice/network/collective_end_to_end_latencies
בטא
(project)
זמני האחזור הכוללים מקצה לקצה |
|
CUMULATIVE, DISTRIBUTION, us
gce_instance |
התפלגות מצטברת של השהייה הכוללת מקצה לקצה עבור תנועה מרובת פרוסות. הזמן שחלף מתחיל כשמוציאים את הבקשה להעברה של כל הנתונים, ומסתיים כשמתקבל אישור שהעברת הנתונים הסתיימה.
input_size:
גודל הקלט של הפעולה הקולקטיבית.
collective_type:
סוג הפעולה הקולקטיבית.
|
tpu/multislice/network/dcn_transfer_latencies
בטא
(פרויקט)
זמני האחזור של העברת DCN |
|
CUMULATIVE, DISTRIBUTION, us
gce_instance |
התפלגות מצטברת של השהיות בהעברת נתונים ברשת עבור תנועה מרובת פרוסות. השהייה מתחילה כשמוציאים בקשה להעברת נתונים דרך ה-DCN ומסתיימת כשמתקבל אישור שהעברת הנתונים הושלמה.
buffer_size:
גודל המאגר.
type:
סוג.
|
tpu/multislice/network/grpc_client_call_latencies
בטא
(פרויקט)
זמני האחזור של קריאות ללקוח gRPC |
|
CUMULATIVE, DISTRIBUTION, us
gce_instance |
התפלגות מצטברת של השהיות בהעברת נתונים ברשת שנדרשות לספריית gRPC כדי להשלים RPC מנקודת המבט של המתקשר.
buffer_size:
גודל המאגר.
|
tpu/multislice/network/grpc_server_call_latencies
בטא
(פרויקט)
זמני האחזור של קריאות לשרת gRPC |
|
CUMULATIVE, DISTRIBUTION, us
gce_instance |
התפלגות מצטברת של השהיות בהעברת נתונים ברשת עבור שרת gRPC להשלמת קריאה לשירות מרוחק (RPC) מנקודת מבט של שכבת התעבורה.
buffer_size:
גודל המאגר.
|
tpu/multislice/network/grpc_tcp_delivery_rates
בטא
(פרויקט)
שיעורי מסירה של gRPC TCP |
|
CUMULATIVE, DISTRIBUTION, Mb/s
gce_instance |
התפלגות מצטברת של שיעורי העברת הנתונים בחיבורי TCP. כל דגימה היא קצב העברת הנתונים הממוצע העדכני ביותר עבור חיבור TCP נתון במהלך מרווח ה-TCP ACK האחרון. דגימות של קצב העברת הנתונים נלקחות מליבת ה-TCP של Linux כל 20 שניות, ולכן אפשר לצפות שכל חיבור TCP ייצור בערך 3 דגימות בכל מרווח של 60 שניות. |
tpu/multislice/network/grpc_tcp_min_round_trip_times
בטא
(פרויקט)
gRPC TCP Min Round Trip Times |
|
CUMULATIVE, DISTRIBUTION, us
gce_instance |
התפלגות מצטברת של זמני אחזור מינימליים של העברת נתונים ברשת לכל חיבור TCP. |
tpu/multislice/network/grpc_tcp_packets_retransmitted_count
בטא
(פרויקט)
gRPC TCP Packets Retransmitted Count |
|
CUMULATIVE, INT64, 1
gce_instance |
המספר הכולל של חבילות הנתונים ששודרו מחדש. |
tpu/multislice/network/grpc_tcp_packets_sent_count
בטא
(project)
gRPC TCP Packets Sent Count |
|
CUMULATIVE, INT64, 1
gce_instance |
המספר הכולל של חבילות הנתונים שנשלחו באמצעות TCP. |
tpu/slice/capacity/available_chips
GA
(project)
Available TPU Chips Count |
|
GAUGE, INT64, 1
compute.googleapis.com/AcceleratorSlice |
המספר הנוכחי של שבבי TPU בהזמנה מורחבת שזמינים באופן פעיל ומוכנים לשימוש. הדגימה מתבצעת כל 60 שניות. אחרי הדגימה, הנתונים לא מוצגים למשך עד 360 שניות.
accelerator_type:
סוג המאיץ והדור שלו.
reservation_id:
המזהה של ההזמנה של המכונה הפיזית.
block_id:
מזהה הבלוק שמשויך לפרוסה.
subblock_id:
מזהה תת-הבלוק שמשויך לפרוסה.
provisioning_model:
מודל ההקצאה המשויך.
protection_tier:
מודל ההגנה המשויך.
|
tpu/slice/capacity/committed_chips
GA
(project)
Purchased TPU Chips Count |
|
GAUGE, INT64, 1
compute.googleapis.com/AcceleratorSlice |
המספר הנוכחי של שבבי TPU שנרכשו בהזמנה מורחבת. הדגימה מתבצעת כל 60 שניות. אחרי הדגימה, הנתונים לא מוצגים למשך עד 360 שניות.
accelerator_type:
סוג המאיץ והדור שלו.
reservation_id:
המזהה של ההזמנה של המכונה הפיזית.
block_id:
מזהה הבלוק שמשויך לפרוסה.
subblock_id:
מזהה תת-הבלוק שמשויך לפרוסה.
provisioning_model:
מודל ההקצאה המשויך.
protection_tier:
מודל ההגנה המשויך.
|
instance/tpu/accelerator/core_temperature
בטא
(project)
טמפרטורת ליבה |
|
GAUGE, DOUBLE, Cel
gce_instance |
טמפרטורת הליבה של ה-TPU.
accelerator_id:
מזהה המכשיר של המאיץ. הערכים התקפים הם 0, 1, 2, 3.
|
instance/tpu/accelerator/core_throttling_indicator
בטא
(פרויקט)
Core Throttling Indicator |
|
GAUGE, DOUBLE, 1
gce_instance |
מספר מחזורי השעון שדילגו עליהם בשנייה מתוך מחזורי השעון הכוללים לכל ליבת TPU.
accelerator_id:
מזהה המכשיר של המאיץ. הערכים התקינים הם 0, 1, 2, 3.
|
instance/tpu/accelerator/hbm_power_draw
בטא
(פרויקט)
צריכת חשמל של HBM |
|
GAUGE, DOUBLE, W
gce_instance |
סכום ההספק במודול HBM בוואט (W).
accelerator_id:
מזהה המכשיר של המאיץ. הערכים התקינים הם 0, 1, 2, 3.
|
instance/tpu/accelerator/hbm_temperature
בטא
(פרויקט)
טמפרטורת HBM |
|
GAUGE, DOUBLE, Cel
gce_instance |
טמפרטורת הזיכרון עם רוחב פס גבוה (HBM) של ה-TPU.
accelerator_id:
מזהה המכשיר של המאיץ. הערכים התקפים הם 0, 1, 2, 3.
hbm_id:
מזהה מודול של זיכרון ברוחב פס גבוה (HBM). בדרך כלל יש רק ערך עליון, למשל: hbm_0.
|
instance/tpu/accelerator/hbm_uncorrectable_count
בטא
(פרויקט)
מספר השגיאות הבלתי ניתנות לתיקון ב-HBM |
|
CUMULATIVE, INT64, 1
gce_instance |
מספר השגיאות שלא ניתן לתקן ב-HBM (קריטיות).
accelerator_id:
מזהה המכשיר של המאיץ. הערכים התקפים הם 0, 1, 2, 3.
|
instance/tpu/accelerator/mxu_temperature
בטא
(project)
MXU Temperature |
|
GAUGE, DOUBLE, Cel
gce_instance |
הטמפרטורה של יחידת הכפלת המטריצות (MXU) של ה-TPU.
accelerator_id:
מזהה המכשיר של המאיץ. הערכים התקפים הם 0, 1, 2, 3.
die_id:
אינדקס המשבצת של המאיץ. בדרך כלל יש רק ערך עליון, למשל: die_0.
|
instance/tpu/accelerator/network/ici_link_flaps
בטא
(פרויקט)
ICI Link Flaps |
|
GAUGE, INT64, 1
gce_instance |
התדירות של שינויי מצב בין מצבי עלייה וירידה בקישור ICI.
accelerator_id:
מזהה המכשיר של המאיץ. הערכים התקינים הם 0, 1, 2, 3.
|
instance/tpu/accelerator/network/ici_link_health
בטא
(פרויקט)
קישור ICI לבדיקת תקינות |
|
GAUGE, INT64, 1
gce_instance |
מדד מספרי (0 עד 10) שמייצג את תקינות הקישור של ICI. ערכים גבוהים יותר מציינים רמות הולכות וגדלות של חוסר יציבות בקישור – משינויים קלים וזמניים (1-5) ועד לירידה מתמשכת בביצועים (6-9). ערך של 10 מייצג כשל קריטי בקישור שגורם לסילוק אוטומטי של עומסי עבודה פעילים.
port_id:
מזהה היציאה.
|
instance/tpu/accelerator/network/ici_packets_received_count
בטא
(פרויקט)
מספר מנות הנתונים שהתקבלו ב-ICI |
|
CUMULATIVE, INT64, 1
gce_instance |
המספר הכולל של חבילות שהתקבלו על ידי מאיץ ה-TPU דרך קישורי Inter-Chip Interconnect (ICI).
accelerator_id:
מזהה המכשיר של המאיץ. הערכים התקינים הם 0, 1, 2, 3.
|
instance/tpu/accelerator/network/ici_packets_sent_count
בטא
(פרויקט)
מספר חבילות ה-ICI שנשלחו |
|
CUMULATIVE, INT64, 1
gce_instance |
המספר הכולל של חבילות הנתונים שמועברות על ידי מאיץ ה-TPU דרך קישורי ה-Inter-Chip Interconnect (ICI).
accelerator_id:
מזהה המכשיר של המאיץ. הערכים התקפים הם 0, 1, 2, 3.
|
instance/tpu/accelerator/pcie_fatal_error_count
בטא
(פרויקט)
מספר השגיאות החמורות ב-PCIe |
|
CUMULATIVE, INT64, 1
gce_instance |
מספר השגיאות הקריטיות ב-PCIe שמתרחשות בממשק PCIe.
accelerator_id:
מזהה המכשיר של המאיץ. הערכים התקינים הם 0, 1, 2, 3.
|
instance/tpu/accelerator/pcie_nonfatal_error_count
בטא
(פרויקט)
PCIe Nonfatal Error Count |
|
CUMULATIVE, INT64, 1
gce_instance |
מספר השגיאות הלא-קריטיות ב-PCIe שמתרחשות בממשק PCIe.
accelerator_id:
מזהה המכשיר של המאיץ. הערכים התקינים הם 0, 1, 2, 3.
|
instance/tpu/accelerator/power_draw
בטא
(project)
צריכת חשמל |
|
GAUGE, DOUBLE, W
gce_instance |
צריכת החשמל של המאיץ, שנמדדת בוואט (W).
accelerator_id:
מזהה המכשיר של המאיץ. הערכים התקפים הם 0, 1, 2, 3.
|
instance/tpu/accelerator/tray_power
בטא
(project)
Tray Power |
|
GAUGE, DOUBLE, W
gce_instance |
צריכת החשמל הכוללת במגש ה-TPU.
accelerator_id:
מזהה המכשיר של המאיץ. הערכים התקינים הם 0, 1, 2, 3.
|
instance/tpu/accelerator/tray_temperature
בטא
(project)
Tray Temperature |
|
GAUGE, DOUBLE, Cel
gce_instance |
טמפרטורת המגש של ה-TPU.
accelerator_id:
מזהה המכשיר של המאיץ. הערכים התקינים הם 0, 1, 2, 3.
|
instance/tpu/failure_prediction_status
בטא
(פרויקט)
סטטוס של ירידה בביצועים של TPU |
|
GAUGE, INT64, 1
gce_instance |
המדד הזה מציין את הסבירות שמכונת TPU תיכנס למצב של ירידה בביצועים ב-5 השעות הקרובות, כפי שחוזה האלגוריתם הקנייני שלנו. תווית הערך של המדד הזה היא NO_DEGRADATION_PREDICTED, DEGRADATION_PREDICTED או POSSIBLE_DEGRADATION_PREDICTED. הדגימה מתבצעת כל 60 שניות. אחרי הדגימה, הנתונים לא מוצגים למשך עד 540 שניות.
cluster_id:
המזהה המוסתר של האשכול שמארח את המכונה הווירטואלית.
block_id:
מזהה הבלוק המוסתר באשכול שמארח את המכונה הווירטואלית.
subblock_id:
המזהה של תת-הבלוק המוסתר שמארח את המכונה הווירטואלית.
machine_id:
השם המוסתר של המכונה שמארחת את המכונה הווירטואלית.
reservation_id:
מזהה ההזמנה.
Value:
הסטטוס של מכונת TPU שנכנסת למצב פגום ב-5 השעות הבאות, כפי שחזה האלגוריתם הקנייני שלנו. הערכים האפשריים הם NO_DEGRADATION_PREDICTED, DEGRADATION_PREDICTED ו-POSSIBLE_DEGRADATION_PREDICTED.
|
tpu/capacity/available_chips
בטא
(פרויקט)
מספר שבבי ה-TPU הזמינים |
|
GAUGE, INT64, 1
compute.googleapis.com/Location |
המספר הנוכחי של שבבי TPU שזמינים ומוכנים לשימוש.
accelerator_type:
סוג המאיץ והדור שלו.
reservation_id:
המזהה של ההזמנה של המכונה הפיזית.
provisioning_model:
מודל ההקצאה המשויך.
protection_tier:
מודל ההגנה המשויך.
is_exr:
מציין אם שבב ה-TPU הוא חלק מהזמנה מורחבת.
|
tpu/capacity/committed_chips
בטא
(פרויקט)
מספר שבבי TPU שנרכשו |
|
GAUGE, INT64, 1
compute.googleapis.com/Location |
המספר הנוכחי של שבבי TPU שנרכשו.
accelerator_type:
סוג המאיץ והדור שלו.
reservation_id:
המזהה של ההזמנה של המכונה הפיזית.
provisioning_model:
מודל ההקצאה המשויך.
protection_tier:
מודל ההגנה המשויך.
is_exr:
מציין אם שבב ה-TPU הוא חלק מהזמנה מורחבת.
|
tpu/network/nic_packets_dropped_count_rx
בטא
(פרויקט)
מספר המנות שהושמטו ב-NIC (קבלה) |
|
CUMULATIVE, INT64, 1
gce_instance |
המספר הכולל של חבילות נכנסות או יוצאות שהכרטיס של המארח השליך, עבור RX.
nic_id:
מזהה NIC.
|
tpu/network/nic_packets_dropped_count_tx
BETA
(project)
NIC Packets Dropped Count Tx |
|
CUMULATIVE, INT64, 1
gce_instance |
המספר הכולל של חבילות נכנסות או יוצאות שהכרטיס של המארח השליך, עבור TX.
nic_id:
מזהה NIC.
|
tpu/network/nic_packets_received_count
בטא
(project)
NIC Packets Received Count |
|
CUMULATIVE, INT64, 1
gce_instance |
המספר הכולל של חבילות הנתונים שהתקבלו על ידי כרטיס הרשת.
nic_id:
מזהה NIC.
|
tpu/network/nic_packets_sent_count
בטא
(פרויקט)
מספר המנות שנשלחו מ-NIC |
|
CUMULATIVE, INT64, 1
gce_instance |
המספר הכולל של חבילות הנתונים שנשלחו על ידי כרטיס הרשת.
nic_id:
מזהה NIC.
|
רשימה מלאה של המדדים שנוצרים על ידי Compute Engine מופיעה במאמר מדדים של Compute Engine.
AI Telemetry Collector
הכלי לאיסוף טלמטריה של AI אוסף ומפרסם מדדים של TPU בשטח השמות compute.googleapis.com עבור יחידות TPU שנוצרו באמצעות Compute Engine API.
המדדים האלה הם מדדים מובנים של המערכת, שמספקים תובנות לגבי התקינות והביצועים.
ארכיטקטורת AI Telemetry Collector מתוכננת כ-OpenTelemetry (OTEL) Collector קל משקל וייעודי. הוא משתמש בשני מקלטים עיקריים כדי לתעד נתונים:
- TPU Runtime Receiver: אוסף מדדים של זמן ריצה ועומס עבודה (כמו מחזור עבודה ושימוש בזיכרון) ישירות מזמן הריצה של TPU כשעומס עבודה של למידת מכונה פעיל.
- TPU Host Receiver: אוסף מדדי ניצול חומרה, כמו ניצול TensorCore וניצול רוחב פס של הזיכרון, ישירות מהמכשיר, בלי קשר לשאלה אם עומס עבודה פועל.
לאחר מכן, כלי האיסוף של טלמטריית ה-AI משתמש במעבדים כדי להחיל באופן אוטומטי תגי משאבים נדרשים (כמו project_id, instance_id ו-zone) ומייצא את הטלמטריה ישירות ל-Cloud Monitoring בצורה מאובטחת.
כלי איסוף הטלמטריה של AI מותקן מראש בתמונות של Ubuntu LTS שעברו אופטימיזציה ל-TPU של Google, והוא פועל אוטומטית כשהמכונה הווירטואלית מופעלת. כדי להשתמש בהגדרה הזו, צריך לציין את פרויקט התמונות הרשמי של מאיצי Google ואת המשפחה כשיוצרים TPU VM או תבנית של הגדרות מכונה. אחרי שהמכונה הווירטואלית מופעלת, הכלי לאיסוף נתוני טלמטריה של AI שולח אוטומטית מדדים ללוחות הבקרה של Cloud Monitoring.
אם אתם יוצרים קובצי אימג' מותאמים אישית של מערכת הפעלה, אתם יכולים להשתמש בכלי לאיסוף טלמטריה מבוססת-AI אחרי שמתקינים ומריצים את קובץ האימג' של ai-telemetry-collector Docker. מידע נוסף זמין במאמר בנושא שימוש בתמונת מערכת הפעלה מותאמת אישית.
הגדרות אישיות
הכלי לאיסוף טלמטריה של AI שולח מדדים באופן אוטומטי ללוחות בקרה של Cloud Monitoring, ולא נדרשים שלבי הגדרה נוספים. עם זאת, אפשר להגדיר את חבילת Snap או את תמונת Docker כדי להוסיף יעדי ייצוא חיצוניים, לשנות את מרווחי הזמן של איסוף המדדים ולכלול אפשרויות ניפוי באגים.
אפשר להחליף את הגדרות ברירת המחדל בקובץ הגדרה חדש, או להוסיף קובץ הגדרה נוסף להגדרות ברירת המחדל הקיימות. כשמוסיפים הגדרות, מפתחות שלא קיימים כבר מתווספים, ומפתחות שכבר קיימים נמחקים. עם זאת, מערכים ורשימות לא מצטברים, ולכן רשימות חדשות צריכות לכלול גם את הערכים הקיימים וגם את הערכים החדשים.
קובץ ה-YAML הבא מגדיר את הכלי לאיסוף נתוני טלמטריה מבוססי-AI לשליחת מדדים אל Prometheus, ערכת כלים בקוד פתוח למעקב אחר מערכות ולשליחת התראות. היא גם מפעילה את אפשרות הניפוי באגים, שמדפיסה מדדים במסוף.
exporters:
prometheus:
endpoint: 0.0.0.0:8889
service:
pipelines:
metrics:
exporters:
- prometheus # For more: https://prometheus.io/docs/introduction/overview/
- googlecloud # If you do not include this, you'll lose Google Cloud Monitoring
- debug # print metrics within the console
מערכת הפעלה שמוגדרת כברירת מחדל
אם אתם משתמשים בתמונות של Ubuntu LTS שעברו אופטימיזציה ל-TPU של Google, מריצים את פקודת ה-Snap הבאה כדי להוסיף את קובץ ההגדרות החדש להגדרה הקיימת:
sudo snap set \
ai-telemetry-collector \
extra-flags="--config /home/username/additional-config.yaml"
כדי להחליף את ההגדרה הקיימת, משתמשים בדגל config-path במקום בדגל extra-flags:
sudo snap set \
ai-telemetry-collector \
config-path="/home/username/new-config.yaml"
הפקודה snap set אמורה להפעיל מחדש באופן אוטומטי את הכלי לאיסוף נתוני טלמטריה של AI. כדי לוודא שהאיסוף הופעל מחדש וההגדרות שלכם הוחלו בהצלחה, משתמשים בפקודה הבאה כדי לראות את היומנים:
sudo snap logs -f ai-telemetry-collector
מערכת הפעלה בהתאמה אישית
אם אתם משתמשים במערכת הפעלה בהתאמה אישית, מריצים את פקודת Docker הבאה כדי להוסיף את קובץ ההגדרות החדש להגדרה הקיימת:
# First apply the default configs via `--config=/etc/ai-telemetry-collector/config.yaml`
# Then apply your additional config by volume mount.
docker run --privileged --net=host \
-v <path>/additional-config.yaml:/etc/ai-telemetry-collector/additional-config.yaml \
ai-telemetry-collector:latest \
--config=/etc/ai-telemetry-collector/config.yaml \
--config=/etc/ai-telemetry-collector/additional-config.yaml
כדי להחליף את ההגדרה הקיימת, משתמשים בפקודת Docker הבאה:
# Mount a volume (your config file) to `/etc/ai-telemetry-collector/config.yaml`
# The binary automatically picks up this file.
docker run --privileged --net=host \
-v <path>/my-config.yaml:/etc/ai-telemetry-collector/config.yaml \
ai-telemetry-collector:latest
יומני ביקורת
שירותיGoogle Cloud יוצרים יומני ביקורת שבהם מתועדים אירועי גישה למשאבי Google Cloud ופעילויות אדמין שמבוצעות בהם. למידע נוסף, ראו יומני ביקורת של Compute Engine.