# US 2023/0409406 A1 · Checkpoint system for accelerators/quantum computing functions-as-a-service

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2023/0409406 A1
- Document ID: US20230409406A1
- Status: Published application
- Kind: A1
- Application number: 17/807,304
- Filed: 2022-06-16
- Published: 2023-12-21
- Earliest claimed: 2022-06-16
- Assignees: Dell Products L.P.
- Applicants: Dell Products L.P.
- Inventors: Benjamin Santaus; Victor Fong; Brendan Burns Healy; Rômulo Teixeira de Abreu Pinho
- Web page: https://patentgrep.com/patent/US20230409406A1

## CPC

- G06F 9/5027: {the resource being a machine, e.g. CPUs, Servers, Terminals}
- G06F 9/5055: {considering software capabilities, i.e. software resources associated or available to the machine}
- G06F 9/5005: {to service a request}
- G06F 9/5022: {Mechanisms to release resources}
- G06F 2209/509: Offload
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A system for accelerator functions as a service is disclosed. The system may receive a job that includes a computer (CPU) portion and an accelerator portion. When the accelerator portion is performed, an execution time associated with a time for the accelerator to return results is determined. Resources or a portion thereof allocated to the job, or the CPU portion are freed or reallocated to another job at least during the execution time. The job is queued to receive resources when the results are received from the accelerator.

## Claims

### Claim 1

A method, comprising:
receiving a job in a computing system that includes access to an accelerator, the job including a CPU (Central Processing Unit) portion and an accelerator portion;
submitting the accelerator portion to the accelerator by an orchestration engine;
determining an execution time associated with executing the accelerator portion by the accelerator by the orchestration engine;
freeing resources associated with the CPU portion to a second job at least during the execution by the orchestration engine;
receiving results of the accelerator portion from the accelerator by the orchestration engine; and
allocating resources to the job when resources in the computing system are available by the orchestration engine.

### Claim 2 (depends on 1)

The method of claim 1, further comprising freeing the resources associated with the CPU portion unless results from a previously submitted accelerator portion are available to the CPU portion.

### Claim 3 (depends on 1)

The method of claim 1, further comprising placing the job in a ready to resume queue when the results are received back from the accelerator portion.

### Claim 4 (depends on 3)

The method of claim 3, further comprising allocating resources to a new job in a new job queue when resources are available, and no jobs are present in the ready to resume queue.

### Claim 5 (depends on 3)

The method of claim 3, further comprising prioritizing jobs in the ready to resume queue based on one or more of service level agreements, start time, or job progress.

### Claim 6 (depends on 1)

The method of claim 1, further comprising determining the execution time using a machine learning model configured to estimate the execution time of the accelerator.

### Claim 7 (depends on 1)

The method of claim 1, wherein the accelerator is one of a quantum processing unit, a virtual quantum processing unit, a field programmable gate array, or a graphics processing unit.

### Claim 8 (depends on 1)

The method of claim 1, further comprising receiving a request from the CPU portion for the results and updating the execution time based on time that has passed since the accelerator portion was submitted to the accelerator.

### Claim 9 (depends on 1)

The method of claim 1, wherein the computing system includes a classical computing system and accelerators including quantum processing units, wherein the accelerators are remote from the classical computing system.

### Claim 10 (depends on 1)

The method of claim 1, wherein the orchestration engine is not paused during operation, further comprising executing the accelerator portion by a quantum processing unit.

### Claim 11

A non-transitory storage medium having stored therein instructions that are executable by one or more hardware processors to perform operations comprising:
receiving a job in a computing system that include access to an accelerator, the job including a CPU portion and an accelerator portion;
submitting the accelerator portion to the accelerator by an orchestration engine;
determining a delay associated with executing the accelerator portion by the accelerator by an orchestration engine;
freeing resources associated with the CPU portion to a second job at least during the execution time by an orchestration engine;
receiving results of the accelerator portion from the accelerator by an orchestration engine; and
allocating resources to the job when resources in the computing system are available by the orchestration engine.

### Claim 12 (depends on 11)

The non-transitory storage medium of claim 11, further comprising freeing the resource associated with the CPU portion unless results from a previously submitted accelerator portion are available to the CPU portion.

### Claim 13 (depends on 11)

The non-transitory storage medium of claim 11, further comprising placing the job in a ready to resume queue when the results are received back from the accelerator portion.

### Claim 14 (depends on 13)

The non-transitory storage medium of claim 13, further comprising allocating resources to a new job in a new job queue when resources are available, and no jobs are present in the ready to resume queue.

### Claim 15 (depends on 13)

The non-transitory storage medium of claim 13, further comprising prioritizing jobs in the ready to resume queue based on one or more of service level agreements, start time, or job progress.

### Claim 16 (depends on 11)

The non-transitory storage medium of claim 11, further comprising determining the execution time using a machine learning model configured to estimate the execution time of the accelerator.

### Claim 17 (depends on 11)

The non-transitory storage medium of claim 11, wherein the accelerator is one of a quantum processing unit, a virtual quantum processing unit, or a graphics processing unit.

### Claim 18 (depends on 11)

The non-transitory storage medium of claim 11, further comprising receiving a request from the CPU portion for the results and updating the execution time based on time that has passed since the accelerator portion was submitted to the accelerator.

### Claim 19 (depends on 11)

The non-transitory storage medium of claim 11, wherein the computing system includes a classical computing system and accelerators including quantum processing units, wherein the accelerators are remote from the classical computing system.

### Claim 20 (depends on 11)

The non-transitory storage medium of claim 11, wherein the orchestration engine is not paused during operation.
