IP Library Granted Patent US 11,086,665
Granted Patent B2
US 11,086,665 · App. 16/167,167 · Granted Aug 10, 2021

Scheduling services for quantum computing

Inventors: Leigh Griffin (Waterford City, IE); Luigi Zuccarelli (Waterford City, IE)
Assignee: Red Hat, Inc.
G06F9/4881G06F9/3877G06F9/5027G06F9/542G06F11/0754G06F15/16G06N10/00
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,086,665
App. No.
16/167,167
Granted
Aug 10, 2021
Kind
B2
Abstract

Aspects of the disclosure provide for mechanisms for scheduling execution of quantum algorithm. A method of the disclosure includes: receiving a request to execute a quantum algorithm at a quantum computer system, determining whether the one or more execution environment requirements from the request are satisfied in view of the state of the quantum computer system, responsive to determining that the one or more execution environment requirements are not satisfied in view of the state of the quantum computer system, causing an execution of the quantum algorithm to be delayed until the one or more execution environment requirements are satisfied, and responsive to determining that the one or more execution environment requirements are satisfied in view of the state of the quantum computer system, forwarding the request to execute the quantum algorithm to the quantum computer system to cause the execution of the quantum algorithm.

Claims (104)

1. A method comprising:

receiving, at a server, a request to execute a quantum algorithm at a quantum computer system connected to the server, the request to execute the quantum algorithm comprising a plurality of instructions for implementing the quantum algorithm and one or more execution environment requirements, wherein the one or more execution environment requirements comprise one or more qubit state requirements with respect to one or more qubits provided by the quantum computer system;

determining a state of the quantum computer system, the state of the quantum computer system comprising at least one of an error rate or a coherence time of the quantum computer system;

determining whether the one or more execution environment requirements are satisfied in view of the state of the quantum computer system;

responsive to determining that the one or more execution environment requirements are not satisfied in view of the state of the quantum computer system, causing an execution of the quantum algorithm to be delayed until the one or more execution environment requirements are satisfied; and

responsive to determining that the one or more execution environment requirements are satisfied in view of the state of the quantum computer system, forwarding a modified request to execute the quantum algorithm to the quantum computer system to cause execution of a first subset of the plurality of instructions without causing execution of a second subset of the plurality of instructions for implementing the quantum algorithm, wherein the first subset of instructions is associated with a first qubit having a qubit state by which the one or more execution environment requirements are satisfied, and the second subset of instructions is associated with one or more qubits other than the first qubit.

2. The method of claim 1 , wherein:

the request to execute the quantum algorithm comprises a Quantum Assembly Language (QASM) file; and

the determining of whether the one or more execution environment requirements are satisfied in view of the state of the quantum computer system comprises:

identifying, from the request to execute the quantum algorithm, a statement starting with an annotation indicating an execution environment requirement by parsing the request to execute the quantum algorithm, and

determining the execution environment requirement from the identified statement.

3. The method of claim 1 , wherein the one or more execution environment requirements include at least one of:

an error rate threshold for the quantum computer system,

a channel load rate threshold for a quantum communication channel within the quantum computer system,

a coherence time threshold for the quantum computer system, or

a temperature threshold for a temperature of the quantum computer system.

4. The method of claim 1 , wherein:

the request to execute the quantum algorithm comprises a scheduling optimization option; and

the determining of whether the one or more execution environment requirements are satisfied in view of the state of the quantum computer system further comprises:

determining a particular execution environment requirement that is associated with the scheduling optimization option,

determining whether the particular execution environment requirement is satisfied in view of the state of the quantum computer system, and

responsive to determining that the particular execution environment requirement is satisfied, determining that the one or more execution environment requirements are satisfied.

5. The method of claim 1 , wherein:

determining that the one or more execution environment requirements are satisfied in view of the state of the quantum computer system comprises:

identifying the first qubit provided by the quantum computer system having the state by which the one or more execution environment requirements are satisfied; and

forwarding the modified request comprises:

determining, from the plurality of instructions for implementing the quantum algorithm, the first subset of instructions associated with the first qubit, and

modifying the request to execute the quantum algorithm to cause the execution of the first subset of instructions associated with the first qubit and to not cause execution of the second subset of instructions associated with the one or more qubits other than the first qubit.

