CN107783831A - A kind of method for scheduling task and device - Google Patents

A kind of method for scheduling task and device Download PDF

Info

Publication number
CN107783831A
CN107783831A CN201610715089.9A CN201610715089A CN107783831A CN 107783831 A CN107783831 A CN 107783831A CN 201610715089 A CN201610715089 A CN 201610715089A CN 107783831 A CN107783831 A CN 107783831A
Authority
CN
China
Prior art keywords
task
particle
optimal
processor
tasks
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.)
Withdrawn
Application number
CN201610715089.9A
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.)
Shenzhen ZTE Microelectronics Technology Co Ltd
Original Assignee
Shenzhen ZTE Microelectronics Technology Co Ltd
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 Shenzhen ZTE Microelectronics Technology Co Ltd filed Critical Shenzhen ZTE Microelectronics Technology Co Ltd
Priority to CN201610715089.9A priority Critical patent/CN107783831A/en
Priority to PCT/CN2017/091802 priority patent/WO2018036282A1/en
Publication of CN107783831A publication Critical patent/CN107783831A/en
Withdrawn legal-status Critical Current

Links

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]
    • 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/5038Allocation 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 the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Debugging And Monitoring (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

The invention discloses a kind of method for scheduling task, including:The task of repeating is randomly assigned to operate, and obtains the initial processor allocative decision for including the Q kind task methods of salary distribution;The task is randomly assigned operation as all N number of tasks are randomly assigned in M processor;M, N, Q are natural number and M<N;Operations described below is repeated, until finding the final task method of salary distribution:Based on Local Search and global search more new processor allocative decision, all N number of tasks complete the required time in M processor under every kind of task method of salary distribution in the processor allocative decision after calculating renewal;When the most short task method of salary distribution of required time meets to require, the final task method of salary distribution using the most short task method of salary distribution of the required time as task scheduling.The invention also discloses a kind of task scheduling apparatus.

Description

Task scheduling method and device
Technical Field
The present invention relates to task scheduling technologies, and in particular, to a task scheduling method and apparatus.
Background
In embedded multiprocessor systems, it is often the case that: some processors are heavily loaded, while others are lightly loaded, or even idle. However, this situation will certainly reduce the overall system operating efficiency. In order to improve the utilization rate of the processor and the efficiency of parallel computing of the whole system, a part of load, namely tasks, on the processor which is overloaded should be transferred to the processor which is idle or lightly loaded, and therefore, the research on the load distribution problem of the processor is generated.
At present, when the problem of processor load distribution is solved, a particle swarm algorithm is usually adopted to obtain an optimal solution as a scheme for scheduling a processor; the traditional particle swarm algorithm is inspired by foraging behavior of a bird swarm, and the basic idea is to find an optimal solution through cooperation and information sharing among individuals in the swarm. The particle swarm algorithm treats each individual of a population of particles as a particle with no volume in the search space and flies from a random initial position in the search space according to a random initial velocity. Each particle represents a candidate solution of the solution space, and the flight speed of the particle is dynamically adjusted according to the flight experience of the particle and the flight experience of the companion. The best position each particle experiences during the flight process is the individual optimal solution found by the particle itself, and the best position the whole particle group experiences is the overall optimal solution found by the whole particle group at present. Each particle continually updates itself through the individual optimal solution and the overall optimal solution, thereby generating a new generation of particle population until a specified number of iterations is reached or a specified error criterion is met. However, the existing particle swarm algorithm has the defects of premature convergence, easy falling into local optimization, obvious reduction of convergence speed of the algorithm in the later period of evolution and the like when the scheduling problem is solved.
Obviously, no proper and optimized algorithm can be used for solving the problem of scheduling, and no good solution is provided for realizing load distribution and task optimization scheduling of the processor based on algorithm solution.
Disclosure of Invention
In view of this, embodiments of the present invention provide a task scheduling method and apparatus, which can solve the task scheduling problem based on a suitable algorithm to optimize, comprehensively and effectively.
In order to achieve the purpose, the technical scheme of the invention is realized as follows:
the embodiment of the invention provides a task scheduling method, which comprises the following steps:
repeatedly executing task random allocation operation to obtain an initial processor allocation scheme containing Q task allocation modes; the task random allocation operation is to randomly allocate all the N tasks to the M processors; m, N, Q is a natural number and M < N;
the following operations are repeatedly executed until a final task allocation mode is found:
updating the processor allocation scheme based on local search and global search, and calculating the time required for all N tasks to be completed in M processors under each task allocation mode in the updated processor allocation scheme;
and when the task allocation mode with the shortest required time meets the requirement, taking the task allocation mode with the shortest required time as the final task allocation mode of task scheduling.
In the above scheme, the method further comprises:
and when the task allocation mode with the shortest required time does not meet the requirement, performing mutation operation on the task allocation mode in the updated processor allocation scheme.
In the foregoing solution, the randomly allocating all N tasks to M processors includes:
random selection of [1, M]An integer random number m in between1And randomly selecting one task from all the N tasks to be distributed to the m-th task1A processor; random selection of [1, M]An integer random number m in between2And randomly selecting one task from the rest N-1 tasks to be distributed to the m < th > task2A processor; and circulating until all N tasks are distributed to the M processors, and obtaining a task distribution mode.
In the foregoing solution, the updating processor allocation scheme based on local search and global search includes:
performing local search on a current processor allocation scheme by utilizing a particle swarm algorithm to obtain a local optimal task allocation mode in the current processor allocation scheme;
taking the time required for all N tasks to complete in M processors under the local optimal task allocation mode in the current processor allocation scheme as first time; the time required for all N tasks to be completed in the M processors in the global optimal task allocation mode in the current processor allocation scheme is taken as second time;
when the first time is determined to be less than or equal to the second time, replacing the global optimal task allocation mode in the current processor allocation scheme with the local optimal task allocation mode in the current processor allocation scheme;
and executing cross operation on the task allocation mode in the current processor allocation scheme to obtain an updated processor allocation scheme.
In the foregoing solution, the performing local search on the current processor allocation scheme by using a particle swarm algorithm to obtain a local optimal task allocation manner in the current processor allocation scheme includes:
randomly generating an initial particle swarm which comprises I particles and each particle is in a task distribution mode, and adding a global optimal task distribution mode in the current processor distribution scheme as an initial optimal particle of the initial particle swarm into the initial particle swarm;
according toUpdating the velocity V of particle i at the k +1 th iterationi(K +1), I is more than or equal to 1 and less than or equal to I +1, and K is more than or equal to 0 and less than or equal to K-1; wherein, Xgbest(k) Representing the position, X, of the optimal particle in the population of particles before the (k +1) th iterationibest(k) Represents the optimal position of particle i before the (k +1) th iteration,denotes a crossover operation, K is the most setLarge iteration times; the optimal particles are the particles with the minimum fitness value in the particle swarm; the fitness value is the time required for the particles to complete all N tasks in M processors in the corresponding task allocation mode;
according toUpdating the position X of particle i at the k +1 th iterationi(k+1);
Calculating the fitness value of the particle i in the (k +1) th iteration, and updating the optimal position X of the particle i after the (k +1) th iteration according to the fitness value of the particle i in the (k +1) th iterationibest(k +1), and updating the optimal particle in the population of particles after the k +1 th iteration and the position X of the updated optimal particle in the population of particlesgbest(k+1);
When the iteration number K +1 is smaller than K and the adaptability value of the optimal particle in the particle swarm is smaller than a set first threshold or the iteration number K +1 is equal to K, taking a task distribution mode corresponding to the optimal particle in the particle swarm as a local optimal task distribution mode in the current processor distribution scheme;
when the iteration times K +1 are smaller than K and the fitness value of the optimal particles in the particle swarm is larger than or equal to a set first threshold value, calculating the similarity value between the particles in the particle swarm after the K +1 th iteration, and if the similarity value is larger than or equal to a set second threshold value, performing mutation operation on the positions of the particles.
In the foregoing solution, the randomly generating an initial particle group including I particles, each of which is a task allocation manner, includes:
randomly selecting one task from all N tasks to be distributed to a first processor; randomly selecting one task from the remaining N-1 tasks to be distributed to the second processor; randomly selecting one task from the rest N-M tasks to be distributed to the mth processor, wherein M is more than or equal to 3 and less than or equal to M; circulating until all N tasks are distributed to M processors to obtain a particle corresponding to a task distribution mode; when M is larger than M, namely M tasks are randomly distributed, the distribution is started from the first processor again;
and circularly executing the distribution process until I particles which are in one-to-one correspondence with the I task distribution modes are obtained.
The embodiment of the invention provides a task scheduling device, which comprises: an initialization module and a processing module; wherein,
the initialization module is used for repeatedly executing task random allocation operation to obtain an initial processor allocation scheme containing Q task allocation modes; the task random allocation operation is to randomly allocate all the N tasks to the M processors; m, N, Q is a natural number and M < N;
the processing module is used for repeatedly executing the following operations until a final task allocation mode is found:
updating the processor allocation scheme based on local search and global search, and calculating the time required for all N tasks to be completed in M processors under each task allocation mode in the updated processor allocation scheme;
and when the task allocation mode with the shortest required time meets the requirement, taking the task allocation mode with the shortest required time as the final task allocation mode of task scheduling.
In the foregoing solution, the processing module is further configured to, when the task allocation method that requires the shortest time does not meet the requirement, perform a mutation operation on the task allocation method in the updated processor allocation scheme.
In the above scheme, the step of randomly distributing all N tasks to M processors by the initialization module is:
random selection of [1, M]An integer random number m in between1And from allRandomly selecting one task from the N tasks to be distributed to the m-th task1A processor; random selection of [1, M]An integer random number m in between2And randomly selecting one task from the rest N-1 tasks to be distributed to the m < th > task2A processor; and circulating until all N tasks are distributed to the M processors, and obtaining a task distribution mode.
In the above solution, the allocation scheme of the processing module based on the local search and global search update processor is as follows:
performing local search on a current processor allocation scheme by utilizing a particle swarm algorithm to obtain a local optimal task allocation mode in the current processor allocation scheme;
taking the time required for all N tasks to complete in M processors under the local optimal task allocation mode in the current processor allocation scheme as first time; the time required for all N tasks to be completed in the M processors in the global optimal task allocation mode in the current processor allocation scheme is taken as second time;
when the first time is determined to be less than or equal to the second time, replacing the global optimal task allocation mode in the current processor allocation scheme with the local optimal task allocation mode in the current processor allocation scheme;
and executing cross operation on the task allocation mode in the current processor allocation scheme to obtain an updated processor allocation scheme.
In the above scheme, the processing module performs local search on the current processor allocation scheme by using a particle swarm algorithm, and the local optimal task allocation manner in the current processor allocation scheme is obtained by:
randomly generating an initial particle swarm which comprises I particles and each particle is in a task distribution mode, and adding a global optimal task distribution mode in the current processor distribution scheme as an initial optimal particle of the initial particle swarm into the initial particle swarm;
according toUpdating the velocity V of particle i at the k +1 th iterationi(K +1), I is more than or equal to 1 and less than or equal to I +1, and K is more than or equal to 0 and less than or equal to K-1; wherein, Xgbest(k) Representing the position, X, of the optimal particle in the population of particles before the (k +1) th iterationibest(k) Represents the optimal position of particle i before the (k +1) th iteration,representing the cross operation, and K is the set maximum iteration number; the optimal particles are the particles with the minimum fitness value in the particle swarm; the fitness value is the time required for the particles to complete all N tasks in M processors in the corresponding task allocation mode;
according toUpdating the position X of particle i at the k +1 th iterationi(k+1);
Calculating the fitness value of the particle i in the (k +1) th iteration, and updating the optimal position X of the particle i after the (k +1) th iteration according to the fitness value of the particle i in the (k +1) th iterationibest(k +1), and updating the optimal particle in the population of particles after the k +1 th iteration and the position X of the updated optimal particle in the population of particlesgbest(k+1);
When the iteration number K +1 is smaller than K and the adaptability value of the optimal particle in the particle swarm is smaller than a set first threshold or the iteration number K +1 is equal to K, taking a task distribution mode corresponding to the optimal particle in the particle swarm as a local optimal task distribution mode in the current processor distribution scheme;
when the iteration times K +1 are smaller than K and the fitness value of the optimal particles in the particle swarm is larger than or equal to a set first threshold value, calculating the similarity value between the particles in the particle swarm after the K +1 th iteration, and if the similarity value is larger than or equal to a set second threshold value, performing mutation operation on the positions of the particles.
In the foregoing solution, the randomly generating, by the processing module, an initial particle group including I particles, each of which is a task allocation manner, includes:
randomly selecting one task from all N tasks to be distributed to a first processor; randomly selecting one task from the remaining N-1 tasks to be distributed to the second processor; randomly selecting one task from the rest N-M tasks to be distributed to the mth processor, wherein M is more than or equal to 3 and less than or equal to M; circulating until all N tasks are distributed to M processors to obtain a particle corresponding to a task distribution mode; when M is larger than M, namely M tasks are randomly distributed, the distribution is started from the first processor again;
and circularly executing the distribution process until I particles which are in one-to-one correspondence with the I task distribution modes are obtained.
According to the task scheduling method and device provided by the embodiment of the invention, task random allocation operation is repeatedly executed, and an initial processor allocation scheme containing Q task allocation modes is obtained; the task random allocation operation is to randomly allocate all the N tasks to the M processors; m, N, Q is a natural number and M < N; the following operations are repeatedly executed until a final task allocation mode is found: updating the processor allocation scheme based on local search and global search, and calculating the time required for all N tasks to be completed in M processors under each task allocation mode in the updated processor allocation scheme; and when the task allocation mode with the shortest required time meets the requirement, taking the task allocation mode with the shortest required time as the final task allocation mode of task scheduling. Therefore, the embodiment of the invention combines the global optimal solution search in the global space and the local optimal solution search in the local space, and the global optimal solution search and the local optimal solution search in the local space are mutually coordinated and promoted to obtain the optimal task allocation mode.
In addition, the global optimal task allocation mode of task scheduling is solved by using a genetic algorithm, the local optimal task allocation mode of task scheduling is solved by using a particle swarm algorithm, and the local optimal task allocation mode is used as the basis for the evolution of the global optimal task allocation mode.
Drawings
FIG. 1 is a schematic diagram of a flow chart of a task scheduling method according to an embodiment of the present invention;
FIG. 2 is a flowchart illustrating a specific implementation of a task scheduling method according to an embodiment of the present invention;
FIG. 3 is a schematic diagram of a specific implementation flow of optimizing a chromosome population by using a particle swarm optimization in the embodiment of the present invention;
fig. 4 is a schematic structural diagram of a task scheduling device according to an embodiment of the present invention.
Detailed Description
The genetic algorithm is a calculation model of a biological evolution process for simulating natural selection and genetic mechanism of Darwinian biological evolution theory, and is a method for searching an optimal solution by simulating the natural evolution process. The processing procedure of the method is as follows: first, to create a random initial state, i.e., a group of initial solutions, which are compared to chromosomes or genes, the group can be called a first generation; then, a reasonable fitness value is assigned to each chromosome according to the actual proximity degree of the problem solution; the chromosomes are then subjected to various evolutionary operations such as selection, crossover, mutation, and the like. In the course of the various evolution operations above, the algorithms can be made to achieve satisfactory results by selecting appropriate control parameters. Existing research has demonstrated that genetic algorithms are self-learning and adaptive and can reduce the risk of falling into local optima.
The embodiment of the invention just utilizes the advantages of the genetic algorithm, and the genetic algorithm solution is used for completing the load distribution and the task scheduling of the processor.
Fig. 1 is a schematic flow chart of an implementation of a task scheduling method according to an embodiment of the present invention, where the method includes:
step 101: repeatedly executing task random allocation operation to obtain an initial processor allocation scheme containing Q task allocation modes; the task random allocation operation is to randomly allocate all the N tasks to the M processors;
specifically, the random task allocation operation is repeatedly executed for Q times to obtain an initial processor allocation scheme including Q task allocation modes, that is, each time the random task allocation operation is executed, a task allocation mode in which all N tasks are allocated to M processors is obtained; the task random allocation operation is to randomly allocate all N tasks to M processors.
Here, the randomly distributing all N tasks to M processors includes: random selection of [1, M]An integer random number m in between1And randomly selecting one task from all the N tasks to be distributed to the m-th task1A processor; random selection of [1, M]An integer random number m in between2And randomly selecting one task from the rest N-1 tasks to be distributed to the m < th > task2A processor; and circulating until all the N tasks are distributed to the M processors, so as to obtain a task distribution mode that all the N tasks are distributed to the M processors.
Here, the M, N, Q is a natural number and M < N; the tasks are independent, the load of each task may be the same or different, the processors are also independent, and the size of the load affects the completion time of the processors to the tasks; in practical application, in order to ensure the difference between task allocation modes and improve the generalization, Q can be set to be greater than or equal to M; because the same task allocation mode may exist in the Q types of task allocation modes included in the initial processor allocation scheme under the influence of random factors and the size of Q, the same task allocation mode may be deleted from the initial processor allocation scheme, so as to improve the diversity of the task allocation modes in the initial processor allocation scheme.
Step 102: the following operations are repeatedly executed until a final task allocation mode is found: updating the processor allocation scheme based on local search and global search, and calculating the time required for all N tasks to be completed in M processors under each task allocation mode in the updated processor allocation scheme; and when the task allocation mode with the shortest required time meets the requirement, taking the task allocation mode with the shortest required time as the final task allocation mode of task scheduling.
Here, the task allocation manner with the shortest required time meets the requirement that a difference between time required for all N tasks to complete in the M processors in the task allocation manner with the shortest required time and ideal time required for all N tasks to complete in the M processors is less than or equal to a preset time threshold; the ideal time required for all N tasks to complete in M processors is the time T required for all N tasks to complete in any one processor divided by M, i.e. the ideal time may be represented as T/M.
Here, the updating of the processor allocation scheme based on the local search and the global search includes:
performing local search on a current processor allocation scheme by utilizing a particle swarm algorithm to obtain a local optimal task allocation mode in the current processor allocation scheme;
taking the time required for all N tasks to complete in M processors under the local optimal task allocation mode in the current processor allocation scheme as first time; the time required for all N tasks to be completed in the M processors in the global optimal task allocation mode in the current processor allocation scheme is taken as second time;
when the first time is determined to be less than or equal to the second time, replacing the global optimal task allocation mode in the current processor allocation scheme with the local optimal task allocation mode in the current processor allocation scheme;
and executing cross operation on the task allocation mode in the current processor allocation scheme to obtain an updated processor allocation scheme.
Here, the current processor allocation scheme may be the initial processor allocation scheme generated in step 101, or may be a processor allocation scheme formed by updating the initial processor allocation scheme generated in step 101 one or more times, but the current processor allocation scheme includes Q task allocation manners; in addition, the performing of the crossover operation on the task allocation modes in the current processor allocation scheme may be performing the crossover operation according to a genetic algorithm on two or more task allocation modes in all the Q task allocation modes, and the number of the crossover operation may be one or more; when the two task allocation modes execute more than one cross operation, taking the two task allocation modes with the shortest time required in all the new task allocation modes generated after the cross operation as the task allocation modes generated after the two task allocation modes are updated; after each two task allocation modes in the Q task allocation modes execute more than one cross operation, new task allocation modes with the quantity larger than Q are generated, the time required for all N tasks to complete in the M processors in each new task allocation mode is calculated, and the Q new task allocation modes with the shortest required time are used as the updated processor allocation scheme, so that the Q task allocation modes are contained in the updated processor allocation scheme.
Here, by performing the interleaving operation on any two task allocation manners, part of the tasks in different task allocation manners are interchanged, that is, the tasks allocated to different processors are interchanged, so as to generate a new task allocation manner, thereby completing the update processing of the processor allocation scheme, and avoiding the early convergence.
Here, the obtaining a local optimal task allocation manner in the current processor allocation scheme by performing local search on the current processor allocation scheme through a particle swarm optimization includes:
randomly generating an initial particle swarm which comprises I particles and each particle is in a task distribution mode, and adding a global optimal task distribution mode in the current processor distribution scheme as an initial optimal particle of the initial particle swarm into the initial particle swarm;
according toUpdating the velocity V of particle i at the k +1 th iterationi(K +1), I is more than or equal to 1 and less than or equal to I +1, and K is more than or equal to 0 and less than or equal to K-1; wherein, Xgbest(k) Representing the position, X, of the optimal particle in the population of particles before the (k +1) th iterationibest(k) Represents the optimal position of particle i before the (k +1) th iteration,representing the cross operation, and K is the set maximum iteration number; the optimal particles are the particles with the minimum fitness value in the particle swarm; the fitness value is the time required for the particles to complete all N tasks in M processors in the corresponding task allocation mode;
according toUpdating the position X of particle i at the k +1 th iterationi(k+1);
Calculating the fitness value of the particle i in the (k +1) th iteration, and updating the particle i in the (k +1) th iteration according to the fitness value of the particle i in the (k +1) th iterationOptimal position X after k +1 iterationibest(k +1), and updating the optimal particle in the population of particles after the k +1 th iteration and the position X of the updated optimal particle in the population of particlesgbest(k+1);
When the iteration number K +1 is smaller than K and the adaptability value of the optimal particle in the particle swarm is smaller than a set first threshold or the iteration number K +1 is equal to K, taking a task distribution mode corresponding to the optimal particle in the particle swarm as a local optimal task distribution mode in the current processor distribution scheme;
when the iteration times K +1 are smaller than K and the fitness value of the optimal particles in the particle swarm is larger than or equal to a set first threshold value, calculating the similarity value between the particles in the particle swarm after the K +1 th iteration, and if the similarity value is larger than or equal to a set second threshold value, performing mutation operation on the positions of the particles.
Here, in addition to adding the global optimal task allocation manner in the current processor allocation scheme to the initial particle swarm, a plurality of task allocation manners requiring less time in the current processor allocation scheme may be added to the initial particle swarm, and the global optimal task allocation manner in the current processor allocation scheme is used as the initial optimal particle of the initial particle swarm; for example, the first 5 task allocation modes with the shortest required time in the current processor allocation scheme may be added to the initial particle population.
Here, when k is 0, Xgbest(0) Representing the position of the optimal particle in the initial particle swarm, namely a task allocation mode corresponding to the optimal particle in the initial particle swarm; xibest(0) Representing an initial optimal position of a particle i in the initial particle swarm, namely a task allocation mode corresponding to the particle i in the initial particle swarm; vi(0) Represents the initial velocity of a particle i in the initial particle population and is (T)i(0)*M*v)/T1(0) (ii) a Wherein, Ti(0) Representing the initial particlesThe time, T, required for all N tasks to complete in M processors under the task allocation mode corresponding to the particle i in the group1(0) And the time required for all N tasks to complete in the M processors in the task allocation mode corresponding to the optimal particle in the initial particle swarm is represented, and v represents a speed parameter.
Here, after updating the speed and the position of the particle in the current particle swarm, the number of tasks allocated to each processor in the task allocation manners corresponding to the particle changes, and the particles in the current particle swarm are all close to the optimal particle in the current particle swarm, that is, the task allocation manners corresponding to the particle are all close to the task allocation manner corresponding to the optimal particle, so that the task load of each processor in the task allocation manners corresponding to the particle tends to be equal.
Here, when the fitness value of the particle i in the particle swarm generated after the k +1 th iteration is smaller than the fitness value of the particle i in the particle swarm generated after the k +1 th iteration, the optimal position X of the particle i after the k +1 th iteration is maintainedibest(k +1) is the optimal position X of particle i after the kth iterationibest(k) (ii) a When the fitness value of the optimal particle in the particle swarm generated after the k +1 th iteration is smaller than the fitness value of the optimal particle in the particle swarm generated after the k th iteration, the optimal particle in the particle swarm generated after the k +1 th iteration still remains as the optimal particle in the particle swarm generated after the k th iteration and the position X of the optimal particle in the particle swarm generated after the k +1 th iterationgbest(k +1) remains as the position X of the optimal particle in the population of particles generated after the kth iterationgbest(k)。
Here, according to the formulaCalculating a similarity value (X) between the positions of said particlesij) (ii) a Wherein,respectively represent particle i and particleAnd the tasks distributed by the same processor in the task distribution mode corresponding to the child j.
Here, the similarity value between two or more particles in all I +1 particles may be calculated, for example, when the similarity value between two particles is calculated to be greater than the set second threshold, it may be considered that the same task is allocated to the same processor in the task allocation manners corresponding to the two particles respectively; if the similarity value between the two particles is greater than the set second threshold, the two particles can be subjected to mutation operation respectively, so that tasks allocated to different processors in the task allocation modes corresponding to the particles are interchanged, and the situation that the two particles fall into the local optimal solution is avoided.
Here, the mutation operation may be performed only on two or more particles among all I +1 particles, and it is not necessary to perform the mutation operation on all I +1 particles. For example, when there are three particles and each of the two particles has a similarity value greater than the set second threshold, the mutation operation may be performed only on any two of the three particles.
Here, the randomly generating an initial particle group including I particles, each of which is a task allocation method, includes:
randomly selecting one task from all N tasks to be distributed to a first processor; randomly selecting one task from the remaining N-1 tasks to be distributed to the second processor; randomly selecting one task from the rest N-M tasks to be distributed to the mth processor, wherein M is more than or equal to 3 and less than or equal to M; circulating until all N tasks are distributed to M processors to obtain a particle corresponding to a task distribution mode; when M is larger than M, namely M tasks are randomly distributed, the distribution is started from the first processor again;
and circularly executing the distribution process until I particles which are in one-to-one correspondence with the I task distribution modes are obtained.
Here, when M is larger than M, i.e. M tasks have been randomly allocated to M processors, and after each processor is allocated one task, the tasks are allocated again from the first processor, i.e. one task is randomly selected from the remaining N-M tasks to be allocated to the first processor, one task is randomly selected from the remaining N-M-1 tasks to be allocated to the second processor, and so on.
Further, the method further comprises: and when the task allocation mode with the shortest required time does not meet the requirement, performing mutation operation on the task allocation mode in the updated processor allocation scheme.
Specifically, when the task allocation manner with the shortest required time obtained in step 102 does not meet the requirement, that is, the difference between the time required for all N tasks to complete in the M processors in the task allocation manner with the shortest required time and the ideal time required for all N tasks to complete in the M processors is greater than the preset time threshold, the mutation operation is performed on the task allocation manner in the updated processor allocation scheme, and then step 102 is continuously performed.
Here, the number of performing mutation operations on the task allocation manners in the updated processor allocation scheme may be that mutation operations are performed according to a genetic algorithm on one or more task allocation manners of all Q task allocation manners, and the number of performing mutation operations may be one or more; when one task allocation mode finishes more than one mutation operation, the task allocation mode with the shortest time required in all the new task allocation modes generated after mutation is taken as the task allocation mode after the task allocation mode is updated; after each task allocation mode in the Q task allocation modes executes mutation operation more than once, new task allocation modes with the quantity larger than Q are generated, the time required for all N tasks to complete in the M processors in each new task allocation mode is calculated, and the Q new task allocation modes with the shortest required time are used as the updated task allocation modes to ensure that the processor allocation schemes obtained after updating contain the Q task allocation modes.
When the task distribution mode with the shortest required time does not meet the requirement, namely the whole particle swarm falls into the local optimum, the position and the speed of the particle are changed by performing mutation operation on any task distribution mode, so that the whole particle swarm jumps out of the local optimum to continue optimizing.
A specific embodiment is used to exemplify the task scheduling method, and fig. 2 is a schematic flow chart of a specific implementation of the task scheduling method, where the method includes:
step 201: randomly generating an initial chromosome population;
specifically, repeating Q times of task random allocation operation to obtain an initial chromosome population containing Q chromosomes; wherein the task random allocation operation is to randomly allocate all of the N tasks to the M processors.
Here, the randomly distributing all N tasks to M processors includes: random selection of [1, M]An integer random number m in between1And randomly selecting one task from all the N tasks to be distributed to the m-th task1A processor; random selection of [1, M]An integer random number m in between2And randomly selecting one task from the rest N-1 tasks to be distributed to the m < th > task2A processor; and circulating until all the N tasks are distributed to the M processors, and obtaining a task distribution mode that all the N tasks are distributed to the M processors, namely a chromosome.
Here, each chromosome represents a task allocation pattern; m, N, Q is a natural number and M < N; the tasks are independent, the load of each task may be the same or different, the processors are also independent, and the size of the load affects the completion time of the processors to the tasks; in practical application, in order to ensure the difference between task allocation modes and improve the generalization, Q can be set to be greater than or equal to M; due to the influence of random factors and the size of Q, the same chromosomes may exist in the initial chromosome population, i.e., the same task allocation manner may exist, and therefore, the same chromosomes may be deleted from the initial chromosome population to improve the diversity of chromosomes in the initial chromosome population.
Step 202: optimizing the chromosome population by utilizing a particle swarm algorithm to obtain the optimal solution of the particle swarm;
specifically, local optimization searching is carried out on the current chromosome population by utilizing a particle swarm algorithm, and the optimal solution of the particle swarm, namely the local optimal task distribution mode of the current chromosome population is obtained.
Here, the current chromosome population may be the initial chromosome population generated in step 201, or may be a chromosome population generated after one or more updates are performed on the initial chromosome population generated in step 201, but the current chromosome population includes Q chromosomes.
FIG. 3 is a schematic diagram of a specific implementation process for optimizing chromosome population by particle swarm optimization, wherein the optimization process comprises the following steps:
step 20201: randomly generating an initial particle swarm;
specifically, an initial particle swarm including I particles each in a task allocation manner is randomly generated, and the optimal chromosome in the current chromosome population is added to the initial particle swarm as the initial optimal particle of the initial particle swarm, so as to form an initial particle swarm including I +1 particles.
Here, the optimal chromosome in the current chromosome population is a chromosome corresponding to a task allocation mode in which the time required for all the N tasks to be completed in the M processors is the shortest; in addition to adding the optimal chromosomes in the current chromosome population into the initial particle population, adding a plurality of chromosomes, which require less time, in the current chromosome population into the initial particle population, and taking the optimal chromosomes in the current chromosome population as initial optimal particles of the initial particle population; for example, the chromosome corresponding to the task allocation mode with the shortest time for the first 5 chromosomes in the current chromosome population may be added to the initial particle population.
Here, the randomly generating an initial particle group including I particles, each of which is a task allocation method, includes:
randomly selecting one task from all N tasks to be distributed to a first processor; randomly selecting one task from the remaining N-1 tasks to be distributed to the second processor; randomly selecting one task from the rest N-M tasks to be distributed to the mth processor, wherein M is more than or equal to 3 and less than or equal to M; circulating until all N tasks are distributed to M processors to obtain a particle corresponding to a task distribution mode; when M is larger than M, namely M tasks are randomly distributed, the distribution is started from the first processor again;
and circularly executing the distribution process until I particles which are in one-to-one correspondence with the I task distribution modes are obtained.
Here, when M is larger than M, i.e. M tasks have been randomly allocated to M processors, and after each processor is allocated one task, the tasks are allocated again from the first processor, i.e. one task is randomly selected from the remaining N-M tasks to be allocated to the first processor, one task is randomly selected from the remaining N-M-1 tasks to be allocated to the second processor, and so on.
Step 20202: updating the speed and position of the particles in the particle swarm;
in particular, according toUpdating the velocity V of the particle i in the particle swarm that is present at the k +1 th iterationi(K +1), I is more than or equal to 1 and less than or equal to I +1, and K is more than or equal to 0 and less than or equal to K-1; wherein, Xgbest(k) Represents the position of the optimal particle in the current population of particles before the k +1 iteration,Xibest(k) Represents the optimal position of particle i in the current population of particles prior to the (k +1) th iteration,representing the cross operation, and K is the set maximum iteration number; the optimal particles are the particles with the minimum fitness value in the particle swarm; the fitness value is the time required for the particles to complete all N tasks in M processors in the corresponding task allocation mode; according toUpdating the position X of the particle i in the current particle swarm at the (k +1) th iterationi(k+1)。
Here, when k is 0, Xgbest(0) Representing the position of the optimal particle in the initial particle swarm, namely a task allocation mode corresponding to the optimal particle in the initial particle swarm; xibest(0) Representing an initial optimal position of a particle i in the initial particle swarm, namely a task allocation mode corresponding to the particle i in the initial particle swarm; vi(0) Represents the initial velocity of a particle i in the initial particle population and is (T)i(0)*M*v)/T1(0) (ii) a Wherein, Ti(0) Represents the time required for all N tasks to complete in M processors under the task allocation mode corresponding to the particle i in the initial particle swarm, T1(0) And the time required for all N tasks to complete in the M processors in the task allocation mode corresponding to the optimal particle in the initial particle swarm is represented, and v represents a speed parameter.
Here, after updating the speed and the position of the particle in the current particle swarm, the number of tasks allocated to each processor in the task allocation manners corresponding to the particle changes, and the particles in the current particle swarm are all close to the optimal particle in the current particle swarm, that is, the task allocation manners corresponding to the particle are all close to the task allocation manner corresponding to the optimal particle, so that the task load of each processor in the task allocation manners corresponding to the particle tends to be equal.
Step 20203: updating the optimal position of the particle in the particle swarm and the optimal particle;
specifically, the optimal position of each particle in the current particle swarm is updated according to the updated speed and position of each particle in the current particle swarm in step 20202, and the optimal particle in the current particle swarm and the position of the optimal particle in the current particle swarm are updated.
Here, the optimal particle is a particle having a smallest fitness value among the particle group; the fitness value is the time required for the particles to complete all N tasks in M processors in the corresponding task allocation mode; when the fitness value of the particle i in the particle swarm generated after the k +1 th iteration is smaller than the fitness value of the particle i in the particle swarm generated after the k th iteration, keeping the optimal position X of the particle i after the k +1 th iterationibest(k +1) is the optimal position X of particle i after the kth iterationibest(k) (ii) a When the fitness value of the optimal particle in the particle swarm generated after the k +1 th iteration is smaller than the fitness value of the optimal particle in the particle swarm generated after the k th iteration, the optimal particle in the particle swarm generated after the k +1 th iteration still remains as the optimal particle in the particle swarm generated after the k th iteration and the position X of the optimal particle in the particle swarm generated after the k +1 th iterationgbest(k +1) remains as the position X of the optimal particle in the population of particles generated after the kth iterationgbest(k)。
Step 20204: judging whether the iteration times of the particle swarm are smaller than the maximum iteration times, if so, continuing to execute the step 20205, otherwise, executing the step 20208;
specifically, it is determined whether the value of the iteration number K +1 of the current particle swarm in step 20202 is smaller than the set maximum iteration number K, and if so, step 20205 is continuously executed; otherwise, the process of local optimization of chromosome population is determined to be over and step 20208 is performed.
Step 20205: judging whether the fitness value of the optimal solution of the particle swarm is smaller than a set first threshold, if so, executing a step 20208, otherwise, continuing to execute the step 20206;
specifically, it is determined whether the fitness value of the optimal particle in the current particle swarm obtained in step 20203 is smaller than a set first threshold, if so, it is determined that the process of locally optimizing the chromosome swarm is finished and step 20208 is executed, otherwise, step 20206 is continuously executed.
Step 20206: judging whether the similarity value of the particles in the particle swarm is smaller than a set second threshold, if so, returning to execute the step 20202, otherwise, continuing to execute the step 20207;
specifically, a similarity value between every two particles in the particle swarm is calculated, and when the similarity value is greater than or equal to a set second threshold, the step 20207 is continuously executed; and when the similarity value is smaller than the set second threshold, returning to execute the step 20202.
Here, the similarity value between two or more particles among all I +1 particles may be calculated; for example, when the similarity value between two particles is calculated to be greater than the set second threshold, it can be considered that the same task is allocated to the same processor in the task allocation manners corresponding to the two particles.
Step 20207: performing mutation operations on the particles in the particle swarm and returning to perform step 20202;
specifically, when it is determined in step 20206 that the similarity value between the particles is greater than or equal to the set second threshold, the mutation operations are performed on the particles, so that the tasks allocated to different processors in the task allocation manner corresponding to the particles are exchanged with each other, thereby avoiding falling into the locally optimal solution.
Here, the mutation operation may be performed only on two or more particles among all I +1 particles, and it is not necessary to perform the mutation operation on all I +1 particles. For example, when there are three particles and each of the two particles has a similarity value greater than the set second threshold, the mutation operation may be performed only on any two of the three particles.
Step 20208: and outputting the optimal solution of the particle swarm.
Specifically, the task allocation manner corresponding to the optimal particle in the current particle group in step 20204 or step 20205 is output as the local optimal task allocation manner obtained after the chromosome group is locally optimized.
Step 203: judging whether the fitness value of the optimal solution of the particle swarm is smaller than the fitness value of the optimal chromosome in the chromosome swarm, if so, continuing to execute the step 204, otherwise, executing the step 205;
here, the optimal solution of the particle group is the task allocation method corresponding to the optimal particle in the current particle group in step 20208; the fitness value of the optimal solution of the particle swarm is the time required for all N tasks to complete in M processors in the task allocation mode corresponding to the optimal particle; the optimal chromosome is a chromosome corresponding to a task allocation mode which requires the shortest time for all N tasks in the current chromosome population to complete in M processors; and the fitness value of the optimal chromosome in the chromosome group is the time required for all N tasks to be completed in the M processors in the task allocation mode corresponding to the optimal chromosome.
Step 204: replacing an optimal chromosome in the chromosome population with the optimal solution;
specifically, the optimal chromosome is replaced by the task allocation mode which is obtained by the particle swarm algorithm and has a fitness value smaller than that of the optimal chromosome in the chromosome population, so that the local optimization updating processing on the chromosome population is completed, and the step 205 is continuously executed.
Step 205: performing a crossover operation on chromosomes in the chromosome population;
here, the performing of the crossover operation on the chromosomes in the chromosome population may be performing the crossover operation on two or more chromosomes of all Q chromosomes in the chromosome population according to a genetic algorithm, and the number of the crossover operations may be one or more times; after the two chromosomes perform crossing operation more than once, taking the two chromosomes with the shortest time in all the chromosomes generated after crossing as the chromosomes after the two chromosomes are crossed and updated; and when every two chromosomes in the Q chromosomes are subjected to more than one crossing operation, new chromosomes with the number larger than Q are generated, the time required for all N tasks under each new chromosome to be completed in the M processors is calculated, and the Q new chromosomes with the shortest required time are used as the updated chromosome population so as to ensure that the chromosome population obtained after updating contains the Q chromosomes.
Here, by performing a crossover operation on any two chromosomes, the tasks assigned to the processors are interchanged, that is, the tasks corresponding to different chromosomes are interchanged, so as to generate a new chromosome, thereby completing the update process on the chromosome population and avoiding the premature convergence.
Step 206: judging whether the optimal chromosome in the updated chromosome population meets the requirement, if so, executing a step 208, otherwise, executing a step 207;
specifically, the fitness value of each chromosome in the updated chromosome population obtained in step 205 is calculated, the optimal chromosome in the updated chromosome population, that is, the chromosome with the minimum fitness value, is obtained, whether the difference between the fitness value of the optimal chromosome and the ideal time required for all N tasks to be completed in the M processors is less than a preset time threshold is judged, if so, step 208 is executed, otherwise, step 207 is executed.
Here, the ideal time required for all N tasks to complete in M processors is the time T required for all N tasks to complete in any one processor divided by M, that is, the ideal time may be represented as T/M; the size of the preset time threshold can be set and adjusted according to actual conditions.
Here, the number of loop operations of step 202 to step 205 may also be counted, and when the number of loop operations reaches a certain condition, for example, is greater than a set threshold, the optimizing operation may be stopped and the optimal chromosome in the chromosome population may be output as a final task allocation manner for task scheduling.
Step 207: and performing mutation operation on the chromosomes in the updated chromosome population, and returning to the step 202.
Specifically, when the difference between the fitness value of the optimal chromosome in step 206 and the ideal time required for all N tasks to be completed in the M processors is greater than or equal to the preset time threshold, a mutation operation is performed on the chromosomes in the updated chromosome population in step 206, and then the step 202 is executed.
Here, the number of times of performing mutation operations on the chromosomes, i.e., the task allocation manner, in the updated chromosome population may be that mutation operations are performed on one or more chromosomes in all Q chromosomes according to a genetic algorithm, and the number of times of mutation operations may be one or more times; when one chromosome is subjected to mutation operation for more than one time, the chromosome with the shortest time required in all new chromosomes generated after mutation is taken as the chromosome generated after the chromosome is updated; when each chromosome in the Q chromosomes is subjected to mutation operation for more than one time, new chromosomes with the number larger than Q are generated, the time required for all N tasks under each chromosome to be completed in the M processors is calculated, and the Q chromosomes with the shortest required time are used as the updated chromosome population to ensure that the chromosome population obtained after updating contains the Q chromosomes.
Here, when the optimal chromosome, that is, the task allocation manner requiring the shortest time, does not meet the requirements, that is, the whole chromosome population falls into local optimality, mutation operation is performed on any chromosome, so that the chromosome population jumps out of the local optimality and a better task allocation manner is continuously searched.
Step 208: and taking the optimal chromosome in the updated chromosome population as a final task allocation mode of task scheduling.
Specifically, the task allocation manner corresponding to the optimal chromosome in the updated chromosome population that meets the requirements in step 206 is used as the final task allocation manner for task scheduling, so as to complete the task scheduling process.
In order to implement the foregoing method, an embodiment of the present invention further provides a task scheduling device, and fig. 4 is a schematic structural diagram of the task scheduling device according to the embodiment of the present invention, where the task scheduling device includes: an initialization module 11 and a processing module 12; wherein,
the initialization module 11 is configured to repeatedly execute task random allocation operations to obtain an initial processor allocation scheme including Q task allocation manners; the task random allocation operation is to randomly allocate all the N tasks to the M processors;
the processing module 12 is configured to repeatedly perform the following operations until a final task allocation manner is found:
updating the processor allocation scheme based on local search and global search, and calculating the time required for all N tasks to be completed in M processors under each task allocation mode in the updated processor allocation scheme;
and when the task allocation mode with the shortest required time meets the requirement, taking the task allocation mode with the shortest required time as the final task allocation mode of task scheduling.
The initialization module 11 is specifically configured to: repeatedly executing the random task allocation operation for Q times to obtain an initial processor allocation scheme containing Q task allocation modes, namely, obtaining a task allocation mode that all N tasks are allocated to M processors every time the random task allocation operation is executed; the task random allocation operation is to randomly allocate all N tasks to M processors.
Here, the initialization module 11 randomly allocates all N tasks to M processors, including: random selection of [1, M]An integer random number m in between1And randomly selecting one task from all the N tasks to be distributed to the m-th task1A processor; random selection of [1, M]An integer random number m in between2And randomly selecting one task from the rest N-1 tasks to be distributed to the m < th > task2A processor; and circulating until all the N tasks are distributed to the M processors, so as to obtain a task distribution mode that all the N tasks are distributed to the M processors.
Here, the M, N, Q is a natural number and M < N; the tasks are independent, the load of each task may be the same or different, the processors are also independent, and the size of the load affects the completion time of the processors to the tasks; in practical application, in order to ensure the difference between task allocation modes and improve the generalization, Q can be set to be greater than or equal to M; because the same task allocation mode may exist in the Q types of task allocation modes included in the initial processor allocation scheme under the influence of random factors and the size of Q, the same task allocation mode may be deleted from the initial processor allocation scheme, so as to improve the diversity of the task allocation modes in the initial processor allocation scheme.
Here, the task allocation manner with the shortest required time meets the requirement that a difference between time required for all N tasks to complete in the M processors in the task allocation manner with the shortest required time and ideal time required for all N tasks to complete in the M processors is less than or equal to a preset time threshold; the ideal time required for all N tasks to complete in M processors is the time T required for all N tasks to complete in any one processor divided by M, i.e. the ideal time may be represented as T/M.
The processing module 12 updates the processor allocation scheme based on the local search and the global search, and is:
performing local search on a current processor allocation scheme by utilizing a particle swarm algorithm to obtain a local optimal task allocation mode in the current processor allocation scheme;
taking the time required for all N tasks to complete in M processors under the local optimal task allocation mode in the current processor allocation scheme as first time; the time required for all N tasks to be completed in the M processors in the global optimal task allocation mode in the current processor allocation scheme is taken as second time;
when the first time is determined to be less than or equal to the second time, replacing the global optimal task allocation mode in the current processor allocation scheme with the local optimal task allocation mode in the current processor allocation scheme;
and executing cross operation on the task allocation mode in the current processor allocation scheme to obtain an updated processor allocation scheme.
Here, the current processor allocation scheme may be an initial processor allocation scheme generated by the initialization module 11, or may be a processor allocation scheme formed by updating the initial processor allocation scheme generated by the initialization module 11 once or more than once, but the current processor allocation scheme includes Q task allocation manners; in addition, the performing of the crossover operation on the task allocation modes in the current processor allocation scheme may be performing the crossover operation according to a genetic algorithm on two or more task allocation modes in all the Q task allocation modes, and the number of the crossover operation may be one or more; when the two task allocation modes execute more than one cross operation, taking the two task allocation modes with the shortest time required in all the new task allocation modes generated after the cross operation as the task allocation modes generated after the two task allocation modes are updated; after each two task allocation modes in the Q task allocation modes execute more than one cross operation, new task allocation modes with the quantity larger than Q are generated, the time required for all N tasks to complete in the M processors in each new task allocation mode is calculated, and the Q new task allocation modes with the shortest required time are used as the updated processor allocation scheme, so that the Q task allocation modes are contained in the updated processor allocation scheme.
Here, by performing the interleaving operation on any two task allocation manners, part of the tasks in different task allocation manners are interchanged, that is, the tasks allocated to different processors are interchanged, so as to generate a new task allocation manner, thereby completing the update processing of the processor allocation scheme, and avoiding the early convergence.
The processing module 12 performs local search on the current processor allocation scheme by using a particle swarm algorithm to obtain a local optimal task allocation mode in the current processor allocation scheme, where the local optimal task allocation mode is:
randomly generating an initial particle swarm which comprises I particles and each particle is in a task distribution mode, and adding a global optimal task distribution mode in the current processor distribution scheme as an initial optimal particle of the initial particle swarm into the initial particle swarm;
according toUpdating the velocity V of particle i at the k +1 th iterationi(K +1), I is more than or equal to 1 and less than or equal to I +1, and K is more than or equal to 0 and less than or equal to K-1; wherein, Xgbest(k) Representing the position, X, of the optimal particle in the population of particles before the (k +1) th iterationibest(k) Represents the optimal position of particle i before the (k +1) th iteration,representing the cross operation, and K is the set maximum iteration number; the optimal particles are the particles with the minimum fitness value in the particle swarm; the fitness value is that all N tasks of the particle are completed in M processors under the corresponding task allocation modeThe time required;
according toUpdating the position X of particle i at the k +1 th iterationi(k+1);
Calculating the fitness value of the particle i in the (k +1) th iteration, and updating the optimal position X of the particle i after the (k +1) th iteration according to the fitness value of the particle i in the (k +1) th iterationibest(k +1), and updating the optimal particle in the population of particles after the k +1 th iteration and the position X of the updated optimal particle in the population of particlesgbest(k+1);
When the iteration number K +1 is smaller than K and the adaptability value of the optimal particle in the particle swarm is smaller than a set first threshold or the iteration number K +1 is equal to K, taking a task distribution mode corresponding to the optimal particle in the particle swarm as a local optimal task distribution mode in the current processor distribution scheme;
when the iteration times K +1 are smaller than K and the fitness value of the optimal particles in the particle swarm is larger than or equal to a set first threshold value, calculating the similarity value between the particles in the particle swarm after the K +1 th iteration, and if the similarity value is larger than or equal to a set second threshold value, performing mutation operation on the positions of the particles.
Here, in addition to adding the global optimal task allocation manner in the current processor allocation scheme to the initial particle swarm, a plurality of task allocation manners requiring less time in the current processor allocation scheme may be added to the initial particle swarm, and the global optimal task allocation manner in the current processor allocation scheme is used as the initial optimal particle of the initial particle swarm; for example, the first 5 task allocation modes with the shortest required time in the current processor allocation scheme may be added to the initial particle population.
Here, when k is 0When, Xgbest(0) Representing the position of the optimal particle in the initial particle swarm, namely a task allocation mode corresponding to the optimal particle in the initial particle swarm; xibest(0) Representing an initial optimal position of a particle i in the initial particle swarm, namely a task allocation mode corresponding to the particle i in the initial particle swarm; vi(0) Represents the initial velocity of a particle i in the initial particle population and is (T)i(0)*M*v)/T1(0) (ii) a Wherein, Ti(0) Represents the time required for all N tasks to complete in M processors under the task allocation mode corresponding to the particle i in the initial particle swarm, T1(0) And the time required for all N tasks to complete in the M processors in the task allocation mode corresponding to the optimal particle in the initial particle swarm is represented, and v represents a speed parameter.
Here, after updating the speed and the position of the particle in the current particle swarm, the number of tasks allocated to each processor in the task allocation manners corresponding to the particle changes, and the particles in the current particle swarm are all close to the optimal particle in the current particle swarm, that is, the task allocation manners corresponding to the particle are all close to the task allocation manner corresponding to the optimal particle, so that the task load of each processor in the task allocation manners corresponding to the particle tends to be equal.
Here, when the fitness value of the particle i in the particle swarm generated after the k +1 th iteration is smaller than the fitness value of the particle i in the particle swarm generated after the k +1 th iteration, the optimal position X of the particle i after the k +1 th iteration is maintainedibest(k +1) is the optimal position X of particle i after the kth iterationibest(k) (ii) a When the fitness value of the optimal particle in the particle swarm generated after the k +1 th iteration is smaller than the fitness value of the optimal particle in the particle swarm generated after the k th iteration, the optimal particle in the particle swarm generated after the k +1 th iteration still remains as the optimal particle in the particle swarm generated after the k th iteration and the position X of the optimal particle in the particle swarm generated after the k +1 th iterationgbest(k +1) remains as the position X of the optimal particle in the population of particles generated after the kth iterationgbest(k)。
Here, according to the formulaCalculating a similarity value (X) between the positions of said particlesij) (ii) a Wherein,respectively representing the tasks distributed by the same processor in the task distribution mode corresponding to the particle i and the particle j.
Here, the similarity value between two or more particles in all I +1 particles may be calculated, for example, when the similarity value between two particles is calculated to be greater than the set second threshold, it may be considered that the same task is allocated to the same processor in the task allocation manners corresponding to the two particles respectively; if the similarity value between the two particles is greater than the set second threshold, the two particles can be subjected to mutation operation respectively, so that tasks allocated to different processors in the task allocation modes corresponding to the particles are interchanged, and the situation that the two particles fall into the local optimal solution is avoided.
Here, the mutation operation may be performed only on two or more particles among all I +1 particles, and it is not necessary to perform the mutation operation on all I +1 particles. For example, when there are three particles and each of the two particles has a similarity value greater than the set second threshold, the mutation operation may be performed only on any two of the three particles.
The processing module 12 randomly generates an initial particle group including I particles, each of which is a task allocation method, and includes:
randomly selecting one task from all N tasks to be distributed to a first processor; randomly selecting one task from the remaining N-1 tasks to be distributed to the second processor; randomly selecting one task from the rest N-M tasks to be distributed to the mth processor, wherein M is more than or equal to 3 and less than or equal to M; circulating until all N tasks are distributed to M processors to obtain a particle corresponding to a task distribution mode; when M is larger than M, namely M tasks are randomly distributed, the distribution is started from the first processor again;
and circularly executing the distribution process until I particles which are in one-to-one correspondence with the I task distribution modes are obtained.
Here, when M is larger than M, i.e. M tasks have been randomly allocated to M processors, and after each processor is allocated one task, the tasks are allocated again from the first processor, i.e. one task is randomly selected from the remaining N-M tasks to be allocated to the first processor, one task is randomly selected from the remaining N-M-1 tasks to be allocated to the second processor, and so on.
Further, the processing module 12 is further configured to perform a mutation operation on the task allocation manner in the updated processor allocation scheme when the task allocation manner with the shortest required time does not meet the requirement.
Specifically, when the acquired task allocation mode with the shortest required time does not meet the requirement, that is, the difference between the time required for all N tasks to complete in the M processors in the task allocation mode with the shortest required time and the ideal time required for all N tasks to complete in the M processors is greater than a preset time threshold, performing a mutation operation on the task allocation mode in the updated processor allocation scheme, and then continuing to perform local optimization by using a particle swarm algorithm.
Here, the number of performing mutation operations on the task allocation manners in the updated processor allocation scheme may be that mutation operations are performed according to a genetic algorithm on one or more task allocation manners of all Q task allocation manners, and the number of performing mutation operations may be one or more; when one task allocation mode finishes more than one mutation operation, the task allocation mode with the shortest time required in all the new task allocation modes generated after mutation is taken as the task allocation mode after the task allocation mode is updated; after each task allocation mode in the Q task allocation modes executes mutation operation more than once, new task allocation modes with the quantity larger than Q are generated, the time required for all N tasks to complete in the M processors in each new task allocation mode is calculated, and the Q new task allocation modes with the shortest required time are used as the updated task allocation modes to ensure that the processor allocation schemes obtained after updating contain the Q task allocation modes.
When the task distribution mode with the shortest required time does not meet the requirement, namely the whole particle swarm falls into the local optimum, the position and the speed of the particle are changed by performing mutation operation on any task distribution mode, so that the whole particle swarm jumps out of the local optimum to continue optimizing.
In practical applications, the initialization module 11 and the processing module 12 may be implemented by a Central Processing Unit (CPU), a microprocessor unit (MPU), a Digital Signal Processor (DSP), a Field Programmable Gate Array (FPGA), or the like in the terminal.
The above description is only a preferred embodiment of the present invention, and is not intended to limit the scope of the present invention. Any modification, equivalent replacement, and improvement made within the spirit and scope of the present invention are included in the protection scope of the present invention.

