IP Library Granted Patent US 12,204,949
Granted Patent B2
US 12,204,949 · App. 17/236,708 · Granted Jan 21, 2025

Method and system for managing accelerator pools to perform subportions of portions of workflows

Inventors: Robert Anthony Lincourt, Jr. (Franklin, MA); John S. Harwood (Boston, MA); William Jeffery White (Plano, TX); Douglas L. Farley (Round Rock, TX); Victor Fong (Medford, MA); Christopher S. MacLellan (Uxbridge, MA)
Assignee: EMC IP HOLDING COMPANY LLC
G06F9/5083G06F9/5016G06F9/5077H04L67/01H04L67/1097G06F2209/5011
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 12,204,949
App. No.
17/236,708
Granted
Jan 21, 2025
Kind
B2
Abstract

Techniques described herein relate to a method for managing workflows. The method may include obtaining, from a client, by a registration manager associated with accelerator pools, a request to perform a portion of a workflow using accelerators; identifying a minimum quantity and a maximum quantity of accelerators associated with the request; identifying a storage to store data associated with the portion of the workflow; identifying an accelerator pool of the accelerator pools that includes at least the maximum quantity of accelerators; establishing a connection between the client, the storage, and accelerators of the accelerator pool to perform the portion of the workflow; and initiating the performance of the portion of the workflow using the storage, the client, and the accelerators of the accelerator pool.

Claims (71)

1. A method for managing accelerator pools to perform subportions of portions of workflows in a system having at least a registration manager associated with the accelerator pools, the method comprising:

obtaining, from a client, by the registration manager associated with the accelerator pools, a request to perform a portion of a workflow using accelerators;

identifying a minimum quantity and a maximum quantity of accelerators associated with the request;

identifying a storage to store data associated with the portion of the workflow;

identifying an accelerator pool of the accelerator pools that comprises at least the maximum quantity of accelerators;

establishing a connection between the client, the storage, and accelerators of the accelerator pool to perform the portion of the workflow, wherein:

establishing the connection between the client, the storage, and the accelerators of the accelerator pool comprises virtualizing the accelerators of the accelerator pool by time-slicing the accelerators to obtain time-sliced portions of the accelerators, and the time-sliced portions of the accelerators comprise virtual accelerators; and

initiating the performance of the portion of the workflow using the storage, the client, and the accelerators of the accelerator pool;

after initiating the performance of the portion of the workflow using the storage, the client, and the accelerators of the accelerator pool:

performing, by the client, a first subportion of the portion of the workflow using data stored in the storage;

generating a first tag associated with the data;

sending the first tag to the accelerators of the accelerator pool;

performing, by the accelerators using the first tag, a second subportion of the portion of the workflow using the data stored in the storage;

generating a second tag associated with the data in the storage, wherein the first and second tags grant permission to the accelerators to modify the data in the storage, and comprise at least a reference to the data in the storage and operations performed to the data;

sending the second tag to the client;

determining if there are any additional subportions of the workflow;

performing, based upon the determination and using the second tag, a third subportion of the portion of the workflow using the data stored in the storage.

2. The method of claim 1 , wherein the performing the first subportion of the portion of the workflow and the performing of the second subportion of the portion of the workflow each comprise accessing the data from the storage.

3. The method of claim 1 , wherein performing the first subportion of the portion of the workflow by the client comprises one selected from a group consisting of:

modifying the data stored in the storage; and

initiating the performance of the second subportion of the workflow.

4. The method of claim 1 , wherein establishing the connection between the client, the storage, and the accelerators of the accelerator pool further comprises:

storing the data in the storage; and

granting access to the storage to the client and the accelerators of the accelerator pool.

5. The method of claim 1 , wherein an accelerator of the accelerators comprises a graphics processing unit.

6. A non-transitory computer readable medium comprising computer readable program code, which when executed by a computer processor enables the computer processor to perform a method for managing accelerator pools to perform subportions of portions of workflows in a system having at least a registration manager associated with the accelerator pools, the method comprising:

obtaining, from a client, by the registration manager associated with accelerator pools, a request to perform a portion of a workflow using accelerators;

identifying a minimum quantity and a maximum quantity of accelerators associated with the request;

identifying a storage to store data associated with the portion of the workflow;

identifying an accelerator pool of the accelerator pools that comprises at least the maximum quantity of accelerators;

establishing a connection between the client, the storage, and accelerators of the accelerator pool to perform the portion of the workflow, wherein:

