Starting Gurobi Remote Services

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=1
to 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 --status
If the output includes the following line:
Gurobi Remote Services functioning normally
then 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



Subsections