6. The method of claim 1 , further comprising:

responsive to receiving the request to execute the quantum algorithm, determining an identifier of the quantum algorithm of the request; and

responsive to receiving, from the quantum computer system, a result of the execution of the quantum algorithm, storing the result in association with the identifier of the quantum algorithm.

7. The method of claim 6 , further comprising:

responsive to receiving the request to execute the quantum algorithm, determining whether the quantum algorithm of the request was previously executed in view of the identifier of the quantum algorithm; and

responsive to determining that the quantum algorithm in the request was previously executed, identifying the result of the execution of the quantum algorithm that is stored in view of the identifier of the quantum algorithm.

8. A system comprising:

a memory; and

a processing device operatively coupled to the memory, the processing device to:

receive a request to execute a quantum algorithm at a quantum computer system connected to the system, the request to execute the quantum algorithm comprising a plurality of instructions for implementing the quantum algorithm and one or more execution environment requirements, wherein the one or more execution environment requirements comprise one or more qubit state requirements with respect to one or more qubits provided by the quantum computer system;

determine a state of the quantum computer system, the state of the quantum computer system comprising at least one of an error rate or a coherence time of the quantum computer system;

determine whether the one or more execution environment requirements are satisfied in view of the state of the quantum computer system;

responsive to determining that the one or more execution environment requirements are not satisfied in view of the state of the quantum computer system, cause an execution of the quantum algorithm to be delayed until the one or more execution environment requirements are satisfied; and

responsive to determining that the one or more execution environment requirements are satisfied in view of the state of the quantum computer system, forward a modified request to execute the quantum algorithm to the quantum computer system to cause execution of a first subset of the plurality of instructions without causing execution of a second subset of the plurality of instructions for implementing the quantum algorithm, wherein the first subset of instructions is associated with a first qubit having a qubit state by which the one or more execution environment requirements are satisfied, and the second subset of instructions is associated with one or more qubits other than the first qubit.

9. The system of claim 8 , wherein:

the request to execute the quantum algorithm comprises a Quantum Assembly Language (QASM) file; and

to determine whether the one or more execution environment requirements are satisfied in view of the state of the quantum computer system, the processing device to:

identify, from the request to execute the quantum algorithm, a statement starting with an annotation indicating an execution environment requirement by parsing the request to execute the quantum algorithm, and

determine the execution environment requirement from the identified statement.

10. The system of claim 8 , wherein the one or more execution environment requirements comprise at least one of:

an error rate threshold for the quantum computer system,

a channel load rate threshold for a quantum communication channel within the quantum computer system,

a coherence time threshold for the quantum computer system, or

a temperature threshold for a temperature of the quantum computer system.

11. The system of claim 8 , wherein:

the request to execute the quantum algorithm comprises a scheduling optimization option; and

to determine whether the one or more execution environment requirements are satisfied in view of the state of the quantum computer system, the processing device to:

determine a particular execution environment requirement that is associated with the scheduling optimization option,

determine whether the particular execution environment requirement is satisfied in view of the state of the quantum computer system, and

responsive to determining that the particular execution environment requirement is satisfied, determine that the one or more execution environment requirements are satisfied.

12. The system of claim 8 , wherein:

to determine that the one or more execution environment requirements are satisfied in view of the state of the quantum computer system, the processing device to:

identify the first qubit provided by the quantum computer system having the state by which the one or more execution environment requirements are satisfied; and

to forward the modified request, the processing device to:

determine, from the plurality of instructions for implementing the quantum algorithm, the first subset of instructions associated with the identified first qubit, and

modify the request to execute the quantum algorithm to cause the execution of the first subset of instructions associated with the identified first qubit and to not cause execution of the second subset of instructions associated with the one or more qubits other than the first qubit.

13. The system of claim 8 , the processing device to further:

responsive to receiving the request to execute the quantum algorithm, determine an identifier of the quantum algorithm of the request; and

responsive to receiving, from the quantum computer system, a result of the execution of the quantum algorithm, store the result in association with the identifier of the quantum algorithm.

14. The system of claim 13 , the processing device to further:

responsive to receiving the request to execute the quantum algorithm, determine whether the quantum algorithm of the request was previously executed in view of the identifier of the quantum algorithm; and

