Method, apparatus and computer program product for scheduling dedicated processing resources
US-2019220311-A1 · Jul 18, 2019 · US
US10915367B1 · US · B1
| Field | Value |
|---|---|
| Publication number | US-10915367-B1 |
| Application number | US-201916519190-A |
| Country | US |
| Kind code | B1 |
| Filing date | Jul 23, 2019 |
| Priority date | Jul 23, 2019 |
| Publication date | Feb 9, 2021 |
| Grant date | Feb 9, 2021 |
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.
Described herein is a system for executing a computing module. Described herein is a system for executing a computing module. The system may determine whether a function of a computing module is suitable to be executed using multi-coring. The system identifies one or more available computing cores and executes the function on the one or more available computing cores. The one or more available computing cores can be dedicated to execute the function until the execution of the function is complete. The one or more available computing cores execute the tasks of the function asynchronously. The system receives output data from the function asynchronously in a list data structure. The system can maintain a desired order of the output data in the list data structure.
Opening claim text (preview).
What is claimed is: 1. A computer-implemented method for executing a computing module, the method comprising: determining, by one or more computing devices, execution of a function of a first computing module requires more than a threshold amount of computing resources; determining, by the one or more computing devices, available computing cores from a plurality of computing cores; verifying, by the one or more computing devices, whether the function of the first computing module is executable by one or more available computing cores based on a relationship between calculations in the first computing module or a relationship between the function and another function in the first computing module; assigning, by the one or more computing devices, one or more of the available computing cores to execute the function of the first computing module; executing, by the one or more computing devices, the function of the first computing module using the assigned one or more computing cores, wherein the assigned one or more computing cores are dedicated to executing the function of the first computing module, wherein tasks included in the function are executed asynchronously; receiving, by the one or more computing devices, output data in a first instance of a data frame data structure from the function of the first computing module asynchronously while the function of the first computing module is being executed, wherein the first instance of the data frame structure is a two-dimensional data structure and stores the output data in an incorrect order; identifying, by the one or more computing devices, a key-value pair and desired order of the output data; transposing, by the one or more computing devices, the output data of the first instance of the data frame data structure into a list data structure, as the output data is received by the first instance of the data frame data structure, wherein the list data structure is a one-dimensional data structure and the output data is positioned in the list data structure based on the key-value pair and desired order; converting, by the one or more computing devices, the list data structure into a second instance of a data frame data structure based on the key-value pair and desired order of the output data, wherein the second instance of the data frame data structure stores the output data in the desired order; and outputting, by the one or more computing devices, the data frame data structure. 2. The method of claim 1 , further comprising: determining, by the one or more computing devices, execution of a first and second function of a second computing module requires more than the threshold amount of computing resources; and executing, by the one or more computing devices, the first and second functions of the second computing module, in parallel, using any one of the available computing cores other than the one or more computing cores assigned to execute the function of the first computing module. 3. The method of claim 1 , wherein determining whether execution of the function of the first computing module requires more than the threshold amount of computing resources further comprises: determining, by the one or more computing devices, an amount of data processed and an amount of calculations executed by the function of the first computing module. 4. The method of claim 1 , wherein maintaining the desired order of the output data includes maintaining the key-value pair for the output data. 5. The method of claim 1 , further comprising: determining, by the one or more computing devices, the relationship between the calculations executed in the function of the first computing module is void of interdependencies; and in response to determining the function of the first computing module is void of interdependencies between the calculations executed in the function of the first computing module, determining, by the one or more computing devices, the function of the first computing module is executable by the assigned one or more computing cores. 6. The method of claim 1 further comprising: determining, by the one or more computing devices, the relationship between the function and the other function of the first computing module is void of interdependencies between the function and the other function of the first computing module; and in response to determining the function of the first computing module is void of interdependencies between the other function of the first computing module, determining, by the one or more computing devices, the function of the first computing module is executable by the assigned one or more computing cores. 7. The method of claim 1 , wherein the converting of the list data structure into the second instance of the data frame data structure comprises: transposing, by the one or more computing devices, the output data stored in the list data structure into the second instance of the data frame data structure based on the correct order. 8. A system for executing a computing module, the system comprising: a memory; and a processor in communication with the memory, configured to: determine execution of a function of a first computing module requires more than a threshold amount of computing resources; determine available computing cores from a plurality of computing cores; verify whether the function of the first computing module is executable by one or more computing cores of the available computing cores based on a relationship between calculations in the first computing module or a relationship between the function and another function in the first computing module; in response to verifying the function of the first computing module is executable by the one or more computing cores of the available computing cores, assign the one or more computing cores to execute the function of the first computing module; execute the function of the first computing module using the assigned one or more computing cores, wherein the assigned one or more computing cores are dedicated to executing the function of the first computing module, wherein tasks included in the function are executed asynchronously; receive output data in a first instance of a data frame data structure from the function of the first computing module asynchronously while the function of the first computing module is being executed, wherein the first instance of the data frame structure is a two-dimensional data structure and stores the output data in an incorrect order; identify a key-value pair and correct order of the output data; transpose the output data of the first instance of the data frame data structure into a list data structure, as the output data is received by the first instance of the data frame data structure, wherein the list data structure is a one-dimensional data structure and the output data is positioned in the list data structure based on the key-value pair and correct order; convert the list data structure into a second instance of a data frame data structure based on the key-value pair and desired order of the output data, wherein the second instance of the data frame data structure is a two-dimensional data structure and stores the output data in the correct order; and output the data frame data structure. 9. The system of claim 8 , the processor further configured to: determine execution of a first and second function of a second computing module requires more than the threshold amount of computing resources; and execute the first and second functions of the second computing module, in parallel, using any one of the available computing cores other than the one or more computing cores assigned to execute the function of the first computing module.
Resource availability · CPC title
considering software capabilities, i.e. software resources associated or available to the machine · CPC title
considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration (scheduling strategies G06F9/4881 and subgroups) · CPC title
considering the load · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.