IP Library Granted Patent US 12,204,934
Granted Patent B2
US 12,204,934 · App. 17/388,644 · Granted Jan 21, 2025

Method, device, and program product for managing multiple computing tasks based on batch

Inventors: Tao Chen (Beijing, CN); Bing Liu (Tianjin, CN); Qi Chen (Beijing, CN)
Assignee: EMC IP HOLDING COMPANY LLC
G06F9/4881G06F9/466
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,934
App. No.
17/388,644
Granted
Jan 21, 2025
Kind
B2
Abstract

The present disclosure relates to a method, a device, and a program product for managing multiple computing tasks on a batch basis. A method includes: identifying a task type of the multiple computing tasks in response to receiving a request to use a computing unit in a computing system to perform the multiple computing tasks; acquiring a scheduling time overhead incurred for scheduling the multiple computing tasks for execution by the computing unit; determining, based on the task type and the scheduling time overhead, a batch size for dividing the multiple computing tasks; and dividing the multiple computing tasks into at least one batch based on the batch size. A corresponding device and a corresponding computer program product are provided. With the example implementations of the present disclosure, the batch size for dividing multiple computing tasks can be dynamically determined, so that the performance of the computing system can meet user demands.

Claims (65)

1. A method, including:

receiving a request to perform, using a computing system, a set of computing tasks;

identifying a task type associated with the set of computing tasks;

determining a scheduling time overhead associated with scheduling the set of computing tasks for execution, based at least in part on a difference between:

a length of time between committing a computing task of the set of computing tasks and obtaining a processing result for the computing task; and

a length of time during which the computing task is performed by the computing system;

determining, based on the task type and the scheduling time overhead, a batch size for the set of computing tasks;

dividing the set of computing tasks into at least one batch based on the batch size; and

as a result of dividing the set of computing tasks into at least one batch, executing the set of computing tasks.

2. The method according to claim 1 , wherein identifying the task type is based on at least one of: throughput requirements or response latency requirements for the set of computing tasks.

3. The method according to claim 1 , wherein determining the batch size includes:

acquiring a mapping model corresponding to the task type, the mapping model describing an association relationship between the task type, the scheduling time overhead of the computing system, and the batch size of the set of computing tasks; and

determining the batch size based on the task type, the scheduling time overhead, and the mapping model.

4. The method according to claim 1 , wherein the scheduling time overhead is based at least in part on an operating state of the computing system.

5. The method according to claim 1 , wherein dividing the set of computing tasks into the at least one batch includes:

adding a first computing task of the set of computing tasks to the at least one batch; and

in response to determining that a sum of data volumes of computing tasks in the batch is not greater than the batch size, adding a second computing task of the set of computing tasks to the at least one batch.

6. The method according to claim 5 , further including:

receiving a second request to use the computing system to perform a third computing task of the set of computing tasks; and

adding the third computing task to the at least one batch.

7. The method according to claim 5 , further including: in response to determining that the sum of the data volumes of computing tasks in the at least one batch is greater than the batch size, committing the at least one batch to the computing system to cause the computing system to perform the set of computing tasks in the at least one batch.

8. The method according to claim 1 , further including:

in response to determining that the set of computing tasks comprises a plurality of task types, creating a second batch, the second batch having a second batch size and associated with a second task type, the second task type different than that of the at least one batch; and

dividing the set of computing tasks into the at least one batch and the second batch based at least in part on the plurality of task types.

9. The method according to claim 1 , wherein the method is performed based on at least one of:

a change in a workload of the computing system; or a predetermined timer.

10. The method according to claim 1 , wherein the computing system includes at least one of a Quick Assist Technology accelerator and a central processing unit, the computing system includes a data protection system, and the set of computing tasks in the data protection system includes at least one of: a compression task, a decompression task, an encryption task, a decryption task, a hash task, a backup task, or a replication task.

11. An electronic device, including:

at least one processor; and

a memory coupled to the at least one processor, wherein the memory has instructions stored therein that, when executed by the at least one processor, cause the at least one processor to perform a method, the method including:

receiving a request to perform, using a computing system, a set of computing tasks;

identifying a task type associated with the set of computing tasks;

