To form a Remote Services cluster, you need to run the Remote Services agent (grb_rs) on all the nodes that make up the cluster. These agents communicate amongst themselves, and also with client programs (e.g. gurobi_cl) and tools (e.g., grbcluster), to manage jobs, to provide information about the state of the cluster, etc.
The primary task of the Remote Services agents is to collectively manage the queueing and the execution of jobs. The agents work together to balance the load by assigning a new job to the node with the fewest running jobs whenever possible. If all nodes are at capacity, newly submitted jobs will be queued, and the first node with available capacity will later execute the job. If a new node is added to the cluster, it will immediately start processing queued jobs.
The grb_rs executable provides several commands and flags to help in the configuration and execution of the agent. We will review these commands step by step in the following sections. You can get the full list of commands in the reference section or by using the command-line help:
> grb_rs --help
In the next sections, we will also use grbcluster to monitor and administrate the cluster. You can get the full list of commands in the reference section or by using the command-line help:
> grbcluster --help