IP Library Granted Patent US 12675334
Granted Patent B2
US 12675334 · App. 17/807,304 · Granted Jul 7, 2026

Checkpoint system for accelerators/quantum computing functions-as-a-service

Inventors: Benjamin Santaus (Somerville, MA); Victor Fong (Melrose, MA); Brendan Burns Healy (Whitefish Bay, WI); Rômulo Teixeira de Abreu Pinho (Niterói, BR)
Assignee: Dell Products L.P.
G06F9/5055
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 12675334
App. No.
17/807,304
Granted
Jul 7, 2026
Kind
B2
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 (32)

1 . In a system that includes computing resources for executing CPU (Central processing unit) portions of jobs submitted to the system, a method comprising:

receiving a first job in a computing system that includes access to an accelerator, wherein the first job includes a first CPU (Central Processing Unit) portion and a first accelerator portion;

allocating first resources of the computing resources to the first CPU portion of the first job and executing the first CPU portion of the first job in the allocated first resources;

submitting the first accelerator portion to the accelerator by an orchestration engine when the first job requires execution of the first accelerator portion, wherein the allocated first resources of the first CPU portion are idle while waiting for results of the first accelerator portion;

determining an execution time associated with executing the first accelerator portion by the accelerator, wherein the execution time is determined by a model of the orchestration engine, wherein the model is trained on historical data and configured to estimate the execution time;

freeing only a portion of the first resources allocated to the first CPU portion;

allocating the portion of the first resources freed from the first CPU portion to a second CPU portion of a second job at least during the execution time determined by the orchestration engine;

receiving the results of the first accelerator portion from the accelerator by the orchestration engine;

placing the first CPU portions into a ready to resume queue, by the orchestration engine, when the corresponding results are received, wherein the ready to resume queue includes multiple CPU portions whose results from accelerators have been returned; and

allocating additional first resources from the computing resources to the first CPU portion of the first job when the additional first resources are available, by the orchestration engine, to the first CPU portion, wherein the orchestration engine prioritizes the CPU portions in the ready to resume queue according to one or more of start time, service level agreements, and job process, wherein execution of the first CPU portion resumes using the additional resources when allocated to the first CPU portion.

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

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

4 . 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.

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

6 . 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.

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

8 . In a system that includes computing resources for executing CPU (Central processing unit) portions of jobs submitted to the system, a non-transitory storage medium having stored therein instructions that are executable by one or more hardware processors to perform operations comprising:

receiving a first job in a computing system that includes access to an accelerator, wherein the first job includes a first CPU (Central Processing Unit) portion and a first accelerator portion;

allocating first resources of the computing resources to the first CPU portion of the first job and executing the first CPU portion of the first job in the allocated first resources;

submitting the first accelerator portion to the accelerator by an orchestration engine when the first job requires execution of the first accelerator portion, wherein the allocated first resources of the first CPU portion are idle while waiting for results of the first accelerator portion;

determining an execution time associated with executing the first accelerator portion by the accelerator, wherein the execution time is determined by a model of the orchestration engine, wherein the model is trained on historical data and configured to estimate the execution time;

freeing only a portion of the first resources allocated to the first CPU portion;

allocating the portion of the first resources freed from the first CPU portion to a second CPU portion of a second job at least during the execution time determined by the orchestration engine;

receiving the results of the first accelerator portion from the accelerator by the orchestration engine;

placing the first CPU portions into a ready to resume queue, by the orchestration engine, when the corresponding results are received, wherein the ready to resume queue includes multiple CPU portions whose results from accelerators have been returned; and

allocating additional first resources from the computing resources to the first CPU portion of the first job when the additional first resources are available, by the orchestration engine, to the first CPU portion, wherein the orchestration engine prioritizes the CPU portions in the ready to resume queue according to one or more of start time, service level agreements, and job process, wherein execution of the first CPU portion resumes using the additional resources when allocated to the first CPU portion.

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

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

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

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

13 . The non-transitory storage medium of claim 8 , 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.

14 . The non-transitory storage medium of claim 8 , wherein the orchestration engine is not paused during operation, further comprising executing the first accelerator portion by a quantum processing unit.