You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+57-6Lines changed: 57 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -370,24 +370,75 @@ This either prints out the topology in slurm topology format or creates an outpu
370
370
371
371
It is installed on the scheduler node automatically by the azure-slurm installer (alongside `azslurm`) and runs under the same virtual environment at `/opt/azurehpc/slurm/venv`. It is not installed on execute nodes. Logs are written to `/opt/azurehpc/slurm/logs/scale_m1.log`.
372
372
373
+
#### Required slurm.conf settings
374
+
To use GB200/GB300, the block topology plugin must be enabled and the gbx00 partition must be excluded from auto-suspend:
375
+
376
+
```
377
+
TopologyParam=BlockAsNodeRank
378
+
TopologyPlugin=topology/block
379
+
# exclude any partition that uses gbx00
380
+
SuspendExcParts=gpu
381
+
```
382
+
383
+
**Do not** add these lines to the template's **Slurm Configuration** parameter (`additional_slurm_config` / `AdditionalSlurmConfig`). `TopologyPlugin=topology/block` requires a populated `topology.conf` to exist before `slurmctld` starts; applying it at cluster creation, before any nodes are scaled and the topology is generated, prevents `slurmctld` from starting.
384
+
385
+
Instead, apply them manually on the scheduler **after** the nodes are scaled and the block topology file is in place. Add the lines to `/etc/slurm/site_specific.conf` (which is included by `slurm.conf`) and run `scontrol reconfigure`. Replace `gpu` in `SuspendExcParts` with the name of the partition that uses gbx00 nodes if it differs. The full ordering is shown in the workflow below.
386
+
373
387
#### Workflow
374
-
Scaling is a three-step workflow: create a reservation, power up to the target (optionally with a buffer), then prune back down to the target. Once the nodes are ready, delete the reservation to release the nodes back to the cluster so jobs can be scheduled on them.
388
+
With the cluster running and an SSH session open on the scheduler node, the end-to-end process is:
389
+
390
+
1.**Scale the partition** to the target size — reserve the nodes, then power up to the target.
391
+
2.**Generate the block topology and put it in place** at `/sched/<clustername>/topology.conf`.
392
+
3.**Enable the block topology plugin** by adding the required settings to `/etc/slurm/site_specific.conf`, then run `scontrol reconfigure`.
393
+
4.**Release the ready nodes** from the reservation so jobs can be scheduled on them.
394
+
395
+
When releasing nodes in the final step, remove only the nodes that are powered up and ready to run jobs. Leave all powered-off or unhealthy nodes in the reservation, and do **not** delete the reservation — deleting it would also release the not-yet-ready nodes back to the cluster.
375
396
376
397
```bash
377
398
# 1. Reserve the partition's nodes under the scale_m1 reservation
378
399
scale_m1 create_reservation -p gpu
379
400
380
-
# 2. Power up 28 racks (504 nodes), overprovisioning 6 racks (108 nodes) to absorb unhealthy hardware
401
+
# 2. Power up 28 racks (504 nodes) to the target size
402
+
scale_m1 power_up --racks 28
403
+
404
+
# 3. Generate the block topology for the partition (--block_size 18 = one rack per block)
#### Overprovisioning to absorb unhealthy hardware (advanced)
429
+
In rare cases you may want to power up extra nodes so that unhealthy hardware can be discarded while still reaching the target size. `power_up` accepts an overprovision buffer, and `prune` / `prune_now` then trim back to the target, keeping only fully populated racks:
430
+
431
+
```bash
432
+
# Power up 28 racks plus a 6-rack (108-node) buffer to absorb unhealthy hardware
0 commit comments