# Low-Power Task Scheduling Algorithm for the Multicore Processor System Based on the Genetic Algorithm

Authors: Xianning Li
Journal: Wireless Communications and Mobile Computing
 (2022)

---

## Abstract

In order to solve the periodic hard real-time tasks with dependencies on multicore processors, the author proposes a low-power task scheduling algorithm for multicore processor systems based on the genetic algorithm. This method first uses the RDAG algorithm to separate the tasks and then takes the lowest power consumption as the principle; a genetic algorithm is used to determine the task mapping. Experimental results show that based on the power consumption model of Intel PXA270, several random task sets are used for simulation experiments, which shows that this method saves 20% to 30% of the energy consumption compared with the existing methods. This method effectively shortens the completion time of tasks, improves the utilization efficiency of multicore system resources, improves the parallel computing capability of multicore systems, reduces the average response time of tasks, and improves the throughput and resource utilization of multicore systems.


---

## Body

## 1. Introduction

In recent years, research on single-chip multicore processor architecture has gradually increased, with many students using it for some connections; for example, the new server group is a multistudent connection [1]. However, if the multicore processor has not yet reached the end of the process, the operating system will not be able to use the quality of the standard varieties of the process at all if it is always used directly in the process. In addition to multicore processors, system-based scheduling technology is now one of the hotspots of research.At present, it is generally believed that the most promising task scheduling technology is to use heuristic method to group first and then use the genetic algorithm to schedule [2]. Based on this idea, the author proposes a new scheduling algorithm suitable for multicore processor parallel systems, the algorithm first allocates tasks according to the heuristic algorithm, in order to obtain a reasonable grouping scheme based on multicore processors, and the genetic algorithm is used for scheduling [3]. The problem of finding the best assignment for a task is usually an NP-complete problem, which has been proven in the literature. Heuristics are generally considered a feasible way to find near-optimal solutions to NP-complete problems. The author proposes an iteration-based heuristic algorithm to assign tasks to processors in multicore systems. The algorithm is based on the basic idea that multiple cores in the processor communicate through shared cache or through high-speed channel internal connections, and the communication overhead is negligible, and those tasks with frequent communication are assigned to the cores on the same processor for execution. This algorithm takes full advantage of the characteristics of multicore systems, and the communication overhead during task execution is reduced [4]. But the algorithm itself only considers the task allocation of the kernel on the multicore system and does not involve the task scheduling after the task allocation. Based on the proposed ideas and the characteristics of multicore systems, the author first assigns tasks to appropriate processors and then schedules tasks to a certain core in the processor for execution. In the process of task allocation and scheduling, the task allocation model in the literature is improved, and the idea of task scheduling based on replication is added; finally, the genetic algorithm is used to schedule tasks on each processor [5].Using a genetic algorithm scheduling strategy, explore how to complete the balanced distribution of tasks in multicore to achieve acceleration. Algorithms exploit the elasticity of system resources, automatically search for parallel subtasks, and allocate them to the corresponding computing nodes reasonably, which improves the resource scheduling performance of multicore systems; it realizes the optimal scheduling of tasks submitted by users and achieves the goal of balancing the computing load of each processor in the system and improving the overall performance of the multicore system, as shown in Figure1.Figure 1
Multicore processor based on the genetic algorithm.


## 2. Literature Review

