With the Remote Services grouping feature, you can define a subset of the nodes in your cluster as a group, and then submit jobs specifically to that group. This can be quite useful when some nodes in the cluster are different from others. For example, some nodes may have more memory or faster CPUs. Using this feature, you can force jobs to only run on the appropriate type of machines. If all nodes of the requested group are at capacity, jobs will be queued until a member of that group is available.
In order to define a group, you will need to add the GROUP property to the grb_rs.cnf configuration file and give a name to the group:
The groups are static and can only be changed in the node configuration file. If you wish to change the group of a node, you will need to stop the node, edit the configuration, and restart the node. A node can only be a member of one group.
The grbcluster nodes command displays the assigned group for each node (in the GRP column):
> grbcluster --server=server1 --password=pass nodes ADDRESS STATUS TYPE GRP LICENSE #Q #R JL IDLE %MEM %CPU server1 ALIVE COMPUTE group1 VALID 0 0 2 46h59m0s 9.79 0.50 server2 ALIVE COMPUTE group1 VALID 0 0 2 46h46m0s 8.75 0.00 server3 ALIVE COMPUTE VALID 0 0 2 46h46m0s 8.75 0.00 server4 ALIVE COMPUTE VALID 0 0 2 46h46m0s 8.75 0.00
With gurobi_cl, you can submit a job to a given group by using the GROUP property of the client license file (see set up a client license).