CN108415773B - Efficient software and hardware partitioning method based on fusion algorithm - Google Patents

Efficient software and hardware partitioning method based on fusion algorithm Download PDF

Info

Publication number
CN108415773B
CN108415773B CN201810164336.XA CN201810164336A CN108415773B CN 108415773 B CN108415773 B CN 108415773B CN 201810164336 A CN201810164336 A CN 201810164336A CN 108415773 B CN108415773 B CN 108415773B
Authority
CN
China
Prior art keywords
frog
solution
group
worst
optimal
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
CN201810164336.XA
Other languages
Chinese (zh)
Other versions
CN108415773A (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 CN201810164336.XA priority Critical patent/CN108415773B/en
Publication of CN108415773A publication Critical patent/CN108415773A/en
Application granted granted Critical
Publication of CN108415773B publication Critical patent/CN108415773B/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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5055Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
    • 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)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Complex Calculations (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

A high-efficiency software and hardware partitioning method based on a fusion algorithm comprises the following steps: initializing parameters; initializing a frog population; starting iteration updating, and calculating the current continuous invalid iteration times; judging whether the continuous invalid iteration times are larger than a set maximum continuous invalid iteration threshold value or not; finding out the optimal solution and the worst solution in the current frog population, and operating a greedy algorithm; if the fitness of the worst solution of the current frog population is better than that of the optimal solution, a better solution is found through a greedy algorithm; grouping the M frogs; performing in-group optimization to enable the frog at the worst position in the group to jump to the frog at the optimal position in the group so as to obtain a new position; carrying out global optimization to enable the frog at the worst position in the group to jump towards the frog at the global optimal position; randomly generating a frog position; all frogs are reshuffled; and outputting the current optimal solution as a software and hardware partitioning scheme. The invention is a fusion algorithm with higher solving efficiency.

Description

Efficient software and hardware partitioning method based on fusion algorithm
Technical Field
The invention relates to a software and hardware partitioning method. In particular to a high-efficiency software and hardware partitioning method based on a fusion algorithm.
Background
1. Prior art software and hardware partitioning
The architecture of a processor is composed of hardware processing units and software processing units. The software and hardware division is that subtasks in the task set are respectively distributed to software or hardware to be executed. Different allocation schemes can achieve different execution effects, and the goal of software and hardware partitioning is to find the best software and hardware partitioning scheme so as to obtain the best performance. The software and hardware partitioning problem is an NP-hard problem, and for the tasks of N nodes, a task set to be partitioned can be represented by a DAG graph. As shown in FIG. 1, where Node i is the ith task Node, si,hiAnd aiRespectively representing the software execution time, the hardware execution time and the hardware area requirement of the node i, ci,jRepresenting the communication time between the node i and the node j, if the node i and the node j do not have the dependency relationship, ci,j=0。
For the software and hardware partitioning problem of N task nodes, the partitioning scheme (i.e. the solution of the problem) can be expressed as an N-dimensional vector X, where X is [ X ═ X1,x2,x3…xN]. Wherein xiEqual to 0 or 1, denotes the implementation of the task node i, 0 denotes the implementation in software and 1 denotes the implementation in hardware. Taking the sum T (V) of the execution time of all task nodes and the communication time among the nodes as an optimization target, and taking hardwareArea and AsumAs a constraint condition, the mathematical model is described as formula (1), where the area limit represents the size of the hardware area constraint:
min:
Figure BDA0001583938620000011
subject to:
Figure BDA0001583938620000012
2. application of original shuffled frog leaping algorithm to software and hardware partitioning
The Shuffled Frog Leap Algorithm (SFLA) is a swarm intelligence optimization Algorithm, and the Algorithm process mainly simulates the foraging behavior of a Frog swarm. When the SFLA is used for solving the software and hardware partitioning problem, the position of one frog corresponds to one solution, namely a software and hardware partitioning scheme. And (4) taking the objective function of the software and hardware partitioning problem as a fitness function of the solution, and evaluating the quality of the current solution. The shuffled frog-leaping algorithm continuously improves the quality of a solution corresponding to each frog in the population by iteratively updating the positions of the frogs in the population, and finally obtains an optimal or nearly optimal software and hardware partitioning scheme. The algorithm mainly comprises the following steps:
(1) and setting parameters such as frog population scale M, group number G, algorithm termination conditions and the like.
(2) And randomly acquiring the solutions which are M and meet the constraint condition, namely initializing the positions of all M frogs in the population.
(3) The iterative update begins and all the frogs are grouped. Firstly, the frogs are sorted according to the fitness function value from good to bad, and then the frogs are sequentially distributed into G groups according to the sequence.
(4) And (4) performing intra-group optimization on the grouped frogs, performing one jump from the worst frogs in the group to the position of the best frogs in the group, replacing the old position with the new position if the position after the jump is better than that before the jump, and performing the next step if the position after the jump is not better than that before the jump.
(5) And (4) carrying out global optimization, carrying out one jump on the worst frog in the group to the optimal frog position in the whole population, replacing the old position with the new position if the position after the jump is better than that before the jump, and entering the step (7), otherwise, carrying out the next step.
(6) Random generation is performed. A new position is randomly generated to replace the current position of the worst frog in the group.
(7) And after the worst frog positions in each group are updated in sequence, reshuffling the frogs, and finishing one iteration.
(8) And (4) judging whether an algorithm termination condition is reached, if so, outputting the optimal frog position of the current population, namely the obtained software and hardware division scheme, and otherwise, returning to the step (3) to start the next iteration updating.
3. Greedy algorithm of the prior art
Greedy algorithm (GRA) is the simplest heuristic algorithm, and when a problem is solved, the Greedy algorithm makes the optimal selection in the current state according to a revenue function. The greedy algorithm has the characteristics of easy implementation, high efficiency and the like, but the solution obtained by the greedy algorithm is usually a local optimal solution, so the solution is not frequently adopted in software and hardware division.
The original shuffled frog-jump algorithm has strong global optimizing capability, but a large number of invalid iterations occur in the iteration process, so that the execution time of the algorithm is increased. The global optimization capability of the greedy algorithm is not strong, but a better solution can be found in each iteration before the algorithm is terminated, and the algorithm time is short.
Disclosure of Invention
The invention aims to solve the technical problem of providing a high-efficiency software and hardware partitioning method based on a fusion algorithm, which can obtain a solution with the same quality as an original shuffle frog-leap algorithm in a shorter time when solving the software and hardware partitioning problem, thereby meeting the real-time requirement of a dynamic task on the software and hardware partitioning algorithm.
The technical scheme adopted by the invention is as follows: an efficient software and hardware partitioning method based on a fusion algorithm comprises the following steps:
1) initializing parameters, including initializing frog population scale M, grouping number G and hardware area constraint LIM;
2) initializing a frog population, wherein M frog position coordinates which accord with a hardware area constraint condition, namely M solutions are generated for a task set consisting of N task nodes, the quality of the solution corresponds to the fitness of the frog position, and each solution is an N-dimensional vector consisting of 0 and 1;
3) starting iteration updating, and calculating the current continuous invalid iteration times;
4) judging whether the continuous invalid iteration times are larger than a set maximum continuous invalid iteration threshold, if so, executing the step 5), otherwise, jumping to the step 7);
5) finding out the optimal solution S in the current frog populationBESTAnd worst solution SWORSTRunning a greedy algorithm;
6) if the worst solution S of the current frog populationWORSTThe fitness of the solution is superior to the optimal solution SBESTIf the fitness of the solution is more optimal, namely a more optimal solution is found through a greedy algorithm, the step 7) is carried out, otherwise, the step 12) is skipped;
7) grouping M frogs to obtain a G group of sub-populations;
8) performing in-group optimization to enable the frog at the worst position in the group to jump to the frog at the optimal position in the group so as to obtain a new position; if the new position obtained after the frog jumps accords with the hardware area constraint condition and is more optimal than the original position, the group optimization is successful, the new position is used for replacing the original position, and the step 11) is carried out, otherwise, the step 9) is carried out;
9) global optimization is carried out, and frogs at the worst positions in the groups jump towards frogs at the global optimal positions, so that new positions are obtained; if the new position obtained after the frog finishes jumping meets the hardware area constraint condition and is more optimal than the original position, the global optimization is successful, the new position is used for replacing the original position, and the step 11) is carried out, otherwise, the step 10) is carried out;
10) randomly generating a frog position, namely randomly generating a new position meeting the hardware area constraint condition to replace the worst frog position in the group;
11) all the frogs are shuffled again, namely the grouped frog populations are mixed and sorted again according to the fitness from good to bad, one iteration is completed, and the step 3) is returned to start the next iteration;
12) and (5) stopping the algorithm, and outputting the current optimal solution as a software and hardware partitioning scheme.
The invalid iteration in the step 3) refers to: the iteration of the current round cannot search a better solution than the previous round; the continuous invalid iteration times mean that in continuous multiple iterations, a solution with quality better than that of the previous iteration cannot be searched.
The greedy algorithm in the step 5) comprises the following steps:
(1) with the optimal solution S in the current frog populationBESTInitial solution S as a greedy algorithmORII.e. SORI=SBEST;SORIIs an N-dimensional vector and is,
Figure BDA0001583938620000031
soris the value of each dimension of the vector;
(2) change the initial solution S separatelyORITo obtain N new solutions, the ith new solution
Figure BDA0001583938620000032
Is composed of
Figure BDA0001583938620000033
(3) Judging whether the N new solutions meet the hardware area constraint condition, reserving the new solutions meeting the hardware area constraint condition, then calculating the fitness value of the reserved new solutions, and solving the solution S with the best fitness in the N new solutionsbestRecording;
(4) if said solution SbestIs better than the initial solution SORIThe fitness of (2) is SbestSubstituted for SORII.e. SORI=SbestAnd returning to the step (2) to continue iteration; otherwise, entering the step (5);
(5) by initial solution SORIWorst solution S for replacing current frog populationWORSTI.e. SWORST=SORIThe greedy algorithm ends and step 6) is entered.
The grouping in the step 7) comprises: calculating the fitness of M frogs, sorting the M frogs according to the fitness from good to bad, dividing all frogs into G groups according to the sorted sequence, dividing frogs in the 1 st position into the 1 st group, dividing frogs in the 2 nd position into … nd position, dividing frogs in the G nd position into the G th group, dividing frogs in the G +1 st position into the 1 st group, and so on.
The intra-group optimization in the step 8) is carried out by adopting the following formula:
S'gw=Sgw+Rand×Step×(SgB-Sgw)
wherein, S'gwRepresenting the position of the worst frog in the group g after jumping, namely the searched new solution; sgwRepresenting the initial position of the worst frog in the group g before jumping; sgBRepresenting the optimal position of the optimal frog of the g group; rand is a random number between O and 1, and Step is a search Step.
The global optimization in the step 9) adopts the following formula:
S'gw=Sgw+Rand×Step×(SB-Sgw)
wherein, S'gwRepresenting the position of the worst frog in the group g after jumping, namely the searched new solution; sgwRepresenting the initial position of the worst frog in the group g before jumping; sBRepresenting a global optimal frog position; rand is a random number between O and 1, and Step is a search Step.
The invention discloses a high-efficiency software and hardware partitioning method based on a fusion algorithm, which is a fusion algorithm with higher solving efficiency. The method combines the original shuffle frog leap algorithm and the greedy algorithm, and effectively improves the algorithm efficiency by adopting the two approaches of jumping out of invalid iteration by the greedy algorithm when a certain number of continuous invalid iterations occur in the shuffle frog leap algorithm and terminating the whole algorithm in time under the condition that a better solution can not be found by adopting the greedy algorithm.
Drawings
FIG. 1 is a DAG diagram for a software and hardware partitioning problem.
Detailed description of the preferred embodiments
The following describes a method for efficiently partitioning software and hardware based on a fusion algorithm in detail with reference to embodiments and drawings.
The invention discloses a high-efficiency software and hardware partitioning method based on a fusion algorithm, which combines a shuffled frog-leaping algorithm and a greedy algorithm, provides the fusion algorithm and applies the fusion algorithm to software and hardware partitioning. According to the method, after a certain number of continuous invalid iterations occur in the shuffled frog leaping algorithm, the greedy algorithm is adopted to leap out the invalid iterations, and the whole algorithm is stopped in time under the condition that a better solution still cannot be found by adopting the greedy algorithm, so that the algorithm efficiency is effectively improved.
The invention relates to a high-efficiency software and hardware partitioning method based on a fusion algorithm, which comprises the following steps:
1) initializing parameters, including initializing frog population scale M, grouping number G and hardware area constraint LIM;
2) initializing a frog population, wherein M frog position coordinates which accord with a hardware area constraint condition, namely M solutions (because the position of one frog corresponds to one solution, the solution mentioned below has the same meaning as the frog position) are firstly generated for a task set consisting of N task nodes, the quality of the solution corresponds to the fitness of the frog position, and each solution is an N-dimensional vector consisting of 0 and 1;
3) starting iteration updating, and calculating the number of continuous invalid iterations (Inv _ num) which currently appear; the invalid iteration refers to: the iteration of the current round cannot search a better solution than the previous round; the continuous invalid iteration times mean that in continuous multiple iterations, a solution with quality better than that of the previous iteration cannot be searched.
4) Judging whether the continuous invalid iteration number is larger than a set maximum continuous invalid iteration threshold (Inv _ max), if so, executing the step 5, and otherwise, jumping to the step 7);
5) finding out the optimal solution S in the current frog populationBESTAnd worst solution SWORSTRunning a greedy algorithm; the greedy algorithm comprises:
(1) with the optimal solution S in the current frog populationBESTInitial solution S as a greedy algorithmORII.e. SORI=SBEST;SORIIs an N-dimensional vector and is,
Figure BDA0001583938620000041
soris the value of each dimension of the vector;
(2) change the initial solution S separatelyORITo obtain N new solutions, the ith new solution
Figure BDA0001583938620000042
Is composed of
Figure BDA0001583938620000043
(3) Judging whether the N new solutions meet the hardware area constraint condition, reserving the new solutions meeting the hardware area constraint condition, then calculating the fitness value of the reserved new solutions, and solving the solution S with the best fitness in the N new solutionsbestRecording;
(4) if said solution SbestIs better than the initial solution SORIThe fitness of (2) is SbestSubstituted for SORII.e. SORI=SbestAnd returning to the step (2) to continue iteration; otherwise, entering the step (5);
(5) by initial solution SORIWorst solution S for replacing current frog populationWORSTI.e. SWORST=SORIThe greedy algorithm ends and step 6) is entered.
6) If the worst solution S of the current frog populationWORSTThe fitness of the solution is superior to the optimal solution SBESTIf the fitness of the solution is more optimal, namely a more optimal solution is found through a greedy algorithm, the step 7) is carried out, otherwise, the step 12) is skipped;
7) grouping M frogs to obtain a G group of sub-populations; the grouping comprises:
calculating the fitness of M frogs, sorting the M frogs according to the fitness from good to bad, dividing all frogs into G groups according to the sorted sequence, dividing frogs in the 1 st position into the 1 st group, dividing frogs in the 2 nd position into … nd position, dividing frogs in the G nd position into the G th group, dividing frogs in the G +1 st position into the 1 st group, and so on.
8) Performing in-group optimization to enable the frog at the worst position in the group to jump to the frog at the optimal position in the group so as to obtain a new position; if the new position obtained after the frog jumps accords with the hardware area constraint condition and is more optimal than the original position, the group optimization is successful, the new position is used for replacing the original position, and the step 11) is carried out, otherwise, the step 9) is carried out;
the in-group optimization is carried out by adopting the following formula:
S'gw=Sgw+Rand×Step×(SgB-Sgw) (1)
wherein, S'gwRepresenting the position of the worst frog in the group g after jumping, namely the searched new solution; sgwRepresenting the initial position of the worst frog in the group g before jumping; sgBRepresenting the optimal position of the optimal frog of the g group; rand is a random number between O and 1, and Step is a search Step.
9) Global optimization is carried out, and frogs at the worst positions in the groups jump towards frogs at the global optimal positions, so that new positions are obtained; if the new position obtained after the frog finishes jumping meets the hardware area constraint condition and is more optimal than the original position, the global optimization is successful, the new position is used for replacing the original position, and the step 11) is carried out, otherwise, the step 10) is carried out;
the global optimization adopts the following formula:
S'gw=Sgw+Rand×Step×(SB-Sgw) (2)
wherein, S'gwRepresenting the position of the worst frog in the group g after jumping, namely the searched new solution; sgwRepresenting the initial position of the worst frog in the group g before jumping; sBRepresenting a global optimal frog position; rand is a random number between O and 1, and Step is a search Step.
10) Randomly generating a frog position, namely randomly generating a new position meeting the hardware area constraint condition to replace the worst frog position in the group;
11) all the frogs are shuffled again, namely the grouped frog populations are mixed and sorted again according to the fitness from good to bad, one iteration is completed, and the step 3) is returned to start the next iteration;
12) and (5) stopping the algorithm, and outputting the current optimal solution as a software and hardware partitioning scheme.
The shortening degree of the high-efficiency software and hardware partitioning method based on the fusion algorithm in comparison with the original algorithm on the solving time under the same solving quality is shown in the table 1.
TABLE 1 comparison of fusion algorithm and original shuffled frog-leaping algorithm Performance
Figure BDA0001583938620000051
Figure BDA0001583938620000061
The best embodiments are given below
The specific parameters are set as follows:
the frog population size M is 25, the packet number G is 5, and the area limit is used as a constraint value of the hardware area. The maximum successive invalid iteration threshold Inv _ max is set to 50. And taking the execution time of all task nodes and the inter-node communication time and T (V) as a fitness function. For a task to be divided with the number of nodes being N, the position coordinates of the frog are represented by an N-dimensional vector consisting of 0 and 1, namely a solution. The specific steps applied to software and hardware division are as follows:
1. and initializing parameters. Initializing parameters such as frog population size M being 25, packet number G being 5, and hardware area constraint AreaLimit.
2. Initializing the frog population. For a task set composed of N task nodes, 25 frog position coordinates meeting the constraint condition, i.e. 25 solutions, are first generated (since the position of one frog corresponds to one solution, the solution mentioned below has the same meaning as the frog position). Each solution is an N-dimensional vector consisting of 0, 1.
3. The iteration update starts and the number of consecutive invalid iterations Inv _ num that currently occur is calculated. The definition of invalid iteration is that the current iteration can not search a better solution than the previous iteration. The number of successive invalid iterations Inv _ num is defined as the number of successive Inv _ num iterations in which no better solution can be searched.
4. And judging whether Inv _ num is larger than a maximum invalid iteration threshold value 50, if so, executing the step 5, and otherwise, jumping to the step 7.
5. A greedy algorithm is run.
5.1 finding out the optimal solution S in the current frog populationBESTAnd worst solution SWORST. By solving S in the current frog populationBESTInitial solution S as a greedy algorithmORII.e. SORI=SBEST. According to the definition of the solution, SORIIs an N-dimensional vector and is,
Figure BDA0001583938620000062
5.2 changing the value of each dimension vector of the initial solution respectively to obtain N new solutions. E.g. the ith new solution
Figure BDA0001583938620000063
Is composed of
Figure BDA0001583938620000064
5.3 judging whether the N new solutions meet the constraint condition, reserving the solutions meeting the constraint condition, then calculating the fitness of the reserved solutions, and solving the solution S with the best fitnessbestAnd (7) recording.
5.4 if SbestHas a fitness better than SORIThe fitness of (2) is SbestSubstituted for SORII.e. SORI=SbestAnd returns to step 5.2 to continue the iteration. Otherwise, go to 5.5.
5.5 by SORIWorst solution S for replacing current frog populationWORSTI.e. SWORST=SORI
6. If SWORSTThe fitness of the method is superior to that of SBESTI.e. a better solution is found by the greedy algorithm, step 7 is performed, otherwise, step 12 is skipped.
7. The solutions in the population are grouped. Calculating the fitness value of 25 solutions, sorting the solutions according to the fitness from good to bad, dividing all the solutions into 5 groups according to the sorted order, dividing the solution at the 1 st position into the 1 st group, dividing the solution at the 2 nd position into the 2 nd group …, dividing the solution at the 5 th position into the 5 th group, dividing the solution at the 6 th position into the 1 st group, and so on.
8. And performing intra-group optimization. The worst frog in the group jumps towards the best frog in the group to obtain a new solution. The group optimization adopts a formula (1), if the solution obtained after the frog jumps meets the constraint condition and is more optimal than the original solution, the group optimization is successful, the new solution is used for replacing the original solution, and the step 11 is carried out, otherwise, the step 9 is carried out;
9. and carrying out global optimization. The worst frog in the group jumps towards the global optimal frog position, and the global optimization adopts a formula (2). If the obtained new solution after the frog finishes jumping meets the constraint condition and is more optimal than the original solution, the global optimization is successful, the new solution replaces the original solution, and the step 11 is carried out; otherwise, entering the step 10;
10. a solution is randomly generated. A new solution satisfying the constraints is randomly generated to replace the worst solution within the group.
11. And all the frogs are reshuffled, and one iteration of updating is completed. And entering the step 3 to start the next iteration.
12. And (5) stopping the algorithm, and outputting the optimal solution of the current population as a software and hardware partitioning scheme.

