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 PDF

Info

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
Application number
CN202010502926.6A
Other languages
Chinese (zh)
Inventor
夏军
陈磊
袁帅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chongqing University of Post and Telecommunications
Original Assignee
Chongqing University of Post and Telecommunications
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Chongqing University of Post and Telecommunications filed Critical Chongqing University of Post and Telecommunications
Priority to CN202010502926.6A priority Critical patent/CN111679897A/en
Publication of CN111679897A publication Critical patent/CN111679897A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/484Precedence
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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

Heterogeneous multi-core system-on-chip task allocation method and device
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
Figure BDA0002525431260000025
Each is judged
Figure BDA0002525431260000023
Whether the value is not less than a preset threshold value delta or not; setting not less than Δ
Figure BDA0002525431260000024
Setting less than delta
Figure BDA0002525431260000026
Will be provided with
Figure BDA0002525431260000027
Task 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 processors
Figure BDA0002525431260000029
The method comprises the following steps:
initializing a task allocation matrix A, and setting the value of each element in A
Figure BDA0002525431260000028
Is 0;
Figure BDA0002525431260000021
calculating to make the system total energy consumption EtotalMinimum size
Figure BDA00025254312600000210
Figure BDA0002525431260000022
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 1, calculating the total processing time of each processor
Figure BDA0002525431260000031
Figure BDA0002525431260000032
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
Figure BDA0002525431260000033
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 matrix
Figure BDA0002525431260000034
Distributing 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;
Figure BDA0002525431260000037
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;
Figure BDA0002525431260000035
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 processors
Figure BDA0002525431260000036
Obtaining 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 matrix
Figure BDA0002525431260000041
Set to 1, less than Δ
Figure BDA0002525431260000042
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 A
Figure BDA0002525431260000043
Is 0;
Figure BDA0002525431260000044
the relaxation calculation unit acquires a task allocation matrix A from the matrix definition unit; calculating each of said A by relaxation
Figure BDA0002525431260000045
Sending said a to said decision rounding module; the above-mentioned
Figure BDA0002525431260000046
Is calculated to make the total energy consumption of the system EtotalMinimum size
Figure BDA0002525431260000047
Figure BDA0002525431260000048
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
Figure BDA0002525431260000051
Figure BDA0002525431260000052
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 matrix
Figure BDA0002525431260000053
Obtaining a final task allocation matrix;
the energy consumption calculation unit obtains the total processing time of each processor from the processing time calculation unit
Figure BDA0002525431260000054
For each unallocated task, traversing and calculating the total system energy consumption allocated to each processor;
Figure BDA0002525431260000055
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 matrix
Figure BDA0002525431260000056
When 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;
Figure BDA0002525431260000057
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
Figure BDA0002525431260000058
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
Figure BDA0002525431260000071
This step may further include:
s1031, initializing task allocation matrix A, setting each element value in A
Figure BDA0002525431260000072
Is 0;
Figure BDA0002525431260000073
s1032, calculating to enable total energy consumption E of the systemtotalMinimum size
Figure BDA0002525431260000074
In this step, the
Figure BDA0002525431260000075
The 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
Figure BDA0002525431260000076
Figure BDA0002525431260000077
In this embodiment, the convex optimization algorithm may be used to solve the above-mentioned step
Figure BDA0002525431260000078
Specifically, 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 used
Figure BDA0002525431260000079
The formalized language of the nonlinear optimization theory for the specific calculation is:
Figure BDA0002525431260000081
Figure BDA0002525431260000082
Figure BDA00025254312600000813
Figure BDA0002525431260000083
Figure BDA0002525431260000084
s104, determining each
Figure BDA0002525431260000085
Whether the value is not less than a preset threshold value delta or not; setting not less than Δ
Figure BDA0002525431260000086
Set less than
Figure BDA0002525431260000087
Wherein the value range of delta is 0.6-0.99;
s105, mixing
Figure BDA0002525431260000088
Task i of (2) to processor j;
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:
s1061, calculating the total processing time of each processor
Figure BDA0002525431260000089
Figure BDA00025254312600000810
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 matrix
Figure BDA00025254312600000811
Distributing 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;
Figure BDA00025254312600000812
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:
Figure BDA0002525431260000091
calculate in turn
Figure BDA0002525431260000092
When 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
Figure BDA0002525431260000093
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 set
Figure BDA0002525431260000094
Is 0;
Figure BDA0002525431260000095
the relaxation calculation unit acquires a task allocation matrix A from the matrix definition unit; calculating each of said A by relaxation
Figure BDA0002525431260000101
Sending said a to said decision rounding module; the above-mentioned
Figure BDA0002525431260000102
Is calculated such that E is calculated according to the following formulatotalMinimum size
Figure BDA0002525431260000103
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 processors
Figure BDA0002525431260000104
Obtaining a task allocation matrix A;
the above-mentioned
Figure BDA0002525431260000105
The 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
Figure BDA0002525431260000106
Figure BDA0002525431260000107
In this embodiment, a convex optimization algorithm may be used to solve the problem
Figure BDA0002525431260000108
The 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 matrix
Figure BDA0002525431260000109
Whether the value is not less than a preset threshold value delta or not; assigning not less than Δ in the task allocation matrix
Figure BDA00025254312600001010
Set to 1, less than Δ
Figure BDA00025254312600001011
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
Figure BDA0002525431260000111
Figure BDA0002525431260000112
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 matrix
Figure BDA0002525431260000113
Obtaining a final task allocation matrix;
the energy consumption calculation unit obtains the total processing time of each processor from the processing time calculation unit
Figure BDA0002525431260000114
For each unallocated task, traversing and calculating the total system energy consumption allocated to each processor;
Figure BDA0002525431260000115
calculate in turn
Figure BDA0002525431260000116
When 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 matrix
Figure BDA0002525431260000117
Sending 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;
Figure BDA0002525431260000118
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
Figure BDA0002525431260000121
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
Figure FDA0002525431250000011
Each is judged
Figure FDA0002525431250000012
Whether the value is not less than a preset threshold value delta or not; setting not less than Δ
Figure FDA0002525431250000013
Setting less than delta
Figure FDA0002525431250000014
Will be provided with
Figure FDA0002525431250000015
Task 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 processors
Figure FDA0002525431250000016
The method comprises the following steps:
initializing a task allocation matrix A, and setting the value of each element in A
Figure FDA0002525431250000017
Is 0;
Figure FDA0002525431250000018
calculating to make the system total energy consumption EtotalMinimum size
Figure FDA0002525431250000019
Figure FDA00025254312500000110
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
Figure FDA0002525431250000021
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
Figure FDA0002525431250000022
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 matrix
Figure FDA0002525431250000023
Distributing 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;
Figure FDA0002525431250000024
the assignment expectation value assigned to processor j for task n.
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;
Figure FDA0002525431250000025
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 processors
Figure FDA0002525431250000026
Obtaining 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 obtained
Figure FDA0002525431250000027
Set to 1, less than Δ
Figure FDA0002525431250000028
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 A
Figure FDA0002525431250000031
Is 0;
Figure FDA0002525431250000032
the relaxation calculation unit acquires a task allocation matrix A from the matrix definition unit; calculating each of said A by relaxation
Figure FDA0002525431250000033
Sending said a to said decision rounding module; the above-mentioned
Figure FDA0002525431250000034
Is calculated to make the total energy consumption of the system EtotalMinimum size
Figure FDA0002525431250000035
Figure FDA0002525431250000036
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
Figure FDA0002525431250000041
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 matrix
Figure FDA0002525431250000042
Obtaining 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;
Figure FDA0002525431250000043
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 matrix
Figure FDA0002525431250000044
When 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;
Figure FDA0002525431250000045
the assignment expectation value assigned to processor j for task n.
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
Figure FDA0002525431250000046
CN202010502926.6A 2020-06-05 2020-06-05 Heterogeneous multi-core system-on-chip task allocation method and device Pending CN111679897A (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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