تعرف على مقاييس NVIDIA GPU لتحسين أداء وحدة معالجة الرسومات واستخدامها على خدمة Azure Kubernetes (AKS)

غالبا ما يتطلب التنسيب الفعال وتحسين أحمال عمل وحدة معالجة الرسومات رؤية لاستخدام الموارد والأداء. توفر مقاييس GPU المدارة على AKS (معاينة) تجميعا آليا وعرضا لاستخدام وحدة معالجة الرسومات والذاكرة وبيانات الأداء عبر تجمعات العقد التي تدعم وحدة معالجة الرسومات NVIDIA. يتيح ذلك لمسؤولي النظام الأساسي تحسين موارد نظام المجموعة والمطورين لضبط أحمال العمل وتصحيحها باستخدام أجهزة يدوية محدودة.

في هذه المقالة، ستتعرف على مقاييس GPU التي تم جمعها بواسطة مصدر NVIDIA Data Center GPU Manager (DCGM) مع تجمع عقد ممكن لوحدة معالجة الرسومات (معاينة) مدار بالكامل في خدمة Azure Kubernetes ‏(AKS).

هام

تتوفر ميزات معاينة AKS على أساس الخدمة الذاتية والاشتراك. يتم توفير المعاينات "كما هي" و"كما هي متوفرة"، ويتم استبعادها من اتفاقيات مستوى الخدمة والضمان المحدود. تتم تغطية معاينات AKS جزئيًا بواسطة دعم العملاء على أساس بذل أفضل الجهود. على هذا النحو، هذه الميزات ليست مخصصة للاستخدام الإنتاجي. لمزيد من المعلومات، يُرجي الاطلاع على مقالات الدعم الآتية:

المتطلبات الأساسية

تحقق من تثبيت مكونات GPU المدارة

بعد إنشاء تجمع عقدة NVIDIA GPU (معاينة) باتباع هذه الإرشادات، تأكد من تثبيت مكونات برنامج GPU باستخدام الأمر az aks nodepool show :

az aks nodepool show \
    --resource-group <resource-group-name> \
    --cluster-name <cluster-name> \
    --name <node-pool-name> \

يجب أن يتضمن الإخراج القيم التالية:

  ...
  "gpuProfile": {
      "driver": "Install",
      "driverType": "",
      "nvidia": {
          "managementMode": "Managed",
          ...
          ...
      }
  },
...
...

تخصيص جمع مقاييس GPU في Azure Managed Prometheus

إنشاء وتطبيق ConfigMap يتيح ملف تعريف جمع مقاييس NVIDIA GPU من dcgm-exporter في وكيل Azure Monitor في مساحة الأسماء kube-system، مشابه للما يلي:

cat <<EOF | kubectl create -f -
kind: ConfigMap
apiVersion: v1
data:
  schema-version:
    v1
  config-version:
    ver1
  default-scrape-settings-enabled: |-
    dcgmexporter = true
metadata:
  name: ama-metrics-settings-configmap
  namespace: kube-system
EOF

ملحوظة

بعد تطبيق هذا الإعداد مرة واحدة على عنقود AKS، يتم جمع جميع مجموعات عقد بطاقات NVIDIA الحالية والجديدة التي أضيفت إلى المجموعة تلقائيا.

تعطيل الجمع التلقائي لمقاييس وحدات معالجة الرسومات في Azure Managed Prometheus

لتعطيل جمع مقاييس NVIDIA DCGM بواسطة وكيل Prometheus (AMA) المدار بواسطة Azure Monitor، قم بتعديل نفس ConfigMap. أعباء عمل وحدة معالجة الرسوميات الخاصة بك لا تتأثر.

شغّل الأمر التالي:

kubectl edit configmap ama-metrics-settings-configmap -n kube-system

حدث dcgmexporter الإعداد من true إلى false:

...
...
default-scrape-settings-enabled: |-
  dcgmexporter = false
...
...

لم تعد مقاييس NVIDIA DCGM تظهر في Azure Monitor أو Metrics Explorer.

مراقبة مقاييس وحدة معالجة الرسومات في بوابة Azure

  1. بعد إنشاء مساحة عمل Azure Monitor لمجموعة AKS، اذهب إلى Azure portal وافتح Azure Monitor>Dashboards باستخدام Grafana في مساحة العمل Azure Monitor الخاصة بك.

  2. باستخدام شريط البحث، قم بتصفية لوحة تحكم Kubernetes | NVIDIA GPU DCGM Exporter Grafana مع وسم Azure-managed.

  3. اختر هذه لوحة المعلومات وتأكد من أن تجمع Cluster العقد المحدد والمتطابق Prometheus Datasource مع بطاقة الرسوميات لديك. يمكنك الآن عرض مقاييس وحدة معالجة الرسومات في الوقت الحقيقي، كما هو موضح في الصورة التالية:

لقطة شاشة للوحة تحكم مقاييس GPU المدارة بواسطة AKS.

