A Remote Services cluster is a collection of nodes of two different types:
By default, grb_rs will try to start a node in Compute Server mode and the node license status will be INVALID if no license is found. In order to start a distributed worker, you need to set the WORKER property in the grb_rs.cnf configuration file (or the --worker command-line flag):
WORKER=true
Once you form your cluster, the node type will be displayed in the TYPE column of the output of grbcluster nodes:
> grbcluster --server=server1 --password=pass nodes --long ADDRESS STATUS TYPE LICENSE PROCESSING #Q #R JL IDLE %MEM %CPU STARTED RUNTIMES VERSION server1 ALIVE COMPUTE VALID ACCEPTING 0 0 2 46h59m0s 9.79 0.50 2017-09-27 17:03:24 [8.0.0] 8.0.0 server2 ALIVE COMPUTE VALID ACCEPTING 0 0 2 46h46m0s 8.75 0.00 2017-09-27 17:16:11 [8.0.0] 8.0.0 server3 ALIVE WORKER N/A ACCEPTING 0 0 1 46h46m0s 8.75 0.00 2017-09-27 17:16:11 [8.0.0] 8.0.0 server4 ALIVE WORKER N/A ACCEPTING 0 0 1 46h46m0s 8.75 0.00 2017-09-27 17:16:11 [8.0.0] 8.0.0
The node type cannot be changed once grb_rs has started. If you wish to change the node type, you need to stop the node, change the configuration, and restart the node. You may have to update your license as well.
Distributed Optimization
When using distributed optimization, distributed workers are controlled by a manager. There are two ways to set up the manager:
It is typically better to use the Compute Server itself as the distributed manager, rather than the client machine. This is particularly true if the Compute Server and the workers are physically close to each other, but physically distant from the client machine. In a typical environment, the client machine will offload the Gurobi computations onto the Compute Server, and the Compute Server will then act as the manager for the distributed computation.