First Distributed Tuning in the Cloud
The Gurobi Instant Cloud makes it easy to launch a cluster of machines for distributed tuning. If you already installed a cloud license file for a pool with distributed workers, you can go directly to step 4.
1. Open the Instant Cloud Manager
2. Create a pool with distributed workers
In the Instant Cloud Manager, go to the 'Pools' section and click on the add new pool button:
Then, open the 'License' tab and set the number of workers to 2.
Finally, create the new pool. Note that a default name is assigned for you such as pool1.
3. Download the pool license file
The list of pools is displayed in the Instant Cloud Manager and your license file is ready to be downloaded with the following button.
The license file contains the default access ID and secret key for the selected pool. You just have to place this file in your home directory which takes precedence, or in one of the following shared locations:
- C:\gurobi\ on Windows
- /opt/gurobi/ on Linux
- /Library/gurobi/ on Mac OS X
In case you previously had a license file installed, please make sure to replace it,
or set the environment variable
GRB_LICENSE_FILE to point to the cloud license file, it
will override the default locations.
You can try to tune a MIP MPS file provided with the Gurobi distribution. Here is an example on Mac OS X:
$grbtune /Library/gurobi1001/macos_universal2/examples/data/misc07.mps Waiting for cloud server to start........... Capacity available on '999999-pool1' cloud pool - connecting... Established HTTPS encrypted connection grbtune version 10.0.1 build v10.0.1rc0 (mac64[x86]) Copyright (c) 2023, Gurobi Optimization, LLC Read MPS format model from file /Library/gurobi1001/macos_universal2/examples/data/misc07.mps Reading time = 0.26 seconds MISC07: 212 rows, 260 columns, 8619 nonzeros Distributed tuning: launched 3 distributed worker jobs Solving model using baseline parameter set with TimeLimit=3600s Solving with random seed #1 ... Optimize a model with 212 rows, 260 columns and 8619 nonzeros Variable types: 1 continuous, 259 integer (0 binary) [...]
Within this log, we have highlighted in bold some important steps. First, the client automatically connects to the Instant Cloud server and checks for the pool status. As the machines are not launched yet, Instant Cloud starts the machines and the client reports that it is waiting until capacity is available.
Then the Gurobi Optimizer detects that the pool is setup with 2 distributed workers. So it automatically starts the tuning in distributed mode with 3 workers (the master compute server counts as one worker as well).
5. Terminate the pool (optional)
The machine will auto-terminate once it stayed idle for a duration limit called the idle shutdown. The default idle shutdown is 60 minutes, and it can be changed in the settings of the pools and your preferences. Otherwise, you can terminate the pool manually in the Instant Cloud Manager, by selecting the created pool and clicking on the terminate button.