establishing the connection between the client, the storage, and the accelerators of the accelerator pool comprises virtualizing the accelerators of the accelerator pool by time-slicing the accelerators to obtain time-sliced portions of the accelerators, and

the time-sliced portions of the accelerators comprise virtual accelerators; and

initiating the performance of the portion of the workflow using the storage, the client, and the accelerators of the accelerator pool;

after initiating the performance of the portion of the workflow using the storage, the client, and the accelerators of the accelerator pool:

performing, by the client, a first subportion of the portion of the workflow using data stored in the storage;

generating a first tag associated with the data;

sending the first tag to the accelerators of the accelerator pool;

performing, by the accelerators using the first tag, a second subportion of the portion of the workflow using the data stored in the storage;

generating a second tag associated with the data in the storage, wherein the first and second tags grant permission to the accelerators to modify the data in the storage, and comprise at least a reference to the data in the storage and operations performed to the data;

sending the second tag to the client;

determining if there are any additional subportions of the workflow;

performing, based upon the determination and using the second tag, a third subportion of the portion of the workflow using the data stored in the storage.

7. The non-transitory computer readable medium of claim 6 , wherein the performing the first subportion of the portion of the workflow and the performing of the second subportion of the portion of the workflow comprises accessing the data from the storage.

8. The non-transitory computer readable medium of claim 6 , wherein performing the first subportion of the portion of the workflow by the client comprises one selected from a group consisting of:

modifying the data stored in the storage; and

initiating the performance of the second subportion of the workflow.

9. The non-transitory computer readable medium of claim 6 , wherein establishing the connection between the client, the storage, and the accelerators of the accelerator pool further comprises:

storing the data in the storage; and

granting access to the storage to the client and the accelerators of the accelerator pool.

10. The non-transitory computer readable medium of claim 6 , wherein each accelerator of the accelerators comprises a graphics processing unit.

11. A system for managing accelerator pools to perform subportions of portions of workflows, the system comprising:

an accelerator pool, comprising accelerators;

a registration manager associated with the accelerator pool, comprising a processor and memory, and configured to:

obtain, from a client, a request to perform a portion of a workflow using the of accelerators of the accelerator pool;

identify a minimum quantity and a maximum quantity of accelerators associated with the request;

identify a storage to store data associated with the portion of the workflow;

identify that the accelerator pool comprises at least the maximum quantity of accelerators;

establish a connection between the client, the storage, and the accelerators to perform the portion of the workflow, wherein:

establishing the connection between the client, the storage, and the accelerators of the accelerator pool comprises virtualizing the accelerator pool of the accelerators by time-slicing the accelerators to obtain time-sliced portions of the accelerators, and

the time-sliced portions of the accelerators comprise virtual accelerators; and

initiate the performance of the portion of the workflow using the storage, the client, and the accelerators;

after initiating the performance of the portion of the workflow using the storage, the client, and the accelerators of the accelerator pool:

perform, by the client, a first subportion of the portion of the workflow using data stored in the storage;

generate a first tag associated with the data;

send the first tag to the accelerators of the accelerator pool;

perform, by the accelerators using the first tag, a second subportion of the portion of the workflow using the data stored in the storage;

generate a second tag associated with the data in the storage, wherein the first and second tags grant permission to the accelerators to modify the data in the storage, and comprise at least a reference to the data in the storage and operations performed to the data;

send the second tag to the client;

determine if there are any additional subportions of the workflow;

perform, based upon the determination and using the second tag, a third subportion of the portion of the workflow using the data stored in the storage.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056295/0280) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062022/0255 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056295/0001) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062021/0844 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056295/0124) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062022/0012 →
RELEASE OF SECURITY INTEREST Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058297/0332 →
SECURITY INTEREST Recorded May 19, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056295/0280 →
SECURITY INTEREST Recorded May 19, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056295/0001 →
SECURITY INTEREST Recorded May 19, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056295/0124 →
CORRECTIVE ASSIGNMENT TO CORRECT THE MISSING PATENTS THAT WERE ON THE ORIGINAL SCHEDULED SUBMITTED BUT NOT ENTERED PREVIOUSLY RECORDED AT REEL: 056250 FRAME: 0541. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded May 17, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 056311/0781 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 5, 2021
From: LINCOURT JR., ROBERT ANTHONY; HARWOOD, JOHN S.; WHITE, WILLIAM JEFFERY; FARLEY, DOUGLAS L.; FONG, VICTOR; MACLELLAN, CHRISTOPHER S.
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 056141/0886 →