CN111679897A - Heterogeneous multi-core system-on-chip task allocation method and device - Google Patents
Heterogeneous multi-core system-on-chip task allocation method and device Download PDFInfo
- Publication number
- CN111679897A CN111679897A CN202010502926.6A CN202010502926A CN111679897A CN 111679897 A CN111679897 A CN 111679897A CN 202010502926 A CN202010502926 A CN 202010502926A CN 111679897 A CN111679897 A CN 111679897A
- Authority
- CN
- China
- Prior art keywords
- task
- total
- processor
- energy consumption
- task allocation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 19
- 238000005265 energy consumption Methods 0.000 claims abstract description 77
- 239000011159 matrix material Substances 0.000 claims description 81
- 238000004364 calculation method Methods 0.000 claims description 47
- 230000010354 integration Effects 0.000 claims description 4
- 238000005457 optimization Methods 0.000 abstract description 10
- 238000010586 diagram Methods 0.000 description 3
- 230000002040 relaxant effect Effects 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/48—Indexing scheme relating to G06F9/48
- G06F2209/484—Precedence
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
Abstract
The invention discloses a heterogeneous multi-core system-on-chip task allocation method, which comprises the following steps: calculating expected values of distribution of tasks on each processor, which minimize the total energy consumption of the system; judging whether each distribution expected value is not less than a preset threshold value or not; setting the distribution expected value not less than the preset threshold value as 1 and setting the distribution expected value less than the preset threshold value as 0; allocating a task i with an allocation expectation value of 1 to a processor j; traversing to obtain all task allocation schemes for allocating unallocated tasks to each processor; and selecting the task allocation scheme with the minimum system total energy consumption as a final task allocation scheme. The invention also discloses a heterogeneous multi-core system-on-chip task allocation device. The technical scheme of the invention reduces the iteration times of using the convex optimization algorithm on the premise of ensuring that the system generates nearly minimum energy consumption, greatly reduces the algorithm complexity and reduces the execution time of the algorithm.
Description
Technical Field
The invention belongs to the field of computer architecture, and particularly relates to a method and a device for distributing tasks of a heterogeneous multi-core system on a chip.
Background
In the field of embedded computer systems, with the improvement of the integration level of large-scale integrated circuits, heterogeneous multi-core system-on-chip with a built-in Dynamic Voltage Frequency Scaling (DVFS) circuit is widely applied to embedded real-time systems, the heterogeneous multi-core system-on-chip comprises a plurality of processors, different tasks need to be distributed to proper processors for execution, and a task distribution algorithm is an important technology of the heterogeneous multi-core system-on-chip.
In the task allocation scheme of the heterogeneous multi-core system on chip in the prior art, a heuristic algorithm is generally adopted to allocate tasks. Two types of heuristic algorithms are mainly adopted:
the first type is an improved minimum loss energy density algorithm (abbreviated as ILLED). The algorithm firstly calculates the energy density of each task on different cores, then calculates the density difference of each task on the preferred core, and collects a group of energy density difference sets of each task. The elements in the difference set are sorted in decreasing order relative to the density difference values and then iteratively assigned in order as to whether the task is assigned to the corresponding optimal processor.
The second category is relaxation-based iterative rounding algorithms (RIRA for short). According to the algorithm, a task allocation problem is defined as a binary integer programming problem, then the binary integer programming problem is relaxed to be a convex optimization problem, the task with the largest influence on energy consumption is allocated preferentially on the basis of the optimal solution of the convex optimization problem, and a new optimization problem formed by unallocated tasks is solved iteratively according to the sequence.
The two algorithms have the problems that the complexity of the iterative operation algorithm is high, the solving time is long, and the problem of infeasible solution is not considered in the actual distribution process, so that the algorithm energy consumption is high.
Disclosure of Invention
In order to solve the problems in the prior art, the invention provides a method and a device for allocating tasks of a heterogeneous multi-core system on a chip, so as to reduce the complexity of a task allocation algorithm and reduce the energy consumption of a system.
The heterogeneous multi-core system-on-chip task allocation method comprises the following steps:
calculating to make the system total energy consumption EtotalMinimum expected value of assignment of tasks to processors
Each is judgedWhether the value is not less than a preset threshold value delta or not; setting not less than ΔSetting less than deltaWill be provided withTask i of (2) to processor j;
traversing to obtain all task allocation schemes for allocating unallocated tasks to each processor; selecting Total System energy consumption EtotalThe minimum task allocation scheme is used as a final task allocation scheme;
wherein, i is a task number, and j is a processor number.
Further, the calculation enables the total energy consumption E of the systemtotalMinimum expected value of assignment of tasks to processorsThe method comprises the following steps:
Wherein I is the total number of tasks, and J is the total number of processors; ciThe worst execution instruction cycle for task i; thetai jFor the efficiency of the execution of task i on processor j, βjAre architectural coefficients for processor j.
Further, the traversal obtains all task allocation schemes for allocating the unallocated tasks to the processors; selecting Total System energy consumption EtotalThe minimal task assignment as the final task assignment comprises
Step 2, selecting an unallocated task n, and traversing and calculating the total system energy consumption E for allocating the task n to each processortotal;
Step 3, selecting the distribution scheme which enables the total energy consumption of the system to be minimum, and setting the distribution scheme corresponding to the distribution scheme in the task distribution matrixDistributing the task n to a processor j corresponding to the scheme;
repeating the step 1 to the step 3 until all tasks are distributed; obtaining a final task allocation scheme;
wherein N is the number of the unallocated tasks, and N is the total number of the unallocated tasks;the assignment expectation value assigned to processor j for task n.
Further, the method further comprises setting the execution frequency of each processor according to the final task allocation scheme:
calculating the execution frequency of each processor according to the distribution expected value in the final task distribution scheme;
setting the execution frequency of each processor to fj。
The heterogeneous multi-core system-on-chip task allocation device comprises:
a slack calculation module for calculating expected distribution values of tasks on the processorsObtaining a task allocation matrix A, and sending the task allocation matrix A to a decision rounding module;
a decision rounding module for obtaining the task allocation matrix A from the relaxation calculation module, performing decision rounding on each element in the A, and performing decision rounding on the elements not less than delta in the task allocation matrixSet to 1, less than ΔSet to 0; sending the task allocation matrix after the judgment and the integration to an energy consumption calculation module;
the energy consumption calculation module acquires a task allocation matrix from the judgment rounding module and traverses all task allocation schemes for allocating unallocated tasks to the processors; selecting Total System energy consumption EtotalThe minimum task allocation scheme is used as a final task allocation scheme, and a final task allocation matrix is sent to the task allocation module;
and the task allocation module is used for obtaining a final task allocation matrix from the energy consumption calculation module and allocating each task to a processor with an allocation expected value of 1 according to the allocation expected value of each task in the task allocation matrix.
Further, the slack calculation module includes:
the matrix definition unit is used for constructing a task allocation matrix A according to the number J of processors and the number I of tasks of the heterogeneous multi-core system on chip, initializing the task allocation matrix, and setting the value of each element in the matrix AIs 0;
the relaxation calculation unit acquires a task allocation matrix A from the matrix definition unit; calculating each of said A by relaxationSending said a to said decision rounding module; the above-mentionedIs calculated to make the total energy consumption of the system EtotalMinimum size
Wherein I is the total number of tasks, and J is the total number of processors; ciThe worst execution instruction cycle for task i; thetai jFor the efficiency of the execution of task i on processor j, βjAre architectural coefficients for processor j.
Further, the energy consumption calculation module includes:
a processing time calculation unit for obtaining the task allocation matrix after the judgment and the rounding from the judgment and rounding module and calculating the total processing time of each processor
An energy consumption calculation unit for calculating the total energy consumption of the system when each unallocated task is allocated to each processor, selecting the allocation scheme which minimizes the total energy consumption of the system, and setting the allocation scheme corresponding to the allocation scheme in the task allocation matrixObtaining a final task allocation matrix;
the energy consumption calculation unit obtains the total processing time of each processor from the processing time calculation unitFor each unallocated task, traversing and calculating the total system energy consumption allocated to each processor;
selecting an allocation scheme which minimizes the total energy consumption of the system, and setting the allocation scheme corresponding to the allocation scheme in the task allocation matrixWhen one task traversal is completed, sending the modified task allocation matrix to the processing time calculation unit; after all the unallocated tasks are traversed, a final task allocation matrix is obtained and sent to a task allocation module;
wherein N is the number of the unallocated tasks, and N is the total number of the unallocated tasks;the assignment expectation value assigned to processor j for task n.
Furthermore, the device also comprises an execution frequency setting module which obtains a final task allocation matrix from the energy consumption calculation module and calculates and sets the execution frequency f of each processorj:
The technical scheme of the invention decomposes the task allocation matrix into allocated tasks and unallocated tasks by using the preset decision threshold, only performs traversal iterative allocation on the unallocated tasks, calculates the total system energy consumption of each allocation scheme, selects the allocation scheme with the minimum total system energy consumption as the final allocation scheme, reduces the iteration times by using a convex optimization algorithm on the premise of ensuring that the system generates the energy consumption close to the minimum energy consumption, greatly reduces the algorithm complexity and reduces the execution time of the algorithm.
Drawings
Fig. 1 is a flowchart of a heterogeneous multi-core system-on-chip task allocation method according to embodiment 1 of the present invention;
fig. 2 is a schematic structural diagram of a heterogeneous multi-core system-on-chip task allocation apparatus according to an embodiment 2 of the present invention;
FIG. 3 is a schematic structural diagram of a slack calculation module according to embodiment 2 of the present invention;
fig. 4 is a schematic structural diagram of an energy consumption calculating module in embodiment 2 of the present invention.
Detailed Description
In order to better explain the technical scheme of the invention, the following detailed description of the specific embodiments of the invention is provided in conjunction with the accompanying drawings.
In the following specific embodiment of the invention, the system on chip comprises J processors, I tasks need to be distributed, and the deadline of task execution is D; the tasks are independent from each other, the tasks are not limited to be executed successively and are not preempted, and all the tasks start to be released at the same time point 0. Operable frequency f of each processorj={fj 1,fj 2,……,fj MJ is the processor number, M is the number of the operable frequency of the processor, fj 1<fj 2<……<fj M。
I is task number, I is 1,2, … …, II is the total number of tasks, and J is the total number of processors; ciThe worst execution instruction cycle for task i; thetai jFor the efficiency of the execution of task i on processor j, βjIs the architecture coefficient of the processor j, which takes on the value of a constant value related to the design and process of the processor; the total processing time of a processor is the sum of the execution times of the tasks assigned to the processor on the processor.
Detailed description of the preferred embodiment 1
This embodiment is a preferred implementation of the method for allocating tasks to a heterogeneous multi-core system on a chip according to the present invention.
Referring to fig. 1, as shown in fig. 1, the method of the present embodiment includes:
s101, starting system power-on and a set of TASKs TASKiIs distributed to the system;
s102, setting initial working frequency f of each processor of systemj work;
In this step, f isj workThe working frequency is preset according to the type of each processor;
s103, calculating to enable total energy consumption E of the systemtotalMinimum expected value of assignment of tasks to processors
This step may further include:
In this step, theThe calculation method comprises the steps of relaxing the solution of the task allocation matrix into the minimum value of the total energy consumption of the system, and calculating to enable the EtotalMinimum size
In this embodiment, the convex optimization algorithm may be used to solve the above-mentioned stepSpecifically, the optimization solving tool yalcip can be used to solve the problem disclosed in the paper "integer programming model solving method based on the yalcip toolbox" published in the journal of the Hubei engineering college of Hubei academic Press published in 2014 08 and 06 (No. 3 in 2014), and the optimization solving tool yalcip is usedThe formalized language of the nonlinear optimization theory for the specific calculation is:
s104, determining eachWhether the value is not less than a preset threshold value delta or not; setting not less than ΔSet less than
Wherein the value range of delta is 0.6-0.99;
s106, traversing and acquiring all task allocation schemes for allocating unallocated tasks to the processors; selecting Total System energy consumption EtotalThe minimum task allocation scheme is used as a final task allocation scheme;
this step may further include:
S1062, selecting an unallocated task n, and traversing an allocation scheme for allocating the task n to each processor;
s1063, calculating total system energy consumption E of each distribution scheme of task ntotalSelecting the distribution scheme which minimizes the total energy consumption of the system, and setting the distribution scheme corresponding to the distribution scheme in the task distribution matrixDistributing the task n to the processor j corresponding to the scheme;
Wherein N is the number of the unallocated tasks, and N is the total number of the unallocated tasks;an allocation expectation value for task n to processor j;
in this step, the total energy consumption E of the systemtotalThe calculation method is as follows:
calculate in turnWhen E istotalThe total system energy consumption when task n is allocated to processor 1, processors 2, … …, and processor J, respectively, is obtained.
Repeating the steps S1061-S1063 until all task assignments are completed; obtaining a final task allocation scheme;
s107, calculating the execution frequency f of each processor according to the task allocation matrixj;
S108, setting the execution frequency of each processor to be fj。
Specific example 2
This embodiment is a preferred implementation scheme of the heterogeneous multi-core system-on-chip task allocation apparatus according to the present invention.
Referring to fig. 2, as shown in fig. 2, the apparatus of the present embodiment includes:
the slack calculation module is used for calculating the distribution expected value of each task on each processor, obtaining a task distribution matrix and sending the task distribution matrix to the judgment and rounding module;
referring to fig. 3, as shown in fig. 3, in this embodiment, the slack calculating module may further include:
matrix definition unitAccording to the number J of processors and the number I of tasks of the heterogeneous multi-core system on chip, a task allocation matrix A is constructed, the task allocation matrix is initialized, and the value of each element in the matrix A is setIs 0;
the relaxation calculation unit acquires a task allocation matrix A from the matrix definition unit; calculating each of said A by relaxationSending said a to said decision rounding module; the above-mentionedIs calculated such that E is calculated according to the following formulatotalMinimum size
In this embodiment, the relaxation calculation unit calculates the total energy consumption E of the system according to the execution efficiency of each task on each processor, the execution frequency of each processor, the worst execution instruction cycle of each task, and the deadline of task executiontotalMinimum expected value of assignment of tasks to processorsObtaining a task allocation matrix A;
the above-mentionedThe calculation method comprises the steps of relaxing the solution of the task allocation matrix into the minimum value of the total energy consumption of the system, and calculating to enable the EtotalMinimum size
In this embodiment, a convex optimization algorithm may be used to solve the problemThe specific calculation method is the same as the calculation method in step S1032 in embodiment 1, and is not described herein again.
The judgment rounding module is used for obtaining the task allocation matrix A from the relaxation calculation module and carrying out judgment rounding on each element in the A; sending the task allocation matrix after the judgment and the integration to an energy consumption calculation module;
determining each in a task allocation matrixWhether the value is not less than a preset threshold value delta or not; assigning not less than Δ in the task allocation matrixSet to 1, less than ΔSet to 0;
wherein the value range of delta is 0.6-0.99;
the energy consumption calculation module acquires a task allocation matrix from the judgment rounding module and traverses all task allocation schemes for allocating unallocated tasks to the processors; selecting Total System energy consumption EtotalThe minimum task allocation scheme is used as a final task allocation scheme, and a final task allocation matrix is sent to the task allocation module;
the unallocated tasks are tasks with allocation expectation values of 0 on all processors;
in this embodiment, the energy consumption calculating module may further include:
a processing time calculation unit for obtaining the task allocation matrix after the judgment and the rounding from the judgment and rounding module and calculating the total processing time of each processor
An energy consumption calculation unit for calculating the total energy consumption of the system when each unallocated task is allocated to each processor, selecting the allocation scheme which minimizes the total energy consumption of the system, and setting the allocation scheme corresponding to the allocation scheme in the task allocation matrixObtaining a final task allocation matrix;
the energy consumption calculation unit obtains the total processing time of each processor from the processing time calculation unitFor each unallocated task, traversing and calculating the total system energy consumption allocated to each processor;
calculate in turnWhen E istotalRespectively obtaining the total system energy consumption when the task n is distributed to the processor 1, the processors 2, … … and the processor J;
selecting an allocation scheme which minimizes the total energy consumption of the system, and setting the allocation scheme corresponding to the allocation scheme in the task allocation matrixSending the modified task allocation matrix to the processing timemeter each time a task traversal is completedA calculation unit; after all tasks are traversed, a final task allocation matrix is obtained and sent to a task allocation module;
wherein N is the number of the unallocated tasks, and N is the total number of the unallocated tasks;an allocation expectation value for task n to processor j;
and the task allocation module is used for obtaining a final task allocation matrix from the energy consumption calculation module and allocating each task to a processor with an allocation expected value of 1 according to the allocation expected value of each task in the task allocation matrix.
An execution frequency setting module for obtaining the final task allocation matrix from the energy consumption calculation module, calculating and setting the execution frequency f of each processorj。
In the technical solution provided in the above embodiment of the present invention, when performing system task allocation on a heterogeneous multi-core chip, a task allocation matrix is obtained by solving a system total energy consumption minimization problem, then the task allocation matrix is judged and rounded, the task allocation matrix is decomposed into an allocated task and an unallocated task by using a preset judgment threshold, and finally, traversal iterative allocation is performed on the unallocated task, the system total energy consumption of each allocation scheme is calculated, and the allocation scheme with the minimum system total energy consumption is selected as a final allocation scheme. Meanwhile, by carrying out judgment and rounding on the distribution expected value, the problem that an infeasible solution that the execution frequency of the processor exceeds the maximum frequency of the processor occurs in the distribution scheme can be effectively avoided.
It should be noted that the above-mentioned embodiments are only used for illustrating the technical solutions of the present invention and not for limiting, and although the present invention has been described in detail with reference to the preferred embodiments, it should be understood by those skilled in the art that modifications or equivalent substitutions can be made on the technical solutions of the present invention without departing from the spirit and scope of the technical solutions of the present invention, which should be covered by the claims of the present invention.
Claims (8)
1. A method for distributing system tasks on heterogeneous multi-core chips is characterized by comprising the following steps:
calculating to make the system total energy consumption EtotalMinimum expected value of assignment of tasks to processors
Each is judgedWhether the value is not less than a preset threshold value delta or not; setting not less than ΔSetting less than deltaWill be provided withTask i of (2) to processor j;
traversing to obtain all task allocation schemes for allocating unallocated tasks to each processor; selecting Total System energy consumption EtotalThe minimum task allocation scheme is used as a final task allocation scheme;
wherein, i is a task number, and j is a processor number.
2. The method of claim 1, wherein the computing is such that total system energy consumption EtotalMinimum expected value of assignment of tasks to processorsThe method comprises the following steps:
Wherein I is the total number of tasks, and J is the total number of processors; ciThe worst execution instruction cycle for task i; thetai jThe execution efficiency of the task i on the processor j, and the deadline for the execution of the task D is βjAre architectural coefficients for processor j.
3. The method of claim 2, the traversing obtains all task allocation plans that allocate unallocated tasks to respective processors; selecting Total System energy consumption EtotalThe minimal task assignment as the final task assignment comprises
Step 1, calculating the total processing time T of each processor1 j;
Step 2, selecting an unallocated task n, and traversing and calculating the total system energy consumption E for allocating the task n to each processortotal;
Step 3, selecting the distribution scheme which enables the total energy consumption of the system to be minimum, and setting the distribution scheme corresponding to the distribution scheme in the task distribution matrixDistributing the task n to a processor j corresponding to the scheme;
repeating the step 1 to the step 3 until all tasks are distributed; obtaining a final task allocation scheme;
4. The method according to any one of claims 1 to 3, further comprising setting the execution frequency of each processor according to the final task allocation scheme:
calculating the execution frequency of each processor according to the distribution expected value in the final task distribution scheme;
setting the execution frequency of each processor to fj。
5. A heterogeneous multi-core system-on-a-chip task allocation apparatus, comprising:
a slack calculation module for calculating expected distribution values of tasks on the processorsObtaining a task allocation matrix A, and sending the task allocation matrix A to a decision rounding module;
a decision rounding module obtaining the slack computation moduleA task allocation matrix A, wherein each element in the A is subjected to judgment and rounding, and the value of the element not less than delta in the task allocation matrix is obtainedSet to 1, less than ΔSet to 0; sending the task allocation matrix after the judgment and the integration to an energy consumption calculation module;
the energy consumption calculation module acquires a task allocation matrix from the judgment rounding module and traverses all task allocation schemes for allocating unallocated tasks to the processors; selecting Total System energy consumption EtotalThe minimum task allocation scheme is used as a final task allocation scheme, and a final task allocation matrix is sent to the task allocation module;
and the task allocation module is used for obtaining a final task allocation matrix from the energy consumption calculation module and allocating each task to a processor with an allocation expected value of 1 according to the allocation expected value of each task in the task allocation matrix.
6. The apparatus of claim 5, wherein the slack computation module comprises:
the matrix definition unit is used for constructing a task allocation matrix A according to the number J of processors and the number I of tasks of the heterogeneous multi-core system on chip, initializing the task allocation matrix, and setting the value of each element in the matrix AIs 0;
the relaxation calculation unit acquires a task allocation matrix A from the matrix definition unit; calculating each of said A by relaxationSending said a to said decision rounding module; the above-mentionedIs calculated to make the total energy consumption of the system EtotalMinimum size
Wherein I is the total number of tasks, and J is the total number of processors; ciThe worst execution instruction cycle for task i; thetai jFor the efficiency of the execution of task i on processor j, βjAre architectural coefficients for processor j.
7. The apparatus of claim 6, wherein the energy consumption calculation module comprises:
a processing time calculation unit for obtaining the task allocation matrix after the judgment and the rounding from the judgment and rounding module and calculating the total processing time T of each processor1 j;
An energy consumption calculation unit for calculating the total energy consumption of the system when each unallocated task is allocated to each processor, selecting the allocation scheme which minimizes the total energy consumption of the system, and setting the allocation scheme corresponding to the allocation scheme in the task allocation matrixObtaining a final task allocation matrix;
the energy consumption calculation unit obtains the total processing time T of each processor from the processing time calculation unit1 jFor each task which is not allocated, the total system energy consumption which is allocated to each processor is calculated in a traversing way;
selecting an allocation scheme which minimizes the total energy consumption of the system, and setting the allocation scheme corresponding to the allocation scheme in the task allocation matrixWhen one task traversal is completed, sending the modified task allocation matrix to the processing time calculation unit; after all the unallocated tasks are traversed, a final task allocation matrix is obtained and sent to a task allocation module;
8. The device according to any one of claims 5 to 7, further comprising an execution frequency setting module, wherein the execution frequency setting module is used for obtaining a final task allocation matrix from the energy consumption calculation module, and calculating and setting the execution frequency f of each processorj:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010502926.6A CN111679897A (en) | 2020-06-05 | 2020-06-05 | Heterogeneous multi-core system-on-chip task allocation method and device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010502926.6A CN111679897A (en) | 2020-06-05 | 2020-06-05 | Heterogeneous multi-core system-on-chip task allocation method and device |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111679897A true CN111679897A (en) | 2020-09-18 |
Family
ID=72453970
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010502926.6A Pending CN111679897A (en) | 2020-06-05 | 2020-06-05 | Heterogeneous multi-core system-on-chip task allocation method and device |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111679897A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114356580A (en) * | 2022-01-12 | 2022-04-15 | 重庆邮电大学 | Task allocation method and device for heterogeneous multi-core system based on shared resource access |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012093498A1 (en) * | 2011-01-07 | 2012-07-12 | Nec Corporation | Energy-efficient resource management system and method for heterogeneous multicore processors |
CN109960576A (en) * | 2019-03-29 | 2019-07-02 | 北京工业大学 | A kind of low energy consumption task scheduling strategy towards CPU-GPU isomery |
CN110209478A (en) * | 2019-05-16 | 2019-09-06 | 重庆邮电大学 | A kind of heterogeneous polynuclear system on chip method for scheduling task and device |
CN111061569A (en) * | 2019-12-18 | 2020-04-24 | 北京工业大学 | Heterogeneous multi-core processor task allocation and scheduling strategy based on genetic algorithm |
-
2020
- 2020-06-05 CN CN202010502926.6A patent/CN111679897A/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012093498A1 (en) * | 2011-01-07 | 2012-07-12 | Nec Corporation | Energy-efficient resource management system and method for heterogeneous multicore processors |
CN109960576A (en) * | 2019-03-29 | 2019-07-02 | 北京工业大学 | A kind of low energy consumption task scheduling strategy towards CPU-GPU isomery |
CN110209478A (en) * | 2019-05-16 | 2019-09-06 | 重庆邮电大学 | A kind of heterogeneous polynuclear system on chip method for scheduling task and device |
CN111061569A (en) * | 2019-12-18 | 2020-04-24 | 北京工业大学 | Heterogeneous multi-core processor task allocation and scheduling strategy based on genetic algorithm |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114356580A (en) * | 2022-01-12 | 2022-04-15 | 重庆邮电大学 | Task allocation method and device for heterogeneous multi-core system based on shared resource access |
CN114356580B (en) * | 2022-01-12 | 2024-05-28 | 重庆邮电大学 | Heterogeneous multi-core system task allocation method and device based on shared resource access |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111427681B (en) | Real-time task matching scheduling system and method based on resource monitoring in edge computing | |
Zhong et al. | System-wide energy minimization for real-time tasks: Lower bound and approximation | |
US20090113434A1 (en) | Apparatus, system and method for rapid resource scheduling in a compute farm | |
CN103500123B (en) | Parallel computation dispatching method in isomerous environment | |
Pietri et al. | Energy-aware workflow scheduling using frequency scaling | |
JP2012504800A (en) | Scheduling applications for execution in heterogeneous computing systems | |
Deng et al. | Energy-aware task scheduling on heterogeneous computing systems with time constraint | |
CN110209478B (en) | Heterogeneous multi-core system-on-chip task scheduling method and device | |
CN111679897A (en) | Heterogeneous multi-core system-on-chip task allocation method and device | |
CN114816699A (en) | Data center job scheduling method and system based on temperature prediction | |
CN108762899B (en) | Cloud task rescheduling method and device | |
CN107145216A (en) | A kind of dispatching method | |
CN110084507B (en) | Scientific workflow scheduling optimization method based on hierarchical perception in cloud computing environment | |
KR101065436B1 (en) | Stochastic scheduling of a real-time parallel task with uncertain computation amount on mulit-core processors | |
Apodaca et al. | Stochastically robust static resource allocation for energy minimization with a makespan constraint in a heterogeneous computing environment | |
CN111459648A (en) | Heterogeneous multi-core platform resource optimization method and device for application program | |
Huang et al. | Bi-directional timing-power optimisation on heterogeneous multi-core architectures | |
CN115033389A (en) | Energy-saving task resource scheduling method and device for power grid information system | |
Ismaeel et al. | A systematic cloud workload clustering technique in large scale data centers | |
Yedidsion et al. | A bicriteria approach to minimize maximal lateness and resource consumption for scheduling a single machine | |
Zhou et al. | Learning-based green workload placement for energy internet in smart cities | |
Biswas et al. | Energy efficient scheduling in multiprocessor systems using archived multi-objective simulated annealing | |
Aida et al. | Performance enhancement of scheduling algorithm in heterogeneous distributed computing systems | |
Wang et al. | A task scheduling algorithm based on replication for maximizing reliability on heterogeneous computing systems | |
Shouman et al. | Static Workload Distribution of Parallel Applications in Heterogeneous Distributed Computing Systems with Memory and Communication Capacity Constraints |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200918 |
|
RJ01 | Rejection of invention patent application after publication |