Skip to main contentIBM Quantum Documentation Preview
This is a preview build of IBM Quantum® documentation. Refer to quantum.cloud.ibm.com/docs for the official documentation.

Fair-share scheduler

When you submit a workload to a quantum processing unit (QPU), it enters the scheduler for the specific QPU, joining the pool of workloads (from all users) that are waiting to be executed on that QPU. The order in which these workloads are executed is, by default, determined by a fair-share formula. As discussed below, this formula attempts to balance the workload between different instances according to the allocated QPU access amount over a given time window. In practice, this means that workloads from various instances are interweaved in such a way that the order in which workloads complete is not necessarily the order in which they were submitted. Because the order is calculated dynamically as new workloads arrive, it is generally impossible to guarantee when a workload will be executed from the fair-share scheduler.


Fair-share terms

  • Account: Individuals and organizations use an IBM Cloud® account to access IBM Quantum® Platform and Qiskit Runtime.

  • Instance: The base-level construct to which time is allocated from the overarching account to a set of QPUs, and to which users are directly assigned. Instances are connected to a specific region and plan. See the Instances guide for more information.

  • 28-day rolling window: The fair-share scheduler accounts for usage over a rolling time window. Only execution time accumulated within that window is accounted for the purpose of fairness. The length of that window is currently 28 days. When the fair-share scheduler is invoked, it takes into account usage starting 28 days ago. (Note: The rolling time window does not apply to Flex Plan. The fair-share ratio for Flex Plan is total usage versus allocation.)

  • Time used: For every instance, during the 28-day rolling window, all usage on all the QPUs is accounted for. These include all successful workloads, as well as workloads returning known select error codes. (Note: The rolling time window does not apply to Flex Plan. The fair-share ratio for Flex Plan is total usage versus allocation.)


Allocation and administration

IBM® assigns an allocation of quantum computing capacity to the IBM Cloud account of each organization, based on the capacity contracted under their plan. Account administrators then decide what portion of this allocation to assign to each instance. The fair-share scheduler uses the instances' allocation and current usage to schedule workloads in a manner that fairly distributes resources to each instance.

For example, assume only two instances maintain workloads in the queue of one quantum computer. With all else being equal, an instance with twice the number of minutes can execute twice the number of workloads.

If the organization account is an enterprise account, account administrators will first need to distribute their allocations to the account's child accounts, and the child account's administrator will then distribute their portion of the allocation to the child account's instances.


How the fair-share scheduler works

The fair-share scheduler selects workloads to execute on a QPU in a dynamic order so that no instance can monopolize the QPU. When a QPU is ready for additional work, it requests the next workload from the fair-share scheduler. The scheduler's default behavior is to select the next workload by first identifying the instance that has used the least amount of their allocation within the current scheduling window. If the selected instance has submitted more than one workload, the scheduler will select the oldest workload first. Thus, within a instance, the scheduler works on a first-in-first-out (FIFO) basis.


Next steps

Recommendations