++ Mike + Anne
Please follow the below instructions , this might satisfy your requirement
-
Define the custom resource:
qmgr –c "c r my_node_type type=string_array,flag=h"
-
Append the custom resource to resources: line in sched_config file:
resources: “ncpus, mem, arch, host, vnode, aoe, my_node_type”
Note: after updating sched_config file, it is necessary to kill -HUP the pid of pbs scheduler. -
Set each queue’s default_chunk for the new resource to the value you are using
to associate it with vnodes or compute nodes using qmgr:qmgr –c "s q redq default_chunk.my_node_type = red" qmgr –c "s q blueq default_chunk.my_node_type = blue" qmgr –c "s q greenq default_chunk.my_node_type = green" qmgr –c "s q pinkq default_chunk.my_node_type = pink"
-
Set the value for the new resource at each vnode:
qmgr –c "s n node01 resources_available.my_node_type = red" qmgr –c "s n node02 resources_available.my_node_type = blue" qmgr –c "s n node03 resources_available.my_node_type = green" qmgr –c "s n node04 resources_available.my_node_type = pink"
Note:
To submit jobs, so that jobs land only on node1:
qsub -q redq -- /bin/sleep 100 # This job is scheduled on node01
To use cross utilization of nodes, append my_node_type to nodes (here we are using node01 / node02 as example)
qmgr –c "s n node01 resources_available.my_node_type += blue"
qmgr –c "s n node02 resources_available.my_node_type += red"
Now,
qsub -q blueq -- /bin/sleep 100 # has two nodes node01 and node02
qsub -q redq -- /bin/sleep 100 # has two nodes node01 and node02
I hope this helps