A computer cluster is a set of computers that work together to be viewed as a single system. A Gurobi Compute Server cluster is a computer cluster where each node is a Gurobi Compute Server.
A Gurobi Compute Server cluster allows you to separate the optimization process into a client component, where the model is built, and a server component, where the model is solved. The client runs the Gurobi Optimizer as it would if it were to solve the problem locally. When the optimization begins, the problem is transferred to a Compute Server and solved there. Users can benefit from client-server optimization even if the Gurobi Compute Server cluster only contains one Compute Server node.
We recommend deploying a Gurobi Compute Server cluster using a Cluster Manager. This deployment consists of Gurobi Compute Servers, a Cluster Manager, and a Database, and has rich management and functional features. For example, it
- improves security by managing user accounts, and integrates with LDAP,
- provides a Web User Interface (WebUI) for advanced management, monitoring, and reporting,
- enables batch optimization (asynchronous optimization).
The figure below depicts the architecture of a Compute Server Cluster with a Cluster Manager.
The Database of a managed Compute Server cluster stores the data associated with user profiles, API keys, job history, and batch data, among others. The databases that can be used are MongoDB version 4.0 or later, Amazon Web Services (AWS) DocumentDB 4.0 or later, and Azure CosmosDB 4.2 (starting with Gurobi v11).
The article How do I set up a Compute Server Cluster with a Cluster Manager? (Step-by-Step Instructions) provides detailed step-by-step instructions to set up a Compute Server cluster with a Cluster Manager. These instructions aim to provide a simple setup of a working Gurobi Compute Server cluster, but once this has been deployed, we encourage users to explore and test various configurations for their specific needs, ranging from starting a Compute Server as a service to configuring an enterprise-grade Compute Server cluster with LDAP integration, high availability, failover, and more. The Gurobi Optimizer Reference Manual and Gurobi Remote Services document the configuration options and details.
Other deployment options
While not recommended, it is also possible to deploy a Gurobi Compute Server cluster without a manager (we also call this a self-managed Compute Server cluster), which only consists of Gurobi Compute Servers. It has no Cluster Manager nor a Database. A self-managed Compute Server cluster still provides additional features over a standalone Gurobi Optimizer, for example, it supports load balancing and queuing jobs when a solver is unavailable. However, it lacks features such as security and user management accounts, advanced monitoring capabilities, and asynchronous (batch) optimization, which can be achieved using a Cluster Manager.
The figure below depicts the architecture of a self-managed Compute Server cluster.
See How do I set up a self-managed Compute Server Cluster? (Step-by-Step Instructions) for detailed step-by-step instructions on how to deploy a Gurobi Compute Server cluster without a manager.
Comments
0 comments
Article is closed for comments.