responsive to determining that the quantum algorithm in the request was previously executed, identify the result of the execution of the quantum algorithm that is stored in view of the identifier of the quantum algorithm.

15. A non-transitory machine-readable storage medium including instructions that, when accessed by a processing device, cause the processing device to:

receive a request to execute a quantum algorithm at a quantum computer system connected to the system, the request to execute the quantum algorithm comprising a plurality of instructions for implementing the quantum algorithm and one or more execution environment requirements, wherein the one or more execution environment requirements comprise one or more qubit state requirements with respect to one or more qubits provided by the quantum computer system;

determine a state of the quantum computer system, the state of the quantum computer system comprising at least one of an error rate or a coherence time of the quantum computer system;

determine whether the one or more execution environment requirements are satisfied in view of the state of the quantum computer system;

responsive to determining that the one or more execution environment requirements are not satisfied in view of the state of the quantum computer system, cause an execution of the quantum algorithm to be delayed until the one or more execution environment requirements are satisfied; and

responsive to determining that the one or more execution environment requirements are satisfied in view of the state of the quantum computer system, forward a modified request to execute the quantum algorithm to the quantum computer system to cause execution of a first subset of the plurality of instructions without causing execution of a second subset of the plurality of instructions for implementing the quantum algorithm, wherein the first subset of instructions is associated with a first qubit having a qubit state by which the one or more execution environment requirements are satisfied, and the second subset of instructions is associated with one or more qubits other than the first qubit.

16. The non-transitory machine-readable storage medium of claim 15 , wherein:

the request to execute the quantum algorithm comprises a Quantum Assembly Language (QASM) file; and

to determine whether the one or more execution environment requirements are satisfied in view of the state of the quantum computer system, the processing device to:

identify, from the request to execute the quantum algorithm, a statement starting with an annotation indicating an execution environment requirement by parsing the request to execute the quantum algorithm, and

determine the execution environment requirement from the identified statement.

17. The non-transitory machine-readable storage medium of claim 15 , wherein the one or more execution environment requirements comprise at least one of:

an error rate threshold for the quantum computer system,

a channel load rate threshold for a quantum communication channel within the quantum computer system,

a coherence time threshold for the quantum computer system, or

a temperature threshold for a temperature of the quantum computer system.

18. The non-transitory machine-readable storage medium of claim 15 , wherein:

the request to execute the quantum algorithm comprises a scheduling optimization option; and

to determine whether the one or more execution environment requirements are satisfied in view of the state of the quantum computer system, the processing device to:

determine a particular execution environment requirement that is associated with the scheduling optimization option,

determine whether the particular execution environment requirement is satisfied in view of the state of the quantum computer system, and

responsive to determining that the particular execution environment requirement is satisfied, determine that the one or more execution environment requirements are satisfied.

19. The non-transitory machine-readable storage medium of claim 15 , wherein:

to determine that the one or more execution environment requirements are satisfied in view of the state of the quantum computer system, the processing device to:

identify the first qubit provided by the quantum computer system having the state by which the one or more execution environment requirements are satisfied; and

to forward the modified request, the processing device to:

determine, from the plurality of instructions for implementing the quantum algorithm, the first subset of instructions associated with the identified first qubit, and

modify the request to execute the quantum algorithm to cause the execution of the first subset of instructions associated with the identified first qubit and to not cause execution of the second subset of instructions associated with the one or more qubits other than the first qubit.

20. The non-transitory machine-readable storage medium of claim 15 , further comprising:

responsive to receiving the request to execute the quantum algorithm:

determine an identifier of the quantum algorithm of the request, and

determine whether the quantum algorithm of the request was previously executed in view of the identifier of the quantum algorithm; and

responsive to determining that the quantum algorithm in the request was previously executed,

identify a result of the execution of the quantum algorithm that is stored in view of the identifier of the quantum algorithm.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 22, 2018
From: GRIFFIN, LEIGH; ZUCCARELLI, LUIGI
To: RED HAT, INC.
Reel/Frame 047265/0312 →
Continuity (1)
Related Publication 20200125402A1 · Apr 23, 2020
Cited By (2)
US 12,197,315 US 12,585,975