IP Library Granted Patent US 11,544,615
Granted Patent B2
US 11,544,615 · App. 17/332,376 · Granted Jan 3, 2023

Managing runtime qubit allocation for executing quantum services

Inventors: Leigh Griffin (Waterford, IE); Stephen Coady (Waterford, IE)
Assignee: Red Hat, Inc.
G06N10/00G06F1/3296
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,544,615
App. No.
17/332,376
Granted
Jan 3, 2023
Kind
B2
Abstract

Managing runtime qubit allocation for executing quantum services is disclosed. In one example, a processor device of a quantum computing system implements a quantum backoff service (QBS) that enables safe runtime qubit allocation for executing quantum services. The QBS receives a request from a quantum service scheduler for allocation of one or more qubits for an executing quantum service. Upon receiving the request for allocation, the QBS determines whether the one or more qubits are unavailable for execution. If the QBS determines that the one or more qubits are unavailable for allocation, the QBS places the executing quantum service into a sleep state. The QBS in some examples may subsequently receive an indication that the one or more qubits have become available for allocation. The QBS then restores the executing quantum service into an executing state and allocates the one or more qubits for the executing quantum service.

Claims (60)

1. A method, comprising:

receiving, by a quantum computing device that implements a total number of qubits, a first request from a quantum service scheduler for allocation of a specified number of qubits for a first executing quantum service;

determining a count of a number of available qubits that are currently available for allocation from the total number of qubits;

determining that the count of the number of available qubits is fewer than the specified number of qubits;

responsive to determining that the count of the number of available qubits is fewer than the specified number of qubits, determining that the specified number of qubits are unavailable for allocation; and

responsive to determining that the specified number of qubits are unavailable for allocation, placing the first executing quantum service into a sleep state.

2. The method of claim 1 , wherein placing the first executing quantum service into a sleep state comprises:

storing a current state of the first executing quantum service; and

halting execution of the first executing quantum service.

3. The method of claim 1 , further comprising, subsequent to placing the first executing quantum service into a sleep state:

receiving an indication that the specified number of qubits have become available for allocation;

restoring the first executing quantum service into an executing state; and

allocating the specified number of qubits for the first executing quantum service.

4. The method of claim 3 , wherein allocating the specified number of qubits for the first executing quantum service comprises updating a definition of the first executing quantum service to identify the qubits allocated for the first executing quantum service.

5. The method of claim 4 , wherein the definition of the first executing quantum service comprises a runtime instantiation of a Quantum Assembly (QASM) file.

6. The method of claim 1 , further comprising:

receiving a second request from the quantum service scheduler for allocation of a second one or more qubits for a second executing quantum service;

determining that the second one or more qubits are available for allocation; and

responsive to determining that the second one or more qubits are available for allocation, allocating the second one or more qubits for the second executing quantum service.

7. The method of claim 1 , wherein determining the count of the number of available qubits that are currently available for allocation comprises, for at least one qubit of the total number of qubits, evaluating an entanglement indicator for the at least one qubit, wherein the entanglement indicator is indicative of whether the at least one qubit is in an entangled state.

8. A quantum computing device that implements a total number of qubits, the quantum computing device comprising:

a system memory; and

a processor device communicatively coupled to the system memory, the processor device to:

receive a first request from a quantum service scheduler for allocation of a specified number of qubits for a first executing quantum service;

determine a count of a number of available qubits that are currently available for allocation from the total number of qubits;

determine that the count of the number of available qubits is fewer than the specified number of qubits;

responsive to determination that the count of the number of available qubits is fewer than the specified number of qubits, determine that the specified number of qubits are unavailable for allocation; and

responsive to determining that the specified number of qubits are unavailable for allocation, place the first executing quantum service into a sleep state.

9. The quantum computing device of claim 8 , wherein to place the first executing quantum service into a sleep state is to:

store a current state of the first executing quantum service; and

halt execution of the first executing quantum service.

10. The quantum computing device of claim 8 , wherein the processor device is further to, subsequent to placing the first executing quantum service into a sleep state:

receive an indication that the specified number of qubits have become available for allocation;

restore the first executing quantum service into an executing state; and

allocate the specified number of qubits for the first executing quantum service.

11. The quantum computing device of claim 10 , wherein to allocate the specified number of qubits for the first executing quantum service is to update a definition of the first executing quantum service to identify the qubits allocated for the first executing quantum service.

12. The quantum computing device of claim 11 , wherein the definition of the first executing quantum service comprises a runtime instantiation of a Quantum Assembly (QASM) file.

13. The quantum computing device of claim 8 , wherein the processor device is further to:

receive a second request from the quantum service scheduler for allocation of a second one or more qubits for a second executing quantum service;

determine that the second one or more qubits are available for allocation; and

responsive to determining that the second one or more qubits are available for allocation, allocate the second one or more qubits for the second executing quantum service.

14. The quantum computing device of claim 8 , wherein to determine the count of the number of available qubits that are currently available for allocation is to, for at least one qubit of the total number of qubits, evaluate an entanglement indicator for the at least one qubit, wherein the entanglement indicator is indicative of whether the at least one qubit is in an entangled state.

15. A non-transitory computer-readable medium having stored thereon computer-executable instructions that, when executed, cause one or more processor devices to:

receive a first request from a quantum service scheduler for allocation, from a total number of qubits, of a specified number of qubits for a first executing quantum service;

determine a count of a number of available qubits that are currently available for allocation from the total number of qubits;

determine that the count of the number of available qubits is fewer than the specified number of qubits;

responsive to determination that the count of the number of available qubits is fewer than the specified number of qubits, determine that the specified number of qubits are unavailable for allocation; and

responsive to determining that the specified number of qubits are unavailable for allocation, place the first executing quantum service into a sleep state.

16. The non-transitory computer readable medium of claim 15 , wherein to place the first executing quantum service into a sleep state is to:

store a current state of the first executing quantum service; and

halt execution of the first executing quantum service.

17. The non-transitory computer readable medium of claim 15 , wherein the computer-executable instructions further cause the one or more processor devices to, subsequent to placing the first executing quantum service into a sleep state:

receive an indication that the specified number of qubits have become available for allocation;

restore the first executing quantum service into an executing state; and

allocate the specified number of qubits for the first executing quantum service.

18. The non-transitory computer readable medium of claim 15 , wherein the computer-executable instructions further cause the one or more processor devices to:

receive a second request from the quantum service scheduler for allocation of a second one or more qubits for a second executing quantum service;

determine that the second one or more qubits are available for allocation; and

responsive to determining that the second one or more qubits are available for allocation, allocate the second one or more qubits for the second executing quantum service.

19. The non-transitory computer readable medium of claim 15 , wherein to determine the count of the number of available qubits that are currently available for allocation is to, for at least one qubit of the total number of qubits, evaluate an entanglement indicator for the at least one qubit, wherein the entanglement indicator is indicative of whether the at least one qubit is in an entangled state.

Assignments (2)
CHANGE OF NAME Recorded Mar 3, 2026
From: RED HAT, INC.
To: RED HAT, LLC
Reel/Frame 074913/0759 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 27, 2021
From: GRIFFIN, LEIGH; COADY, STEPHEN
To: RED HAT, INC.
Reel/Frame 056374/0823 →