PBS queue has been implemented with FIFO method with fairshare. However the challenge is when CPU node( has only cpus) is free but PBS sends job to the GPU node( has cpu and gpu). How to tell PBS to first try all CPU node if not free then go to GPU node. If its GPU jobs then it should immediately start at GPU.
Soln 1:
During addition of compute nodes to the PBS Server:
add the cpu nodes first - qmgr -c “create node cpu-node(s)”
add the gpu nodes at the last - qmgr -c “create node gpu-node(s)”
The pbsnodes -av | grep ^[a-zA-Z] output shows this order
This will make sure the cpu nodes are checked first before moving into gpu nodes
Soln 2:
1 set cpu nodes priority value to 100
2. set gpu nodes priority value to 200
3. In the $PBS_HOME/sched_priv/sched_config , update the below node_sort_key line and kill -HUP
node_sort_key: “sort_priority LOW” ALL
4. This will make sure nodes are sorted from low to high
Thanks for the steps. it helped to implement node sorting.
node_sort_key: “sort_priority HIGH” ALL was already set in the sched_config. So do we need to still restart pbs sched? Or it will be automatically now sort the nodes as per the latest priority set to each nodes.