Claims (12)

1. A method for task scheduling, the method comprising:
repeatedly executing task random allocation operation to obtain an initial processor allocation scheme containing Q task allocation modes; the task random allocation operation is to randomly allocate all the N tasks to the M processors; m, N, Q is a natural number and M < N;
the following operations are repeatedly executed until a final task allocation mode is found:
updating the processor allocation scheme based on local search and global search, and calculating the time required for all N tasks to be completed in M processors under each task allocation mode in the updated processor allocation scheme;
and when the task allocation mode with the shortest required time meets the requirement, taking the task allocation mode with the shortest required time as the final task allocation mode of task scheduling.
2. The method of claim 1, further comprising:
and when the task allocation mode with the shortest required time does not meet the requirement, performing mutation operation on the task allocation mode in the updated processor allocation scheme.
3. The method of claim 1 or 2, wherein said randomly distributing all N tasks among M processors comprises:
random selection of [1, M]An integer random number m in between1And randomly selecting one task from all the N tasks to be distributed to the m-th task1A processor; random selection of [1, M]An integer random number m in between2And randomly selecting one task from the rest N-1 tasks to be distributed to the m < th > task2A processor; and circulating until all N tasks are distributed to the M processors, and obtaining a task distribution mode.
4. The method of claim 1 or 2, wherein updating the processor allocation scheme based on the local search and the global search comprises:
performing local search on a current processor allocation scheme by utilizing a particle swarm algorithm to obtain a local optimal task allocation mode in the current processor allocation scheme;
taking the time required for all N tasks to complete in M processors under the local optimal task allocation mode in the current processor allocation scheme as first time; the time required for all N tasks to be completed in the M processors in the global optimal task allocation mode in the current processor allocation scheme is taken as second time;
when the first time is determined to be less than or equal to the second time, replacing the global optimal task allocation mode in the current processor allocation scheme with the local optimal task allocation mode in the current processor allocation scheme;
and executing cross operation on the task allocation mode in the current processor allocation scheme to obtain an updated processor allocation scheme.
5. The method according to claim 4, wherein the local search of the current processor allocation scheme by using the particle swarm optimization to obtain the local optimal task allocation mode in the current processor allocation scheme comprises:
randomly generating an initial particle swarm which comprises I particles and each particle is in a task distribution mode, and adding a global optimal task distribution mode in the current processor distribution scheme as an initial optimal particle of the initial particle swarm into the initial particle swarm;
according toUpdating the velocity V of particle i at the k +1 th iterationi(K +1), I is more than or equal to 1 and less than or equal to I +1, and K is more than or equal to 0 and less than or equal to K-1; wherein, Xgbest(k) Representing the position, X, of the optimal particle in the population of particles before the (k +1) th iterationibest(k) Represents the optimal position of particle i before the (k +1) th iteration,representing the cross operation, and K is the set maximum iteration number; the optimal particles are the particles with the minimum fitness value in the particle swarm; the fitness value is the time required for the particles to complete all N tasks in M processors in the corresponding task allocation mode;
according toUpdating the position X of particle i at the k +1 th iterationi(k+1);
Calculating the fitness value of the particle i in the (k +1) th iteration, and updating the optimal position X of the particle i after the (k +1) th iteration according to the fitness value of the particle i in the (k +1) th iterationibest(k +1), and updating the optimal particle in the population of particles after the k +1 th iteration and the position X of the updated optimal particle in the population of particlesgbest(k+1);
When the iteration number K +1 is smaller than K and the adaptability value of the optimal particle in the particle swarm is smaller than a set first threshold or the iteration number K +1 is equal to K, taking a task distribution mode corresponding to the optimal particle in the particle swarm as a local optimal task distribution mode in the current processor distribution scheme;
when the iteration times K +1 are smaller than K and the fitness value of the optimal particles in the particle swarm is larger than or equal to a set first threshold value, calculating the similarity value between the particles in the particle swarm after the K +1 th iteration, and if the similarity value is larger than or equal to a set second threshold value, performing mutation operation on the positions of the particles.
6. The method of claim 5, wherein randomly generating an initial population of particles comprising I particles, each particle being a task allocation, comprises:
randomly selecting one task from all N tasks to be distributed to a first processor; randomly selecting one task from the remaining N-1 tasks to be distributed to the second processor; randomly selecting one task from the rest N-M tasks to be distributed to the mth processor, wherein M is more than or equal to 3 and less than or equal to M; circulating until all N tasks are distributed to M processors to obtain a particle corresponding to a task distribution mode; when M is larger than M, namely M tasks are randomly distributed, the distribution is started from the first processor again;
and circularly executing the distribution process until I particles which are in one-to-one correspondence with the I task distribution modes are obtained.
7. A task scheduling apparatus, characterized in that the apparatus comprises: an initialization module and a processing module; wherein,
the initialization module is used for repeatedly executing task random allocation operation to obtain an initial processor allocation scheme containing Q task allocation modes; the task random allocation operation is to randomly allocate all the N tasks to the M processors; m, N, Q is a natural number and M < N;
the processing module is used for repeatedly executing the following operations until a final task allocation mode is found:
updating the processor allocation scheme based on local search and global search, and calculating the time required for all N tasks to be completed in M processors under each task allocation mode in the updated processor allocation scheme;
and when the task allocation mode with the shortest required time meets the requirement, taking the task allocation mode with the shortest required time as the final task allocation mode of task scheduling.
8. The apparatus of claim 7, wherein the processing module is further configured to perform a mutation operation on a task allocation pattern in the updated processor allocation scheme when the task allocation pattern with the shortest required time does not meet requirements.
9. The apparatus of claim 7 or 8, wherein the initialization module randomly allocates all of the N tasks among the M processors as:
random selection of [1, M]An integer random number m in between1And randomly selecting one task from all the N tasks to be distributed to the m-th task1A processor; random selection of [1, M]An integer random number m in between2And randomly selecting one task from the rest N-1 tasks to be distributed to the m < th > task2A processor; looping through this until all N tasks are assignedFor the M processors, a task allocation pattern is obtained.
10. The apparatus of claim 7 or 8, wherein the processing module updates a processor allocation scheme based on the local search and the global search to:
performing local search on a current processor allocation scheme by utilizing a particle swarm algorithm to obtain a local optimal task allocation mode in the current processor allocation scheme;
taking the time required for all N tasks to complete in M processors under the local optimal task allocation mode in the current processor allocation scheme as first time; the time required for all N tasks to be completed in the M processors in the global optimal task allocation mode in the current processor allocation scheme is taken as second time;
when the first time is determined to be less than or equal to the second time, replacing the global optimal task allocation mode in the current processor allocation scheme with the local optimal task allocation mode in the current processor allocation scheme;
and executing cross operation on the task allocation mode in the current processor allocation scheme to obtain an updated processor allocation scheme.
11. The apparatus according to claim 10, wherein the processing module performs local search on a current processor allocation scheme by using a particle swarm optimization, and the local optimal task allocation manner in the current processor allocation scheme is obtained by:
randomly generating an initial particle swarm which comprises I particles and each particle is in a task distribution mode, and adding a global optimal task distribution mode in the current processor distribution scheme as an initial optimal particle of the initial particle swarm into the initial particle swarm;
according toUpdating the velocity V of particle i at the k +1 th iterationi(K +1), I is more than or equal to 1 and less than or equal to I +1, and K is more than or equal to 0 and less than or equal to K-1; wherein, Xgbest(k) Representing the position, X, of the optimal particle in the population of particles before the (k +1) th iterationibest(k) Represents the optimal position of particle i before the (k +1) th iteration,representing the cross operation, and K is the set maximum iteration number; the optimal particles are the particles with the minimum fitness value in the particle swarm; the fitness value is the time required for the particles to complete all N tasks in M processors in the corresponding task allocation mode;
according toUpdating the position X of particle i at the k +1 th iterationi(k+1);
Calculating the fitness value of the particle i in the (k +1) th iteration, and updating the optimal position X of the particle i after the (k +1) th iteration according to the fitness value of the particle i in the (k +1) th iterationibest(k +1), and updating the optimal particle in the population of particles after the k +1 th iteration and the position X of the updated optimal particle in the population of particlesgbest(k+1);
When the iteration number K +1 is smaller than K and the adaptability value of the optimal particle in the particle swarm is smaller than a set first threshold or the iteration number K +1 is equal to K, taking a task distribution mode corresponding to the optimal particle in the particle swarm as a local optimal task distribution mode in the current processor distribution scheme;
when the iteration times K +1 are smaller than K and the fitness value of the optimal particles in the particle swarm is larger than or equal to a set first threshold value, calculating the similarity value between the particles in the particle swarm after the K +1 th iteration, and if the similarity value is larger than or equal to a set second threshold value, performing mutation operation on the positions of the particles.
12. The apparatus of claim 11, wherein the processing module randomly generates an initial population of particles comprising I particles, each particle being a task allocation as:
randomly selecting one task from all N tasks to be distributed to a first processor; randomly selecting one task from the remaining N-1 tasks to be distributed to the second processor; randomly selecting one task from the rest N-M tasks to be distributed to the mth processor, wherein M is more than or equal to 3 and less than or equal to M; circulating until all N tasks are distributed to M processors to obtain a particle corresponding to a task distribution mode; when M is larger than M, namely M tasks are randomly distributed, the distribution is started from the first processor again;
and circularly executing the distribution process until I particles which are in one-to-one correspondence with the I task distribution modes are obtained.
CN201610715089.9A 2016-08-24 2016-08-24 A kind of method for scheduling task and device Withdrawn CN107783831A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201610715089.9A CN107783831A (en) 2016-08-24 2016-08-24 A kind of method for scheduling task and device
PCT/CN2017/091802 WO2018036282A1 (en) 2016-08-24 2017-07-05 Task scheduling method, device and computer storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610715089.9A CN107783831A (en) 2016-08-24 2016-08-24 A kind of method for scheduling task and device

