CN108415783B - Heterogeneous multi-core task allocation method based on improved bee colony algorithm - Google Patents

Heterogeneous multi-core task allocation method based on improved bee colony algorithm Download PDF

Info

Publication number
CN108415783B
CN108415783B CN201810160405.XA CN201810160405A CN108415783B CN 108415783 B CN108415783 B CN 108415783B CN 201810160405 A CN201810160405 A CN 201810160405A CN 108415783 B CN108415783 B CN 108415783B
Authority
CN
China
Prior art keywords
food source
neighborhood
current
bee
task
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.)
Active
Application number
CN201810160405.XA
Other languages
Chinese (zh)
Other versions
CN108415783A (en
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.)
Tianjin University
Original Assignee
Tianjin University
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 Tianjin University filed Critical Tianjin University
Priority to CN201810160405.XA priority Critical patent/CN108415783B/en
Publication of CN108415783A publication Critical patent/CN108415783A/en
Application granted granted Critical
Publication of CN108415783B publication Critical patent/CN108415783B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/54Interprogram communication
    • G06F9/545Interprogram communication where tasks reside in different layers, e.g. user- and kernel-space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

A heterogeneous multi-core task allocation method based on an improved bee colony algorithm comprises the following steps: the method comprises the steps of firstly setting a search frequency threshold value for the neighborhood search frequency, when the search frequency is lower than the set threshold value, realizing iterative updating for one updating bit by a domain search strategy, and calculating corresponding solutions for neighborhood food sources, and when the search frequency is higher than the set threshold value, realizing iterative updating for multiple updating bits by the domain search strategy, and calculating corresponding solutions for the neighborhood food sources, so that solution convergence is realized rapidly. In the later stage of optimization, when the neighborhood search is carried out on the current food source and the quality of the solution cannot be improved, the scout bees refer to the information code of the current optimal food source when regenerating the food source, the new food source is regenerated according to the information of the current optimal food source, and the neighborhood search is carried out on the basis. Therefore, invalid iteration times can be greatly reduced, the convergence speed of the swarm algorithm is improved to a certain extent, and the task allocation efficiency is improved.

Description