With the maturity of multicore system hardware structure, the task scheduling problem of the multicore system has become the most important research direction in this field. Multicore systems are mainly composed of computing resources and communication resources; the scheduling problem of multicore systems can be summarized as the allocation of multiple computing resources and communication resources on the time axis [6]. An excellent resource scheduling algorithm can reasonably allocate the computing resources of multicore systems and effectively reduce the total execution time and total consumption of processor computing, so as to tap the potential performance of the system as much as possible. In supercomputers, there are already many solutions to related problems, for example, heuristic intelligent task scheduling based on the genetic algorithm and ant algorithm, agent technology derived from artificial intelligence, strictly defined mathematical object Petri net, and various task scheduling algorithms in multiclient multiserver mode [7]. However, the applications of the above-mentioned algorithms are mostly aimed at supercomputers, and although they have reference significance for micro-multicore systems, they cannot be directly applied. Moreover, special consideration should be given to the decomposition and scheduling of a single large task and the communication between subtasks. Genetic algorithms use simple coding technologies and procedures designed to represent complex situations and solve complex problems, and their solution can be considered the right process [8]. Genetic algorithms are used to perform a variety of scheduling tasks, using similar methods and solutions around the world to study genetic traits and determine the divisions needed to achieve the goal of equality. This shortens the time to complete tasks and increases the efficiency of the use of many basic resources [9].With the widespread application of wireless and mobile devices, the issue of power consumption has become increasingly prominent [10]. Power consumption is not a single problem; it is related to system security and heat dissipation costs. Therefore, low power consumption, as a key design requirement of real-time embedded systems, is receiving more and more attention. For multicore energy-saving task scheduling, Nucamendi-Guillén made an in-depth discussion, pointing out the problem of real-time energy-saving scheduling in multicore systems, which can be summarized into three aspects: allocation problem, priority problem, and speed regulation problem [11]. Zhang proposed an energy-efficient task assignment method based on heterogeneous multicore processors [12]. The method reduces the total energy consumption of the system by assigning tasks to two rounds. Nakada proposed a multiprocessor energy-efficient scheduling algorithm for periodic tasks [13]. The algorithm determines the minimum processor scheduling requirements through static analysis and dynamically scales the voltage of each processor under the condition of schedulability, thereby reducing the energy consumption of the entire system. Bahrami et al. propose a multicore energy-efficient task scheduling method for streaming media applications. After the method converts the dependent task set into independent tasks, the task mapping is determined with the principle of minimum energy consumption under the constraints of hard real-time conditions [14]. Nakada et al. proposed an energy-efficient task scheduling algorithm for homogeneous multicore processors [13]. After the task is independent, the algorithm arranges task mapping according to the principle of the shortest scheduling length and then performs frequency/voltage adjustment in each core to reduce system power consumption.These studies generally do not consider the voltage conversion energy of the tasks of each processor under different frequency/voltage modes, and the solutions obtained by some algorithms are approximate optimal solutions, and there is still room for optimization. Therefore, based on the current research status and through in-depth research, a method for energy-saving task scheduling based on the genetic algorithm is designed. In this method, the RDAG algorithm is used to separate the tasks first, and then, the genetic algorithm is used to determine the task mapping based on the principle of the lowest energy consumption [15]. Based on the IntelPXA270 power consumption model, several random task sets are used for simulation experiments, and the results show that the method is superior to the existing methods.


## 3. Methods

### 3.1. Tasks and Power Consumption

#### 3.1.1. Task Model

The task set can be abstracted as a directed acyclic graph, denoted asG=V,E,p,ET,CT,D, where V is the set of nodes, E is the set of directed edges, p is the set of iterations between nodes, ET is the set of execution cycles of tasks, CT is the set of communication cycles between tasks, and D is the set of task deadline [16]. For example, vi∈V and vj∈V represent the two tasks of the task set, respectively. eij represents the dependency of two tasks; that is, task vj is executed after vi. peij=k (k is a constant) means that task vj is executed in the kth round after task vi. Eti∈ET represents the number of cycles executed by task vi, and Ctij∈CT represents the number of intercore communication cycles between task vi and task vj.


#### 3.1.2. Power Model