Publications (1)

Publication Number Publication Date
CN107783831A true CN107783831A (en) 2018-03-09

Family

ID=61245454

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610715089.9A Withdrawn CN107783831A (en) 2016-08-24 2016-08-24 A kind of method for scheduling task and device

Country Status (2)

Country Link
CN (1) CN107783831A (en)
WO (1) WO2018036282A1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110717684A (en) * 2019-10-15 2020-01-21 西安工程大学 Task allocation method based on task allocation coordination strategy and particle swarm optimization
CN111343259A (en) * 2020-02-17 2020-06-26 武汉轻工大学 Binary code-based cloud task scheduling method, server and storage medium
CN112766781A (en) * 2021-01-27 2021-05-07 重庆航凌电路板有限公司 Production task allocation method and system for equipment
CN112925636A (en) * 2019-12-06 2021-06-08 北京沃东天骏信息技术有限公司 Request scheduling and processing method and device
CN114968520A (en) * 2022-05-19 2022-08-30 北京百度网讯科技有限公司 Task searching method and device, server and storage medium

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109343966B (en) * 2018-11-01 2023-04-07 西北工业大学 Cluster organization method and device for unmanned nodes
CN110400073B (en) * 2019-07-24 2023-07-28 河南工业大学 FSP method and system based on multi-direction convergence particle swarm optimization algorithm
CN110991808B (en) * 2019-11-06 2022-06-28 中国建设银行股份有限公司 Task allocation method and device
CN111191840B (en) * 2019-12-30 2024-02-02 沈阳理工大学 Multi-unmanned mobile platform task allocation method based on discrete particle swarm optimization algorithm
CN111427688B (en) * 2020-03-23 2023-08-11 武汉轻工大学 Cloud task multi-target scheduling method and device, electronic equipment and storage medium
JP7456298B2 (en) * 2020-06-04 2024-03-27 富士通株式会社 Optimization device, optimization method, and optimization program
CN112163706B (en) * 2020-09-30 2022-10-21 北京理工大学 Hybrid optimization method for unmanned platform marshalling under search task
CN112328364B (en) * 2020-11-05 2022-07-08 北京理工大学 Computing-intensive cloud workflow scheduling method based on farmland fertility algorithm
CN112465192B (en) * 2020-11-06 2024-05-17 浙江华睿科技股份有限公司 Task scheduling method, device, equipment and medium
CN112395059B (en) * 2020-11-16 2024-07-02 哈尔滨工程大学 CMP task scheduling method for improving firefly algorithm
CN112465318B (en) * 2020-11-17 2023-08-29 西北工业大学 Task allocation method for formation of heterogeneous underwater vehicles
CN112738049B (en) * 2020-12-23 2023-04-07 国网河北省电力有限公司电力科学研究院 Scanning strategy adjusting method and device, electronic equipment and storage medium
CN112785132B (en) * 2021-01-14 2022-10-21 北京理工大学 Task allocation method for multi-robot mobile shelf for intelligent warehouse
CN114296898A (en) * 2021-12-28 2022-04-08 万达信息股份有限公司 ARPSO-based edge computing task scheduling method
CN114638332B (en) * 2021-12-28 2024-03-01 西北工业大学 Task allocation method for reconnaissance robot based on multi-subgroup particle swarm algorithm
CN114968758A (en) * 2022-02-23 2022-08-30 南京邮电大学 Combined test case generation method based on divide-and-conquer particle swarm algorithm
CN115665154B (en) * 2022-09-27 2024-06-11 武汉轻工大学 Cloud task allocation method and equipment
CN116165542B (en) * 2023-03-01 2023-10-20 上海玫克生储能科技有限公司 Battery parameter identification method, device, equipment and storage medium
CN117032969B (en) * 2023-08-14 2024-09-03 北京凯思昊鹏软件工程技术有限公司 Task allocation method, system and device for heterogeneous multi-core processor and storage medium

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104408589A (en) * 2014-10-24 2015-03-11 陕西科技大学 AGV optimization scheduling method based on mixed particle swarm optimization

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101604258B (en) * 2009-07-10 2012-09-05 杭州电子科技大学 Task scheduling method for embedded heterogeneous multiprocessor system
CN102662743A (en) * 2012-04-13 2012-09-12 南京信息工程大学 Heuristic type coarse grain parallel grid task scheduling method
CN102866912A (en) * 2012-10-16 2013-01-09 首都师范大学 Single-instruction-set heterogeneous multi-core system static task scheduling method
CN103699446B (en) * 2013-12-31 2017-02-15 南京信息工程大学 Quantum-behaved particle swarm optimization (QPSO) algorithm based multi-objective dynamic workflow scheduling method
CN104765640B (en) * 2014-01-02 2018-02-16 中国科学院声学研究所 A kind of intelligent Service dispatching method

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104408589A (en) * 2014-10-24 2015-03-11 陕西科技大学 AGV optimization scheduling method based on mixed particle swarm optimization

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
JUN XU.ETC: "Research of Improved Particle Swarm Optimization Based on Genetic Algorithm for Hadoop Task Scheduling Problem", 《 ALGORITHMS AND ARCHITECTURES FOR PARALLEL PROCESSING》 *
崔光照等: "基于改进的粒子群遗传算法的DNA编码序列优化", 《计算机学报》 *
王东: "基于变异粒子群的聚类算法研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *
王波等: "基于粒子群遗传算法的云计算任务调度研究", 《计算机工程与应用》 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110717684A (en) * 2019-10-15 2020-01-21 西安工程大学 Task allocation method based on task allocation coordination strategy and particle swarm optimization
CN110717684B (en) * 2019-10-15 2022-06-17 西安工程大学 Task allocation method based on task allocation coordination strategy and particle swarm optimization
CN112925636A (en) * 2019-12-06 2021-06-08 北京沃东天骏信息技术有限公司 Request scheduling and processing method and device
CN111343259A (en) * 2020-02-17 2020-06-26 武汉轻工大学 Binary code-based cloud task scheduling method, server and storage medium
CN111343259B (en) * 2020-02-17 2022-08-12 武汉轻工大学 Binary code-based cloud task scheduling method, server and storage medium
CN112766781A (en) * 2021-01-27 2021-05-07 重庆航凌电路板有限公司 Production task allocation method and system for equipment
CN112766781B (en) * 2021-01-27 2024-08-09 重庆航凌电路板有限公司 Method and system for allocating production tasks of equipment
CN114968520A (en) * 2022-05-19 2022-08-30 北京百度网讯科技有限公司 Task searching method and device, server and storage medium
CN114968520B (en) * 2022-05-19 2023-11-24 北京百度网讯科技有限公司 Task searching method and device, server and storage medium