Claims (5)

1. An efficient software and hardware partitioning method based on a fusion algorithm is characterized by comprising the following steps:
1) initializing parameters, including initializing frog population scale M, grouping number G and hardware area constraint LIM;
2) initializing a frog population, wherein M frog position coordinates which accord with a hardware area constraint condition, namely M solutions are generated for a task set consisting of N task nodes, the quality of the solution corresponds to the fitness of the frog position, and each solution is an N-dimensional vector consisting of 0 and 1;
3) starting iteration updating, and calculating the number of continuous invalid iterations which currently appear, wherein the invalid iterations refer to: the iteration of the current round cannot search a better solution than the previous round; the continuous invalid iteration times mean that in continuous multiple iterations, a solution with a quality better than that of the previous iteration cannot be searched;
4) judging whether the continuous invalid iteration times are larger than a set maximum continuous invalid iteration threshold, if so, executing the step 5), otherwise, jumping to the step 7);
5) finding out the optimal solution S in the current frog populationBESTAnd worst solution SWORSTRunning a greedy algorithm;
6) if the worst solution S of the current frog populationWORSTThe fitness of the solution is superior to the optimal solution SBESTIf the fitness of the solution is more optimal, namely a more optimal solution is found through a greedy algorithm, the step 7) is carried out, otherwise, the step 12) is skipped;
7) grouping M frogs to obtain a G group of sub-populations;
8) performing in-group optimization to enable the frog at the worst position in the group to jump to the frog at the optimal position in the group so as to obtain a new position; if the new position obtained after the frog jumps accords with the hardware area constraint condition and is more optimal than the original position, the group optimization is successful, the new position is used for replacing the original position, and the step 11) is carried out, otherwise, the step 9) is carried out;
9) global optimization is carried out, and frogs at the worst positions in the groups jump towards frogs at the global optimal positions, so that new positions are obtained; if the new position obtained after the frog finishes jumping meets the hardware area constraint condition and is more optimal than the original position, the global optimization is successful, the new position is used for replacing the original position, and the step 11) is carried out, otherwise, the step 10) is carried out;
10) randomly generating a frog position, namely randomly generating a new position meeting the hardware area constraint condition to replace the worst frog position in the group;
11) all the frogs are shuffled again, namely the grouped frog populations are mixed and sorted again according to the fitness from good to bad, one iteration is completed, and the step 3) is returned to start the next iteration;
12) and (5) stopping the algorithm, and outputting the current optimal solution as a software and hardware partitioning scheme.
2. The efficient software and hardware partitioning method based on fusion algorithm as claimed in claim 1, wherein said greedy algorithm of step 5) comprises:
(1) with the optimal solution S in the current frog populationBESTInitial solution S as a greedy algorithmORII.e. SORI=SBEST;SORIIs an N-dimensional vector and is,
Figure FDA0003051236300000011
soris the value of each dimension of the vector;
(2) change the initial solution S separatelyORITo obtain N new solutions, the ith new solution
Figure FDA0003051236300000012
Is composed of
Figure FDA0003051236300000013
(3) Judging whether the N new solutions meet the hardware area constraint condition, reserving the new solutions meeting the hardware area constraint condition, then calculating the fitness value of the reserved new solutions, and solving the solution S with the best fitness in the N new solutionsbestRecording;
(4) if said solution SbestIs better than the initial solution SORIThe fitness of (2) is SbestSubstituted for SORII.e. SORI=SbestAnd returning to the step (2) to continue iteration; otherwise, entering the step (5);
(5) by initial solution SORISubstitute for current frogWorst solution S of populationWORSTI.e. SWORST=SORIThe greedy algorithm ends and step 6) is entered.
3. The method for efficient software and hardware partitioning based on fusion algorithm as claimed in claim 1, wherein said grouping of step 7) comprises: calculating the fitness of M frogs, sorting the M frogs according to the fitness from good to bad, dividing all frogs into G groups according to the sorted sequence, dividing frogs in the 1 st position into the 1 st group, dividing frogs in the 2 nd position into … nd position, dividing frogs in the G nd position into the G th group, dividing frogs in the G +1 st position into the 1 st group, and so on.
4. The method for efficient software and hardware partitioning based on fusion algorithm as claimed in claim 1, wherein the intra-group optimization in step 8) is performed by using the following formula:
S'gw=Sgw+Rand×Step×(SgB-Sgw)
wherein, S'gwRepresenting the position of the worst frog in the group g after jumping, namely the searched new solution; sgwRepresenting the initial position of the worst frog in the group g before jumping; sgBRepresenting the optimal position of the optimal frog of the g group; rand is a random number between O and 1, and Step is a search Step.
5. The method for efficient software and hardware partitioning based on fusion algorithm as claimed in claim 1, wherein the global optimization in step 9) employs the following formula:
S'gw=Sgw+Rand×Step×(SB-Sgw)
wherein, S'gwRepresenting the position of the worst frog in the group g after jumping, namely the searched new solution; sgwRepresenting the initial position of the worst frog in the group g before jumping; sBRepresenting a global optimal frog position; rand is a random number between O and 1, and Step is a search Step.
CN201810164336.XA 2018-02-27 2018-02-27 Efficient software and hardware partitioning method based on fusion algorithm Active CN108415773B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810164336.XA CN108415773B (en) 2018-02-27 2018-02-27 Efficient software and hardware partitioning method based on fusion algorithm

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810164336.XA CN108415773B (en) 2018-02-27 2018-02-27 Efficient software and hardware partitioning method based on fusion algorithm