For a homogeneous processor with multiple cores, it is assumed that each processor core supportsm discrete frequency/voltage modes. Denote the frequency/voltage pattern of each core as CoreF,V, where F represents the set of frequencies and V represents the set of voltages. Among them, Corei=fi,Vi represents a frequency/voltage mode.The total energy consumption is shown in(1)Etotal=Etask+Ecommmunication+Etransition+Eidle.In formula (1), Etask represents the total energy consumed by all tasks, Ecommunication represents the total energy consumed by intercore communication, Etransition represents the total energy consumed by the state transition of each core, and Eidle represents the total energy of the trumpet when each core is idle.The dynamic energy consumed by taskvi is shown in
(2)Evi=PAC×Eti,(3)PAC=Ceff×Vdd2×f,wherePAC is the dynamic power consumption per cycle of the processor, Eti is the number of execution cycles required for task vi, Ceff is the average switched capacitance per cycle, Vdd is the power supply voltage, and f is the processor clock frequency. The conversion energy generated by the voltage conversion from Vddi to Vddj is
(4)Eij=Cr×Vddi−Vddj2,whereCr is the power rail capacitance.


### 3.2. Multicore Energy-Saving Task Scheduling Algorithm

#### 3.2.1. Algorithm Idea

There is a periodic hard real-time task setG=V,E,p,ET,CT,D with dependencies and a homogeneous processor with n cores, where each core has a frequency/voltage mode of CoreF,V. The algorithm is to allocate the tasks of the task set to each core for processing at a specific processor frequency, so that the total energy consumption is minimized. The algorithm idea is shown in Figure 2. First, the RDAG algorithm proposed by some scholars makes tasks independent and then uses the genetic algorithm based on multicore energy-saving task scheduling to determine the optimal task mapping.Figure 2
Algorithm idea.Among them, the idea of the genetic algorithm based on multicore energy-saving task scheduling is as follows.(1)
Initialization of task scheduling populationOne advantage of genetic algorithm is that it can implicitly search for multiple solutions in the solution space in parallel; of course, this requires random generation of an initial population containing multiple solutions. Suppose there arem tasks in the task set, and the individual i in the population is represented as Ui=vi1,vi2,⋯,vim,fi1,fi2,⋯,fim. vij represents the processor core allocated to the task vj in the task set, and fij represents the corresponding processor frequency when the task runs on the core vij. The population initialization steps are as follows: (a) randomly generate an individual; (b) execute the tasks on each core in the individual in the order fi from large to small; (c) if the total execution time of tasks on a processor core is longer for a limited time, the individual will be eliminated; and (d) go back to step (a) until a given number of individuals are generated to form a population.
(2)
Selection of the scheduling sequenceThe purpose of selection is to enable the better individuals to be inherited to the next generation with a greater probability. Let the fitness function of individuali be
(5)Fit1=1Egi.Egi is the total energy consumed by individual i. Assuming that there are m tasks in the task set, there are n processor cores in total, and there are Si tasks on core i, which are arranged in descending order of execution frequency. ET represents the set of execution cycles of tasks, and CT represents the set of communication cycles between tasks. The number of intercore communication cycles between task vi and task vj is shown as
(6)Ctij=Ctij0.Formula (7) can be obtained from formulas (1), (2), (3), (4), (5), and (6):
(7)Egi=&∑k=2mPk×Etk+∑k=1m∑l=1mCtkl×Pc+∑k=1m∑l=1sk+1Cr×Vddl−Vddl+12+∑k=1nPidlle×tidllek,wherePk represents the processor power when executing task k; Pc represents the intercore communication power; Vddk represents the processor voltage when executing the kth task on the core; Pidle is the processor power when idle; and tidlek indicates the idle time of the kth processor.The roulette method is used for selection, so that the better individual has a higher probability of being selected. The way is as follows: (a) calculate the sum of the fitness functions of all individuals in the current population sum; (b) calculate an accumulated value sequence of the fitness functions:Seq=s1,s2,⋯,sk, where k represents the number of individuals and si=∑l=1iFit; and (c) randomly generate a number x, 0≤x<Sum; let s0=0; if si−1≤x<si; then, individual i is selected.
(3)
Crossover and mutation of scheduling sequencesThe purpose of crossover and mutation is to increase the diversity of the population. The single-point crossover method used is as follows: (1) two individuals are obtained by selection, (2) an intersection is randomly selected, and (3) the parts after the intersection of the two individuals are crossed.Ui=vi1,vi2,⋯,vim,fi1,fi2,⋯,fim and Uj=vj1,vj2,⋯,vjm,fj1,fj2,⋯,fjm are two individuals. Suppose the intersection point is k; then, the sequences after k are exchanged.Randomly select an element from the individual to mutate; there are two cases: if the selected element represents a processor core, the mutated element also represents a processor core; if the element represents the processor frequency, the mutated element also represents the processor frequency. Thek-th element of the individual Ui represents a processor core, and the element mutates to become an element representing another processor core.


