Executing computing modules using multi-coring

US10915367B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-10915367-B1
Application numberUS-201916519190-A
CountryUS
Kind codeB1
Filing dateJul 23, 2019
Priority dateJul 23, 2019
Publication dateFeb 9, 2021
Grant dateFeb 9, 2021

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

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.

First claim

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.

Assignees

Inventors

Classifications

  • Resource availability · CPC title

  • G06F9/5055Primary

    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

  • G06F9/505Primary

    considering the load · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10915367B1 cover?
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 …
Who is the assignee on this patent?
Capital One Services Llc
What technology area does this patent fall under?
Primary CPC classification G06F9/5055. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Feb 09 2021 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 5 related publications on this page (citations in our corpus or others sharing the same primary CPC).