Provisioned Optimization Server
Introduction
Provisioned Optimization Servers are Opt-servers that are hosted and managed by us for your convenience. They come with a selection of freely available optimization solvers, and some commercial solvers can be installed upon user request — see below. An Opt-server is a machine connected to PIFOP that can execute commands entered in the terminal.
These PIFOP-managed Opt-servers can be either provided exclusively to a given user or shared among all the members of an Enterprise, e.g. an university, a company or a small research group.
Launch a Provisioned Opt-Server
You can include a Provisioned Opt-server in your subscription plan at checkout. The Provisioned Opt-server will be available 24 hours a day, for which you will billed monthly or annually.
You can purchase a Provisioned Opt-server either:
- For yourself: only you will be able to use it, an option that is available for Pro users.
- For multiple users, e.g. your university or company: everyone to whom you give a subscription key will be able to use it, an option that is available for Enterprise users.
Virtual Machine Specifications
You can choose the specifications of the virtual machine (VM) in which your Provisioned Opt-server will run at checkout. These are the options we currently provide:
* The max burst duration is the maximum time that the virtual machine processors (vCPUs) can run at 100% of their capacity, after which their capacity drops to a baseline performance that varies across the VM types: for Burstable 1 and 2, the baseline performance is 20%, for Burstable 3, 30%, and for Burstable 4 and 5, 40%.
** The VM type Fixed1 always operates at its full capacity.
All of the VMs we provide run in the Amazon Web Services (AWS) infrastructure. Each vCPU is one thread of a Intel Xeon Scalable 3.1 GHz (Burstable) or 3.5 GHz (Fixed) processor.
Burstable vs Fixed
Burstable VMs are burstable AWS instances, which are cheaper than other AWS options because it is expected that most of the time the instance will be operating at low-level workloads — e.g. when your Provisioned Opt-server is idle, waiting for a command to be executed.
Burstable instances work in an intricate system based on vCPU credits. The summary is this: vCPU credits are consumed over time while the vCPU is running above a predefined baseline (e.g. 20% of its capacity) and generated while they are running below that baseline. When the VM runs out of vCPU credits, the VM will still work, but it will operate at a performance level that is below its full capacity while it generates more credits.
Fixed instances, on the other hand, operate with fixed vCPU performance.
Choosing a virtual machine that is right for you
In general, our recommendation is this:
- For individuals, start small and go bigger when you need.
- For universities and companies, start with Burstable 3 or 4 and go bigger if needed.
Admitedly, it is not always easy to anticipate if a given Burstable VM will meet your needs, because you need to estimate before hand if its vCPUs, memory and maximum burst duration (MBD) are enough for your workload.
Generally speaking, if you are working with small models that take only minutes to be solved, or if the Opt-server will be used by students that will only run small models, the MBD is not very important.
The amount of memory in a VM, on the other hand, is always an important factor to consider, especially if the Opt-server will be used intensively or by multiple people at the same time.
If you are working with larger models, that take more than 1 hour to be solved, aside from considering the amount of memory the VM has, you also have to look at the MBD.
For instance, if you are working with models that take around 4 hours to be solved, and you will be running them to completion in 3 different moments of a day, you will need around 12 hours of top vCPU performance a day, in which case we recommend that you choose a machine with a MBD of at least 24 hours (Burstable4).
Solvers and Tools Available
Every Provisioned Opt-server comes with a few free solvers and tools installed and ready to be used out of the box, including AMPL (upgradable), SCIP, MiniZinc, CMPL, GLPSOL, Python3 and C/C++. You can also request us to install additional software.
- AMPL: for academics and individuals. See below how you can activate your license on PIFOP.
- GAMS: for academics and individuals.
- CPLEX: for academics and individuals.
- FICO-Xpress: for academics and individuals
- Gurobi: for academics
Using AMPL
We partner with AMPL to allow you to easily activate and use your AMPL licenses on PIFOP yourself. See the advantages of using AMPL on PIFOP and AMPL Quick Start to learn more.
Activate your AMPL license on PIFOP
Every Provisioned Opt-server comes with AMPL preinstalled with a default Size-Limited Demo license, which you can replace and use one of your own licenses. Follow these steps after your Provisioned Opt-server is up and running:
- Create or Access your account on the AMPL Portal.
-
Go to My Licenses and Select the license
that you want to install on PIFOP.
If you don't have a license yet, take a look at AMPL Community Edition, a free, full-powered AMPL license for professional, academic and personal use. -
In the license page, you should see an UUID that looks something like this:
b123cdfb-aecf-d159-fbc5-6df1c95edfb1
Copy that UUID. -
Open any of your PIFOP projects, Select your Provisioned Opt-server and enter
this command in the terminal — replace with your license UUID:
> amplkey activate --uuid LICENSE-UUID
Don't worry if the command says that it failed to read something from the cache. Proceed to the next step to check if the license activation has been successful or not. -
Now your license should have been activated. You can confirm that by checking the license information
that is printed out with the command below:
> ampl -v
Use Ctrl + C to interrupt AMPL.
AMPL on PIFOP Technical Limitations
See below the limitations you are subject to when you use AMPL in PIFOP.
- Batch mode only: It is not possible to use the AMPL command line interactively — where you begin an AMPL session and enter AMPL statements one by one in the terminal. PIFOP only supports running AMPL in batch mode — where you enter a file with all your commands, e.g. ampl model.mod.
Using a Provisioned Opt-Server
Once you have purchased an Opt-server for yourself or have received a subscription key from an Enterprise user, you can run solvers and execute commands in that Opt-server.
Use the Opt-server selector just above the terminal to select the Provisioned Opt-server.
Now you can enter commands in the terminal and it will be executed in your Provisioned Opt-server.
If you are not sure what commands are supported by the Opt-server, enter
User Management
If you are an Enterprise subscriber with a Provisioned Opt-server, all of the members of your Enterprise will be able to use the Provisioned Opt-server. Otherwise, only you will be able to use it.
By default, there are no time or memory limits set to Enterprise members. If you want more restrictive limits, contact us to make the change.
Changing to another VM
You can always upgrade/downgrade to a VM with more/less computing resources without extra costs. To do so, just go through the checkout process again.
However, keep in mind that any configuration that has been done in your current Provisioned Opt-server VM will be lost — e.g. Python packages that you have installed and solvers that you have requested us to mannually install. You will need to re-install the python packages in the new VM and request us to re-install the solvers you need in the new VM.