#### 3.2.2. Algorithm Description

The input of the genetic algorithm based on multicore energy-saving task scheduling is the independent task setG, the number of processor cores n, the task set deadline D, the frequency/voltage mode CoreF,V of each core, and the different frequencies of each core. With power, communication power between cores, the number of individuals in each generation of the algorithm N, the maximum genetic number Gn, the cut-off condition q, the crossover probability P1, and the mutation probability P2, the output is the final scheduling sequence S. S=L0,L1,⋯,Ln−1, where Li represents the scheduling sequence of core i [17].


## 3.1. Tasks and Power Consumption

### 3.1.1. Task Model

The task set can be abstracted as a directed acyclic graph, denoted asG=V,E,p,ET,CT,D, where V is the set of nodes, E is the set of directed edges, p is the set of iterations between nodes, ET is the set of execution cycles of tasks, CT is the set of communication cycles between tasks, and D is the set of task deadline [16]. For example, vi∈V and vj∈V represent the two tasks of the task set, respectively. eij represents the dependency of two tasks; that is, task vj is executed after vi. peij=k (k is a constant) means that task vj is executed in the kth round after task vi. Eti∈ET represents the number of cycles executed by task vi, and Ctij∈CT represents the number of intercore communication cycles between task vi and task vj.


### 3.1.2. Power Model

For a homogeneous processor with multiple cores, it is assumed that each processor core supportsm discrete frequency/voltage modes. Denote the frequency/voltage pattern of each core as CoreF,V, where F represents the set of frequencies and V represents the set of voltages. Among them, Corei=fi,Vi represents a frequency/voltage mode.The total energy consumption is shown in(1)Etotal=Etask+Ecommmunication+Etransition+Eidle.In formula (1), Etask represents the total energy consumed by all tasks, Ecommunication represents the total energy consumed by intercore communication, Etransition represents the total energy consumed by the state transition of each core, and Eidle represents the total energy of the trumpet when each core is idle.The dynamic energy consumed by taskvi is shown in
(2)Evi=PAC×Eti,(3)PAC=Ceff×Vdd2×f,wherePAC is the dynamic power consumption per cycle of the processor, Eti is the number of execution cycles required for task vi, Ceff is the average switched capacitance per cycle, Vdd is the power supply voltage, and f is the processor clock frequency. The conversion energy generated by the voltage conversion from Vddi to Vddj is
(4)Eij=Cr×Vddi−Vddj2,whereCr is the power rail capacitance.


## 3.1.1. Task Model

The task set can be abstracted as a directed acyclic graph, denoted asG=V,E,p,ET,CT,D, where V is the set of nodes, E is the set of directed edges, p is the set of iterations between nodes, ET is the set of execution cycles of tasks, CT is the set of communication cycles between tasks, and D is the set of task deadline [16]. For example, vi∈V and vj∈V represent the two tasks of the task set, respectively. eij represents the dependency of two tasks; that is, task vj is executed after vi. peij=k (k is a constant) means that task vj is executed in the kth round after task vi. Eti∈ET represents the number of cycles executed by task vi, and Ctij∈CT represents the number of intercore communication cycles between task vi and task vj.


## 3.1.2. Power Model

