Method and system for assigning a computational block of a software program to cores of a multi-processor system
First Claim
1. A method for dynamic mapping of a computational block of a software program to cores of a multi-processor system at run-time, the method comprising:
- evaluating, by the multi-processor system, a first number, K1act, of available cores of a first type of the multi-processor system and a second number, K2act, of available cores of a second type of the multi-processor system, wherein evaluating the first number, K1act, of available cores is based on evaluating a number of cores of the first type busy with a background load of the multi-processor system, and wherein evaluating the second number, K2act, of available cores is based on evaluating a number of cores of the second type busy with the background load of the multi-processor system;
determining, by the multi-processor system, a first number, n1, of loops of the computational block for binding with the available cores of the first type and a second number, n2, of loops of the computational block for binding with the available cores of the second type, wherein the computational block includes a plurality of loops, wherein the first number, n1, of loops is determined based on the first number of available cores of the first type, K1act, the second number of available cores of the second type, K2act, a clock frequency of a core of the first type, a clock frequency of a core of the second type, and a total number, N, of loops of the computational block, and according to the following relation;
1 Assignment
0 Petitions
Accused Products
Abstract
A method for assigning a computational block of a software program to cores of a multi-processor system includes: evaluating a first number of available cores of a first type of the multi-processor system and a second number of available cores of a second type of the multi-processor system; determining a first number of loops of the computational block for binding with the cores of the first type and a second number of loops of the computational block for binding with the cores of the second type; binding the first number of loops with the cores of the first type and binding the second number of loops with the cores of the second type; and executing the loops of the computational block according to the binding.
-
Citations
9 Claims
-
1. A method for dynamic mapping of a computational block of a software program to cores of a multi-processor system at run-time, the method comprising:
-
evaluating, by the multi-processor system, a first number, K1act, of available cores of a first type of the multi-processor system and a second number, K2act, of available cores of a second type of the multi-processor system, wherein evaluating the first number, K1act, of available cores is based on evaluating a number of cores of the first type busy with a background load of the multi-processor system, and wherein evaluating the second number, K2act, of available cores is based on evaluating a number of cores of the second type busy with the background load of the multi-processor system; determining, by the multi-processor system, a first number, n1, of loops of the computational block for binding with the available cores of the first type and a second number, n2, of loops of the computational block for binding with the available cores of the second type, wherein the computational block includes a plurality of loops, wherein the first number, n1, of loops is determined based on the first number of available cores of the first type, K1act, the second number of available cores of the second type, K2act, a clock frequency of a core of the first type, a clock frequency of a core of the second type, and a total number, N, of loops of the computational block, and according to the following relation; - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A non-transitory computer-readable medium storing instructions that, when executed, cause a computer to perform dynamic mapping of a computational block of a software program to cores of a multi-processor system that includes cores of a first type and cores of a second type, by performing the steps of:
-
evaluating a first number, K1act, of available cores of a first type of the multi-processor system and a second number, K2act, of available cores of a second type of the multi-processor system, wherein evaluating the first number, K1act, of available cores is based on evaluating a number of cores of the first type busy with a background load of the multi-processor system, and wherein the evaluating the second number, K2act, of available cores is based on evaluating a number of cores of the second type busy with the background load of the multi-processor system; determining a first number, n1, of loops of the computational block for binding with the cores of the first type and a second number, n2, of loops of the computational block for binding with the cores of the second type, wherein the first number, n1, of loops is determined based on the first number of available cores of the first type, K1act, the second number of available cores of the second type, K2act, a clock frequency of a core of the first type, a clock frequency of a core of the second type, and a total number, N, of loops of the computational block, and according to the following relation;
-
Specification