Erreichen Einer Hohen Cluster-Auslastung
In diesem Abschnitt emulieren wir ein realistisches Szenario, in dem vier Data-Science-Teams jeweils ihre eigenen Workloads einreichen, um die Run:KI-Orchestrierungslösung vorzuführen. Diese Lösung erzielt eine hohe Cluster-Auslastung, während Priorisierung beibehalten und GPU-Ressourcen ausgeglichen werden. Wir beginnen mit dem im Abschnitt beschriebenen ResNet-50-Benchmark "ResNet-50 mit ImageNet-Datensatz Benchmark-Zusammenfassung":
$ runai submit netapp1 -i netapp/tensorflow-tf1-py3:20.01.0 --local-image --large-shm -v /mnt:/mnt -v /tmp:/tmp --command python --args "/netapp/scripts/run.py" --args "--dataset_dir=/mnt/mount_0/dataset/imagenet/imagenet_original/" --args "--num_mounts=2" --args "--dgx_version=dgx1" --args "--num_devices=1" -g 1
Wir haben den gleichen ResNet-50 Benchmark wie in "NVA-1121"ausgeführt. Wir haben die Flagge --local-image
für Container verwendet, die nicht im öffentlichen Hafendepot untergebracht sind. Wir mounten die Verzeichnisse /mnt
und /tmp
auf dem Host DGX-1 Node zum /mnt
/tmp
bzw. zum Container. Der Datensatz befindet sich bei NetApp AFFA800 mit dem dataset_dir
Argument, das auf das Verzeichnis verweist. Für --num_devices=1
-g 1
diesen Job weisen wir also eine GPU zu. Das erstere ist ein Argument für das run.py
Skript, das zweite ist ein Flag für den runai submit
Befehl.
Die folgende Abbildung zeigt ein Dashboard mit Systemübersicht mit einer GPU-Auslastung von 97 % und allen sechzehn verfügbaren GPUs. Im Balkendiagramm der GPUs können Sie leicht sehen, wie viele GPUs jedem Team zugewiesen sind. Im Bereich laufende Jobs werden die aktuell ausgeführten Jobnamen, Projekte, Benutzer, Typ, Knoten, angezeigt. GPUs – verbrauchte, Laufzeit, Fortschritt und Auslastungsdetails Eine Liste der Workloads in der Warteschlange mit deren Wartezeit wird unter Ausstehende Jobs angezeigt. Schließlich bietet die Box Nodes GPU-Nummern und Auslastung für einzelne DGX-1-Nodes im Cluster.