Heterogeneous multi-core task allocation method based on improved bee colony algorithm
Technical Field
The invention relates to a heterogeneous multi-core task allocation method. In particular to a heterogeneous multi-core task allocation method based on an improved bee colony algorithm when a population intelligent optimization algorithm is applied to a system task allocation problem based on a heterogeneous multi-core model.
Background
1. Task allocation problem description based on heterogeneous multi-core model
Complex embedded systems can often be described as consisting of multiple processor cores with different specific structures for performing different specific tasks. The task allocation problem based on the heterogeneous multi-core model can be represented by a two-tuple representation G ═ (I, R, C), wherein I ═ { I ═ I1,I2,I3,...,Ii,...,IMI (I belongs to M) represents a set of task units in the heterogeneous multi-core model system (assuming that M task nodes are shared), wherein I belongs to M task nodesi(i e M) represents an attribute of the ith task node, C ═ C1,C2,C3,...,Cp,...,CNI p E N represents the set of processor cores in a heterogeneous multi-core model-based system (assuming N processor cores in total), where Cp(p ∈ N) tableShowing the attributes of the p-th processor core,
Figure BDA0001583204490000011
and representing the communication attribute of any i, j two task nodes with dependency relationship between the p-th and q-th processor cores.
The attribute of each task node i is as shown in formula (1):
Ii=<F,Ti,p,Pi,p>(i∈M,p∈N) (1)
wherein F represents the identification number of the ith task node, Ti,pIndicating a task execution time loss, P, of the ith task node on the P-th processor corei,pIndicating the task execution power consumption of the ith task node on the p-th processor core.
The communication attribute of any i, j two task nodes with dependency relationship in the system between the p-th processor core and the q-th processor core is shown as the formula (2):
Figure BDA0001583204490000012
wherein the content of the first and second substances,
Figure BDA0001583204490000013
indicating that the communication time of i, j two task nodes with any dependency relationship between the p and q processor cores is consumed,
Figure BDA0001583204490000014
and representing that the i, j two task nodes with any dependency relationship communicate power consumption between the p-th processor core and the q-th processor core.
The task allocation problem based on the heterogeneous multi-core model can be regarded as that the sum of the execution time of all task nodes and the communication time of any two task nodes with a dependency relationship is taken as an optimization target under the constraint of execution power consumption, and then the mathematical model is described as shown in formula (3):
min:
Figure BDA0001583204490000015
subject to:
Figure BDA0001583204490000016
aiming at the task allocation problem based on the heterogeneous multi-core model, the task allocation schemes of M task nodes can correspond to an M-dimensional space. The implementation scheme of each human node can be represented by 0,1, 2., p., N, i.e., p represents that the current task node is executed by the p-th processor core. The task allocation problem based on heterogeneous multi-core can be understood as a process of finding an optimal task allocation scheme.
2. Application of traditional artificial bee colony algorithm to heterogeneous multi-core task allocation problem
An Artificial Bee Colony Algorithm (ABCA) is a novel Colony intelligent optimization Algorithm, has the characteristics of integrity, relevance, dynamics, orderliness and the like in systematics, also reflects the distributed characteristic of Colony behaviors, and has the characteristic of carrying out a self-organization evolution process from disorder to order. The idea is derived from foraging behavior of bee colonies. The bee colony cooperates and coordinates with each other between individuals and colonies, and between colonies and colonies in the actions of foraging, breeding offspring and the like, and information exchange and sharing are carried out through information such as dancing, smell and the like. Foraging is performed on the basis of the communication of such cultural information. In the foraging process, the bee colony divides bees into a hiring bee, a scout bee and a following bee, which have respective division, the scout bee is responsible for scouting the food source, and the following bee and the hiring bee are responsible for exploiting the food source. The bee colony keeps good coordination, can reach better balance, and further complete the actions of foraging, breeding and the like of the bee colony. When the algorithm is applied to distribution of heterogeneous multi-core tasks, the same number of feasible solutions are randomly obtained according to the population scale, then an iterative process is carried out, the bee colony is averagely divided into a hiring bee and a following bee at the initial moment, the hiring bee firstly searches food sources, records the searched food sources and corresponding fitness function values thereof, carries out neighborhood search on the searched food sources, and records the corresponding fitness functions of neighborhood food sources, and if the quality of the solutions corresponding to the neighborhood food sources is better than that of the solutions corresponding to the current food sources, the food sources at the current position are replaced by the food sources at the neighborhood position. And then sending a follower bee to execute neighborhood searching according to the quality of the corresponding solution of each food source, wherein the higher the quality of the solution is, the higher the profitability of the food source is, the higher the probability of executing the neighborhood searching is, and when the neighborhood searching is performed, if the quality of the corresponding solution of the neighborhood food source is better than the quality of the solution of the current position, replacing the food source of the current position with the domain food source. If the quality of the solution corresponding to the food source at a certain position cannot be improved after a plurality of iterations, the food source at the position is abandoned, the hiring bee which owns the current food source becomes a scout bee to search for a new food source again, and then the neighborhood search is carried out on the new food source. And repeatedly and circularly iterating in the mode until the output of the optimal solution which meets the condition is finished and is used as the optimal scheme of the current task allocation.
Disclosure of Invention
The technical problem to be solved by the invention is to provide a heterogeneous multi-core task allocation method based on an improved bee colony algorithm, which has better performance than the original bee colony algorithm.
The technical scheme adopted by the invention is as follows: a heterogeneous multi-core task allocation method based on an improved bee colony algorithm comprises the following steps:
1) initializing parameters, including: determining a power consumption constraint parameter of a heterogeneous multi-core model, determining a maximum iteration number Itermax of an algorithm, and setting a first Limit threshold H as a food source iteration number threshold for changing a certain food source search strategy, a second Limit threshold iter _ Limit as a food source iteration number threshold for discarding a certain food source and a third Limit threshold iter _ change as an algorithm iteration number threshold for changing a mode of detecting bees to reproduce the food source;
2) initializing food source scale, including generating food source coordinates which are the same as Q numbers of the population scale of a bee hired and accord with the power constraint of a processor core for a task set consisting of M task nodes, wherein each food source is an M-bit random coding sequence of 0 to (N-1);
3) starting iterative updating, and calculating a fitness function value of each food source, wherein the food source with the maximum fitness function value is the current optimal food source;
4) adding 1 to the iteration number Iter of the algorithm, judging whether the iteration number Iter is larger than the set maximum iteration number IterMax, if so, executing the step 16), otherwise, executing the step 5).
5) Performing neighborhood search by following bees, specifically updating a bit value of coded information corresponding to the current food source, and respectively calculating the quality of solutions corresponding to the current food source and the neighborhood food source;
6) if the quality of the solution corresponding to the neighborhood food source is larger than that of the current food source, executing the step 7), otherwise, executing the step 8);
7) replacing the current food source with the neighborhood food source and returning to step 4);
8) adding 1 to the iteration number of the current food source, judging whether the iteration number is greater than a first limited threshold value H, if so, executing the step 9), and if not, returning to the step 5);
9) performing improved neighborhood search, searching for a better food source in a neighborhood, specifically, changing the coding information with a set bit number for the coding information corresponding to the current food source, and calculating the quality of a solution corresponding to the current food source and the neighborhood food source;
10) if the quality of the solution corresponding to the neighborhood food source is greater than that of the current food source, executing step 11), otherwise executing step 12);
11) replacing the current food source with the neighborhood food source and returning to step 4);
12) adding 1 to the iteration number of the current food source, judging whether the iteration number of the current food source is greater than a second limited threshold iter _ Limit, if so, executing the step 13), and if not, returning to the step 9);
13) judging whether the iteration number Iter of the algorithm is larger than a third limited threshold Iter _ change, if so, executing the step 14), otherwise, executing the step 15);
14) the hiring bee with the current food is changed into a scout bee, the scout bee regenerates a new food source according to the coding information of the set bit number of the current optimal food source, then the scout bee changes back to the hiring bee, and returns to the step 4);
15) the hiring bee with the current food becomes a scout bee, after the scout bee initializes the current food source, the scout bee changes back to the hiring bee, and returns to the step 4);
16) and outputting the position coordinates of the current optimal food source, namely the optimal task allocation scheme.
The fitness function value of each food source is calculated in the step 3), namely
Figure BDA0001583204490000031
TSAnd PowerSRespectively the sum of the time loss and the sum of the power loss required by the Sth food source, namely the Sth task allocation scheme;
setting N processor cores in total, wherein each food source, namely each task allocation scheme, comprises M task nodes, i, j belongs to M, p, q belongs to N and Ti,pIndicating a task execution time loss, P, of the ith task node on the P-th processor corei,pIndicating the task execution power consumption of the ith task node on the p-th processor core.
Figure BDA0001583204490000032
Indicating that the communication time of i, j two task nodes with any dependency relationship between the p and q processor cores is consumed,
Figure BDA0001583204490000041
representing the communication power consumption of any i, j two task nodes with dependency relationship between the p-th and q-th processor cores; TimeLimit and PowerLimit are the set time constraint and power constraint, respectively.
Calculating the quality of the solution corresponding to the current food source and the neighborhood food source in the steps 5) and 9), namely the value calculated by the fitness function, wherein the larger the value calculated by the fitness function is, the better the quality of the solution is.
According to the heterogeneous multi-core task allocation method based on the improved bee colony algorithm, in the later stage of optimization, when the quality of a solution cannot be improved by performing neighborhood search on the current food source, the scout bees refer to the information code of the current optimal food source when regenerating the food source, a new food source is regenerated according to the information of the current optimal food source, and neighborhood search is performed on the basis. Therefore, invalid iteration times can be greatly reduced, the convergence speed of the swarm algorithm is improved to a certain extent, and the task allocation efficiency is improved.
Drawings
FIG. 1 is a diagram of a neighborhood search strategy of the prior art;
FIG. 2 is a diagram of a neighborhood search strategy of the present invention;
fig. 3 is a schematic view of the reconnaissance bee regenerated food source of the present invention.
Detailed Description
The following describes a heterogeneous multi-core task allocation method based on an improved bee colony algorithm in detail with reference to embodiments and drawings.
The invention discloses a heterogeneous multi-core task allocation method based on an improved bee colony algorithm, which mainly performs two-point improvement on an original algorithm
1. Improvement of neighborhood searching mode
The neighborhood searching mode of the original bee colony algorithm for the food source is realized by updating one bit of the coded information corresponding to the salesman, when the position of the initial food source is very close to the nearest optimal food source, the difference of the corresponding coded information is small, the optimal solution can be quickly found by changing one bit, but if the position difference between the current food source and the optimal food source is large, namely the quality of the solution of the current food source is poor, if the updated bit number is still one bit each time, the convergence speed is obviously reduced, the number of invalid iterations is increased, and the task allocation efficiency is reduced.
The neighborhood searching method is improved aiming at the low convergence speed and poor searching capability of the original bee colony algorithm. The method comprises the steps of firstly setting a search frequency threshold H for the neighborhood search frequency, when the search frequency is lower than the threshold H, realizing iterative updating for updating one bit by a domain search strategy, and calculating corresponding solutions for neighborhood food sources, and when the search frequency is higher than the threshold H, realizing iterative updating for updating multiple bits by the domain search strategy, and calculating corresponding solutions for the neighborhood food sources, so that solution convergence is realized rapidly.
2. Method for generating new food source by scout bees
In the original bee colony algorithm, if the neighborhood search times of a food source are larger than the maximum Limit update times iter _ Limit of the food source, the quality of a corresponding solution of the food source cannot be improved, the scout bee initializes the food source. In the later stage of optimizing the bee colony algorithm, the redundant process of updating the food source is added in the way that the original bee colony algorithm regenerates the food source, and the convergence speed of the bee colony algorithm is greatly reduced.
The invention discloses a heterogeneous multi-core task allocation method based on an improved bee colony algorithm, which comprises the following steps of:
1) initializing parameters, including: the method comprises the steps of employing a swarm size Q of bees, following the swarm size W of the bees, determining a power consumption constraint (PowerLimit) parameter of a heterogeneous multi-core model, determining a maximum iteration number Itermax of an algorithm, setting a first Limit threshold value H as a food source iteration number threshold value for changing a certain food source search strategy when the iteration number reaches the maximum iteration number, setting a second Limit threshold value iter _ Limit as a food source iteration number threshold value for discarding a certain food source, and setting a third Limit threshold value iter _ change as an algorithm iteration number threshold value for changing a mode of detecting bees for reproducing the food source. (ii) a
2) Initializing food source scale, including generating food source coordinates which are the same as Q numbers of the population scale of a bee hired and accord with the power constraint of a processor core for a task set consisting of M task nodes, wherein each food source is an M-bit random coding sequence of 0-N-1;
3) starting iterative updating, and calculating a fitness function value of each food source, wherein the food source with the maximum fitness function value is the current optimal food source;
Figure BDA0001583204490000051
TSand PowerSThe sum of the time loss and the sum of the power loss required for the S-th food source, i.e., the S-th task allocation plan, respectively.
Setting N processor cores in total, wherein each food source, namely each task allocation scheme, comprises M task nodes, i, j belongs to M, p, q belongs to N and Ti,pIndicating a task execution time loss, P, of the ith task node on the P-th processor corei,pIndicating the task execution power consumption of the ith task node on the p-th processor core.
Figure BDA0001583204490000052
Indicating that the communication time of i, j two task nodes with any dependency relationship between the p and q processor cores is consumed,
Figure BDA0001583204490000053
and representing that the i, j two task nodes with any dependency relationship communicate power consumption between the p-th processor core and the q-th processor core. TimeLimit and PowerLimit are the set time constraint and power constraint, respectively.
4) Adding 1 to the iteration number Iter of the algorithm, judging whether the iteration number Iter is larger than the set maximum iteration number IterMax, if so, executing the step 16), otherwise, executing the step 5),
5) performing neighborhood search by following bees, specifically updating a bit value of coded information corresponding to the current food source, and respectively calculating the quality of solutions corresponding to the current food source and the neighborhood food source; calculating the quality of the solution corresponding to the current food source and the neighborhood food source, namely calculating the value obtained by calculating the fitness function, wherein the larger the value obtained by calculating the fitness function is, the better the quality of the solution is;
6) if the quality of the solution corresponding to the neighborhood food source is larger than that of the current food source, executing the step 7), otherwise, executing the step 8);
7) replacing the current food source with the neighborhood food source and returning to step 4);
8) adding 1 to the iteration number of the current food source, judging whether the iteration number is greater than a first limited threshold value H, if so, executing the step 9), and if not, returning to the step 5);
9) performing improved neighborhood search, searching for a better food source in a neighborhood, specifically, changing the coding information with a set bit number for the coding information corresponding to the current food source, and calculating the quality of a solution corresponding to the current food source and the neighborhood food source; and calculating the quality of the solution corresponding to the current food source and the neighborhood food source in the same way as the step 5).
10) If the quality of the solution corresponding to the neighborhood food source is greater than that of the current food source, executing step 11), otherwise executing step 12);
11) replacing the current food source with the neighborhood food source and returning to step 4);
12) adding 1 to the iteration number of the current food source, judging whether the iteration number of the current food source is greater than a second limited threshold iter _ Limit, if so, executing the step 12), and if not, returning to the step 8);
13) judging whether the iteration number Iter of the algorithm is larger than a third limited threshold Iter _ change, if so, executing a step 13), and otherwise, executing a step 14);
14) the hiring bees with the current food become scout bees, the scout bees regenerate a new food source according to the coding information of the set bit number of the current optimal food source, then the scout bees change back to the hiring bees, and the step 4 is returned;
15) the hiring bee with the current food becomes a scout bee, after the scout bee initializes the current food source, the scout bee changes back to the hiring bee, and returns to the step 4); as shown in fig. 3.
16) And outputting the position coordinates of the current optimal food source, namely the optimal task allocation scheme.
Before and after the improvement of the neighborhood search strategy, as shown in fig. 1 and fig. 2, when the neighborhood search is carried out along with bees in the original bee colony algorithm, the neighborhood search is carried out by changing one bit of the coded information of the current food source, namely changing the coded information of the (M-3) th task in fig. 1, and changing the corresponding processor core 0 into the corresponding processor core 2. In the method of the invention, when the scout bee changes one bit of information for many times and still can not effectively update the food source, the scout bee performs neighborhood search on the coded information of the current food source changing multiple bits, and as shown in fig. 2, the coded information of the 1 st, 2 nd, M-3 th and M-1 st tasks are respectively changed.
For task sets of different scales with 30 to 132 nodes, the improvement degree of the heterogeneous multi-core task allocation method based on the improved bee colony algorithm in the solution quality compared with the original algorithm is shown in table 1 on the premise of reducing 100 iterations.
TABLE 1 comparison of Performance of supervised shuffled frog-leaping algorithm with original shuffled frog-leaping algorithm
Figure BDA0001583204490000061
The best examples are given below:
the specific parameter settings for the examples are as follows:
1) initializing parameters, employing 7 bee colony scales, following 7 bee colony scales, determining parameters such as power limit (PowerLimit) of the heterogeneous multi-core model, determining the maximum iteration number of the algorithm to be 1000, and setting the model to be two cores according to the termination condition of the algorithm.
2) Initializing the scale of a food source; the method comprises the steps of firstly generating 7 food source coordinates which accord with power constraint of a processor core for a task set consisting of 15 task nodes, wherein each position coordinate is an M-dimensional vector consisting of 0 and 1, and a random coding sequence of 0-1 of 15 bits of each food source.
3) And starting iterative updating, adopting bees to initialize the food sources, and calculating the fitness function value of each food source, wherein the smaller the fitness function value is, the better the current food source is, and the more ideal the solution corresponding to the food source is.
4) And (3) performing neighborhood search along the bees, adding 1 to the iteration number Iter of the algorithm, judging whether the Iter is greater than the maximum iteration number 1000 of the algorithm, changing a bit value for the information code corresponding to the current food source if not, and respectively calculating the quality of the solution corresponding to the current food source and the neighborhood food source, otherwise, executing the step 15).
5) Step 6) is executed if the quality of the solution corresponding to the neighborhood food source is better than the quality of the solution corresponding to the current food source, otherwise step 7) is executed.
6) Replace the current food source with the neighborhood food source and perform step 4).
7) Adding 1 to the iteration number of the food source, judging whether the iteration number is greater than a defined threshold value 10, if so, executing the step 8), otherwise, returning to the step 4).
8) And changing 8-bit information for information coding corresponding to the current food source to perform neighborhood search, quickly searching for a better food source in the neighborhood, and calculating the quality of a solution corresponding to the current food source and the neighborhood food source.
9) Add 1 to the corresponding number of iterations for that food source, perform step 10) if the neighborhood food source is better than the current food source, otherwise perform step 11).
10) Replace the current food source with the neighborhood food source and perform step 4).
11) Judging whether the current food source iteration number is larger than a limited threshold value for 50 times, if so, executing the step 12), otherwise, returning to the step 8).
12) It is determined whether the number of iterations Iter of the algorithm is greater than a defined threshold 750 times, if so step 13) is performed, otherwise step 14) is performed.
13) And (4) randomly taking the coded information of the 8 optimal food sources by the scout bees, regenerating new food sources and returning to the step 4).
14) Scout bees initialize the current food source and return to step 3).
15) And outputting the position coordinates of the current optimal food source, namely the optimal task allocation scheme.