For a homogeneous processor with multiple cores, it is assumed that each processor core supportsm discrete frequency/voltage modes. Denote the frequency/voltage pattern of each core as CoreF,V, where F represents the set of frequencies and V represents the set of voltages. Among them, Corei=fi,Vi represents a frequency/voltage mode.The total energy consumption is shown in(1)Etotal=Etask+Ecommmunication+Etransition+Eidle.In formula (1), Etask represents the total energy consumed by all tasks, Ecommunication represents the total energy consumed by intercore communication, Etransition represents the total energy consumed by the state transition of each core, and Eidle represents the total energy of the trumpet when each core is idle.The dynamic energy consumed by taskvi is shown in
(2)Evi=PAC×Eti,(3)PAC=Ceff×Vdd2×f,wherePAC is the dynamic power consumption per cycle of the processor, Eti is the number of execution cycles required for task vi, Ceff is the average switched capacitance per cycle, Vdd is the power supply voltage, and f is the processor clock frequency. The conversion energy generated by the voltage conversion from Vddi to Vddj is
(4)Eij=Cr×Vddi−Vddj2,whereCr is the power rail capacitance.


## 3.2. Multicore Energy-Saving Task Scheduling Algorithm

### 3.2.1. Algorithm Idea

There is a periodic hard real-time task setG=V,E,p,ET,CT,D with dependencies and a homogeneous processor with n cores, where each core has a frequency/voltage mode of CoreF,V. The algorithm is to allocate the tasks of the task set to each core for processing at a specific processor frequency, so that the total energy consumption is minimized. The algorithm idea is shown in Figure 2. First, the RDAG algorithm proposed by some scholars makes tasks independent and then uses the genetic algorithm based on multicore energy-saving task scheduling to determine the optimal task mapping.Figure 2
Algorithm idea.Among them, the idea of the genetic algorithm based on multicore energy-saving task scheduling is as follows.(1)
Initialization of task scheduling populationOne advantage of genetic algorithm is that it can implicitly search for multiple solutions in the solution space in parallel; of course, this requires random generation of an initial population containing multiple solutions. Suppose there arem tasks in the task set, and the individual i in the population is represented as Ui=vi1,vi2,⋯,vim,fi1,fi2,⋯,fim. vij represents the processor core allocated to the task vj in the task set, and fij represents the corresponding processor frequency when the task runs on the core vij. The population initialization steps are as follows: (a) randomly generate an individual; (b) execute the tasks on each core in the individual in the order fi from large to small; (c) if the total execution time of tasks on a processor core is longer for a limited time, the individual will be eliminated; and (d) go back to step (a) until a given number of individuals are generated to form a population.
(2)
Selection of the scheduling sequenceThe purpose of selection is to enable the better individuals to be inherited to the next generation with a greater probability. Let the fitness function of individuali be
(5)Fit1=1Egi.Egi is the total energy consumed by individual i. Assuming that there are m tasks in the task set, there are n processor cores in total, and there are Si tasks on core i, which are arranged in descending order of execution frequency. ET represents the set of execution cycles of tasks, and CT represents the set of communication cycles between tasks. The number of intercore communication cycles between task vi and task vj is shown as
(6)Ctij=Ctij0.Formula (7) can be obtained from formulas (1), (2), (3), (4), (5), and (6):
(7)Egi=&∑k=2mPk×Etk+∑k=1m∑l=1mCtkl×Pc+∑k=1m∑l=1sk+1Cr×Vddl−Vddl+12+∑k=1nPidlle×tidllek,wherePk represents the processor power when executing task k; Pc represents the intercore communication power; Vddk represents the processor voltage when executing the kth task on the core; Pidle is the processor power when idle; and tidlek indicates the idle time of the kth processor.The roulette method is used for selection, so that the better individual has a higher probability of being selected. The way is as follows: (a) calculate the sum of the fitness functions of all individuals in the current population sum; (b) calculate an accumulated value sequence of the fitness functions:Seq=s1,s2,⋯,sk, where k represents the number of individuals and si=∑l=1iFit; and (c) randomly generate a number x, 0≤x<Sum; let s0=0; if si−1≤x<si; then, individual i is selected.
(3)
Crossover and mutation of scheduling sequencesThe purpose of crossover and mutation is to increase the diversity of the population. The single-point crossover method used is as follows: (1) two individuals are obtained by selection, (2) an intersection is randomly selected, and (3) the parts after the intersection of the two individuals are crossed.Ui=vi1,vi2,⋯,vim,fi1,fi2,⋯,fim and Uj=vj1,vj2,⋯,vjm,fj1,fj2,⋯,fjm are two individuals. Suppose the intersection point is k; then, the sequences after k are exchanged.Randomly select an element from the individual to mutate; there are two cases: if the selected element represents a processor core, the mutated element also represents a processor core; if the element represents the processor frequency, the mutated element also represents the processor frequency. Thek-th element of the individual Ui represents a processor core, and the element mutates to become an element representing another processor core.