Publications (2)

Publication Number Publication Date
CN108415773A CN108415773A (en) 2018-08-17
CN108415773B true CN108415773B (en) 2021-08-31

Family

ID=63129107

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810164336.XA Active CN108415773B (en) 2018-02-27 2018-02-27 Efficient software and hardware partitioning method based on fusion algorithm

Country Status (1)

Country Link
CN (1) CN108415773B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109640080A (en) * 2018-11-01 2019-04-16 广州土圭垚信息科技有限公司 A kind of simplified method of the depth image mode division based on SFLA algorithm
CN111353647B (en) * 2020-03-02 2023-04-04 南京机电职业技术学院 Agricultural machine scheduling method based on shuffled frog-leaping algorithm
CN112598158A (en) * 2020-12-03 2021-04-02 大连四达高技术发展有限公司 Task scheduling method of collaborative industrial design platform based on mixed frog leaping algorithm

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8327265B1 (en) * 1999-04-09 2012-12-04 Lucimedia Networks, Inc. System and method for parsing a document
CN104573814A (en) * 2015-01-14 2015-04-29 天津大学 Software and hardware partition method based on multi-target shuffled frog leaps
CN104573369A (en) * 2015-01-14 2015-04-29 天津大学 Shuffled frog-leaping based division method of software and hardware
CN104640154B (en) * 2015-02-16 2017-12-05 贵州师范大学 A kind of method that Uneven Cluster for intelligent transportation system is route
EP3286359A4 (en) * 2015-04-24 2018-12-26 University of Utah Research Foundation Methods and systems for multiple taxonomic classification
CN106021230B (en) * 2016-05-19 2018-11-23 无线生活(杭州)信息科技有限公司 A kind of segmenting method and device
CN106445881B (en) * 2016-09-21 2019-05-10 景德镇陶瓷大学 A kind of application method of the multiple target shuffled frog leaping algorithm in automobile front-axle size design based on multi-level information feedback
CN106980539A (en) * 2017-03-08 2017-07-25 天津大学 The Method for HW/SW partitioning for the algorithm that leapfrogs is shuffled based on improvement
CN107301504B (en) * 2017-06-12 2018-06-15 合肥工业大学 Leapfroged based on mixing-the production and transport coordinated dispatching method and system of path relinking

