Multi-core processor resource allocation method and system
The two-layer resource allocation model of multi-core processors is constructed through the improved NSGA-III algorithm, which solves the problems of resource coupling and conflict in resource allocation of multi-core processors, realizes adaptive resource allocation, and improves resource utilization and key characteristics of the system.
Patent Information
- Application Number
- CN202411810276.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-10
- Publication Date
- 2025-04-15
AI Technical Summary
In the process of multi-core processor resource allocation, there may be coupling and conflicting relationships in the optimization objective functions of computing resources, communication resources and storage resources. Especially in an integrated modular avionics system, due to the time isolation, spatial isolation and mutual independence of the application software, resource allocation is more complex and changeable, making it difficult to ensure the system's real-time and security key characteristics, while taking into account low cost and reusability.
The improved NSGA-III algorithm is used to build a two-layer resource allocation model for multi-core processor partitioning and processing modules. By building optimization objective functions and punishment functions, designing fitness functions to realize adaptive allocation of multi-core processor resources, ensuring the improvement of resource utilization.
The adaptive allocation of two-layer resources of multi-core processors is realized, which improves resource utilization, ensures the real-time and security of the system, while taking into account low cost and reusability.
Smart Images

Figure CN119829273A_ABST
Abstract
Description
Technical Field
[0001] The invention relates to the technical field of multi-core processor resource allocation optimization, and discloses a multi-core processor resource allocation method and system. Background Art
[0002] With the development of artificial intelligence, big data, cloud computing and the Internet of Things, the computing tasks undertaken by avionics systems are becoming increasingly complex, diverse and massive. Traditional single-core processors rely on increasing core frequency to improve performance. However, as Moore's Law advances and approaches physical limits, single-core processors are subject to multiple constraints such as energy consumption and access speed, making it difficult to meet high-performance real-time computing tasks.
[0003] Multi-core processors can effectively control energy consumption while improving processor performance by controlling logic to process multiple tasks in parallel and by reducing processor core frequency, and they have the advantage of being easy to expand. However, due to the complexity and diversity of tasks processed by multi-core processors, it is necessary to rationally allocate multi-core processor resources according to their task characteristics and resource requirements. For example, in avionics systems, resident application software such as information signal processing software, electronic warfare system software, and fault-tolerant reconstruction software have strong real-time and high security requirements. If the task is completed beyond the time limit, it is likely to have a serious impact on the system security. Therefore, rational allocation of multi-core processor resources is an effective means to ensure the key characteristics of the system such as security and real-time and improve resource utilization.
[0004] However, in the process of multi-processor resource allocation, the objective functions of computing resources, communication resources and storage resources optimization involved may have certain coupling and conflict relationships. At the same time, for the integrated modular avionics (IMA) system, due to the characteristics of time isolation, space isolation and mutual independence of the application software running on it, its resource allocation is more complex and changeable than that of the traditional architecture avionics system. Therefore, how to achieve the reasonable allocation of computing resources, communication resources and storage resources on multi-core processors to ensure the key characteristics of the system such as real-time and security, while taking into account the requirements of low cost and reusability, is a hot issue in the current theoretical research and engineering application fields. Summary of the invention
[0005] The object of the present invention is to provide a multi-core processor resource allocation method and system, which can realize dual-layer resource adaptive allocation of multi-core processors and improve resource utilization.
[0006] In order to achieve the above technical effects, the technical solution adopted by the present invention is:
[0007] A multi-core processor resource allocation method, comprising:
[0008] According to the minimization of the maximum task amount, the minimization of the partition communication cost and the minimization of the maximum partition memory, a multi-core processor partition allocation optimization objective function is constructed; the multi-core processor includes a plurality of processing modules, and each processing module has a plurality of partitions resident thereon;
[0009] Construct a penalty function for partition allocation based on the schedulability constraints of the response time task and the task allocation constraints;
[0010] Constructing a fitness function for partition allocation according to the partition allocation optimization objective function and the partition allocation penalty function;
[0011] The improved NSGA-III algorithm is used to solve the Pareto solution set of the partition allocation fitness function;
[0012] constructing a processing module allocation optimization function according to minimization of the standard deviation of processing module load, minimization of processing module communication cost and minimization of processing module communication cost, wherein the processing module includes a plurality of the partitions;
[0013] According to the schedulable constraints of task response time, network bandwidth constraints, memory constraints and module allocation constraints, a penalty function for processing module allocation is constructed;
[0014] Constructing a processing module allocation fitness function according to the processing module allocation optimization objective function and the processing module allocation penalty function;
[0015] The individuals with the minimum Pareto solution of partition allocation fitness are taken as the parent population, and the improved NSGA-III algorithm is used to solve the Pareto solution set of the processing module allocation fitness function, and the solution with the minimum processing module allocation fitness is selected as the processor resource allocation solution.
[0016] Furthermore, the method of using the improved NSGA-III algorithm to solve the Pareto solution set of the partition allocation fitness function includes:
[0017] 1) Initialize the population as the parent population;
[0018] 2) Use simulated binary crossover operator to perform population crossover;
[0019] 3) Use binomial mutation to mutate the population and generate offspring population;
[0020] 4) Merge the parent population and the offspring population;
[0021] 5) Perform non-dominated sorting calculation, crowding calculation and fitness calculation on the merged population to obtain the Pareto solution of the partition allocation fitness function;
[0022] 6) The objective function is normalized to generate reference point associations and generate new populations;
[0023] 7) Determine whether the maximum number of iterations has been reached. If not, return to step 2) to continue iterating. If yes, the iteration ends and the Pareto solution of the partition allocation fitness function is output.
[0024] Furthermore, the method of using the improved NSGA-III algorithm to solve the Pareto solution set of the processing module allocation fitness function includes:
[0025] Select the individual with the Pareto solution that minimizes fitness in step 7) as the parent population;
[0026] Repeat steps 2) to 5) to obtain the Pareto solution of the adaptive function;
[0027] The objective function is normalized to generate reference point associations and generate new populations;
[0028] Determine whether the maximum number of iterations has been reached. If not, continue the iteration; if so, the iteration ends and the output processing module allocates the Pareto solution of the fitness function.
[0029] In order to achieve the above technical effects, the present invention also provides a multi-core processor resource allocation system, comprising:
[0030] The first function building module is used to build a multi-core processor partition allocation optimization objective function based on minimizing the maximum task amount, minimizing the partition communication cost, and minimizing the maximum partition memory;
[0031] The second function building module is used to build a penalty function for partition allocation according to the schedulability constraint of the response time task and the task allocation constraint;
[0032] A third function construction module is used to construct a fitness function of partition allocation according to the partition allocation optimization objective function and the partition allocation penalty function;
[0033] The first analysis module is used to solve the Pareto solution set of the partition allocation fitness function using the improved NSGA-III algorithm;
[0034] a fourth function construction module, for constructing a processing module allocation optimization function according to minimization of a standard deviation of a processing module load, minimization of a processing module communication cost, and minimization of a processing module communication cost, wherein the processing module includes a plurality of the partitions;
[0035] The fifth function building module is used to build a penalty function for processing module allocation according to the schedulable constraints of task response time, network bandwidth constraints, memory constraints and module allocation constraints;
[0036] a sixth function construction module, used to construct a processing module allocation fitness function according to the processing module allocation optimization objective function and the processing module allocation penalty function;
[0037] The second analysis module is used to use the individuals with the smallest Pareto solution of the partition allocation fitness as the parent population, and adopt the improved NSGA-III algorithm to solve the Pareto solution set of the processing module allocation fitness function.
[0038] Furthermore, in the first analysis module, the method of using the improved NSGA-III algorithm to solve the Pareto solution set of the partition allocation fitness function includes:
[0039] 1) Initialize the population as the parent population;
[0040] 2) Use simulated binary crossover operator to perform population crossover;
[0041] 3) Use binomial mutation to mutate the population and generate offspring population;
[0042] 4) Merge the parent population and the offspring population;
[0043] 5) Perform non-dominated sorting calculation, crowding calculation and fitness calculation on the merged population to obtain the Pareto solution of the partition allocation fitness function;
[0044] 6) The objective function is normalized to generate reference point associations and generate new populations;
[0045] 7) Determine whether the maximum number of iterations has been reached. If not, return to step 2) to continue iterating. If yes, the iteration ends and the Pareto solution of the partition allocation fitness function is output.
[0046] Furthermore, in the second analysis module, the method of using the improved NSGA-III algorithm to solve the Pareto solution set of the processing module allocation fitness function includes:
[0047] Select the individual with the Pareto solution that minimizes fitness in step 7) as the parent population;
[0048] Repeat steps 2) to 5) to obtain the Pareto solution of the adaptive function;
[0049] The objective function is normalized to generate reference point associations and generate new populations;
[0050] Determine whether the maximum number of iterations has been reached. If not, continue iterating; if so, end the iteration, output the Pareto solution of the processing module allocation fitness function, and select the solution with the smallest processing module allocation fitness as the processor resource allocation solution.
[0051] Compared with the prior art, the beneficial effects of the present invention are as follows: on the basis of constructing a multi-core processor partition resource allocation model and a node resource allocation model, the present invention designs a fitness function with optimization objective function and penalty function as factors, and adopts an improved NSGA-III algorithm to find the optimal solution of the fitness function, thereby realizing two-layer resource adaptive allocation of multi-core processors and improving resource utilization. BRIEF DESCRIPTION OF THE DRAWINGS
[0052] Figure 1 It is a flow chart of a multi-core processor resource allocation method based on improved NAGA-III in an embodiment;
[0053] Figure 2 It is a structural block diagram of a multi-core processor resource allocation system based on improved NAGA-III in the embodiment;
[0054] Among them, 1. the first function construction module; 2. the second function construction module; 3. the third function construction module; 4. the first analysis module; 5. the fourth function construction module; 6. the fifth function construction module; 7. the sixth function construction module; 8. the second analysis module. DETAILED DESCRIPTION
[0055] The present invention is further described in detail below in conjunction with the embodiments and drawings. However, it should not be understood that the scope of the above subject matter of the present invention is limited to the following embodiments, and all technologies realized based on the content of the present invention belong to the scope of the present invention.
[0056] Example 1
[0057] See also Figure 1-Figure 2 , a multi-core processor resource allocation method, comprising:
[0058] According to the minimization of the maximum task amount, the minimization of the partition communication cost and the minimization of the maximum partition memory, a multi-core processor partition allocation optimization objective function is constructed; the multi-core processor includes a plurality of processing modules, and each processing module has a plurality of partitions resident thereon;
[0059] Construct a penalty function for partition allocation based on the schedulability constraints of the response time task and the task allocation constraints;
[0060] Constructing a fitness function for partition allocation according to the partition allocation optimization objective function and the partition allocation penalty function;
[0061] The improved NSGA-III algorithm is used to solve the Pareto solution set of the partition allocation fitness function;
[0062] constructing a processing module allocation optimization function according to minimization of the standard deviation of processing module load, minimization of processing module communication cost and minimization of processing module communication cost, wherein the processing module includes a plurality of the partitions;
[0063] According to the schedulable constraints of task response time, network bandwidth constraints, memory constraints and module allocation constraints, a penalty function for processing module allocation is constructed;
[0064] Constructing a processing module allocation fitness function according to the processing module allocation optimization objective function and the processing module allocation penalty function;
[0065] The individuals with the minimum Pareto solution of partition allocation fitness are taken as the parent population, and the improved NSGA-III algorithm is used to solve the Pareto solution set of the processing module allocation fitness function, and the solution with the minimum processing module allocation fitness is selected as the processor resource allocation solution.
[0066] In this embodiment, on the basis of constructing a multi-core processor partition resource allocation model and a node resource allocation model, a fitness function is designed with optimization objective function and penalty function as factors, and an improved NSGA-III algorithm is used to find the optimal solution of the fitness function, thereby realizing two-layer resource adaptive allocation of multi-core processors and improving resource utilization.
[0067] Based on the same inventive concept, this embodiment also provides a multi-core processor resource allocation system, including:
[0068] The first function construction module 1 is used to construct a multi-core processor partition allocation optimization objective function according to minimization of the maximum task amount, minimization of the partition communication cost and minimization of the maximum partition memory;
[0069] The second function building module 2 is used to build a penalty function for partition allocation according to the schedulability constraint of the response time task and the task allocation constraint;
[0070] A third function construction module 3 is used to construct a fitness function of partition allocation according to the partition allocation optimization objective function and the partition allocation penalty function;
[0071] The first analysis module 4 is used to solve the Pareto solution set of the partition allocation fitness function by using the improved NSGA-III algorithm;
[0072] A fourth function construction module 5, for constructing a processing module allocation optimization function according to minimization of the standard deviation of the processing module load, minimization of the processing module communication cost and minimization of the processing module communication cost, wherein the processing module includes a plurality of the partitions;
[0073] A fifth function construction module 6 is used to construct a penalty function for processing module allocation according to the schedulable constraints of task response time, network bandwidth constraints, memory constraints and module allocation constraints;
[0074] A sixth function construction module 7, used to construct a processing module allocation fitness function according to the processing module allocation optimization objective function and the processing module allocation penalty function;
[0075] The second analysis module 8 is used to use the individual with the minimum Pareto solution of the partition allocation fitness as the parent population, use the improved NSGA-III algorithm to solve the Pareto solution set of the processing module allocation fitness function, and select the solution with the minimum processing module allocation fitness as the processor resource allocation solution.
[0076] Example 2
[0077] This embodiment takes the integrated modular avionics system (IMA system) as an example to explain in detail the process of a multi-core processor resource allocation method based on the improved NAGA-III of the present invention. According to the design principle of IMA, the dual-layer allocation idea of processor resources proposed in this embodiment (such as Figure 1 The task set is the set of applications that reside during the operation of IMA. The first-level allocation divides the tasks into task groups. Each task group resides in a partition. The tasks in the partition should meet the schedulability constraints and task allocation constraints. A partition allocation model is established for solution to obtain the CPU utilization, bandwidth and memory overhead of the partition. The second-level allocation allocates the partition to each processing module, establishes a processing module allocation model, and optimizes the solution to obtain the CPU utilization, bandwidth and memory overhead of each processing module and the final allocation result. The specific allocation steps are as follows:
[0078] Step 1: Construct the multi-core processor partition allocation optimization objective function Q based on minimizing the maximum task volume, minimizing the partition communication cost, and minimizing the maximum partition memory. Γ ;
[0079] In the multi-core processor of the IMA system of this embodiment, the design includes n N processing modules, each of which hosts n P partitions to complete the n functions of the avionics system Γ task.
[0080] In processor real-time scheduling theory, processing tasks are characterized as triples <C i ,D i ,T i >, where C i represents the worst execution time of the i-th task, D i represents the relative deadline of the i-th task, T i represents the cycle of the i-th task. Considering the three types of resources, namely computing, communication and storage, the task Γ i The model representation is Where P iri Represents the task Γ i The priority of To perform the task i The amount of memory used when . Define task Γ i To task Γ j The communication cost is The corresponding communication cost matrix E Γ Expressed as
[0081] Definition A Γ Indicates the task assignment status. Represents the task Γ i Assigned to partition P j , then task Γ i Allocation status It can be expressed as
[0082] In this embodiment, the partition allocation allocates the divided task groups to their respective partitions, wherein:
[0083] To optimize the load standard deviation, the maximum number of tasks per partition should be minimized, i.e.
[0084] To reduce the occupation of communication resources, the communication cost of each partition should be minimized. The ARINC653 protocol does not consider the communication cost between tasks in the same partition, so the minimum communication cost within the partition is Expressed as
[0085] in, represents the total cost of all task communications, represents the communication cost of tasks assigned to the same partition;
[0086] In order to reduce the load standard deviation of each processing module, the maximum value of all memory usage in each partition is Q3 Γ should be minimized, i.e.
[0087] Therefore, in order to simultaneously meet the three allocation goals of minimizing the maximum partition task volume, minimizing the partition communication cost, and minimizing the maximum partition memory usage, the partition allocation optimization objective function Q Γ Expressed as Among them, β1, β2 and β3 represent the corresponding normalization constants, β1 is the reciprocal of the total number of tasks, β2 is the reciprocal of the total bandwidth required by the task, and β3 is the reciprocal of the total memory required by the task.
[0088] Step 2: Scheduling constraints based on response time tasks Task Assignment Constraints Construct the penalty function P for partition assignment Γ ;
[0089] In this embodiment, in order to ensure the real-time performance of the IMA system, the task must be completed within the deadline, so the task Γ i The sufficient condition for schedulability is in U j Represents partition P j The sum of the CPU utilization of all tasks in Represents the task Γ i CPU utilization.
[0090] To prevent a task from not being executed because it is not assigned to a partition, the task assignment constraint is expressed as
[0091] In summary, the resource constraints within the partition establish the penalty function P Γ Expressed as
[0092] Step 3: Optimize the objective function Q according to the partition allocation Γ and the penalty function P for partition assignment Γ , construct the fitness function F of partition allocation i Γ ;
[0093] In this embodiment, the objective function and penalty function are combined with the partition allocation optimization, and the fitness function of the individuals in the population is expressed as:
[0094]
[0095] in, Indicates the worst individual fitness in the population.
[0096] Step 4: Use the improved NSGA-III algorithm to solve the partition allocation fitness function F i Γ The Pareto solution set of ;
[0097] In this embodiment, the improved NSGA-III algorithm is used to solve the partition allocation fitness function F i Γ The methods for finding the Pareto solution set include:
[0098] 1) Initialize the population as the parent population;
[0099] 2) Use simulated binary crossover operator to perform population crossover;
[0100] 3) Use binomial mutation to mutate the population and generate offspring population;
[0101] 4) Merge the parent population and the offspring population;
[0102] 5) Perform non-dominated sorting calculation, crowding calculation and fitness calculation on the merged population to obtain the Pareto solution of the partition allocation fitness function;
[0103] 6) The objective function is normalized to generate reference point associations and generate new populations;
[0104] 7) Determine whether the maximum number of iterations has been reached. If not, return to step 2) and continue iterating. If yes, the iteration ends and outputs F. i Γ Pareto solution. On the one hand, the diversity and convergence of the population are guaranteed by non-dominated sorting and crowding distance sorting. On the other hand, the reference point mechanism is introduced to retain non-dominated individuals close to the reference point to improve the optimization ability of the Pareto optimal solution set of the adaptive function.
[0105] Step 5: construct a processing module allocation optimization function according to minimizing the standard deviation of processing module load, minimizing the communication cost of processing modules and minimizing the communication cost of processing modules, wherein the processing module includes a plurality of the partitions;
[0106] In this embodiment, in order to avoid large differences in module load, such as too large or idle, load balancing is considered to improve the execution speed of tasks. Standard deviation can be used to measure the deviation of load, and minimize it to reduce the deviation of module load. Minimize the standard deviation of module load It can be expressed as Represents the average load of all processing modules, For processing module n k of load, and γ1, γ2 and γ3 are the corresponding load weights, and the decision maker designs the weight values based on experience. Indicates the CPU utilization of the processing module. represents the communication matrix between partitions, Indicates processing module n k memory resources.
[0107] Since memory communication is more efficient and reliable than network bus communication, and memory has a larger bandwidth than the network bus, memory communication is used in the same processing module, and the cost of memory communication between modules is ignored. Therefore, the minimization of the communication cost between modules is expressed as
[0108] In order to avoid large differences in the memory usage of the processing modules, the maximum value of the memory usage of the processing modules should be minimized, that is,
[0109] Therefore, the optimization function for processing module allocation is expressed as ω1 is the reciprocal of the total number of processing modules, ω2 is the reciprocal of the total bandwidth of the processing modules, and ω3 is the normalization constant related to the reciprocal of the total amount of memory in the processing modules.
[0110] Step 6: Scheduling constraints based on task response time Network bandwidth constraints Memory Constraints and module allocation constraints Construct the penalty function P for processing module allocation P ;
[0111] In this embodiment, the partitions in the processing module should meet the resource constraints:
[0112] 1) Scheduling constraint: There is always a sufficiently small main time frame and a set of minimum partition coefficients to make the partition task schedulable. The schedulability constraint of the task within the partition is expressed as
[0113] 2) Network bandwidth constraint: The total bandwidth occupied by the partitions running in each processing module cannot exceed the maximum bandwidth of the node. In this embodiment, there are n partitions running in the processing module. p The total bandwidth occupied by Cannot exceed the maximum bandwidth constraint of the module Right now
[0114] 3) Memory constraint: The total memory occupied by the partitions running in each processing module cannot exceed the maximum memory of the node. p The total memory occupied by The maximum memory constraint of the module cannot be exceeded, i.e.
[0115] 4) Partition allocation constraint: Each partition should be assigned to a corresponding processing module and can only be assigned to one processing module. In this embodiment, the partition allocation constraint is similar to the task allocation rule. Partitions are not allowed to migrate between modules, and each partition is assigned to and can only be assigned to one processing module, which is expressed as
[0116] Combined with the above resource constraints, the penalty function for partition allocation on the processing module is expressed as
[0117]
[0118] Step 7: Optimize the objective function Q according to the processing module allocation p and the penalty function P assigned by the processing module p, construct the processing module allocation fitness function F i p ;
[0119] In this embodiment, the fitness function of individuals in the population is expressed as in, Indicates the worst individual fitness in the population.
[0120] Step 8: Take the individual with the smallest Pareto solution of partition allocation fitness as the parent population, and use the improved NSGA-III algorithm to solve the processing module allocation fitness function F i p The Pareto solution set is selected, and the solution with the minimum processing module allocation fitness is selected as the processor resource allocation solution;
[0121] In this embodiment, the improved NSGA-III algorithm is used to solve the processing module allocation fitness function F i p The methods for finding the Pareto solution set include:
[0122] Select the individual with the Pareto solution that minimizes fitness in step 7) as the parent population;
[0123] Repeat steps 2) to 5) to obtain the adaptive function F i p The Pareto solution of .
[0124] The objective function is normalized to generate reference point associations and generate new populations;
[0125] Determine whether the maximum number of iterations has been reached. If not, continue iterating; if so, the iteration ends and the Pareto solution is output.
[0126] This embodiment aims at the resource allocation problem of multi-core processors in an integrated modular avionics architecture. First, the task scheduling requirements and resource allocation balance factors of the IMA system are considered, and a partition resource allocation model and a node resource allocation model are constructed respectively. A fitness function with optimization objective function and penalty function as factors is designed; then, an improved NSGA-III algorithm is used to realize the two-layer resource allocation of IMA by finding the optimal solution of the fitness function. On the one hand, the invention ensures the diversity and convergence of the population by non-dominated sorting and crowding distance sorting. On the other hand, the reference point mechanism is introduced to retain non-dominated individuals of the population close to the reference point, so as to improve the optimization ability of the Pareto optimal solution set of the adaptive function. It provides a new idea for the adaptive allocation of resources of IMA multi-core processors, which has practical engineering significance.
[0127] The above are only preferred embodiments of the present invention and are not intended to limit the present invention. Any modifications, equivalent substitutions and improvements made within the spirit and principles of the present invention should be included in the protection scope of the present invention.
Claims
1. A multi-core processor resource allocation method, characterized in that: include: Based on minimizing the maximum task volume, minimizing the partition communication cost, and minimizing the maximum partition memory, the multi-core processor partition allocation optimization objective function is constructed; The multi-core processor includes a plurality of processing modules, and each processing module has a plurality of partitions resident thereon; Construct a penalty function for partition allocation based on the schedulability constraints of the response time task and the task allocation constraints; Constructing a fitness function for partition allocation according to the partition allocation optimization objective function and the partition allocation penalty function; The improved NSGA-III algorithm is used to solve the Pareto solution set of the partition allocation fitness function; constructing a processing module allocation optimization function according to minimization of the standard deviation of processing module load, minimization of processing module communication cost and minimization of processing module communication cost, wherein the processing module includes a plurality of the partitions; According to the schedulable constraints of task response time, network bandwidth constraints, memory constraints and module allocation constraints, a penalty function for processing module allocation is constructed; Constructing a processing module allocation fitness function according to the processing module allocation optimization objective function and the processing module allocation penalty function; The individuals with the minimum Pareto solution of partition allocation fitness are taken as the parent population, and the improved NSGA-III algorithm is used to solve the Pareto solution set of the processing module allocation fitness function, and the solution with the minimum processing module allocation fitness is selected as the processor resource allocation solution.
2. The multi-core processor resource allocation method according to claim 1, characterized in that: The method of using the improved NSGA-III algorithm to solve the Pareto solution set of the partition allocation fitness function includes: 1) Initialize the population as the parent population; 2) Use simulated binary crossover operator to perform population crossover; 3) Use binomial mutation to mutate the population and generate offspring population; 4) Merge the parent population and the offspring population; 5) Perform non-dominated sorting calculation, crowding calculation and fitness calculation on the merged population to obtain the Pareto solution of the partition allocation fitness function; 6) The objective function is normalized to generate reference point associations and generate new populations; 7) Determine whether the maximum number of iterations has been reached. If not, return to step 2) to continue iterating. If yes, the iteration ends and the Pareto solution of the partition allocation fitness function is output.
3. The multi-core processor resource allocation method according to claim 2, characterized in that: The method of using the improved NSGA-III algorithm to solve the Pareto solution set of the processing module allocation fitness function includes: Select the individual with the Pareto solution that minimizes fitness in step 7) as the parent population; Repeat steps 2) to 5) to obtain the Pareto solution of the adaptive function; The objective function is normalized to generate reference point associations and generate new populations; Determine whether the maximum number of iterations has been reached. If not, continue the iteration; if so, the iteration ends and the output processing module allocates the Pareto solution of the fitness function.
4. A multi-core processor resource allocation system, characterized in that: include: The first function building module is used to build a multi-core processor partition allocation optimization objective function based on minimizing the maximum task amount, minimizing the partition communication cost, and minimizing the maximum partition memory; The second function building module is used to build a penalty function for partition allocation according to the schedulability constraint of the response time task and the task allocation constraint; A third function construction module is used to construct a fitness function of partition allocation according to the partition allocation optimization objective function and the partition allocation penalty function; The first analysis module is used to solve the Pareto solution set of the partition allocation fitness function using the improved NSGA-III algorithm; a fourth function construction module, for constructing a processing module allocation optimization function according to minimization of a standard deviation of a processing module load, minimization of a processing module communication cost, and minimization of a processing module communication cost, wherein the processing module includes a plurality of the partitions; The fifth function building module is used to build a penalty function for processing module allocation according to the schedulable constraints of task response time, network bandwidth constraints, memory constraints and module allocation constraints; a sixth function construction module, used to construct a processing module allocation fitness function according to the processing module allocation optimization objective function and the processing module allocation penalty function; The second analysis module is used to use the individual with the minimum Pareto solution of the partition allocation fitness as the parent population, use the improved NSGA-III algorithm to solve the Pareto solution set of the processing module allocation fitness function, and select the solution with the minimum processing module allocation fitness as the processor resource allocation solution.
5. The multi-core processor resource allocation system according to claim 4, characterized in that: In the first analysis module, the method of using the improved NSGA-III algorithm to solve the Pareto solution set of the partition allocation fitness function includes: 1) Initialize the population as the parent population; 2) Use simulated binary crossover operator to perform population crossover; 3) Use binomial mutation to mutate the population and generate offspring population; 4) Merge the parent population and the offspring population; 5) Perform non-dominated sorting, crowding and fitness calculations on the merged population to obtain F i Γ The Pareto solution of 6) The objective function is normalized to generate reference point associations and generate new populations; 7) Determine whether the maximum number of iterations has been reached. If not, return to step 2) to continue iterating. If yes, the iteration ends and the Pareto solution of the partition allocation fitness function is output.
6. The multi-core processor resource allocation system according to claim 5, characterized in that: In the second analysis module, the method of using the improved NSGA-III algorithm to solve the Pareto solution set of the processing module allocation fitness function includes: Select the individual with the Pareto solution that minimizes fitness in step 7) as the parent population; Repeat steps 2) to 5) to obtain the Pareto solution of the adaptive function; The objective function is normalized to generate reference point associations and generate new populations; Determine whether the maximum number of iterations has been reached. If not, continue the iteration; if so, the iteration ends and the output processing module allocates the Pareto solution of the fitness function.
Citation Information
Patent Citations
Multi-stage dynamic multi-objective test resource allocation method based on GDE3
CN109240927A
Processor scheduling using a contention model
US20230133943A1