License File
A client program will always need to be told how to reach the Remote
Services cluster. There are generally two ways to do this. The first
is through the programming language APIs. We'll discuss this option
in a later section on programming with Remote
Services. The second is
through a license file. You can create a client license file yourself
or edit an existing one, using your favorite text editor
(Notepad is a good choice on Windows). The license file should
be named gurobi.lic.
The license file contains a list of properties of the form
PROPERTY=value. Lines that begin with the # symbol are treated
as comments and are ignored. The license file must be placed in your
home directory or in one of the following locations:
- C:\gurobi\ on Windows
- /opt/gurobi/ on Linux
- /Library/gurobi/ on Mac OS
You can also set the environment variable GRB_LICENSE_FILE to
point to this file.
Here are the properties you can set:
- COMPUTESERVER
- The fully qualified name of the main node used to
access the cluster, plus the protocol scheme and port (if needed).
For example, use server1 to access a cluster using HTTP on
the default port, or https://server1:61000 to
access a cluster over HTTPS using port 61000. You can also specify
a comma-separated list of names so that other nodes can be used in
case the first node can't be reached.
- PASSWORD
- The client password to access the cluster.
- PRIORITY
- Job Priority. Higher priority jobs take precedence
over lower priority jobs. Priorities will be discussed in more
detail shortly.
- GROUP
- Job group. If your cluster has been set up with groups,
you can specify the group to submit the job to. The job will only be
executed on nodes that are members of this group.
- QUEUETIMEOUT
- Queuing timeout (in seconds). A job that has been sitting in the
queue for longer than the specified QUEUETIMEOUT value
will return with a JOB_REJECTED error.
- IDLETIMEOUT
- Idle job timeout (in seconds). This property allows you to set a limit
on how long a Compute Server job can sit idle before the server kills the job.
Here is a complete example:
COMPUTESERVER=server1:61000
PASSWORD=abcd
PRIORITY=10
The gurobi_cl or grbcluster tools provide command-line
flags that allow you to set most of these properties. These tools
will read the license file, but values specified via these
command-line flags will override any values provided in the license
file.