User-space emulation framework for heterogeneous soc design
US-2024004776-A1 · Jan 4, 2024 · US
US2022413906A1 · US · A1
| Field | Value |
|---|---|
| Publication number | US-2022413906-A1 |
| Application number | US-202117388644-A |
| Country | US |
| Kind code | A1 |
| Filing date | Jul 29, 2021 |
| Priority date | Jun 24, 2021 |
| Publication date | Dec 29, 2022 |
| Grant date | — |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
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.
Opening claim text (preview).
1 . A method for managing multiple computing tasks on a batch basis, including: 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. 2 . The method according to claim 1 , wherein identifying the task type includes identifying the task type based on at least one of: throughput and response latency requirements for the multiple 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 unit, and the batch size of the multiple 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 acquiring the scheduling time overhead includes: acquiring the scheduling time overhead based on an operating state of the computing system. 5 . The method according to claim 1 , wherein dividing the multiple computing tasks into the at least one batch includes: in response to determining that the multiple computing tasks involve the same task type, adding a first computing task of the multiple computing tasks to a batch of 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 to the batch a second computing task following the first computing task in the multiple computing tasks. 6 . The method according to claim 5 , further including: waiting for another request to use the computing unit to perform another computing task; and adding the another computing task to the 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 batch is greater than the batch size, committing the batch to the computing unit to cause the computing unit to perform the computing tasks in the committed batch. 8 . The method according to claim 1 , wherein dividing the multiple computing tasks into the at least one batch includes: in response to determining that the multiple computing tasks involve different task types, setting a first batch and a second batch respectively based on a first batch size and a second batch size associated with a first task type and a second task type of the multiple computing tasks; and dividing the multiple computing tasks into the first batch and the second batch according to the first task type and the second task type. 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; and a predetermined timer. 10 . The method according to claim 1 , wherein the computing unit 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 multiple computing tasks include at least one of the following tasks in the data protection system: a compression task, a decompression task, an encryption task, a decryption task, a hash task, a backup task, and 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 for managing multiple computing tasks on a batch basis, the method including: 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. 12 . The device according to claim 11 , wherein identifying the task type includes identifying the task type based on at least one of: throughput and response latency requirements for the multiple 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 unit, and the batch size of the multiple 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 acquiring the scheduling time overhead includes: acquiring the scheduling time overhead based on an operating state of the computing system. 15 . The device according to claim 11 , wherein dividing the multiple computing tasks into the at least one batch includes: in response to determining that the multiple computing tasks involve the same task type, adding a first computing task of the multiple computing tasks to a batch of 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 to the batch a second computing task following the first computing task in the multiple computing tasks. 16 . The device according to claim 15 , wherein the method further includes: waiting for another request to use the computing unit to perform another computing task; and adding the another computing task to the 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 batch is greater than the batch size, committing the batch to the computing unit to cause the computing unit to perform the computing tasks in the committed batch. 18 . The device according to claim 11 , wherein dividing the multiple computing tasks into the at least one batch includes: in response to determining that the multiple computing tasks involve different task types, setting a first batch and a second batch respectively based on a first batch size and a second batch size associated with a first task type and a second task type of the multiple computing tasks; and dividing the multiple computing tasks into the first batch and the second batch according to the first task type and the second task type. 19 . The device according to claim 11 , wherein: the device is started based on at least one of: a change in the workload of the computing system; and a predetermined timer; and the computing unit 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 multiple computing tasks include at least one of the following tasks in the data protection system: a compression task, a decompression task, an encryption
Transaction processing · CPC title
Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues · CPC title
the resource being a machine, e.g. CPUs, Servers, Terminals · CPC title
by program, e.g. task dispatcher, supervisor, operating system · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.