Important note: you only need to start Gurobi Remote Services if you are
setting up a Compute Server or a distributed worker (for use in distributed
algorihms). If you are not
sure whether you need to start Gurobi Remote Services, you can examine the
contents of your gurobi.lic
file. If it contains the line
CSENABLED=1
, then you need Gurobi Remote Services.
If it contains a line that begins with DISTRIBUTED=
, and if
you plan to run distributed algorithms, then you also need Gurobi
Remote Services.
On Windows systems, Gurobi Remote Services is a Windows Service that allows a server to perform Gurobi computations on behalf of other client machines. The set of services the server provides depends on your license. If you are setting up a machine as a distributed worker, no license is required. In this case, the only service provided by the server is to act as a worker in a distributed algorithm. If you have a Compute Server license, then servers running Gurobi Remote Services can provide a variety of services, including offloading computation from a set of clients, balancing computational load among the servers, and providing failover capabilities, in addition to acting as a distributed worker.
On a Windows system, you will need to start Gurobi Remote Services by selecting the Gurobi Remote Services menu item from the Gurobi folder of the Start menu. You should only do so after you have installed the Gurobi license key file.
Firewalls
The next step after starting Gurobi Remote Services depends on
your anti-virus software and firewall settings. Most anti-virus
software will ask you to confirm that you are allowing programs
grb_rs.exe
and grb_rsw.exe
to receive network traffic.
Once you confirm this, Gurobi Remote Servides will start serving
requests. If you don't receive such a prompt, you will need to add
grb_rs.exe
and grb_rsw.exe
to the firewall exceptions
list. Select Allow a program through Windows firewall under
the Security area of the Control Panel (labeled Allow an
app through Windows firewall in Windows 8).
Some machines have more restrictive firewalls that may require additional action. Gurobi Remote Services uses ports 61000-65000 by default. If you are unable to reach the Compute Server after taking the steps described, ask your network administrator for more information on how to open the required ports.
Gurobi Remote Services parameters
Note that Gurobi Remote Services has a few user-configurable parameters.
You can set these by creating a grb_rs.cnf
file and placing
it in the same directory as grb_rs.exe
. Please
consult the
Gurobi Remote Services section of the Reference Manual
for details.
Starting and stopping the grb_rs Gurobi service
Once Gurobi Remote Services has been started, you should see the
grb_rs
service listed in the Services tab of the Task
Manager. To start or stop the service, click on the Services
button at the bottom-right of the Services tab, and then
right-click on the Gurobi Remote Services item on this screen.
You can also start or stop Gurobi Remote Services from a Console
window with administrator privileges. Running grb_rs -h
lists
command-line options. Issuing a grb_rs -s
command stops Gurobi
Remote Services. If you are unfamiliar with running command-line
commands on a Windows system, you can learn more
here.
Add the line
VERBOSE=1to your
gurobi.lic
file to start Gurobi Remote Services in verbose
mode. Verbose mode produces a log message (in the Windows Event Log)
each time a client starts a job.
All output from Gurobi Remote Services goes to the Windows Event Log. You can access this through the Event Viewer. Type Event in the search box (under the Start menu in Windows Vista and Windows 7, toward the bottom left of the desktop in Windows 10) to launch the viewer.
Next steps
Once you've set up Gurobi Remote Services, you should test the state of the server. Type this command on your server:
gurobi_cl --server=localhost --statusIf the output includes the following line:
Gurobi Remote Services functioning normallythen Remote Services is ready for use.
Client programs will need to know how to reach your server. If you are using Gurobi Compute Server, this is typically done with a client license file. You should set that up now.
If you've set up distributed workers in order to run a distributed algorithm, you'll use the WorkerPool parameter to tell the client machine how to access the servers. When you are ready, you can obtain more information in the distributed algorithm section of the Reference Manual