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. A Gurobi Compute Server cluster can be deployed with or without a manager. These options are explained in more detail below.
A Gurobi Compute Server cluster without a manager (self-managed Compute Server cluster) only consists of Gurobi Compute Servers. It has no Cluster Manager nor a Database. A self-managed Compute Server cluster provides additional features over a standalone Gurobi Optimizer. For example, it supports load balancing and queuing jobs when a solver is unavailable.
A Gurobi Compute Server cluster with a manager (managed Compute Server cluster) consists of Gurobi Compute Servers, a Cluster Manager, and a Database. We recommend using a managed Compute Server cluster because it adds 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 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).
Below we provide detailed step-by-step instructions to construct a self-managed Compute Server cluster and a managed Compute Server cluster. These articles aim to provide a simple setup of a working Gurobi Compute Server cluster(s).
- How do I set up a self-managed Compute Server Cluster?
- How do I set up a managed Compute Server Cluster?
Starting with a working Gurobi Compute Server cluster, 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.