Claims (2)

1. A heterogeneous multi-core task allocation method based on an improved bee colony algorithm is characterized by comprising the following steps:
1) initializing parameters, including: determining a power consumption constraint parameter of a heterogeneous multi-core model, determining a maximum iteration number Itermax of an algorithm, and setting a first Limit threshold H as a food source iteration number threshold for changing a certain food source search strategy, a second Limit threshold iter _ Limit as a food source iteration number threshold for discarding a certain food source and a third Limit threshold iter _ change as an algorithm iteration number threshold for changing a mode of detecting bees to reproduce the food source;
2) initializing food source scale, including generating food source coordinates which are the same as Q numbers of the population scale of a bee hired and accord with the power constraint of a processor core for a task set consisting of M task nodes, wherein each food source is an M-bit random coding sequence of 0 to (N-1);
3) starting iterative updating, and calculating a fitness function value of each food source, wherein the food source with the maximum fitness function value is the current optimal food source; the fitness function value of each food source is calculated by
Figure FDA0003151812130000011
TSAnd PowerSRespectively the sum of the time loss and the sum of the power loss required by the Sth food source, namely the Sth task allocation scheme;
setting N processor cores in total, wherein each food source, namely each task allocation scheme, comprises M task nodes, i, j belongs to M, p, q belongs to N and Ti,pIndicating a task execution time loss, P, of the ith task node on the P-th processor corei,pRepresenting the task execution power consumption of the ith task node on the p processor core;
Figure FDA0003151812130000012
means arbitrarily havingCommunication time of i, j two task nodes of the dependency relationship between p and q two processor cores is consumed,
Figure FDA0003151812130000013
representing the communication power consumption of any i, j two task nodes with dependency relationship between the p-th and q-th processor cores; the TimeLimit and the PowerLimit are respectively set time constraint and power constraint;
4) adding 1 to the iteration number Iter of the algorithm, judging whether the iteration number Iter is larger than the set maximum iteration number IterMax, if so, executing the step 16), and otherwise, executing the step 5);
5) performing neighborhood search by following bees, specifically updating a bit value of coded information corresponding to the current food source, and respectively calculating the quality of solutions corresponding to the current food source and the neighborhood food source;
6) if the quality of the solution corresponding to the neighborhood food source is larger than that of the current food source, executing the step 7), otherwise, executing the step 8);
7) replacing the current food source with the neighborhood food source and returning to step 4);
8) adding 1 to the iteration number of the current food source, judging whether the iteration number is greater than a first limited threshold value H, if so, executing the step 9), and if not, returning to the step 5);
9) performing improved neighborhood search, searching for a better food source in a neighborhood, specifically, changing the coding information with a set bit number for the coding information corresponding to the current food source, and calculating the quality of a solution corresponding to the current food source and the neighborhood food source;
10) if the quality of the solution corresponding to the neighborhood food source is greater than that of the current food source, executing step 11), otherwise executing step 12);
11) replacing the current food source with the neighborhood food source and returning to step 4);
12) adding 1 to the iteration number of the current food source, judging whether the iteration number of the current food source is greater than a second limited threshold iter _ Limit, if so, executing the step 13), and if not, returning to the step 9);
13) judging whether the iteration number Iter of the algorithm is larger than a third limited threshold Iter _ change, if so, executing the step 14), otherwise, executing the step 15);
14) the hiring bee with the current food is changed into a scout bee, the scout bee regenerates a new food source according to the coding information of the set bit number of the current optimal food source, then the scout bee changes back to the hiring bee, and returns to the step 4);
15) the hiring bee with the current food becomes a scout bee, after the scout bee initializes the current food source, the scout bee changes back to the hiring bee, and returns to the step 4);
16) and outputting the position coordinates of the current optimal food source, namely the optimal task allocation scheme.
2. The method as claimed in claim 1, wherein the step 5) and step 9) are performed to calculate the quality of the solution corresponding to the current food source and the neighborhood food source as a value calculated by a fitness function, and the larger the value calculated by the fitness function is, the better the quality of the solution is.
CN201810160405.XA 2018-02-27 2018-02-27 Heterogeneous multi-core task allocation method based on improved bee colony algorithm Active CN108415783B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810160405.XA CN108415783B (en) 2018-02-27 2018-02-27 Heterogeneous multi-core task allocation method based on improved bee colony algorithm

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810160405.XA CN108415783B (en) 2018-02-27 2018-02-27 Heterogeneous multi-core task allocation method based on improved bee colony algorithm