فهم مقاييس GPU

مقاييس استخدام وحدة معالجة الرسومات

تظهر مقاييس استخدام وحدة معالجة الرسوميات نسبة الوقت الذي تقوم فيه أنوية وحدة معالجة الرسومات بنشاط بالعمل. تشير القيم العالية إلى أن وحدة معالجة الرسومات مستخدمة بكثرة ، وهو أمر مرغوب فيه بشكل عام لأحمال العمل مثل التدريب أو معالجة البيانات. يجب أن يأخذ تفسير هذا المقياس في الاعتبار نوع عبء العمل: عادة ما يحافظ تدريب الذكاء الاصطناعي على الاستخدام مرتفعا ، بينما قد يكون للاستدلال استخدام متقطع بسبب حركة المرور المتفجرة.

استخدام الذاكرة: يعرض النسبة المئوية لذاكرة GPU المستخدمة. يمكن أن يشير الاستخدام العالي للذاكرة دون استخدام GPU العالي إلى أحمال العمل المرتبطة بالذاكرة حيث تنتظر وحدة معالجة الرسومات عمليات نقل الذاكرة. قد يشير الاستخدام المنخفض للذاكرة مع الاستخدام المنخفض إلى أن عبء العمل صغير جدا بحيث لا يمكن الاستفادة من وحدة معالجة الرسومات بالكامل.

كفاءة SM (المعالجات المتدفقة): يقيس الكفاءة التي يتم بها استخدام نوى وحدة معالجة الرسومات. تشير كفاءة SM المنخفضة إلى أن النوى خاملة أو غير مستغلة بشكل كاف بسبب عدم توازن عبء العمل أو تصميم النواة دون المستوى الأمثل. الكفاءة العالية مثالية للتطبيقات الثقيلة للحوسبة.

مقاييس الذاكرة

استخدام النطاق الترددي للذاكرة: يعكس مقدار النطاق الترددي النظري للذاكرة الذي يتم استهلاكه. يمكن أن يشير استخدام النطاق الترددي العالي مع الاستخدام المنخفض للحوسبة إلى حمل عمل مرتبط بالذاكرة. على العكس من ذلك ، يشير الاستخدام العالي في كل من عرض النطاق الترددي للحوسبة والذاكرة إلى عبء عمل متوازن.

أخطاء الذاكرة: يتتبع أخطاء كود تصحيح الأخطاء (ECC) إذا كان مفعلا. قد يشير عدد كبير من الأخطاء إلى تدهور الأجهزة أو المشكلات الحرارية ويجب مراقبتها للتأكد من موثوقيتها.

مقاييس درجة الحرارة والطاقة

درجة حرارة وحدة معالجة الرسومات: تشير إلى درجة حرارة تشغيل وحدة معالجة الرسومات. يمكن أن تؤدي درجات الحرارة المرتفعة المستمرة إلى الاختناق الحراري ، مما يقلل من الأداء. يتضمن التفسير المثالي لهذا المقياس مراقبة درجة الحرارة بالنسبة للحدود الحرارية لوحدة معالجة الرسومات وسعة التبريد.

استخدام الطاقة: يظهر سحب الطاقة الفوري. تساعد مقارنة استخدام الطاقة ب TDP (طاقة التصميم الحراري) على فهم ما إذا كان يتم دفع وحدة معالجة الرسومات إلى أقصى حدودها. قد يشير الانخفاض المفاجئ في الطاقة إلى الاختناق أو الاستخدام الناقص.

الساعات ومقاييس التردد

ساعة GPU: تردد التشغيل الفعلي لوحدة معالجة الرسومات. إلى جانب الاستخدام ، يساعد هذا في تحديد ما إذا كانت وحدة معالجة الرسومات تخنق أو تعمل بشكل ضعيف بالنسبة لإمكانياتها.

ساعة الذاكرة: تردد تشغيل ذاكرة وحدة معالجة الرسومات. قد تستفيد أحمال العمل المرتبطة بالذاكرة من ساعات الذاكرة الأعلى. يمكن أن يؤدي عدم التطابق بين استخدام الذاكرة والحوسبة إلى تسليط الضوء على الاختناقات.

عرض النطاق الترددي PCIe: يقيس معدل النقل عبر ناقل PCIe. قد يشير الاستخدام المنخفض مع أعباء العمل الثقيلة إلى CPU-GPU التواصل ليس عنق الزجاجة. قد يشير الاستخدام العالي إلى قيود نقل البيانات التي تؤثر على الأداء.

عرض النطاق الترددي NVLink: يشبه هذا المقياس عرض النطاق الترددي PCIe ولكنه خاص بتوصيلات NVLink ، ومناسب في أنظمة GPU المتعددة للاتصال عبر GPU. قد يشير الاستخدام العالي ل NVLink مع الاستخدام المنخفض ل SM إلى تأخير في المزامنة أو نقل البيانات.

مقاييس الخطأ والموثوقية