Also Published As

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

Similar Documents

Publication Publication Date Title
CN108053119B (en) Improved particle swarm optimization method for solving scheduling problem of zero-waiting line shop
CN105975342B (en) Based on the cloud computing method for scheduling task and system for improving cuckoo searching algorithm
CN108415773B (en) Efficient software and hardware partitioning method based on fusion algorithm
CN112328380A (en) Task scheduling method and device based on heterogeneous computing
Xu et al. A multiple priority queueing genetic algorithm for task scheduling on heterogeneous computing systems
CN113671987B (en) Multi-machine distributed time sequence task allocation method based on non-deadlock contract net algorithm
Lourenço et al. Evolving evolutionary algorithms
CN104573369A (en) Shuffled frog-leaping based division method of software and hardware
US20220374722A1 (en) Intelligent ammunition co-evolution task assignment method
CN110321217A (en) A kind of cloud resource dispatching method, device, equipment and the storage medium of multiple target
CN108399105B (en) Software and hardware partitioning method based on improved brainstorming algorithm
CN114662638A (en) Mobile robot path planning method based on improved artificial bee colony algorithm
CN114841611A (en) Method for solving job shop scheduling based on improved ocean predator algorithm
CN112199172A (en) Hybrid task scheduling method for heterogeneous multi-core processor
CN112286686A (en) Edge calculation task scheduling algorithm based on PSO optimization
CN111027665A (en) Cloud manufacturing scheduling method based on improved chaotic bat swarm algorithm
CN106980539A (en) The Method for HW/SW partitioning for the algorithm that leapfrogs is shuffled based on improvement
CN112131089B (en) Software defect prediction method, classifier, computer device and storage medium
CN108509269A (en) A kind of Method for HW/SW partitioning shuffling the algorithm that leapfrogs based on supervision
CN112256422A (en) Heterogeneous platform task scheduling method and system based on Q learning
CN118132268A (en) Cloud resource self-adaptive scheduling method based on learning type index distribution optimization algorithm
CN115169754B (en) Energy scheduling method and device, electronic equipment and storage medium
CN109347900A (en) Based on the cloud service system Adaptive evolution method for improving wolf pack algorithm
CN108415783B (en) Heterogeneous multi-core task allocation method based on improved bee colony algorithm
CN115564374A (en) Collaborative multitask redistribution method, device, equipment and readable storage medium

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