### 3.2.2. Algorithm Description

The input of the genetic algorithm based on multicore energy-saving task scheduling is the independent task setG, the number of processor cores n, the task set deadline D, the frequency/voltage mode CoreF,V of each core, and the different frequencies of each core. With power, communication power between cores, the number of individuals in each generation of the algorithm N, the maximum genetic number Gn, the cut-off condition q, the crossover probability P1, and the mutation probability P2, the output is the final scheduling sequence S. S=L0,L1,⋯,Ln−1, where Li represents the scheduling sequence of core i [17].


## 3.2.1. Algorithm Idea

There is a periodic hard real-time task setG=V,E,p,ET,CT,D with dependencies and a homogeneous processor with n cores, where each core has a frequency/voltage mode of CoreF,V. The algorithm is to allocate the tasks of the task set to each core for processing at a specific processor frequency, so that the total energy consumption is minimized. The algorithm idea is shown in Figure 2. First, the RDAG algorithm proposed by some scholars makes tasks independent and then uses the genetic algorithm based on multicore energy-saving task scheduling to determine the optimal task mapping.Figure 2
Algorithm idea.Among them, the idea of the genetic algorithm based on multicore energy-saving task scheduling is as follows.(1)
Initialization of task scheduling populationOne advantage of genetic algorithm is that it can implicitly search for multiple solutions in the solution space in parallel; of course, this requires random generation of an initial population containing multiple solutions. Suppose there arem tasks in the task set, and the individual i in the population is represented as Ui=vi1,vi2,⋯,vim,fi1,fi2,⋯,fim. vij represents the processor core allocated to the task vj in the task set, and fij represents the corresponding processor frequency when the task runs on the core vij. The population initialization steps are as follows: (a) randomly generate an individual; (b) execute the tasks on each core in the individual in the order fi from large to small; (c) if the total execution time of tasks on a processor core is longer for a limited time, the individual will be eliminated; and (d) go back to step (a) until a given number of individuals are generated to form a population.
(2)
Selection of the scheduling sequenceThe purpose of selection is to enable the better individuals to be inherited to the next generation with a greater probability. Let the fitness function of individuali be
(5)Fit1=1Egi.Egi is the total energy consumed by individual i. Assuming that there are m tasks in the task set, there are n processor cores in total, and there are Si tasks on core i, which are arranged in descending order of execution frequency. ET represents the set of execution cycles of tasks, and CT represents the set of communication cycles between tasks. The number of intercore communication cycles between task vi and task vj is shown as
(6)Ctij=Ctij0.Formula (7) can be obtained from formulas (1), (2), (3), (4), (5), and (6):
(7)Egi=&∑k=2mPk×Etk+∑k=1m∑l=1mCtkl×Pc+∑k=1m∑l=1sk+1Cr×Vddl−Vddl+12+∑k=1nPidlle×tidllek,wherePk represents the processor power when executing task k; Pc represents the intercore communication power; Vddk represents the processor voltage when executing the kth task on the core; Pidle is the processor power when idle; and tidlek indicates the idle time of the kth processor.The roulette method is used for selection, so that the better individual has a higher probability of being selected. The way is as follows: (a) calculate the sum of the fitness functions of all individuals in the current population sum; (b) calculate an accumulated value sequence of the fitness functions:Seq=s1,s2,⋯,sk, where k represents the number of individuals and si=∑l=1iFit; and (c) randomly generate a number x, 0≤x<Sum; let s0=0; if si−1≤x<si; then, individual i is selected.
(3)
Crossover and mutation of scheduling sequencesThe purpose of crossover and mutation is to increase the diversity of the population. The single-point crossover method used is as follows: (1) two individuals are obtained by selection, (2) an intersection is randomly selected, and (3) the parts after the intersection of the two individuals are crossed.Ui=vi1,vi2,⋯,vim,fi1,fi2,⋯,fim and Uj=vj1,vj2,⋯,vjm,fj1,fj2,⋯,fjm are two individuals. Suppose the intersection point is k; then, the sequences after k are exchanged.Randomly select an element from the individual to mutate; there are two cases: if the selected element represents a processor core, the mutated element also represents a processor core; if the element represents the processor frequency, the mutated element also represents the processor frequency. Thek-th element of the individual Ui represents a processor core, and the element mutates to become an element representing another processor core.