الصفحات المستبعدة وأخطاء XID: تتبع أخطاء ذاكرة GPU والأعطال الحرجة. تشير التكرارات المتكررة إلى أعطال الأجهزة المحتملة وتتطلب الاهتمام بأحمال العمل طويلة الأمد.

إرشادات الترجمة الفورية

يجب تفسير مقاييس DCGM بشكل سياق مع نوع عبء العمل لديك في AKS. يجب أن يظهر عبء العمل العالي كثيف الحوسبة بشكل مثالي استخداما عاليا لوحدة معالجة الرسومات و SM ، واستخداما عاليا لعرض النطاق الترددي للذاكرة ، ودرجات حرارة مستقرة أقل من عتبات الاختناق ، وسحب الطاقة بالقرب من TDP ولكن أقل.

قد تظهر أحمال العمل المرتبطة بالذاكرة استخداما عاليا للذاكرة وعرض النطاق الترددي ولكن استخداما أقل للحوسبة. غالبا ما تشير الحالات الشاذة مثل الاستخدام المنخفض مع ارتفاع درجة الحرارة أو استهلاك الطاقة إلى الاختناق أو الجدولة غير الفعالة أو الاختناقات على مستوى النظام.

تعد مراقبة الاتجاهات بمرور الوقت بدلا من اللقطات الفردية أمرا بالغ الأهمية. غالبا ما يكشف الانخفاض المفاجئ في الاستخدام أو الارتفاعات المفاجئة في الأخطاء عن المشكلات الأساسية قبل أن تؤثر على أحمال عمل الإنتاج. مقارنة المقاييس بين عدة وحدات معالجة رسومات يمكن أن تساعد أيضا في تحديد المؤشرات الشاذة أو الأجهزة التي تتصرف بشكل خاطئ في مجموعة العقد. يوفر فهم هذه المقاييس مجتمعة ، بدلا من العزل ، أوضح رؤية لكفاءة وحدة معالجة الرسومات وأداء عبء العمل.

مقاييس GPU الشائعة

يتم تقييم مقاييس NVIDIA DCGM التالية بشكل شائع لأداء تجمعات عقد GPU على Kubernetes:

اسم مقياس GPU المعنى النطاق النموذجي / المؤشر نصيحة الاستخدام
DCGM_FI_DEV_GPU_UTIL استخدام وحدة معالجة الرسومات (% مرة تكون فيها مراكز وحدة معالجة الرسومات نشطة) 0-100% (الأعلى هو الأفضل) مراقبة لكل عقدة ولكل جراب ؛ قد تشير القيم المنخفضة إلى اختناقات وحدة المعالجة المركزية أو الإدخال / الإخراج
DCGM_FI_DEV_SM_UTIL كفاءة المعالجات المتعددة (% النوى النشطة) 0-100% تشير القيم المنخفضة مع الاستخدام العالي للذاكرة إلى حمل عمل مرتبط بالذاكرة
DCGM_FI_DEV_FB_USED ذاكرة Framebuffer المستخدمة (بايت) 0 إلى إجمالي الذاكرة استخدم حدود ذاكرة وحدة معالجة الرسومات وتتبع استخدام الذاكرة لكل جراب
DCGM_FI_DEV_FB_FREE ذاكرة GPU المجانية (بايت) 0 إلى إجمالي الذاكرة مفيد للجدولة وتجنب أخطاء OOM
DCGM_FI_DEV_MEMORY_UTIL استخدام الذاكرة (٪) 0-100% الدمج مع استخدام GPU/SM لتحديد أحمال العمل المرتبطة بالذاكرة
DCGM_FI_DEV_MEMORY_CLOCK تردد ساعة الذاكرة الحالية (MHz) ساعة ذاكرة من 0 إلى كحد أقصى قد تشير القيم المنخفضة في ظل الاستخدام العالي للذاكرة إلى التقييد
DCGM_FI_DEV_POWER_USAGE الاستخدام الفوري للطاقة (واط) 0 إلى TDP قد تشير القطرات أثناء الاستخدام العالي إلى الاختناق
DCGM_FI_DEV_TEMPERATURE درجة حرارة وحدة معالجة الرسومات (°C) ~ 30-85 درجة مئوية عادي تنبيه لاستمرار درجات الحرارة المرتفعة
DCGM_FI_DEV_NVLINK_RX NVLink استلام استخدام النطاق الترددي (%) 0-100% عنق زجاجة مزامنة GPU المتعدد إذا كان مرتفعا مع استخدام SM منخفض
DCGM_FI_DEV_XID_ERRORS الأخطاء الفادحة في وحدة معالجة الرسومات التي أبلغ عنها برنامج التشغيل عادة 0 مطلوب تحقيق فوري؛ يمكن أن تلوث العقدة في Kubernetes

للتعرف على المجموعة الكاملة لمقاييس GPU ، تفضل بزيارة وثائق NVIDIA DCGM Upstream.

الخطوات التالية