determining a scheduling time overhead associated with scheduling the set of computing tasks for execution, based at least in part on a difference between:

a length of time between committing a computing task of the set of computing tasks and obtaining a processing result for the computing task; and

a length of time during which the computing task is performed by the computing system;

determining, based on the task type and the scheduling time overhead, a batch size for the set of computing tasks;

dividing the set of computing tasks into at least one batch based on the batch size; and

as a result of dividing the set of computing tasks into at least one batch, executing the set of computing tasks.

12. The device according to claim 11 , wherein identifying the task type is based on at least one of: throughput requirements or response latency requirements for the set of tasks.

13. The device according to claim 11 , wherein determining the batch size includes:

acquiring a mapping model corresponding to the task type, the mapping model describing an association relationship between the task type, the scheduling time overhead of the computing system, and the batch size of the set of computing tasks; and

determining the batch size based on the task type, the scheduling time overhead, and the mapping model.

14. The device according to claim 11 , wherein the scheduling time overhead is based at least in part on an operating state of the computing system.

15. The device according to claim 11 , wherein dividing the set of computing tasks into the at least one batch includes:

adding a first computing task of the set of computing tasks to the at least one batch; and

in response to determining that a sum of data volumes of computing tasks in the batch is not greater than the batch size, adding a second computing task of the set of computing tasks to the at least one batch.

16. The device according to claim 15 , wherein the method further includes:

receiving a second request to use the computing system to perform a third computing task of the set of computing tasks; and

adding the third computing task to the at least one batch.

17. The device according to claim 15 , wherein the method further includes: in response to determining that the sum of the data volumes of computing tasks in the at least one batch is greater than the batch size, committing the at least one batch to the computing system to cause the computing system to perform the set of computing tasks in the at least one batch.

18. The device according to claim 11 , further including:

in response to determining that the set of computing tasks comprises a plurality of task types, a second batch, the second batch having a second batch size and associated with a second task type, the second task type different than that of the at least one batch; and

dividing the set of computing tasks into the at least one batch and the second batch based at least in part on the plurality of task types.

19. The device according to claim 11 , wherein:

the device is started based on at least one of: a change in a workload of the computing system; or a predetermined timer; and

the computing system includes at least one of a Quick Assist Technology accelerator and a central processing unit, the computing system includes a data protection system, and the set of computing tasks in the data protection system includes at least one of: a compression task, a decompression task, an encryption task, a decryption task, a hash task, a backup task, or a replication task.

20. A non-transitory computer-readable medium including instructions, which when executed by a processor, cause the processor to perform a method, the method comprising:

receiving a request to perform, using the processor, a set of computing tasks;

identifying a task type associated with the set of computing tasks;

determining a scheduling time overhead associated with scheduling the set of computing tasks for execution, based at least in part on a difference between:

a length of time between committing a computing task of the set of computing tasks and obtaining a processing result for the computing task; and

a length of time during which the computing task is performed by the processor;

determining, based on the task type and the scheduling time overhead, a batch size for the set of computing tasks;

dividing the set of computing tasks into at least one batch based on the batch size; and

as a result of dividing the set of computing tasks into at least one batch, executing the set of computing tasks.

Assignments (8)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (058014/0560) 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/0473 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (057931/0392) 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/0382 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (057758/0286) 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 061654/0064 →
SECURITY INTEREST Recorded Oct 6, 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 058014/0560 →
SECURITY INTEREST Recorded Oct 6, 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 057758/0286 →
SECURITY INTEREST Recorded Oct 6, 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 057931/0392 →
SECURITY AGREEMENT Recorded Oct 1, 2021
From: DELL PRODUCTS, L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 057682/0830 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 29, 2021
From: CHEN, TAO; LIU, BING; CHEN, QI
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 057022/0995 →
Priority Claims (1)
CN 202110706189.6 · Jun 24, 2021 · national
Continuity (1)
Related Publication 20220413906A1 · Dec 29, 2022
References Cited (4)
US 20080256541A1 · Rai · 2008 [cited by examiner]
US 20220206975A1 · Gopal · 2022 [cited by examiner]
US 20230327963A1 · Khermosh · 2023 [cited by examiner]
US 20240004776A1 · Ogras · 2024 [cited by examiner]