Publications (2)

Publication Number Publication Date
CN108415783A CN108415783A (en) 2018-08-17
CN108415783B true CN108415783B (en) 2021-12-07

Family

ID=63129161

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810160405.XA Active CN108415783B (en) 2018-02-27 2018-02-27 Heterogeneous multi-core task allocation method based on improved bee colony algorithm

Country Status (1)

Country Link
CN (1) CN108415783B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109886574B (en) * 2019-02-20 2023-02-14 哈尔滨工程大学 Multi-robot task allocation method based on improved threshold method

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102982008A (en) * 2012-11-01 2013-03-20 山东大学 Complicated function maximum and minimum solving method by means of parallel artificial bee colony algorithm based on computer cluster
CN103116693A (en) * 2013-01-14 2013-05-22 天津大学 Hardware and software partitioning method based on artificial bee colony
CN104239269A (en) * 2013-06-19 2014-12-24 苏州吉浦迅科技有限公司 Computer cluster based intelligent parallel bee colony algorithm data system

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8660322B2 (en) * 2011-08-25 2014-02-25 King Saud University Passive continuous authentication method
US20150293582A1 (en) * 2014-04-15 2015-10-15 Pierre Popovic Energy Efficient Blade Server and Method for Reducing the Power Consumption of a Data Center Using the Energy Efficient Blade Server

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102982008A (en) * 2012-11-01 2013-03-20 山东大学 Complicated function maximum and minimum solving method by means of parallel artificial bee colony algorithm based on computer cluster
CN103116693A (en) * 2013-01-14 2013-05-22 天津大学 Hardware and software partitioning method based on artificial bee colony
CN104239269A (en) * 2013-06-19 2014-12-24 苏州吉浦迅科技有限公司 Computer cluster based intelligent parallel bee colony algorithm data system

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"一种劣解突变策略引导的混合人工蜂群算法";火久元等;《计算机应用与软件》;20180215;全文 *
Enhacing the modified artificial bee colony algorithm with neighborhood search;Xinxu Zhou等;《Soft Computing》;20151221;全文 *