## 3.2.2. Algorithm Description

The input of the genetic algorithm based on multicore energy-saving task scheduling is the independent task setG, the number of processor cores n, the task set deadline D, the frequency/voltage mode CoreF,V of each core, and the different frequencies of each core. With power, communication power between cores, the number of individuals in each generation of the algorithm N, the maximum genetic number Gn, the cut-off condition q, the crossover probability P1, and the mutation probability P2, the output is the final scheduling sequence S. S=L0,L1,⋯,Ln−1, where Li represents the scheduling sequence of core i [17].


## 4. Results and Discussion

In order to verify the effectiveness of the algorithm, the above algorithm is compared with the methods in the literature. In the experiment, the number of execution cycles of each task is randomly generated between 10 and 50, and the number of communication cycles between tasks is randomly generated between 1 and 5. Input the number of tasks and the number of edges, and randomly generate a task set represented by a directed acyclic graph [18]. The processor adopts the power consumption model of IntelPXA270, the mode transition time of this model can be ignored, and its frequency/voltage mode and corresponding power consumption are shown in Table 1. Set the system bus frequency to be fixed at 208 MHz and the power rail capacitance Cr to be 5 pF. Under this model, 6 task sets are randomly generated, and their characteristics are shown in Table 2. Set the genetic algorithm crossover probability and mutation probability to 0.9 and 0.03, respectively. The two-core and four-core are compared, respectively, and the power consumption comparison chart is obtained, as shown in Figures 3 and 4.Table 1
IntelPXA270 power consumption model frequency and corresponding voltage and power consumption.
Frequency (MHz)Voltage (V)Power consumption (mW)13 (idle)0.8544.21040.90115.02081.15279.03121.25390.04161.35570.05201.45747.06241.55925.0Table 2
Task set characteristics.
Task set nameNumber of nodesNumber of sidesTask set 12030Task set 23045Task set 34060Task set 45075Task set 56088Task set 670100Figure 3
Comparison of average power consumption of two-core processors.Figure 4
Energy consumption comparison.With the development of many basic embedded systems, energy consumption has become a hotspot for hotspot research. According to the current study, the author worked on the shortcomings of various energy-saving algorithms and developed an energy-saving method. The process is divided into two stages: the first stage separates the tasks using the RDAG algorithm and the second stage assigns tasks to each process using a genetic procedure [19]. Experiments show that this method achieves a relatively good energy-saving effect.


## 5. Conclusion

Aiming at the existing micro-multicore system, the author takes the genetic algorithm as the research method and takes the mapping process from multitask to multicore system as the research core; it realizes the optimal allocation of system resources, effectively shortens the completion time of tasks, and improves the utilization efficiency of multicore system resources; parallel computing capability of the multicore system is improved, the average response time of the task is reduced, and the throughput of the multicore system and the resource utilization rate of the system are improved.



---

*Source: 4363937-2022-08-10.xml*