Also Published As

Publication number Publication date
WO2018036282A1 (en) 2018-03-01

Similar Documents

Publication Publication Date Title
CN107783831A (en) A kind of method for scheduling task and device
Gong et al. An effective memetic algorithm for multi-objective job-shop scheduling
Diwold et al. Performance evaluation of artificial bee colony optimization and new selection schemes
Masood et al. Many-objective genetic programming for job-shop scheduling
CN111325356A (en) Neural network search distributed training system and training method based on evolutionary computation
CN113821318B (en) Internet of things cross-domain subtask combination collaborative computing method and system
Visalakshi et al. Dynamic task scheduling with load balancing using hybrid particle swarm optimization
Lei Multi-objective artificial bee colony for interval job shop scheduling with flexible maintenance
Moon et al. Scalable community detection from networks by computing edge betweenness on mapreduce
Wang et al. A hybrid discrete cuckoo search for distributed permutation flowshop scheduling problem
Rabiee et al. Job scheduling in grid computing with cuckoo optimization algorithm
CN106022601B (en) Multi-target resource allocation method
CN110969362A (en) Multi-target task scheduling method and system under cloud computing system
Sivanandam et al. Dynamic task scheduling with load balancing using parallel orthogonal particle swarm optimisation
CN108399105B (en) Software and hardware partitioning method based on improved brainstorming algorithm
CN109885401B (en) Structured grid load balancing method based on LPT local optimization
Esfahanizadeh et al. Stream iterative distributed coded computing for learning applications in heterogeneous systems
CN116484948A (en) Event prediction method and device and electronic equipment
Wang et al. A three-stage method with efficient calculation for lot streaming flow-shop scheduling
Iranagh et al. A genetic algorithm for resource levelling of construction projects
CN113010319A (en) Dynamic workflow scheduling optimization method based on hybrid heuristic rule and genetic algorithm
CN113031522B (en) Low-power-consumption scheduling method suitable for periodically dependent tasks of open type numerical control system
CN114154827A (en) Equipment scheduling method and related device
CN103646282B (en) Method for parallel processing based on hybrid optimization algorithm
Amtade et al. Cuckoo search algorithm for job scheduling in cloud systems

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
WW01 Invention patent application withdrawn after publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20180309