High-Energy-Efficient Security-Aware Task Scheduling Method and Device for Heterogeneous Edge Computing Systems
By calculating the allocation priority and security level of tasks in a heterogeneous edge computing system and optimizing task scheduling using a directed acyclic graph, the high complexity and security risks of security-aware task scheduling in existing technologies are solved, and high-energy-efficiency security-aware task allocation is achieved.
Patent Information
- Application Number
- CN202411659576.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-20
- Publication Date
- 2025-11-14
- Estimated Expiration
- 2044-11-20
AI Technical Summary
Existing technologies in heterogeneous edge computing systems suffer from poor resistance to external attacks in security-aware task scheduling, high security risks, and high algorithm complexity, especially long solution times when dealing with large-scale tasks.
A high-energy-efficiency security-aware task scheduling algorithm for heterogeneous edge computing systems is adopted. By calculating the allocation priority, risk factor and security level of the regular part of the task, a directed acyclic graph is used to represent the execution order dependency and communication time overhead between tasks. Tasks are allocated to security processor cores to improve the security level and reduce the algorithm complexity.
While reducing algorithm complexity, the system's security level is improved, the solution time for large-scale tasks is reduced, and system energy consumption is saved.
Smart Images

Figure CN119621264B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of computer architecture, specifically relating to a high-efficiency security-aware task scheduling method and apparatus for heterogeneous edge computing systems. Background Technology
[0002] With the rapid development of the Internet of Things (IoT), a large number of devices are connecting to the network, generating massive amounts of data and placing higher demands on the real-time performance of network data processing. Edge computing, as an emerging computing model, performs necessary data processing at the network edge to provide low-latency computing services, thus improving the real-time performance of network data processing. However, the large-scale deployment of edge servers also increases network energy consumption; furthermore, because edge computing processes data at the network edge, its environment is more complex and may face a sudden surge in security demands. The data from these tasks often contains user privacy or important confidential information, making data security issues even more prominent.
[0003] To address the joint optimization of secure task scheduling and energy consumption in heterogeneous edge computing systems, existing technologies typically employ a network service task offloading architecture and a general-purpose heterogeneous multi-core computing platform to construct a heterogeneous processor cluster model with a hardware security module. This model includes multiple heterogeneous computing processors, such as central processing units and graphics processing units, digital signal processors, field-programmable gate arrays, and application-specific integrated circuits. The hardware security module consists of multiple secure processor cores and secure hardware accelerators, and is isolated from other computing clusters to provide corresponding security services for edge computing.
[0004] In task allocation, a dependency task model is typically used. The dependency task model is a common task allocation model for heterogeneous multi-core systems. It usually uses a directed acyclic graph (DAG) to represent information such as the number of tasks, execution time, execution order dependencies, and inter-task communication time overhead. Existing algorithms for applying the dependency task model mainly include:
[0005] Two list scheduling algorithms, Heterogeneous Earliest Complete Time (HEFT) and Processor-on-Processor Critical Path (CPOP), initialize the original DAG graph based on the average execution time and communication overhead of the tasks during the initialization phase.
[0006] The Downward Energy Minimization (DECM) algorithm arranges tasks in descending order of weight and minimizes the energy consumption of task execution from the entry point to the exit point. DECM introduces the concepts of deadline relaxation and task level for parallel applications.
[0007] Without changing the span (INCM) algorithm, this algorithm first uses the Predict Earliest Finish Time (PEFT) algorithm to estimate the task graph span, then uses the task optimistic cost table in descending order as the task allocation order, and finally calculates the available idle time for each task. By reducing the task execution frequency, it makes full use of idle time to achieve energy saving.
[0008] Existing technical solutions still suffer from problems such as poor resistance to external attacks, high security risks, high algorithm complexity and long solution time when the system faces large-scale tasks in security-aware task scheduling. Summary of the Invention
[0009] To address the aforementioned problems in the existing technology, this invention provides a high-energy-efficiency security-aware task scheduling algorithm and device for heterogeneous edge computing systems. This algorithm enhances the security level of heterogeneous edge computing systems while reducing algorithm complexity and solving time for large-scale tasks, thereby saving system energy consumption.
[0010] The high-energy-efficiency security-aware task scheduling method for heterogeneous edge computing systems of the present invention includes:
[0011] Step 1: Calculate the allocation priority of the routine parts of each task;
[0012] Step 2: Based on the allocation priority of the routine parts of the tasks, allocate the routine parts of each task to each processor core in sequence;
[0013] Step 3: Select tasks in descending order of their risk factors;
[0014] Step 4: Set the security level of each security processor core according to the execution efficiency of the selected task on each security processor core. ;
[0015]
[0016] Step 5: Assign the selected task to the highest security processor core that has available idle time slots and whose secure part execution time is no longer than the regular part execution time of the task.
[0017] in, For the task The ideal security level; k is the sequence number of the security processor core. K represents the number of security processor cores.
[0018] Furthermore, step one also includes:
[0019] Computational tasks The regular part is in the ordinary processor core Worst-case execution time ;
[0020]
[0021] Computational tasks Average execution time of the regular part on all common processor cores ;
[0022]
[0023] Computational tasks Average communication time of the regular part :
[0024]
[0025] Computational tasks Modify upward weights ;
[0026]
[0027] Tasks are sorted in ascending order according to their level in the task graph. Tasks at the same level are sorted in descending order of their modification weight to obtain the allocation priority of each task.
[0028] in, For the task The worst-case execution instruction cycle for the normal part It is a task In processor core On the execution efficiency, Representative task exist Execution frequency on A collection of ordinary processor cores; The number of cores in a typical processor; The average startup communication time cost of a typical processor core, This is the average data transfer rate between ordinary processor cores. For the task With the task The amount of data communicated between them; For the task The set of direct successor tasks.
[0029] Furthermore, step two also includes:
[0030] Computational tasks The earliest start time of the normal part on each processor core and end time ;
[0031]
[0032]
[0033]
[0034] If the processor core There are tasks to be completed. The available idle time slots, which meet the start time and execution time requirements of the regular part and can satisfy the common deadline D of the tasks, will be allocated to the processor cores. Included in the task Allocable processor cores;
[0035] The task Allocate to the earliest available processor core that completes;
[0036] Set up tasks Start time of the regular section and end time ;
[0037]
[0038]
[0039] in, Indicates processor core The earliest available time slot start time; Indicates task The actual end time of the regular section, For the task and tasks Communication overhead between them; For the task The set of direct predecessor tasks; This is the entry point task.
[0040] Furthermore, step five includes:
[0041] Select the security processor core with the smallest sort number from the unselected security processor cores;
[0042] Computational tasks The security component is in the selected security processor core Execution time length ;
[0043]
[0044] If the security processor core satisfy:
[0045]
[0046]
[0047]
[0048] The task The security component is allocated to the security processor core. ;
[0049] Set up tasks The start of the safety section End time and security level ;
[0050]
[0051]
[0052]
[0053] Among them, among them, It is a positive coefficient, depending on the task. The cryptographic algorithm used For the task Required security service data size Representative task In the security processor core On the execution efficiency, For the task In the security processor core The highest execution frequency on; For processor core The end time of the earliest idle time slot, For processor core The start time of the earliest idle time slot.
[0054] Preferably, the method further includes relaxing the start and end times of the regular portions of each task:
[0055] Calculate the elongation factor ;
[0056]
[0057] Relax the start and end times of the routine parts of each task;
[0058]
[0059]
[0060] Tasks are selected in reverse order of their allocation priority;
[0061] Set the end time for the regular portion of this task;
[0062]
[0063] If the task The start and end times of the normal part satisfy:
[0064]
[0065] Set up tasks The start time of the normal section is:
[0066]
[0067] Where D represents the common deadline for the tasks. For the task execution span; for The direct successor task, For the task and The communication time between them. In order to complete the mission On the same ordinary processor core, and located in the task The next task to be executed The earliest start time; For the task The worst-case execution instruction cycle of the normal part. It is a task Execution efficiency on the processor core, This represents the minimum execution frequency of a task on the kernel.
[0068] The high-energy-efficiency security-aware task scheduling device for heterogeneous edge computing systems of the present invention includes:
[0069] The regular section allocation priority setting module is used to set the allocation priority of the regular section of each task based on the modification upward weight of each task and the task layer level;
[0070] The regular part allocation module is used to allocate the regular part of each task to each ordinary processor core according to the task allocation order.
[0071] The security task selection module is used to select tasks in descending order based on their risk factors.
[0072] The security processor selection module is used to select security processor cores sequentially from highest to lowest execution efficiency of the selected task's security component on each security processor, and to set the security level of each security processor. ;
[0073]
[0074] The security component allocation module is used to allocate the selected task to the highest security processor core that has available idle time slots and whose security component execution time is no longer than the regular component execution time of the task.
[0075] in, For the task The ideal security level; k is the sequence number of the security processor core. K represents the number of security processor cores.
[0076] Furthermore, the regular portion allocation priority setting module includes:
[0077] The routine execution time calculation unit is used to calculate the worst-case execution time of the routine portion of each task on a normal processor core. and average execution time ;
[0078]
[0079]
[0080] The conventional communication time calculation unit is used for calculation tasks. Average communication time of the regular part :
[0081]
[0082] Modify the upward weight calculation unit to calculate the modified upward weights for the task. ;
[0083]
[0084] The regular allocation order setting unit is used to sort tasks in ascending order according to the level of each task in the task graph, and sort tasks at the same level in descending order according to the modification weight of the task, so as to obtain the allocation priority of each task.
[0085] in, For the task The worst-case execution instruction cycle for the normal part It is a task In processor core On the execution efficiency, Representative task exist Execution frequency on A collection of ordinary processor cores; The number of cores in a typical processor; The average startup communication time cost of a typical processor core, This is the average data transfer rate between ordinary processor cores. For the task With the task The amount of data communicated between them; For the task The set of direct successor tasks.
[0086] Furthermore, the conventional portion allocation module includes:
[0087] The task selection unit is used to select tasks based on their allocation priority. Select tasks in sequence ;
[0088] The first execution time setting unit is used to calculate the task. The earliest start time of the normal part on each processor core and earliest end time ;
[0089]
[0090]
[0091]
[0092] Allocable processor core filtering unit, used to determine processor core Is there a task that can be completed? The available idle time slots for the start time and execution duration requirements of the regular part, which can meet the common deadline D of the tasks, if available, will be allocated to the processor cores. Included in the task Allocable processor cores;
[0093] Regular partial allocation unit, used to allocate tasks The regular part is assigned to The earliest allocable processor cores and task settings Start time of the regular section and end time ;
[0094]
[0095]
[0096] in, Indicates processor core The earliest available time slot start time; Indicates task The actual end time of the regular section, For the task and tasks Communication overhead between them; For the task The set of direct predecessor tasks; This is the entry point task.
[0097] Furthermore, the security allocation module includes:
[0098] The safety-related execution time calculation unit is used to calculate the task. The security component is in the selected security processor core Execution time length ;
[0099]
[0100] The security task allocation unit determines whether the security processor core selected by the security processor selection unit satisfies the following conditions:
[0101]
[0102]
[0103]
[0104] The security portion of the task selected by the security task selection module is assigned to the security processor core;
[0105] The security task execution time and security level setting unit is used to set the task. The start of the safety section End time and security level ;
[0106]
[0107]
[0108]
[0109] Among them, among them, It is a positive coefficient, depending on the task. The cryptographic algorithm used For the task Required security service data size Representative task In the security processor core On the execution efficiency, For the task In the security processor core The highest execution frequency on; For processor core The end time of the earliest idle time slot, For processor core The start time of the earliest idle time slot.
[0110] Preferably, the device further includes:
[0111] The execution time relaxation module is used to determine the common deadline D of the tasks and the task execution span. Relax the start and end times of the regular parts of each task; including:
[0112] The elongation coefficient calculation unit is used to calculate the elongation coefficient. ;
[0113] The execution time relaxation unit is used to relax the start and end times of the regular part of the task;
[0114]
[0115]
[0116] The second execution time setting unit is used to calculate the final start and end times of the task based on the start and end times of the relaxed routine part of the task.
[0117] Based on the allocation priority of each task Select tasks in reverse order;
[0118] Set the end time for the regular portion of this task;
[0119]
[0120] If the task The start and end times of the normal part satisfy:
[0121]
[0122] Set up tasks The start time of the normal section is:
[0123]
[0124] Where D represents the common deadline for the tasks. For the task execution span; for The direct successor task, For the task and The communication time between them. In order to complete the mission On the same ordinary processor core, and located in the task The next task to be executed The earliest start time; For the task The worst-case execution instruction cycle of the normal part. It is a task Execution efficiency on the processor core, This represents the minimum execution frequency of a task on the kernel.
[0125] In the above specific implementation of the present invention, a heterogeneous processor cluster model with a security core in edge computing is adopted, which improves the security level of the system. A directed acyclic graph is used to represent the execution order dependency relationship between tasks and the communication time overhead between tasks, which is more in line with the actual task scenario. Attached Figure Description
[0126] Figure 1 This is a schematic diagram of the task model of the present invention;
[0127] Figure 2 This is a flowchart of the method in specific embodiment 1 of the present invention;
[0128] Figure 3 This is a flowchart of the method for calculating the allocation priority of the regular parts of each task in a specific embodiment 1 of the present invention;
[0129] Figure 4 This is a flowchart of the method for relaxing the start and end times of the routine parts of each task in a specific embodiment of the present invention;
[0130] Figure 5 This is a flowchart of a specific embodiment of the present invention, which describes a method for allocating security processor cores to the security components of each task.
[0131] Figure 6 This is a schematic diagram of the device structure in specific embodiment 2 of the present invention;
[0132] Figure 7 This is a schematic diagram of the priority setting module structure in the conventional part of a specific embodiment 2 of the present invention;
[0133] Figure 8 This is a schematic diagram of the security allocation module structure in specific embodiment 2 of the present invention;
[0134] Figure 9 This is a schematic diagram of the execution time relaxation module structure in a specific embodiment 2 of the present invention. Detailed Implementation
[0135] To better illustrate the technical solution of the present invention, the specific embodiments of the present invention will be described in detail below with reference to the accompanying drawings.
[0136] In the following specific embodiments of the present invention, a heterogeneous processor hybrid cluster system include Heterogeneous processor cores It consists of a portion of ordinary processor cores and a portion of security processor cores, in the system The number of tasks assigned to a group is Security Awareness Real-time Task Set , Each processor operates independently and integrates Dynamic Voltage and Frequency Scaling (DVFS) technology, allowing for independent adjustment of the power supply voltage on the processor core. and execution frequency Each core supports a set of discrete voltage-frequency pairs. and , where j is the processor core number.
[0137] The task model can be constructed as a dependent task represented by a DAG, and the task can be represented by a tuple. express, Indicates the common deadline for the tasks. Indicates task Worst case execution instruction cycle, Indicates task The type of security service performed Indicates task Required security service data size Indicates task The ideal level of security.
[0138] In the following specific embodiments of the present invention, the set of tasks to be assigned is: Includes I tasks to be assigned, and the execution efficiency matrix. This indicates the execution efficiency of the task on the processor core, where .
[0139]
[0140] See Figure 1 , Figure 1 A schematic structure of a task model according to a specific embodiment of the present invention is given, including 8 tasks to be assigned and a virtual entry task. and virtual export tasks The numbers on different edges represent the average communication overhead between tasks. Virtual entry and exit tasks have zero execution time and zero communication overhead on any processor core, and do not affect the scheduling result. Tasks cannot preempt each other. The direct predecessor task uses a set To indicate, correspondingly, the task The collection of subsequent tasks express. Specific Implementation Example 1
[0142] This embodiment is a preferred implementation of the high-efficiency security-aware task scheduling algorithm of the heterogeneous edge computing system of the present invention.
[0143] See Figure 2 ,like Figure 2 As shown, the method in this embodiment includes:
[0144] Upon system power-on, the execution frequency of each ordinary processor core is set to the maximum frequency supported by the processor core, and a set of security-aware real-time tasks to be allocated is set. Distributed to heterogeneous processor hybrid cluster system superior;
[0145] S1. Allocate regular processor cores to the routine parts of each task;
[0146] S101. Calculate the allocation priority of the routine parts of each task;
[0147] See Figure 3 ,like Figure 3 As shown, in this embodiment, this step may further include:
[0148] S1011. Select the tasks whose regular allocation priority has not been calculated in sequence. ;
[0149] S1012, Computation Task The regular part is in the ordinary processor core Worst-case execution time :
[0150]
[0151] in, For the task The worst-case execution instruction cycle for the normal part It is a task In processor core On the execution efficiency, Representative task exist Execution frequency on for The set of common processor cores in the system.
[0152] S1013, Computation Task Average execution time of the regular part on all common processor cores :
[0153]
[0154] in This refers to the number of cores in a typical processor.
[0155] S1014, Computational Task Average communication time of the regular part :
[0156]
[0157] in, The average startup communication time cost of a typical processor core, This is the average data transfer rate between ordinary processor cores. For the task With the task The amount of data communicated between them.
[0158] S1015, Computation Task Modify upward weights ;
[0159]
[0160] S1016. Determine whether all tasks have been completed by modifying the upward weight. Calculate; if yes, proceed to step S1017; otherwise, proceed to step S1011.
[0161] S1017. Sort the tasks according to their level and modification weight to obtain the allocation priority of each task. ;
[0162] Sort the tasks according to their hierarchical position in the task graph, from smallest to largest; for tasks at the same level, sort them according to their... Sort the tasks in descending order to obtain the results for each task. The task's level refers to the distance of the task from the virtual entry task in the task diagram.
[0163] S102, According to the task The routine components of each task are then distributed to the respective processor cores in sequence.
[0164] In this embodiment, this step may further include:
[0165] S1021, Computation Task The earliest start time of the normal part on each processor core ;
[0166]
[0167]
[0168] in, Indicates processor core The earliest available time slot start time; Indicates task The actual end time of the regular section, For the task and tasks Communication overhead between them;
[0169] The available idle time slot refers to an idle time slot that satisfies the following:
[0170]
[0171]
[0172] in, For processor core The earliest available idle time slot ends;
[0173] S1022, Computation Task Earliest end time of the regular portion on each processor core :
[0174]
[0175] S1023, if the processor core There are tasks to be completed. Available idle time slots that meet the start time and execution duration requirements of the regular part, and can satisfy... , will processor Included in the task Allocable processor cores;
[0176] S1024, Task The regular portion is allocated to the earliest allocatable processor core at the end time;
[0177] S1025, Set Task Start time of the regular section and end time ;
[0178]
[0179]
[0180] in, For the task The regular portion begins at the moment of its assigned processor core. For the task The end time of the regular portion on its assigned processor core.
[0181] Repeat step S102 until all task assignments are completed.
[0182] As a preferred implementation of this specific embodiment, this embodiment may further include a task execution time relaxation step:
[0183] S103. Based on the common deadline D of the tasks and the task execution span. Relax the start and end times of the routine parts of each task;
[0184] See Figure 4 ,like Figure 4 As shown, in this embodiment, this step further includes:
[0185] S1031, Calculate the elongation coefficient ;
[0186]
[0187] S1032. Relax the start and end times of the routine parts of each task;
[0188]
[0189]
[0190] S1033, Virtual Export Task The end time is set as the common deadline D for the tasks;
[0191] S1034. Based on the allocation priority of each task. Select tasks in reverse order;
[0192] S1035. Set the end time of the normal part of this task;
[0193]
[0194] in, for The direct successor task, For the task and The communication time between them. In order to complete the mission On the same ordinary processor core, and located in the task The next task to be executed The earliest start time;
[0195] S1036, If the task The start and end times of the normal part satisfy:
[0196]
[0197] Set up tasks The start time of the normal section is:
[0198]
[0199] in, For the task The worst-case execution instruction cycle of the normal part. It is a task Execution efficiency on the processor core, This represents the minimum execution frequency of a task on the kernel.
[0200] Repeat steps S1034 to S1036 until the start and end times of all task routines are set.
[0201] S104. Based on the start and end times of the routine parts of each task, set the final execution frequency of the routine parts of each task. ;
[0202] In this specific embodiment, this step may further include:
[0203] S1041. Calculate the execution frequency of each task based on the start and end times of its regular components. ;
[0204]
[0205] S1042, Task of Set to its processor Among the selectable frequencies, not less than The lowest frequency.
[0206] S2. Assign security processor cores to the security components of each task;
[0207] In this specific embodiment, this step may further include:
[0208] S201, Based on the risk factors of each task Select tasks in descending order;
[0209] S202. Set the security level of each security processor core according to the execution efficiency of the selected task on each security processor core. ;
[0210] In this specific embodiment, this step may further include:
[0211] S2021, according to Sort the security processor cores in descending order;
[0212] S2022, Set the security level for each security processor core.
[0213]
[0214] Where k is the sequence number of the security processor core. K represents the number of security processor cores.
[0215] S2023. Select the security processor core with the smallest sort number from the unselected security processor cores;
[0216] S203. Assign the selected task to the highest security processor core that has available idle time slots and whose secure part execution time is no longer than the regular part execution time of the task.
[0217] See Figure 5 ,like Figure 5 As shown in this specific embodiment, this step may further include:
[0218] S2031, Computation Task The security component is in the selected security processor core Execution time length ;
[0219]
[0220] in, It is a positive coefficient, depending on the task. The cryptographic algorithm used For the task Required security service data size Representative task In the security processor core On the execution efficiency, For the task In the security processor core The highest execution frequency on;
[0221] S2032, Determine the security processor core Does the task meet the requirements? Execution time requirements;
[0222] The execution time requirement is as follows:
[0223]
[0224]
[0225]
[0226] If yes, proceed to step S2033; otherwise, proceed to step S2023.
[0227] in, For processor core The end time of the earliest idle time slot, For processor core The start time of the earliest available time slot;
[0228] S2033, Task The security component is allocated to the security processor core. ;
[0229] S2034, Set Task The start of the safety section End time and security level ;
[0230]
[0231]
[0232]
[0233] Repeat steps S201 to S203 until the security processor core allocation for all task security parts is completed. Specific Implementation Example 2
[0235] This embodiment is a preferred implementation of the high-efficiency security-aware task scheduling device for the heterogeneous edge computing system of the present invention.
[0236] See Figure 6 ,like Figure 6 As shown, the apparatus of this embodiment includes:
[0237] The regular section allocation priority setting module is used to set the allocation priority of the regular section of each task based on the modification upward weight of each task and the task layer level;
[0238] See Figure 7 ,like Figure 7As shown in this specific embodiment, this module may further include:
[0239] The routine execution time calculation unit is used to calculate the worst-case execution time of the routine portion of each task on a normal processor core. and average execution time ;
[0240]
[0241]
[0242] in, For the task The worst-case execution instruction cycle for the normal part It is a task In processor core On the execution efficiency, Representative task exist Execution frequency on For general processor cores, This refers to the number of cores in a typical processor.
[0243] The conventional communication time calculation unit is used for calculation tasks. Average communication time of the regular part :
[0244]
[0245] in, The average startup communication time cost of the processor core, This is the average data transfer rate between ordinary processor cores. For the task With the task The amount of data communicated between them.
[0246] Modify the upward weight calculation unit to calculate the modified upward weights for the task. ;
[0247]
[0248] The regular allocation order setting unit sorts tasks according to their level and the upward weight of each task to obtain the allocation priority of the tasks.
[0249] The tasks are sorted in ascending order of their hierarchical position in the task graph; within the same hierarchical level, tasks are sorted in descending order of their modification weight to obtain the allocation priority of each task. ;
[0250] The task's level refers to the distance between the task and the virtual entry task in the task diagram.
[0251] The regular part allocation module is used to allocate the regular part of each task to each ordinary processor core according to the task allocation order.
[0252] In this specific embodiment, this module may further include:
[0253] The task selection unit is used to select tasks based on their allocation priority. Select tasks in sequence ;
[0254] The first execution time setting unit is used to calculate the task. The earliest start time of the normal part on each processor core and earliest end time ;
[0255]
[0256]
[0257]
[0258] in, Indicates processor core The earliest available time slot start time; Indicates task The actual end time of the regular section, For the task and tasks Communication overhead between them.
[0259] The available idle time slot refers to an idle time slot that satisfies the following:
[0260]
[0261]
[0262] in, For processor core The earliest available idle time slot ends;
[0263] Allocable processor core filtering unit, used to determine processor core Is there a task that can be completed? Available idle time slots that meet the start time and execution duration requirements of the regular part, and can satisfy... If so, the processor core Included in the task Allocable processor cores;
[0264] Regular partial allocation unit, used to allocate tasks The regular part is assigned to The earliest allocable processor cores and task settings Start time of the regular section and end time ;
[0265]
[0266]
[0267] The safety task selection module is used to select tasks based on their risk factors. Select tasks in descending order;
[0268] The security processor selection module is used to select the security components of the chosen task based on their execution efficiency on each security processor. Select the security processor cores in descending order of size, and set the security level of each security processor.
[0269] In this specific embodiment, this module may further include:
[0270] The security processor sorting unit is used to sort the security components of the selected task on each security processor based on their execution efficiency. Sort the security processors in descending order;
[0271] The security processor security level setting unit is used to set the security level of each security processor core.
[0272]
[0273] A security processor selection unit is used to select the security processor core with the smallest sort number from among the unselected security processor cores;
[0274] Where k is the sequence number of the security processor core. K represents the number of security processor cores.
[0275] The security component allocation module is used to allocate the security component of the task selected by the security task selection module to a security processor core that meets the requirements, and to set the start time, end time and security level of the security component of the task.
[0276] See Figure 8 ,like Figure 8 As shown in this specific embodiment, this module may further include:
[0277] The safety-related execution time calculation unit is used to calculate the task. The security component is in the selected security processor core Execution time length ;
[0278]
[0279] in, It is a positive coefficient, depending on the task. The cryptographic algorithm used For the task Required security service data size Representative task In the security processor core On the execution efficiency, For the task In the security processor core The highest execution frequency on;
[0280] The security task allocation unit determines whether the security processor core selected by the security processor selection unit satisfies the following conditions:
[0281]
[0282]
[0283]
[0284] The security portion of the task selected by the security task selection module is assigned to the security processor core;
[0285] in, For processor core The end time of the earliest idle time slot, For processor core The start time of the earliest idle time slot.
[0286] The security task execution time and security level setting unit is used to set the task. The start of the safety section End time and security level ;
[0287]
[0288]
[0289]
[0290] As a preferred implementation of this specific embodiment, the apparatus may further include:
[0291] The execution time relaxation module is used to determine the common deadline D of the tasks and the task execution span. Relax the start and end times of the routine parts of each task;
[0292] See Figure 9 ,like Figure 9 As shown, in this embodiment, this module may further include:
[0293] The elongation coefficient calculation unit is used to calculate the elongation coefficient. ;
[0294] The execution time relaxation unit is used to relax the start and end times of the regular part of the task;
[0295]
[0296]
[0297] The second execution time setting unit is used to calculate the final start and end times of the task based on the start and end times of the relaxed routine part of the task.
[0298] Based on the allocation priority of each task Select tasks in reverse order;
[0299] Set the end time for the regular portion of this task;
[0300]
[0301] in, for The direct successor task, For the task and The communication time between them. In order to complete the mission On the same ordinary processor core, and located in the task The next task to be executed The earliest start time;
[0302] If the task The start and end times of the normal part satisfy:
[0303]
[0304] Set up tasks The start time of the normal section is:
[0305]
[0306] in, For the task The worst-case execution instruction cycle of the normal part. It is a task Execution efficiency on the processor core, This represents the minimum execution frequency of a task on the kernel.
[0307] As a preferred implementation of this specific embodiment, the apparatus may further include:
[0308] The regular execution frequency calculation module is used to set the final execution frequency of the regular part of each task based on the start and end times of the regular part. ;
[0309] Calculate the execution frequency of each task based on the start and end times of its regular components. ;
[0310]
[0311] Set up tasks of For its processor Among the selectable frequencies, not less than The lowest frequency.
[0312] In the above-described specific implementation of this invention, a heterogeneous processor cluster model with security cores in edge computing is adopted, which improves the security level of the system. A directed acyclic graph is used to represent the execution order dependencies between tasks and the communication time overhead between tasks, which is more consistent with actual task scenarios. In one preferred implementation scheme of the above-described specific implementation of this invention, in the first stage, the priority allocation order and allocation scheme of tasks on ordinary processor cores are calculated to shorten the task graph span and obtain more idle time for frequency scaling. In the second stage, the idle time on the processor cores is fully utilized, and time slot reclamation is performed to reduce and calculate the frequency on the processor cores, thereby reducing energy consumption. In the third stage, the allocation of the task security part on the security processor core and the security service level during the execution of the task security part are determined according to the descending priority of the task security risk factors, so as to maximize the overall security service quality of the system.
[0313] It should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention and are not intended to limit it. Although the present invention has been described in detail with reference to preferred embodiments, those skilled in the art should understand that modifications or equivalent substitutions can be made to the technical solutions of the present invention without departing from the spirit and scope of the technical solutions of the present invention, and all such modifications or substitutions should be covered within the scope of the claims of the present invention.
Claims
1. A high-energy-efficiency security-aware task scheduling method for a heterogeneous edge computing system, characterized in that, include: Step 1: Calculate the allocation priority of the routine parts of each task; Step 2: Based on the allocation priority of the routine parts of the tasks, allocate the routine parts of each task to each processor core in sequence; Step 3: Select tasks in descending order of their risk factors; Step 4: Set the security level of each security processor core according to the execution efficiency of the selected task on each security processor core. ; Step 5: Assign the selected task to the highest security processor core that has available idle time slots and whose secure part execution time is no longer than the regular part execution time of the task. include: Select the security processor core with the smallest sort number from the unselected security processor cores; Computational tasks The security component is in the selected security processor core Execution time length ; If the security processor core satisfy: The task The security component is allocated to the security processor core. ; Set up tasks The start of the safety section End time and security level ; Among them, among them, It is a positive coefficient, depending on the task. The cryptographic algorithm used For the task Required security service data size Representative task In the security processor core On the execution efficiency, For the task In the security processor core The highest execution frequency on; For processor core The end time of the earliest idle time slot, For processor core The start time of the earliest available time slot; For the task The ideal security level; k is the sequence number of the security processor core. K represents the number of security processor cores.
2. The method according to claim 1, characterized in that, Step one includes: Computational tasks The regular part is in the ordinary processor core Worst-case execution time ; Computational tasks Average execution time of the regular part on all common processor cores ; Computational tasks Average communication time of the regular part : Computational tasks Modify upward weights ; Tasks are sorted in ascending order according to their level in the task graph. Tasks at the same level are sorted in descending order of their modification weight to obtain the allocation priority of each task. in, For the task The worst-case execution instruction cycle for the normal part It is a task In processor core On the execution efficiency, Representative task exist Execution frequency on A collection of ordinary processor cores; The number of cores in a typical processor; The average startup communication time cost of a typical processor core, This is the average data transfer rate between ordinary processor cores. For the task With the task The amount of data communicated between them; For the task The set of direct successor tasks.
3. The method according to claim 1, characterized in that, Step two includes: Computational tasks The earliest start time of the normal part on each processor core and end time ; If the processor core There are tasks to be completed. The available idle time slots, which meet the start time and execution time requirements of the regular part and can satisfy the common deadline D of the tasks, will be allocated to the processor cores. Included in the task Allocable processor cores; The task Allocate to the earliest available processor core that completes; Set up tasks Start time of the regular section and end time ; in, Indicates processor core The earliest available time slot start time; Indicates task The actual end time of the regular section, For the task and tasks Communication overhead between them; For the task The set of direct predecessor tasks; This is the entry point task; for The regular part is in the ordinary processor core Worst-case execution time.
4. The method according to any one of claims 1 to 3, characterized in that, The method includes relaxing the start and end times of the regular parts of each task: Calculate the elongation factor ; Relax the start and end times of the routine parts of each task; Tasks are selected in reverse order of their allocation priority; Set the end time for the regular portion of this task; If the task The start and end times of the normal part satisfy: Set up tasks The start time of the normal section is: Where D represents the common deadline for the tasks. For the task execution span; for The direct successor task, For the task and Communication time between them; In order to complete the mission On the same ordinary processor core, and located in the task The next task to be executed The earliest start time; For the task The worst-case execution instruction cycle of the normal part. It is a task Execution efficiency on the processor core, This represents the minimum execution frequency of a task on the kernel.
5. A high-energy-efficiency security-aware task scheduling device for a heterogeneous edge computing system, characterized in that, include: The regular section allocation priority setting module is used to set the allocation priority of the regular section of each task based on the modification upward weight of each task and the task layer level; The regular part allocation module is used to allocate the regular part of each task to each ordinary processor core according to the task allocation order. The security task selection module is used to select tasks in descending order based on their risk factors. The security processor selection module is used to select security processor cores sequentially from highest to lowest execution efficiency of the selected task's security component on each security processor, and to set the security level of each security processor. ; The security component allocation module is used to allocate selected tasks to the highest-security-level security processor core that has available idle time slots and whose security component execution time does not exceed the regular component execution time of the task; it includes: The safety-related execution time calculation unit is used to calculate the task. The security component is in the selected security processor core Execution time length ; The security task allocation unit determines whether the security processor core selected by the security processor selection unit satisfies the following conditions: The security portion of the task selected by the security task selection module is assigned to the security processor core; The security task execution time and security level setting unit is used to set the task. The start of the safety section End time and security level ; Among them, among them, It is a positive coefficient, depending on the task. The cryptographic algorithm used For the task Required security service data size Representative task In the security processor core On the execution efficiency, For the task In the security processor core The highest execution frequency on; For processor core The end time of the earliest idle time slot, For processor core The start time of the earliest idle time slot; among which, For the task The ideal security level; k is the sequence number of the security processor core. K represents the number of security processor cores.
6. The apparatus according to claim 5, characterized in that, The regular part allocation priority setting module includes: The routine execution time calculation unit is used to calculate the worst-case execution time of the routine portion of each task on a normal processor core. and average execution time ; The conventional communication time calculation unit is used for calculation tasks. Average communication time of the regular part : Modify the upward weight calculation unit to calculate the modified upward weights for the task. ; The regular allocation order setting unit is used to sort tasks in ascending order according to the level of each task in the task graph, and sort tasks at the same level in descending order according to the modification weight of the task, so as to obtain the allocation priority of each task. in, For the task The worst-case execution instruction cycle for the normal part It is a task In processor core On the execution efficiency, Representative task exist Execution frequency on A collection of ordinary processor cores; The number of cores in a typical processor; The average startup communication time cost of a typical processor core, This is the average data transfer rate between ordinary processor cores. For the task With the task The amount of data communicated between them; For the task The set of direct successor tasks.
7. The apparatus according to claim 5, characterized in that, The conventional part allocation module includes: The task selection unit is used to select tasks based on their allocation priority. Select tasks in sequence ; The first execution time setting unit is used to calculate the task. The earliest start time of the normal part on each processor core and earliest end time ; Allocable processor core filtering unit, used to determine processor core Is there a task that can be completed? The available idle time slots for the start time and execution duration requirements of the regular part, which can meet the common deadline D of the tasks, if available, will be allocated to the processor cores. Included in the task Allocable processor cores; Regular partial allocation unit, used to allocate tasks The regular part is assigned to The earliest allocable processor cores and task settings Start time of the regular section and end time ; in, Indicates processor core The earliest available time slot start time; Indicates task The actual end time of the regular section, For the task and tasks Communication overhead between them; For the task The set of direct predecessor tasks; This is the entry point task; for The regular part is in the ordinary processor core Worst-case execution time.
8. The apparatus according to any one of claims 5 to 7, characterized in that, The device includes: The execution time relaxation module is used to determine the common deadline D of the tasks and the task execution span. Relax the start and end times of the regular parts of each task; including: The elongation coefficient calculation unit is used to calculate the elongation coefficient. ; The execution time relaxation unit is used to relax the start and end times of the regular part of the task; The second execution time setting unit is used to calculate the final start and end times of the task based on the start and end times of the relaxed routine part of the task. Based on the allocation priority of each task Select tasks in reverse order; Set the end time for the regular portion of this task; If the task The start and end times of the normal part satisfy: Set up tasks The start time of the normal section is: Where D represents the common deadline for the tasks. For the task execution span; for The direct successor task, For the task and Communication time between them; In order to complete the mission On the same ordinary processor core, and located in the task The next task to be executed The earliest start time; For the task The worst-case execution instruction cycle of the normal part. It is a task Execution efficiency on the processor core, This represents the minimum execution frequency of a task on the kernel.
Citation Information
Patent Citations
Distributed multi-task self-organizing scheduling method for satellite-borne security-critical software
CN115827190A
High-energy-efficiency safe sensing task scheduling method and device for heterogeneous multi-core system
CN117215748A