Gurobi Compute Server
A better way to deploy optimization applications
Gurobi Compute ServerCreate high-performance, fault-tolerant optimization applications that make more efficient use of your computing resources and your optimization software licenses.
The scope of optimization application has been growing steadily.
They are used by more people inside a given organization, and are more critical to a business’ success than ever before. As a result, such applications often have a number of complex requirements placed upon them. For example, they may be required to support multiple simultaneous users running on a variety of computing platforms, or they may need to meet stringent uptime goals, or they may need to be able to handle spikes in user demand.
The new Gurobi Compute Server is designed to greatly simplify the task of building and deploying such applications. The system combines a client library that seamlessly offloads optimization tasks to powerful servers with server software that manages all aspects of processing these jobs, including queuing, load balancing, and failover. The result is a powerful system that makes it easier to build scalable, reliable applications.
Below is an overview of our Compute Server offering. You may also download our computer server brochure.
|Seamlessly integrate client-server capabilities||The new Gurobi Optimizer library allows you to use our existing interfaces to write a single program that can either run locally or, with the flick of a switch, can offload optimization computations to one or more Gurobi Compute Servers. This removes the need to hire a client/server programmer to add these capabilities to your application.|
|Powerful queuing capabilities||Make the most of your computing resources with built-in queuing and load balancing capabilities so your jobs run as soon as a server is available. You can also assign priorities to jobs to make sure that your most important jobs complete as quickly as possible.|
|Rapid failover capabilities||If a server goes offline (due to a system failure, routine maintenance, etc.), the remainder of the servers will continue to operate unimpeded. There is no single point of failure, so jobs already in the job queue and newly submitted jobs will continue to be processed by the available servers.|
|Distributed tuning||Compute Server allows you to leverage the power of multiple machines to do distributed parameter tuning. By using several machines, you can explore a much larger space of parameters in the same amount of time, which often produces significantly better settings. You can learn more on our Distributed Optimization page.|
|Distributed optimization||Compute Server allows you to exploit multiple machines when solving a single MIP model. By utilizing different solution strategies on different machines, our testing shows that this approach produces a 1.72X mean performance improvement when using five machines on a broad set of difficult MIP models. You can learn more on our Distributed Optimization page.|
|Secure and efficient communication||The Compute Server communication protocol utilizes on-the-fly data compression to reduce the volume of data transmitted, and performs 256-bit AES encryption to ensure the security of your data.|
|Built-in administrative tools||Pre-built tools allow administrators to view usage information, adjust user job priorities, bring servers down for maintenance, and preempt running jobs.|
Compute Server is useful in a wide range of scenarios
Users have identified a number of scenarios where the Gurobi Compute Server may be useful:
- Ensuring high reliability — Automatic failover allows you to rapidly recover if one of your servers goes down. Furthermore, automatic load balancing enables you to use your disaster recovery servers, which might otherwise sit idle, to increase total throughput in your live configuration.
- Better handling of spikes in demand — Since it is easy to add additional servers, either locally or via Gurobi Cloud, you can easily scale up available computer power during peak demand times and then scale back when those periods are over.
- Easily connecting optimization models to modern n-tier architectures — N-tier architectures are common among today’s mission-critical enterprise applications. In such architectures, application functions are split among a set of machines, each dedicated to performing specific tasks. The Gurobi Compute Server easily integrates with these systems, allowing you to add a dedicated “optimization tier” to the mix.
Run Gurobi Compute Server on your own server or in the cloud
We give you the option of deploying your applications on a Gurobi Compute Server in several different ways: you can purchase licenses for use on your own servers, you can use Gurobi Cloud, or you can use a mixture of such resources.
|On your own Server||In the Cloud|
Whether you use your own servers or Gurobi Cloud, Compute Server always provides the following features…
Support for multiple client platforms
Clients can run on any supported Gurobi operating system, including Windows, Linux, and Mac. Furthermore, clients don’t need to run the same operating system as the Compute Server.
No client licenses required
A Compute Server can support an unlimited number of clients, and no client licenses are required. Simply point your client application at a Compute Server and you are ready to go.
Industry Leading Technical Support
Whether you are running on your machines or using a Gurobi Cloud Server, you can rest assured knowing that you will have access to our industry-leading Gurobi Technical Support.
How to Get Started
Setting up a compute server is easy. On your own machine, just install Gurobi and start the Compute Server process. With Gurobi Cloud, simply follow our step-by-step instructions to sign up for an account and choose the plan and number of machines you want to use.
We are always happy to discuss your needs and answer your questions. Just contact us at your convenience.