Inhalt |
---|
PBSPro bietet zur besseren Platzierung der Jobs einige Attribute um auf das Verhalten Einfluss zu nehmen. Jedoch versuchen wir die Anzahl dieser Optionen möglichst gering zu halten, da man sonst schnell durcheinander kommt oder fehlerhafte Anforderungen stellt.
vNodes auf der UV2000
Die UV2000 besteht aus jeweils 256 CPU-Cores und 8 TB Ram. Diese sind für das Batch-System aufgeteilt in 32 vNodes mit jeweils 8 CPU-Cores und dem dazugehörigen Memory von ca. 256GB Ram, welche direkt am Memory-Controller des CPUs liegen. Dadurch ist es dem Batch-System möglich einen Job per CGroup direkt an gewisse Speicherbänke und CPU-Cores zu binden, sodass keine Kommunikation über den NUMA-Link notwendig ist. Dieser NUMA-Link wird verwendet wenn mehr Ram oder Cores als in einer vNode vorhanden benötigt wird.
Unterscheidung der Architekturen
Der Scheduler ist so konfiguriert, dass zunächst versucht wird einen Job auf einem der kleinen MPI- Knoten laufen zu lassen und nur dann auf die UV2000 auszuweichen, wenn ansonsten kein Platz ist (auf Grund von Ressourcenauslastung oder Anforderungen).
...
Beispiel 2 würde auf zwei verschiedenen Nodes auf dem Cluster gestartet werden, obwohl die zwei Chunks auch auf einen einzelnen MPI-Knoten passen würden. Dabei ist zu beachten, dass der Job auch auf einer vNode der UV2000 und einem MPI-Knoten mit unterschiedlicher CPU-Architektur und Taktrate starten kann. Dies muss sowohl bei der Kompilierung als auch bei der Laufzeit (Sync-Barrieres zwischen den Prozessen) berücksichtigt werden. Es empfiehlt sich also in diesem Fall auch das Attribut arch zu verwenden.
Konkreten GPU-Typ anfordern
Das Batchsystem erlaubt es einen speziellen GPU-Typ anzufordern. Dazu muss im Select-Statement der Wert accelerator_model gesetzt werden.
Folgende Werte werden derzeit unterstützt:
Wert | GPU-Typ | Jahr | Anzahl |
---|---|---|---|
gtx1080ti | Nvidia GTX 1080 TI | 2017 | 120 |
rtx8000 | Nvidia Quadro RTX 8000 | 2020 | 4 |
rtx6000 | Nvidia Quadro RTX 6000 | 2020 | 40 |
a100 | Nvidia A100 | 2020 | 32 |
Codeblock | ||||
---|---|---|---|---|
| ||||
#PBS -l select=1:ncpus=2:ngpus=1:accelerator_model=gtx1080ti |
Codeblock | ||||
---|---|---|---|---|
| ||||
#PBS -l select=1:ncpus=2:ngpus=4 |
In Beispiel 3 werden 4 GPUs auf einem Server angefordert