In the pool settings, you can set the number of Compute Servers and the Number of distributed workers per server for your pool. Note that on Instant Cloud, when enabled, each compute server has its own set of workers. The number you specify is the number of workers per compute server; these workers are in addition to the server itself. For example, if you set both numbers to 2, your pool will contain two compute servers with two additional workers per compute server, hence, a total of six machines. All machines in the pool have the same machine type.
What do the workers do?
Adding distributed workers to an Instant Cloud pool automatically enables distributed optimization. This means that the compute server and its workers then work together on solving a single model. See this article for more information on when this is useful.
Distributed workers cannot be used to solve multiple models simultaneously. You must choose appropriate values for the number of compute servers and the job limit for this.
By default, when distributed optimization is enabled, Gurobi will use the Distributed MIP approach and split the work of solving your among the compute server and its workers. If you want to use the Distributed Concurrent approach, you need to set the ConcurrentJobs parameter to the number of workers + 1 (for the compute server).
Effects on the Job Limit
A compute server node can only run a single distributed job simultaneously. You need several compute server nodes to run several distributed jobs. See Distributed Workers and the Distributed Manager:
Note that we only allow a machine to act as manager for a single distributed job. If you want to run multiple distributed jobs simultaneously, you'll need multiple manager machines.
Thus, as soon as you add distributed workers to your pool, the number of jobs per compute server will be limited to 1, regardless of the job limit you set.
Comments
0 comments
Article is closed for comments.