Also Published As

Publication number Publication date
CN108415783A (en) 2018-08-17

Similar Documents

Publication Publication Date Title
CN112513886B (en) Information processing method, information processing apparatus, and information processing program
CN106991442A (en) The self-adaptive kernel k means method and systems of shuffled frog leaping algorithm
CN111291854A (en) Artificial bee colony algorithm optimization method based on multiple improved strategies
CN115659764B (en) Permanent magnet synchronous motor optimization method and system based on improved sparrow search algorithm
Ma et al. A novel artificial bee colony optimiser with dynamic population size for multi-level threshold image segmentation
CN112199172A (en) Hybrid task scheduling method for heterogeneous multi-core processor
CN108415783B (en) Heterogeneous multi-core task allocation method based on improved bee colony algorithm
CN113537439A (en) Improved artificial bee colony optimization algorithm
CN108415773B (en) Efficient software and hardware partitioning method based on fusion algorithm
CN112256422B (en) Heterogeneous platform task scheduling method and system based on Q learning
CN115329985B (en) Unmanned cluster intelligent model training method and device and electronic equipment
Templier et al. A geometric encoding for neural network evolution
Tuba et al. Modified seeker optimization algorithm for image segmentation by multilevel thresholding
CN111027709B (en) Information recommendation method and device, server and storage medium
CN106970840A (en) A kind of Method for HW/SW partitioning of combination task scheduling
CN114662638A (en) Mobile robot path planning method based on improved artificial bee colony algorithm
Ma et al. Feature selection using forest optimization algorithm based on contribution degree
Chen et al. A novel artificial bee colony algorithm with integration of extremal optimization for numerical optimization problems
Lee et al. Broad edge of chaos in strongly heterogeneous Boolean networks
CN117251280B (en) Cloud resource load balancing scheduling method, device, equipment and medium
CN117556095B (en) Graph data segmentation method, device, computer equipment and storage medium
US20230289563A1 (en) Multi-node neural network constructed from pre-trained small networks
Mäntykivi Genetic Operators in Chain-Structured Neural Architecture Search
Wang et al. Research on similar time series data search algorithm based on dimension-by-dimension strategy
Zhang et al. Database Multi-Connection Query Optimization Based on Improved Snake Optimization Algorithm

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
GR01 Patent grant
GR01 Patent grant