Uniform resource pooling management method for multiple computing power sources of unmanned aerial vehicle platform
By constructing a basic view of heterogeneous computing power pool scheduling and real-time monitoring of computing power unit status, the heterogeneity and fault tolerance of resource allocation in the drone platform are solved, and the efficient and reliable task execution is achieved, ensuring the stable output of the drone platform.
Patent Information
- Application Number
- CN202510885040.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-30
- Publication Date
- 2025-07-25
- Estimated Expiration
- 2045-06-30
AI Technical Summary
The prior art has insufficient attention to the heterogeneity, real-time performance and fault tolerance of computing power resources in drone platforms, resulting in delays in task execution, unbalanced resource load or waste of resources.
By analyzing the drone business flow to obtain subtask nodes and dependency edges, building a basic view of heterogeneous computing power pool scheduling, allocating resources based on task execution priority sorting, and monitoring the operating temperature and calculation error rate of computing power units in real time, identifying potential failure risks, actively triggering pre-degradation control signals, and migrating tasks to the backup unit with the lowest load to resume operation.
It improves task execution efficiency and resource scheduling accuracy, enhances the resource scheduling reliability and system robustness of the drone platform, avoids the risk of task interruption caused by failures, and ensures the continuous and stable output of computing resources.
Smart Images

Figure CN120371552A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of resource allocation, and particularly to a unified resource pooling management method for multiple computing power sources on an unmanned aerial vehicle (UAV) platform. Background Art
[0002] The technical field of resource allocation mainly studies how to allocate various heterogeneous computing, storage, network and other resources to tasks or users in an efficient, fair and reasonable manner under limited resource conditions, so as to maximize resource utilization and optimize system performance.
[0003] In the actual operation process of the prior art, there is a significant lack of attention to the heterogeneity, real-time performance and fault tolerance of computing power resources. Only simple allocation of various resources or resource balancing based on fixed rules is considered, and the real-time measurement of task execution is lacking, making it difficult to timely reflect the actual dynamic changes in the resource usage status during task processing. This delay in responding to resource status changes is likely to lead to task execution delays, resource load imbalance or resource idle waste. Therefore, improvements are needed. Summary of the Invention
[0004] The purpose of the present invention is to solve the deficiencies existing in the prior art, and a unified resource pooling management method for multiple computing power sources on an unmanned aerial vehicle platform is proposed.
[0005] To achieve the above purpose, the present invention adopts the following technical solutions. The unified resource pooling management method for multiple computing power sources on an unmanned aerial vehicle platform includes the following steps: Parse the UAV service flow to obtain sub-task nodes and dependency edges, measure the execution time of each sub-task on different heterogeneous computing power units, calculate the time overhead of data transmission between heterogeneous computing power units for executing consecutive tasks, and construct a basic view of heterogeneous computing power pool scheduling including a task graph structure and time overhead; Perform topological sorting based on the task graph structure in the basic view of heterogeneous computing power pool scheduling to generate a task execution priority sequence. Based on the task execution priority sequence, traverse the ready tasks and calculate the earliest completion time on each heterogeneous computing power unit, and select the unit with the smallest value among the earliest completion times for assignment to obtain an initial computing power resource allocation decision; Determine the currently active heterogeneous computing power units according to the initial computing power resource allocation decision, continuously obtain the operating temperature and calculation error rate, calculate the health score, generate a time series flow of the health status of the computing power units, obtain the change trend of the health score based on the time series flow of the health status of the computing power units, determine the potential fault risk, and establish a pre-downgrade trigger signal for the computing power units; Based on the pre - degradation trigger signal of the computing power unit, the initial computing power resource allocation decision - locking risk unit and the critical tasks carried thereon, create a copy of the running state of the critical tasks, generate a checkpoint of the task state to be migrated, and based on the checkpoint of the task state to be migrated, resume the task running on the standby heterogeneous computing power unit with the lowest load, and obtain the updated resource allocation and execution instructions.
[0006] Preferably, the steps for obtaining the basic view of the heterogeneous computing power pool scheduling are as follows: Analyze the UAV service flow, extract each subtask node defined therein and the dependency relationship between tasks, record item - by - item the name of the subtask node, the task type, and the information of the dependency relationship edge, and generate a set of subtask node and dependency relationship edge information; Based on the set of subtask node and dependency relationship edge information, respectively call the performance parameters and execution efficiency parameters of each heterogeneous computing power unit, calculate the execution time of each subtask node on different heterogeneous computing power units one by one, record and summarize them item - by - item into a set of heterogeneous computing power unit execution time information; Based on the set of heterogeneous computing power unit execution time information, call the output data size parameter corresponding to the continuous task and the network bandwidth parameter between heterogeneous computing power units, calculate the time consumption of data transmission between continuous subtasks one by one, and combine it with the set of subtask node and dependency relationship edge information to form a complete task graph structure, and generate the basic view of the heterogeneous computing power pool scheduling.
[0007] Preferably, the steps for obtaining the task execution priority sequence are as follows: Based on the task graph structure in the basic view of the heterogeneous computing power pool scheduling, traverse each subtask node, extract the subtask node number, the execution time corresponding to the node, the number of the direct predecessor task and the communication delay between the current node, the number of the direct successor task node and the corresponding execution time, accumulate the sum of the execution times of all subtask nodes, and generate a set of node topological features; According to the set of node topological features, calculate the forward - looking critical task weight priority value of each subtask node; Based on the forward - looking critical task weight priority value of each subtask node, sort all subtask nodes in descending order according to the forward - looking critical task weight priority value, and generate a task execution priority sequence.
[0008] Preferably, the steps for obtaining the initial computing power resource allocation decision are as follows: Based on the task execution priority sequence, extract the task numbers that currently meet the requirements for the completion of all predecessor tasks one by one from the starting position, compare item - by - item the status records of the heterogeneous computing power units, and extract the current idle time information of each computing power unit to form a set of computing power unit idle time for the current ready tasks; According to the set of computing power unit idle times of the current ready tasks, the task execution time parameters, the end time parameters of the corresponding predecessor tasks, and the data transfer completion time parameters between tasks are called one by one. The task execution time, the computing power unit idle time, and the data transfer completion times of all predecessor tasks are compared in sequence. The largest time value is selected and added to the task execution time value to generate the set of earliest completion times of each heterogeneous computing power unit for the current task; According to the set of earliest completion times of each heterogeneous computing power unit for the current task, the computing power unit number with the smallest earliest completion time value is extracted, and the current task number is assigned to this computing power unit number, which is recorded as the initial computing power resource allocation decision.
[0009] Preferably, the steps for obtaining the computing power unit health status time series are as follows: According to the initial computing power resource allocation decision, the numbers of all currently active heterogeneous computing power units are extracted. Each heterogeneous computing power unit is called in sequence to obtain the measured operating temperature value and the number of calculation errors occurred within each sampling period. The sampling number, the operating temperature value, and the number of calculation errors are continuously recorded to form a sampling set of heterogeneous computing power unit temperature data and error data; Based on the sampling set of heterogeneous computing power unit temperature data and error data, the dynamic stability perception health score is calculated; According to the dynamic stability perception health scores of the heterogeneous computing power units in each evaluation period, continuous scoring records are organized in the order of sampling time to establish the computing power unit health status time series.
[0010] Preferably, the steps for obtaining the computing power unit pre - degradation trigger signal are as follows: Based on the computing power unit health status time series, a time sliding window with a fixed step size is set. The dynamic stability perception health score sequence and the corresponding time index sequence within each sliding window are extracted in sequence according to the time order. The start time of each window is marked and all dynamic stability perception health scores are recorded to generate a set of sliding window health score time series; According to the set of sliding window health score time series, the degradation severity index corresponding to each sliding window is calculated; Based on the degradation severity index, when the degradation severity index of any sliding window is greater than the set warning threshold, the end time point of this sliding window is immediately located, and a pre - degradation control signal is output to generate the computing power unit pre - degradation trigger signal.
[0011] Preferably, the steps for obtaining the checkpoint of the task to be migrated are as follows: According to the pre - degradation trigger signal of the computing power unit, match one by one the corresponding relationship between the tasks recorded in the initial computing power resource allocation decision and the computing power unit, extract the computing power unit number corresponding to the pre - degradation signal and all the task numbers currently being executed, and form the corresponding relationship between the risk unit and the tasks it undertakes; Based on the corresponding relationship between the risk unit and the tasks it undertakes, call one by one the real - time task status data of the corresponding task numbers, record one by one the memory image at the task running moment, the instruction execution position, and the current values of the task - related registers, and create a copy of the running status of the critical tasks; Based on the copy of the running status of the critical tasks, extract and mark one by one all the memory images and register statuses of the tasks therein, check the consistency of the memory images and register statuses and encapsulate them to form a checkpoint of the task status to be migrated for migration recovery.
[0012] Preferably, the step of obtaining the updated resource allocation and execution instructions is as follows: Based on the checkpoint of the task status to be migrated, extract one by one the current number of tasks, the length of the real - time processing queue, and the current resource occupancy rate index of the computing power unit of all the standby heterogeneous computing power units, accumulate them item by item and sort them, and screen out the number of the standby heterogeneous computing power unit with the lowest load; According to the number of the standby heterogeneous computing power unit with the lowest load, call the memory image and register status data stored in the checkpoint of the task status to be migrated, load the extracted memory images one by one into the memory area of the corresponding standby heterogeneous computing power unit, and complete the reloading of the register status data in sequence, and restore the running status of each task one by one to form a copy of the running status of the restored tasks; According to the copy of the running status of the restored tasks, generate one by one the corresponding relationship between the new tasks and the computing power unit, update the computing power resource scheduling record, and generate one by one the next executable program instruction sequence after the task is restored to form the updated resource allocation and execution instructions.
[0013] Compared with the prior art, the advantages and positive effects of the present invention are as follows: The present invention analyzes the UAV service flow to obtain sub-task nodes and dependency edges. Based on the task execution priority sorting, it calculates the refined execution time of each sub-task on heterogeneous computing power units, clarifies the actual time consumption of data transmission between computing tasks, and forms a complete basic view of heterogeneous computing power pool scheduling, thereby improving the task execution efficiency and the accuracy of resource scheduling. At the same time, during the resource allocation process, it continuously monitors the real-time operating temperature and calculation error rate of each computing power unit, intelligently analyzes and calculates the dynamic health status, timely identifies potential failure risks and actively triggers pre-downgrade control signals, quickly constructs a checkpoint for the task to be migrated, and actively migrates the task to the standby heterogeneous computing power unit with the lowest load to resume operation, enhancing the reliability of resource scheduling and the overall system robustness during UAV task execution, avoiding the risk of task execution interruption caused by accidental failures of heterogeneous computing power resource units, and ensuring the continuous and stable output of computing power resources of the UAV platform and the task completion quality. BRIEF DESCRIPTION OF THE DRAWINGS
[0014] Figure 1 It is a schematic diagram of the steps of the present invention. DETAILED DESCRIPTION OF THE EMBODIMENTS
[0015] In order to make the objectives, technical solutions and advantages of the present invention clearer, the present invention will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present invention and are not used to limit the present invention.
[0016] Please refer to Figure 1 , the present invention provides a technical solution, a unified resource pooling management method for multiple computing power sources of a UAV platform, including the following steps: Analyze the UAV service flow to obtain sub-task nodes and dependency edges, calculate the execution time of each sub-task on different heterogeneous computing power units, calculate the time overhead of data transmission between heterogeneous computing power units executing consecutive tasks, and construct a basic view of heterogeneous computing power pool scheduling including a task graph structure and time overhead; Perform topological sorting based on the task graph structure in the basic view of heterogeneous computing power pool scheduling to generate a task execution priority sequence. Based on the task execution priority sequence, traverse the ready tasks and calculate the earliest completion time on each heterogeneous computing power unit, select the unit with the smallest value in the earliest completion times for assignment, and obtain the initial computing power resource allocation decision; Determine the currently active heterogeneous computing power units according to the initial computing power resource allocation decision, continuously obtain the operating temperature and calculation error rate, calculate the health score, generate a time series flow of the health status of the computing power units, based on the time series flow of the health status of the computing power units, obtain the change trend of the health score, determine the potential failure risk, and establish a pre-downgrade trigger signal for the computing power units; Lock the risk units and the critical tasks they carry according to the pre - degradation trigger signal of the computing power unit and the initial computing power resource allocation decision. Create a copy of the running state of the critical tasks to generate a checkpoint for the tasks to be migrated. Based on the checkpoint of the tasks to be migrated, resume the task execution on the standby heterogeneous computing power unit with the lowest load, and obtain the updated resource allocation and execution instructions.
[0017] The steps to obtain the basic view of heterogeneous computing power pool scheduling are as follows: Analyze the UAV service flow, extract each sub - task node defined therein and the dependency relationships between tasks, record the name, task type, and information of the dependency edges of the sub - task nodes one by one, and generate a set of sub - task node and dependency edge information. Based on the set of sub - task node and dependency edge information, call the performance parameters and execution efficiency parameters of each heterogeneous computing power unit respectively, calculate the execution time of each sub - task node on different heterogeneous computing power units one by one, record and summarize them one by one into a set of heterogeneous computing power unit execution time information. Based on the set of heterogeneous computing power unit execution time information, call the output data size parameter corresponding to the continuous tasks and the network bandwidth parameter between heterogeneous computing power units, calculate the time consumption of data transmission between continuous sub - tasks one by one, and combine it with the set of sub - task node and dependency edge information to form a complete task graph structure, and generate the basic view of heterogeneous computing power pool scheduling.
[0018] Specifically, analyze the UAV service flow, which is defined in a structured description language (such as YAML or XML in the implementation). Scan the file line by line through a syntax analyzer, automatically identify and extract each sub - task node marked as "task" and the task - to - task dependency marked as "dependency". For each identified sub - task node, the system will extract its unique "name" field as the name of the sub - task node, extract the "type" field as the task type. For example, the task type can be specifically classified as image pre - processing, target detection, path planning, or data transmission, and record its input data description and output data description. For each identified dependency edge, the system will record its "source" field and "destination" field, corresponding to the name of the predecessor task and the name of the successor task node respectively. Then, organize the extracted information into a structured data record, where each sub - task node is recorded as a data structure containing the node's unique identifier, node name, and specific task type, and each dependency edge is recorded as a data structure containing the source node identifier and the target node identifier. Finally, integrate all node records and edge records into a unified set to generate a set of sub - task node and dependency edge information containing all sub - task node attributes and their inter - connection topology relationships.
[0019] Based on the set of subtask nodes and dependency edge information, first, from a pre-constructed device specification database, the performance parameters and execution efficiency parameters of each heterogeneous computing unit (such as central processing unit CPU, graphics processing unit GPU, field-programmable gate array FPGA) are called. The performance parameters include hardware metrics such as the number of cores of the unit, clock frequency (in GHz), floating-point operations per second (GFLOPS), etc. The execution efficiency parameter is a lookup table established through previous benchmark tests, which records the execution efficiency coefficients of different task types on specific computing units. For example, the efficiency coefficient of an object detection task with matrix multiplication intensity on GPU is 0.9, and on CPU is 0.5. Then, the system traverses each subtask node, and according to its task type and associated computational complexity (for example, the estimated total number of operations), combines the performance parameters and execution efficiency parameters of each heterogeneous computing unit to calculate its execution time one by one. For example, for an object detection task that requires 10 billion floating-point operations, the execution time on a certain GPU (effective computing power is 500 GFLOPS) is calculated as 10 billion operations divided by 500 GFLOPS, which equals 0.02 seconds, while the execution time on a certain CPU (effective computing power is 20 GFLOPS) is 0.5 seconds. The system performs this calculation for each combination of each task on each computing unit, and associates the calculated execution time with the corresponding task identifier and unit identifier for recording. Finally, all these records are summarized into a two-dimensional matrix form of heterogeneous computing unit execution time information set.
[0020] Based on the set of execution time information of heterogeneous computing units, first, from the definition of the UAV service flow, the output data size parameters associated with each subtask node are called. For example, the output of an image preprocessing task may be an image data of size 2MB, while the output of an object detection task may be a list of coordinates of size 10KB. At the same time, the system retrieves the network bandwidth parameters between heterogeneous computing units from a preset hardware topology configuration file, which is stored in the form of a bandwidth matrix and defines in detail the effective rate of data transmission between any two computing units. For example, the bandwidth between the CPU and the integrated GPU connected through the PCIe bus is 16GB / s, while the bandwidth between two independent digital signal processors (DSPs) connected through a dedicated link is 1GB / s. If two tasks are executed on the same computing unit, the data transmission time between them is considered zero. Subsequently, for each dependency edge in the task graph, according to the two consecutive subtasks it connects, the system calculates all possible data transmission time consumptions when these two tasks are assigned to different computing units. The calculation method is to divide the output data size of the previous task by the network bandwidth between the corresponding two computing units. This calculation result forms a set of transmission time costs corresponding to the combination of computing units. Finally, this set of transmission time costs is integrated with the previously generated set of subtask node and dependency edge information and the set of heterogeneous computing unit execution time information to jointly construct a complete, weighted directed acyclic graph structure, where the node weight is the execution time vector of the task on each unit, and the edge weight is the set of time costs for data transmission between different units, generating the basic view of heterogeneous computing power pool scheduling.
[0021] The steps to obtain the task execution priority sequence are as follows: Based on the task graph structure in the basic view of heterogeneous computing power pool scheduling, traverse each subtask node, extract the subtask node number, the execution time corresponding to the node, the number of the direct predecessor task and the communication delay with the current node, the number of the direct successor task node and the corresponding execution time, and accumulate the sum of the execution times of all subtask nodes to generate a set of node topology features; According to the set of node topology features, calculate the forward critical task weight priority value of each subtask node. The calculation formula is: ; where, is the forward critical task weight priority value of subtask node , is the set of numbers of the predecessor tasks of subtask node , is the forward critical task weight priority value of the predecessor task , is from the predecessor task To the subtask node The data transmission time cost For the subtask node The execution time For the subtask node The set of successor task numbers Is the sum of the execution times of all successor tasks Is the sum of the execution times of all subtask nodes in the task graph; Based on the forward-looking critical task weight priority values of each subtask node, sort all subtask nodes in descending order of the forward-looking critical task weight priority values to generate a task execution priority sequence.
[0022] Specifically, based on the task graph structure in the heterogeneous computing power pool scheduling basic view, the system performs a complete scan of all subtask nodes in the graph using a depth-first or breadth-first traversal algorithm. During this process, for each currently visited subtask node, the system precisely extracts its unique subtask node number from the task graph structure, and retrieves the average execution time of this node on all heterogeneous computing units calculated in the previous step as its baseline execution time. At the same time, the system backtracks to find all dependency edges directly pointing to the current node, records the source nodes of these edges, that is, the numbers of the direct predecessor tasks, and extracts the average communication delay recorded on these edges among all combinations of computing units. Subsequently, the system continues to explore forward, finds all dependency edges starting from the current node, records the destination nodes of these edges, that is, the numbers of the direct successor task nodes, and also extracts the corresponding average execution times of these successor nodes. After traversing all nodes and extracting the above information, the system performs a summation operation on the baseline execution times of all subtask nodes to obtain an accumulated execution time representing the total computational load of the entire business flow. Finally, integrate and encapsulate the number of each node, the baseline execution time, the list of predecessor nodes, the list of communication delays with predecessor nodes, the list of successor nodes, the list of execution times of successor nodes, and the accumulated execution time of the entire graph into a structured data set to generate a node topology feature set.
[0023] Formula: , The benefit of the formula is that by introducing a forward-looking weight factor , not only considering the latest time to reach the current task (i.e., In addition, the proportion of the computational load of all subsequent subtasks of this task in the total load was also evaluated. This design enables subtasks that are subsequently connected to a large and time-consuming task chain to obtain a higher priority weight, so that they can be preferentially processed in the scheduling decision, avoiding the problem that the subsequent longer critical path is delayed due to shortsightedly executing some locally optimal short tasks first, resulting in an increase in the overall task completion time; is the prospective critical task weight priority value for the subtask node . It is a comprehensive score used to quantify the scheduling priority of the task. This value is not directly measured, but is recursively calculated through this formula based on the topological position of the task in the graph, its own computational cost, and its impact on the subsequent task flow. For the entry task node without any predecessor tasks, the value of the item in its priority value calculation is 0.
[0024] is the set of predecessor task numbers for the subtask node . This set is directly extracted from the node topological feature set generated in the previous step and contains the unique numbers of all direct upstream tasks that must be completed before the subtask node starts. For example, in a drone reconnaissance task flow, if the "target recognition" task (numbered 4) must start after both the "image acquisition" (numbered 2) and "image preprocessing" (numbered 3) tasks are completed, then the set of predecessor task numbers for task 4 is .
[0025] is the prospective critical task weight priority value of the predecessor task . This value is calculated sequentially in the direction from the entry node to the exit node after the topological sorting of the task graph. When calculating the priority value of the current subtask node , the priority values of all its predecessor tasks have been calculated and stored and can be directly called. For example, before calculating the priority value of task 4, the priority value of task 2 has been calculated as 25.5, and the priority value of task 3 is 28.1.
[0026] is the data transfer time cost from the predecessor task to the subtask node . This value is obtained from the basic view of heterogeneous computing power pool scheduling and is calculated by dividing the output data size of the predecessor task by the computing power that bears the predecessor task and the subtask node Calculated based on the average network bandwidth between two computing power units. For example, if the output data of Task 2 is 5MB and the output data of Task 3 is 4MB, and the average communication bandwidth between computing power units in the system is tested to be 200MB / s, then seconds, seconds.
[0027] is the execution time of the sub-task node Here, the execution time is not for a specific computing power unit, but is extracted from the set of execution time information of heterogeneous computing power units for the execution time of this task on all available computing power units, and its average value is calculated. This average value is used as a representative of the inherent computational complexity of the task. For example, if the execution time of Task 4 on the CPU is 0.15 seconds and the execution time on the GPU is 0.05 seconds, then its average execution time seconds.
[0028] is the set of successor task numbers of the sub-task node It contains all downstream tasks (including direct and indirect successors) that can be reached in the task graph starting from the sub-task node This set is determined by performing a depth-first search (DFS) or breadth-first search (BFS) traversal on the sub-graph starting from the sub-task node For example, if there are two tasks, "Threat Assessment" (number 5) and "Route Re-planning" (number 6), after Task 4, and there are no further tasks after Task 5 and no further tasks after Task 6, then the set of successor task numbers of Task 4 is .
[0029] is the sum of the execution times of all successor tasks. This value is obtained by accumulating the average execution time of each successor task in the set (the acquisition method is the same as ). For example, if the average execution time of Task 5 is 0.20 seconds and the average execution time of Task 6 is 0.25 seconds, then for Task 4, the sum of the execution times of all its successor tasks is seconds.
[0030] is the sum of the execution times of all sub-task nodes in the task graph. This value is directly obtained from the set of node topological features generated in the previous step and is the accumulated sum of the average execution times of all tasks, representing the total computational volume of the entire business process. For example, if the entire task graph contains 6 tasks from Task 1 to Task 6, and the sum of their average execution times is calculated to be 1.50 seconds, then seconds
[0031] Calculation process: Taking the calculation of the forward-looking critical task weight priority value of subtask node 4 as an example, substitute the parameter values obtained above: For example, substitute the parameter values obtained above: , , , , , , , .
[0032] First, calculate the latest time item reaching the current node: ; ; ; ; Next, calculate the forward-looking weight factor item: ; ; ; ; Finally, add the two parts to get the final priority value: ; The result shows that the forward-looking critical task weight priority value of subtask node 4 is 28.25. This value itself has no physical unit. It is a relative priority score. The higher this value, the more critical the task is in the entire business process and the higher the scheduling priority.
[0033] Based on the forward-looking critical task weight priority values calculated for each subtask node, the system first constructs a list of pairs containing (task number, priority value) by pairing the numbers of all subtask nodes with their corresponding priority values. For example, in an implementation, (Task 1, 15.2), (Task 2, 25.5), (Task 3, 28.1), (Task 4, 28.25), (Task 5, 30.5), (Task 6, 32.8). Then, it calls quicksort to process this list of pairs. The sorting rule is to sort in descending order based on the second element of each tuple, that is, the forward-looking critical task weight priority value. During the sorting process, if the priority values of two or more subtasks are exactly the same, a preset secondary sorting rule is initiated to break the tie and ensure the uniqueness and determinacy of the sorting result. This secondary rule is to compare the subtask node numbers of these tasks, and the task with the smaller number will be given a higher priority. After sorting, the system discards the priority values in the list and only extracts and retains the sorted subtask node numbers to form a linear task number list from high priority to low priority. This list is the finally generated task execution priority sequence.
[0034] The steps to obtain the initial computing power resource allocation decision are as follows: Based on the task execution priority sequence, starting from the starting position, extract one by one the task numbers of the currently completed tasks that meet all the requirements of the predecessor tasks, compare them one by one with the status records of the heterogeneous computing power units, and extract the current idle time information of each computing power unit to form a set of idle times of the computing power units for the currently ready tasks. According to the set of idle times of the computing power units for the currently ready tasks, call one by one the task execution time parameters, the end time parameters of the corresponding predecessor tasks, and the data transfer completion time parameters between tasks, compare the task execution time, the idle time of the computing power units, and the data transfer completion time of all predecessor tasks in turn, select the largest time value among them, and add it to the task execution time value to generate a set of earliest completion times of the current tasks for each heterogeneous computing power unit. According to the set of earliest completion times of the current tasks for each heterogeneous computing power unit, extract the computing power unit number with the smallest earliest completion time value, assign the current task number to this computing power unit number, and record it as the initial computing power resource allocation decision.
[0035] Specifically, based on the task execution priority sequence, a cyclic scheduler is started. The scheduler begins from the highest priority position in the sequence and sequentially extracts task numbers one by one. For each extracted task, the system queries all the direct predecessor tasks defined for this task in the heterogeneous computing power pool scheduling basic view and verifies them against a "completed task list" that is updated in real time. This list records all the tasks that have been executed and their completion times. Only when all the direct predecessor tasks of a task appear in this list, the task is determined to be in the "ready state". The scheduler will select the first task that reaches the ready state in the priority sequence as the current target task to be allocated. Once the target task is determined, the system will immediately traverse all heterogeneous computing power units (implementation examples include central processing units, graphics processing units, digital signal processors) and access a dynamically maintained "computing power unit status record table". This table maintains an "estimated idle timestamp" for each computing power unit, which represents the exact moment when the unit finishes all its currently assigned tasks. The system will sequentially extract the timestamp information of each computing power unit and associate it with the corresponding computing power unit number to form the computing power unit idle time set of the current ready task.
[0036] Based on the computing power unit idle time set of the current ready task, the system performs an independent earliest completion time estimation calculation for each heterogeneous computing power unit for the current target task to be allocated. In each calculation, first, from the heterogeneous computing power unit execution time information set, the task execution time parameter required for the target task to execute on this specific computing power unit is called. At the same time, the system will traverse all the direct predecessor tasks of the target task and obtain the actual end time of each predecessor task from the "completed task list". Then, the data transfer time cost between the computing power unit where the predecessor task is located and the current pre-estimated computing power unit is retrieved from the heterogeneous computing power pool scheduling basic view. The end time of the predecessor task is added to this transfer time cost to obtain the time point when the data of this predecessor task arrives at the current pre-estimated computing power unit. The system selects the latest one among the data arrival time points of all predecessor tasks as the "data ready time". Subsequently, the system compares this "data ready time" with the "estimated idle timestamp" of the current pre-estimated computing power unit and selects the larger of the two time values as the "earliest start time" of the task on this unit. Finally, this "earliest start time" is added to the execution time value of the task on this unit to calculate the "earliest completion time" of the task on this computing power unit, and the calculation results of all computing power units are summarized to generate the earliest completion time set of each heterogeneous computing power unit corresponding to the current task.
[0037] Based on the set of earliest completion times of each heterogeneous computing power unit for the current task, the system scans all data pairs of (computing power unit number, earliest completion time) within this set. Through numerical comparison operations, it locates the computing power unit with the smallest "earliest completion time" value. If there are multiple computing power units with the same earliest completion time, one of them is selected according to a preset static priority list (for example, sort the units according to the energy efficiency ratio, and the ones with higher energy efficiency ratio are given priority) to break the tie. After selecting the unique computing power unit, the system officially assigns the current target task number to be allocated to this computing power unit number. And this decision, together with the calculated earliest start time and earliest completion time, is added as a new allocation record to a global scheduling plan table. This plan table is the initial computing power resource allocation decision. At the same time, the system immediately updates the "Computing Power Unit Status Record Table", updates the "estimated idle timestamp" of the assigned unit to the earliest completion time of this task allocation, and after the task is completed, adds this task information to the "Completed Task List" to provide the latest system status for the next round of task scheduling.
[0038] The steps for obtaining the time series flow of the health status of the computing power unit are as follows: According to the initial computing power resource allocation decision, extract the numbers of all currently active heterogeneous computing power units, and call each heterogeneous computing power unit in turn to obtain the measured operating temperature value and the number of calculation errors occurred within each sampling period. Continuously record the sampling number, operating temperature value, and number of calculation errors to form a sampling set of heterogeneous computing power unit temperature data and error data. Based on the sampling set of heterogeneous computing power unit temperature data and error data, calculate the dynamic stability perception health score. The calculation formula is: ; Among them, ; Among them, is the dynamic stability perception health score of the heterogeneous computing power unit within the current evaluation period, is the total number of sampling rounds within the current evaluation period, is the measured operating temperature value of the round of sampling, is the temperature tolerance reference value set for the heterogeneous computing power unit, is the number of calculation errors in the round of sampling, is the exponential adjustment parameter for controlling the temperature index sensitivity, is the standard deviation of the instantaneous health factor, is the instantaneous health factor of the is the instantaneous health factor for the round of sampling; According to the dynamic stability perception health scores of heterogeneous computing units in each evaluation period, continuous scoring records are organized in the order of sampling time to establish a time series flow of the health status of the computing units.
[0039] Specifically, according to the initial computing power resource allocation decision, first parse all task allocation entries recorded in this decision, extract the unique numbers of all heterogeneous computing units assigned at least one task, and these extracted numbers together constitute the set of heterogeneous computing units in the current active state. Then, the system starts a periodic monitoring process. This process sets a fixed sampling period for each active computing unit, for example, set to 100 milliseconds. At the end of each sampling period, the monitoring process actively queries and obtains the measured real-time operating temperature value of the core of this computing unit through the board management controller (BMC) or a dedicated sensor interface. At the same time, the system also checks the error correction code (ECC) controller inside this computing unit, reads and records the total number of new correctable or uncorrectable calculation errors since the previous sampling point. Each time a sampling is completed, the system generates a data record containing a unique sampling number (for example, the timestamp since startup), the operating temperature value obtained in the current sampling period, and the number of calculation errors, and classifies these records according to the computing unit number, continuously appending and storing them, so as to gradually form a comprehensive sampling set of heterogeneous computing unit temperature data and error data containing the real-time state data of all active computing units.
[0040] Formula: , where , , the benefit of the formula is that it non-linearly models the two key degradation indicators of temperature and calculation errors through the Sigmoid function and the logarithmic function respectively, capturing the sharp deterioration trend of the health status of the hardware when approaching its physical limit. On the other hand, an exponential penalty term based on the standard deviation of the instantaneous health factor is introduced, so that the evaluation of the health score not only focuses on the average health level, but also punishes the drastic fluctuations in the health status. This design can identify earlier those computing units with unstable operating states and potential risks of sudden failures, even if their average temperature and error rate are still within the acceptable range, thus realizing a more comprehensive and forward-looking quantitative evaluation of the health status of the computing units; is the total number of sampling rounds in the current evaluation period. This value is preset according to the monitoring strategy and defines the data sample size based on which a dynamic stability perception health score is calculated. For example, if the sampling period is 100 milliseconds and the evaluation period is set to 10 seconds, then the total number of sampling rounds rounds.
[0041] is the measured operating temperature value for the round of sampling. This data is directly obtained from the heterogeneous computing power unit temperature data and error data sampling set formed in the previous step, according to the sampling round index. It is a direct physical measurement value of the core temperature of the computing power unit at a specific moment, with the unit of degrees Celsius (°C). For example, in the 50th round of sampling, the temperature of a certain GPU is obtained as 75°C.
[0042] is the temperature tolerance reference value set for the heterogeneous computing power unit. This reference value is set with reference to the maximum safe operating temperature in the technical specification provided by the chip manufacturer. Usually, 85% to 90% of Tjmax is taken as a reasonable tolerance reference. For example, if the Tjmax of a certain GPU is 105°C, then its temperature tolerance reference value can be set .
[0043] is the number of calculation errors for the round of sampling. This data is also obtained from the heterogeneous computing power unit temperature data and error data sampling set, according to the sampling round index. It records the total number of calculation error events reported by the hardware within a sampling period, and is a unitless count value. For example, in the 50th sampling period, the number of calculation errors recorded is 1 time.
[0044] is the exponential adjustment parameter for controlling the temperature index sensitivity. This parameter determines the steepness of the change of the health score with temperature. Its value is set according to experience. By performing stress tests on the computing power unit under different loads and observing the correlation curve between its temperature and performance degradation and error rate increase, a value that can make the Sigmoid function curve drop rapidly when approaching the temperature tolerance reference value is selected. For example, after test analysis, is set, so that when the temperature exceeds the tolerance reference value by 5°C, the temperature health factor drops below 0.1.
[0045] is the health fluctuation penalty constant. This constant is used to adjust the sensitivity of the health score to the fluctuations of the instantaneous health factor. Its value is also calibrated through experiments. By injecting simulated perturbations (such as instantaneous load spikes) with different frequencies and amplitudes into a normally operating system and analyzing changes and the actual stability of the system, a suitable value is set so that small and normal fluctuations will not cause a significant drop in the health score, while continuous or severe fluctuations will be significantly penalized. For example, to significantly affect fluctuations above a moderate level.
[0046] and be the th round and the th round of instantaneous health factors for sampling. They are health snapshots at each sampling point within the evaluation period, and their values are obtained by multiplying two components: temperature and error rate, and are used for subsequent calculations of the average health level and volatility.
[0047] be the standard deviation of the instantaneous health factor, which is obtained through statistical calculations and quantifies the degree of dispersion or amplitude of fluctuations in the sequence of instantaneous health factors during the evaluation period, and is the core indicator for evaluating the operating stability of the computing power unit.
[0048] Calculation process: Taking the health status calculation of a certain GPU within an evaluation period ( ) as an example, the parameter settings are: , , .
[0049] First, calculate the instantaneous health factor for a certain round of sampling (for example, the th round). In this round of sampling, it is measured that , .
[0050] ; ; ; ; The system will perform the above calculations for 100 rounds of sampling within the evaluation period to obtain a sequence containing 100 instantaneous health factor values.
[0051] Next, calculate the average value and standard deviation of this sequence. For example, after calculation, the average value is obtained as , and the standard deviation is .
[0052] Finally, calculate the dynamically stable perception health score : ; ; ; The result shows that the dynamic stability perceived health score of the GPU in the current evaluation cycle is 0.7691, which is lower than the ideal value of 1, reflecting that the unit has certain health risks. Specifically, the average instantaneous health factor of 0.85 indicates that its average operating status is acceptable, while the standard deviation of 0.05, after exponential penalty, lowers the final score from 0.85 to 0.7691, indicating that its operating status has a certain degree of fluctuation, reducing its overall health assessment.
[0053] Based on the dynamic stability perceived health scores calculated by heterogeneous computing units in each continuous evaluation cycle, the system maintains an independent data structure for each computing unit, which stores its historical health score records in chronological order. Each record contains two core fields: the precise timestamp of the end of the evaluation cycle and the dynamic stability perceived health score value calculated in that cycle. When the new health score calculation is completed, the system appends this new (timestamp, health score) record to the end of the data structure of the corresponding computing unit. This continuous recording process connects discrete health assessment points into a continuous time series curve, which intuitively shows the complete trajectory of the evolution of the health status of each computing unit over time. Finally, these time-ordered health score sequences are organized to establish a computing unit health status time series flow that can be directly called by subsequent analysis modules.
[0054] The steps to obtain the pre-degradation trigger signal of the computing power unit are as follows: Based on the health status time series flow of the computing power unit, a time sliding window with a fixed step size is set, and the dynamic stability perception health score sequence and the corresponding time index sequence in each sliding window are extracted in chronological order. The start time of each window is marked and all dynamic stability perception health scores are recorded to generate a sliding window health score time series set; According to the sliding window health score time series set, the degradation severity index corresponding to each sliding window is calculated using the following formula: ; in, ; in, For the The degradation severity index of a sliding window, is the linear regression slope of the health score over time in the sliding window, The first Dynamic stable perceived health score, is the average of all dynamic stable perceived health scores in the sliding window, is the number of health score samples in the sliding window, It is the theoretical maximum health score reference value; Based on the degradation severity index, when the degradation severity index of any sliding window is greater than the set warning threshold, the end time point of the sliding window is immediately located, and a pre-degradation control signal is output to generate a pre-degradation trigger signal for the computing power unit.
[0055] Specifically, based on the time series of the health status of the computing power unit, the system applies a time sliding window analysis mechanism to each computing power unit. The width of the sliding window, that is, the number of consecutive health score samples it contains, is set according to the fault characteristic time scale obtained from the analysis of historical fault data. For example, it is set to contain 20 consecutive dynamic stability perception health score samples. At the same time, a fixed step size is set. For example, the step size is 1 sample, that is, every time a new health score is generated, the window slides forward once. After each slide, the system extracts all the dynamic stability perception health scores covered by the current window from the time series of the health status of the computing power unit to form a numerical sequence, and at the same time extracts the time index sequence corresponding to these scores. This time index can be the time stamp of the evaluation period. The system records the start time stamp of the window and the health score sequence within the window as a whole. Continuing this process, the system will generate a series of overlapping window data segments that evolve over time for each computing power unit. All these segments are aggregated to generate a set of time series of sliding window health scores.
[0056] Formula: ; where ; The benefit of the formula is that it realizes the risk warning of the health degradation trend of the computing power unit by constructing a comprehensive degradation severity index, integrating information from two dimensions: one is the short-term change rate of the health score captured by the linear regression slope , that is, the "speed" of degradation; the other is the normalized average health level to measure the degree of deviation of the current health status from the ideal state, that is, the "position" of degradation. Multiplying the two and taking the negative sign makes a state with a rapid decline and already at a low health level get a very high DSI value, so that it can identify high-risk states that are about to fail more sensitively and accurately than simply monitoring the slope or the average value; is the linear regression slope of the health score over time within the sliding window. This value represents the average rate of change of the dynamic stability perception health score over time within the th sliding window. A negative value indicates that the health score is showing a downward trend, and the larger its absolute value, the faster the decline. This slope is calculated by using the least squares method to linearly fit the time index and health score data points within the window.
[0057] is the A dynamically stable perception health score, which is directly extracted from the set of sliding window health score time series generated in the previous step. It is the th dynamically stable perception health score. For example, in a window of size 20, is the first health score at the start of the window, is the last health score at the end of the window. These scores are obtained from the time series of the computing power unit's health status.
[0058] is the average value of all the dynamically stable perception health scores within the sliding window. This value reflects the average health level of the computing power unit during the current window time period. By adding up all the values and dividing by the number of samples within the window it is calculated.
[0059] is the number of health score samples within the sliding window. This parameter is preset and determines the time span of the trend analysis. The choice of its value requires a trade-off between response speed and the stability of trend judgment. According to experience, for a system with an evaluation period of 10 seconds, setting , that is, analyzing the health data within the last 200 seconds, can better balance real-time performance and accuracy.
[0060] is the reference value of the theoretical maximum health score. This value represents the health score of the computing power unit in an ideal state. According to the definition of the dynamically stable perception health score , its theoretical maximum value is 1. Therefore, set .
[0061] Calculation process: Taking the calculation of the th degradation severity index of the sliding window as an example, the window size , the theoretical maximum health score , .
[0062] For example, the 20 health score sequences of the th window are extracted from the set of sliding window health score time series as follows: ; First, calculate the intermediate values required for the linear regression slope : ; ; ; ; Substitute into 's calculation formula: ; Next, calculate the average health score : ; Finally, calculate the degradation severity index : ; This result indicates that within the th sliding window, the degradation severity index of this computing power unit is 0.0026.
[0063] Based on the degradation severity index, the system will compare each newly calculated index value with a pre-set warning threshold in real time. The setting of this warning threshold is based on the analysis of a large amount of historical normal operation data and known data before faults. The specific method is to calculate the degradation severity index of all historical normal operation windows to form a distribution, and then take the 99.9th percentile of this distribution, or the value of the mean plus three times the standard deviation, as a benchmark threshold. For example, through the analysis of historical data, the warning threshold is set to 0.005. When the system detects the degradation severity index calculated for any sliding window of any computing power unit, such as the 0.0026 calculated in the previous example, if this value is greater than 0.005, it is determined that there is a significant degradation trend and potential fault risk for this computing power unit. The system will immediately lock the sliding window that generates the over-threshold index and accurately locate the end time point of this window. Taking this time point as the trigger moment, a pre-degradation control signal containing the fault risk unit number and the trigger time is output to the system management level. The generation of this signal marks the formal establishment of the pre-degradation trigger signal for the computing power unit, and the subsequent migration and recovery process will be started based on this signal.
[0064] The steps for obtaining the checkpoint of the migration task status are as follows: According to the pre-degradation trigger signal of the computing power unit, match the corresponding relationship between the tasks and the computing power units recorded in the initial computing power resource allocation decision one by one, and extract the computing power unit number corresponding to the pre-degradation signal and all the task numbers currently being executed to form the corresponding relationship between the risk unit and the tasks it carries; Based on the corresponding relationship between the risk unit and the tasks it carries, call the real-time task status data of the corresponding task numbers one by one, record the memory image containing the task running time, the instruction execution position, and the current values of the task-related registers one by one, and create a copy of the running status of the critical tasks; Based on the replicas of the running states of critical tasks, extract and mark the memory images and register states of all tasks therein one by one, verify the consistency of the memory images and register states, and encapsulate them to form a checkpoint of the task state to be migrated for migration recovery.
[0065] Specifically, according to the fault risk unit number contained in the pre-downgrade trigger signal of the computing power unit, the system immediately performs a comprehensive scanning and filtering operation on the global initial computing power resource allocation decision. It uses the unit number in the trigger signal as an index to precisely match and filter out all task entries allocated to this risk unit. For each matched entry, the system extracts its corresponding task number and collects these task numbers to form a list of tasks to be processed. At the same time, the system also checks the current execution status of these tasks. By querying a real-time running task monitoring table, it filters out those tasks that have been completed when the trigger signal is generated, and only retains those tasks that are currently executing or waiting to be executed in the queue. Finally, the system binds the number of the risk unit to the list of numbers of all active tasks currently running on it, forming a clear corresponding relationship between the risk unit and the tasks it carries.
[0066] Based on each task number locked in the corresponding relationship between the risk unit and the tasks it carries, the system immediately sends a status capture instruction to the risk unit carrying these tasks. This instruction will trigger a low-level, hardware-close snapshot program. For each target task, this program will first traverse all memory pages marked as "dirty" in its process space, that is, the memory content modified since the last write to disk, and copy the complete data of these pages to a dedicated memory buffer to form a memory image at the moment of task running. Immediately afterwards, the program will read the value of the program counter (PC) register of the current thread of this task, which precisely points to the memory address of the next machine instruction to be executed as the instruction execution position. At the same time, the program will also save the current values of all general registers (for example, EAX, EBX in the implementation), floating-point registers, and other special registers related to the task context (for example, stack pointer SP, base pointer BP in the implementation). Record the extracted memory image, instruction execution position, and register values as a whole, and create a complete running state replica for each affected critical task.
[0067] Based on the replicas of the critical-task running states, the system starts a checkpoint generation program which processes each replica one by one. First, it separates two parts of data, namely the memory image and the register state of the task, from the replica. Then, the program performs a Cyclic Redundancy Check (CRC32) on the memory image to generate a checksum, and compares this checksum with the memory consistency hash value that may be included in the replica and calculated by the hardware during generation. If the two do not match, it is considered that the memory image may have been corrupted during capture and is marked as an invalid replica. For the memory image that passes the check, the program further checks the legality of the register state. For example, it verifies whether the address of the program counter falls within the valid range of the task code segment, whether the stack pointer points to a legal stack space, and ensures that all state values are within a reasonable logical range. Only when both the memory image and the register state pass these consistency and validity checks, will the system encapsulate these two parts of data together with metadata such as the unique identifier of the task and the original computing power unit number, using a serialization format (such as ProtocolBuffers for example), to form an independent, atomic, and verified checkpoint of the task state to be migrated for migration recovery.
[0068] The steps for obtaining the updated resource allocation and execution instructions are as follows: Based on the checkpoint of the task state to be migrated, extract the current number of tasks, the length of the real-time processing queue, and the current resource occupancy rate index of each spare heterogeneous computing power unit one by one, accumulate them item by item and then sort them, and filter to obtain the number of the spare heterogeneous computing power unit with the lowest load; According to the number of the spare heterogeneous computing power unit with the lowest load, call the memory image and register state data stored in the checkpoint of the task state to be migrated, load the extracted memory images into the memory areas of the corresponding spare heterogeneous computing power units one by one, and sequentially complete the reload of the register state data, and recover the running states of each task one by one to form a replica of the recovered task running state; According to the replica of the recovered task running state, generate the corresponding relationships between the new tasks and the computing power units one by one, update the computing power resource scheduling records, and generate the next executable program instruction sequence after the task recovery one by one to form the updated resource allocation and execution instructions.
[0069] Specifically, based on the list of tasks to be migrated included in the checkpoint of the task to be migrated, the system first filters out all non-risk heterogeneous computing power units from the global computing power unit pool, and whose dynamic stability perception health score is higher than a preset stability benchmark value (for example, based on historical data statistics, set to 0.9, indicating that the unit is in a highly healthy and stable state), to form a candidate set of spare units. Then, for each spare heterogeneous computing power unit in the candidate set, by accessing the real-time system monitoring interface, the system synchronously obtains three core load metrics: the total number of currently allocated and executing tasks, the length of the tasks waiting to be executed in the processing queue, and a comprehensive resource occupancy rate, which is a normalized value obtained by weighted averaging the average utilization rate of the central processing unit cores and the memory bandwidth occupancy rate within the past second (the weight coefficients are determined according to the bottleneck impact of each resource on performance in the benchmark test. For example, the CPU weight is 0.6 and the memory bandwidth weight is 0.4). Subsequently, the system uses a predefined load evaluation function to synthesize these three metrics into a comprehensive load score, and the calculation method is: comprehensive load score = 0.5×(current task number + queue length) + 0.5×comprehensive resource occupancy rate, where the weight coefficients are set to be equal to balance the consideration of task queuing delay and immediate resource competition. After calculating the comprehensive load scores for all spare units, the system sorts these units in ascending order according to their scores, and filters out the number of the unit with the lowest score, which is the number of the spare heterogeneous computing power unit with the lowest load.
[0070] According to the number of the spare heterogeneous computing power unit with the lowest load, the system starts a task recovery program. This program first requests the operating system or virtual machine manager of the target spare unit to create a new process execution environment in the "suspended" state for each task to be migrated. Then, the program calls each checkpoint of the task to be migrated one by one, and deserializes the stored memory image and register status data from it. For the memory image, the recovery program directly writes the image data block into the virtual address space of the newly created process through a privileged interface, precisely reconstructing the original layout of its code segment, data segment, heap, and stack, and restoring the read, write, and execution permissions of each memory page. For the register status data, the program also uses the privileged interface to load the values of the program counter, stack pointer, general-purpose registers, and all other architecture-specific register values saved in the checkpoint into the central processing unit context structure of the new process at one time. This process is repeated for each task to be migrated to ensure that its complete running state is accurately copied to the new computing power unit, forming a copy of the restored task running state that contains all the migrated tasks and is waiting to be activated.
[0071] Based on the restored copy of the task running status, the system immediately performs a synchronous update of the global scheduling information. It traverses each successfully restored task in the copy, extracts its task number, and searches for the corresponding entry in the global computing power resource scheduling record. It updates the computing power unit number recorded in this entry to the number of the selected standby heterogeneous computing power unit with the lowest load this time, and updates the task status field from "in migration" to "restored", completing the establishment of the corresponding relationship between the new task and the computing power unit. Subsequently, the system sends a "resume execution" control instruction to the operating system or virtual machine manager of each standby heterogeneous computing power unit carrying these restored tasks. The function of this instruction is to change the status of the suspended task process to "ready", enabling it to enter the scheduler's run queue of this unit. Since the program counter and all register states of the task have been precisely reloaded, once the scheduler allocates a CPU time slice to this task, it will seamlessly continue to execute from the exact instruction position where it was interrupted. This series of updated scheduling records and the resume execution instructions sent to the standby units together constitute the final updated resource allocation and execution instructions.
[0072] The above is only a preferred embodiment of the present invention, and it is not intended to limit the present invention in other forms. Any person skilled in the art may use the technical content disclosed above to make changes or modifications into equivalent embodiments with equivalent changes and apply them to other fields. However, as long as it does not depart from the technical solution content of the present invention, any simple modification, equivalent change, and modification made to the above embodiments based on the technical essence of the present invention still fall within the protection scope of the technical solution of the present invention.
Claims
1. Unified resource pooling management method for multiple computing power sources of a drone platform, characterized in that, It includes the following steps: Parse the UAV service flow to obtain sub-task nodes and dependency edges, calculate the execution time of each sub-task on different heterogeneous computing power units, calculate the time overhead of data transmission between heterogeneous computing power units executing consecutive tasks, and construct a basic view of heterogeneous computing power pool scheduling that includes the task graph structure and time overhead; Perform topological sorting based on the task graph structure in the basic view of heterogeneous computing power pool scheduling to generate a task execution priority sequence. Based on the task execution priority sequence, traverse the ready tasks and calculate the earliest completion time on each heterogeneous computing power unit, and select the unit with the smallest value among the earliest completion times for assignment to obtain an initial computing power resource allocation decision; Determine the currently active heterogeneous computing power units according to the initial computing power resource allocation decision, continuously obtain the operating temperature and calculation error rate, calculate the health score, generate a time series flow of the health status of the computing power units, obtain the change trend of the health score based on the time series flow of the health status of the computing power units, determine the potential failure risk, and establish a pre-downgrade trigger signal for the computing power units; Lock the risk units and the critical tasks they carry according to the pre-downgrade trigger signal of the computing power units and the initial computing power resource allocation decision, create a copy of the running state for the critical tasks, generate a checkpoint of the task state to be migrated, and based on the checkpoint of the task state to be migrated, resume the task execution on the standby heterogeneous computing power unit with the lowest load to obtain an updated resource allocation and execution instruction.
2. The unified resource pooling management method for multiple computing power sources of a drone platform according to claim 1, wherein, The steps for obtaining the basic view of heterogeneous computing power pool scheduling are as follows: Parse the UAV service flow, extract each sub-task node and the dependency relationship between tasks defined therein, record the name, task type, and information of the dependency edges of the sub-task nodes one by one, and generate a set of sub-task node and dependency edge information; Based on the set of sub-task node and dependency edge information, call the performance parameters and execution efficiency parameters of each heterogeneous computing power unit respectively, calculate the execution time of each sub-task node on different heterogeneous computing power units one by one, and record and summarize them one by one into a set of heterogeneous computing power unit execution time information; Based on the set of heterogeneous computing power unit execution time information, call the output data size parameter corresponding to the consecutive tasks and the network bandwidth parameter between heterogeneous computing power units, calculate the time consumption of data transmission between consecutive sub-tasks one by one, and combine it with the set of sub-task node and dependency edge information to form a complete task graph structure, and generate a basic view of heterogeneous computing power pool scheduling.
3. The unified resource pooling management method for multiple computing power sources of a drone platform according to claim 1, characterized in that, The steps for obtaining the task execution priority sequence are as follows: Based on the task graph structure in the basic view of heterogeneous computing power pool scheduling, traverse each sub-task node, extract the sub-task node number, the execution time corresponding to the node, the direct predecessor task number and the communication delay with the current node, the direct successor task node number and the corresponding execution time, accumulate the sum of the execution times of all sub-task nodes, and generate a set of node topological features; According to the set of node topological features, calculate the forward-looking critical task weight priority value of each sub-task node; Based on the forward-looking critical task weight priority values of each subtask node, all subtask nodes are sorted in descending order of the forward-looking critical task weight priority values to generate a task execution priority sequence.
4. The unified resource pooling management method for multiple computing power sources of the drone platform according to claim 1, wherein The steps for obtaining the initial computing power resource allocation decision are as follows: Based on the task execution priority sequence, task numbers that currently meet the completion requirements of all predecessor tasks are extracted one by one from the starting position, and the status records of heterogeneous computing power units are compared one by one to extract the current idle time information of each computing power unit, forming a set of idle times of computing power units for the current ready tasks. According to the set of idle times of computing power units for the current ready tasks, the task execution time parameter, the end time parameter of the corresponding predecessor task, and the data transfer completion time parameter between tasks are called one by one, and the task execution time, the idle time of the computing power unit, and the data transfer completion time of all predecessor tasks are compared in turn. The largest time value is selected and added to the task execution time value to generate a set of earliest completion times of the current tasks corresponding to each heterogeneous computing power unit. According to the set of earliest completion times of the current tasks corresponding to each heterogeneous computing power unit, the computing power unit number with the smallest earliest completion time value is extracted, and the current task number is assigned to this computing power unit number, which is recorded as the initial computing power resource allocation decision.
5. The unified resource pooling management method for multiple computing power sources of a drone platform according to claim 1, wherein The steps for obtaining the time series of the health status of the computing power unit are as follows: According to the initial computing power resource allocation decision, the numbers of all currently active heterogeneous computing power units are extracted, and each heterogeneous computing power unit is called in turn to obtain the measured operating temperature value and the number of calculation errors occurring within each sampling period. The sampling number, the operating temperature value, and the number of calculation errors are continuously recorded to form a sampling set of temperature data and error data of heterogeneous computing power units. Based on the sampling set of temperature data and error data of heterogeneous computing power units, the dynamic stability perception health score is calculated. According to the dynamic stability perception health scores of heterogeneous computing power units in each evaluation period, continuous scoring records are organized in the order of sampling time to establish a time series of the health status of the computing power unit.
6. The unified resource pooling management method for multi-computing power sources of a drone platform according to claim 1, characterized in that, The steps for obtaining the pre-degradation trigger signal of the computing power unit are as follows: Based on the time series of the health status of the computing power unit, a time sliding window with a fixed step size is set, and the sequence of dynamic stability perception health scores and the corresponding time index sequence within each sliding window are extracted in chronological order. The start time of each window is marked and all dynamic stability perception health scores are recorded to generate a set of time series of health scores of sliding windows. According to the set of time series of health scores of sliding windows, the degradation severity index corresponding to each sliding window is calculated. Based on the degradation severity index, when the degradation severity index of any sliding window is greater than the set warning threshold, the end time point of this sliding window is immediately located, and a pre-degradation control signal is output to generate a pre-degradation trigger signal of the computing power unit.
7. The unified resource pooling management method for multi-computing power sources of a drone platform according to claim 1, characterized in that, The steps for obtaining the checkpoint of the task to be migrated are as follows: According to the pre - degradation trigger signal of the computing power unit, match one by one the corresponding relationship between the tasks recorded in the initial computing power resource allocation decision and the computing power unit, extract the computing power unit number corresponding to the pre - degradation signal and all the task numbers currently being executed, and form the corresponding relationship between the risk unit and the carried tasks; Based on the corresponding relationship between the risk unit and the carried tasks, call one by one the real - time task status data of the corresponding task numbers, record one by one the memory image at the task running moment, the instruction execution position, and the current values of the task - related registers, and create a running status copy of the critical tasks; Based on the running status copy of the critical tasks, extract and mark one by one the memory images and register statuses of all the tasks therein, verify the consistency of the memory images and register statuses, and encapsulate them to form a checkpoint of the task status to be migrated for migration recovery; 8. The unified resource pooling management method for multiple computing power sources of a drone platform according to claim 1, characterized in that The steps for obtaining the updated resource allocation and execution instructions are as follows: Based on the checkpoint of the task status to be migrated, extract one by one the current number of tasks, the length of the real - time processing queue, and the current resource occupancy rate index of the computing power unit of all the standby heterogeneous computing power units, accumulate them item by item, sort them, and screen to obtain the number of the standby heterogeneous computing power unit with the lowest load; According to the number of the standby heterogeneous computing power unit with the lowest load, call the memory image and register status data stored in the checkpoint of the task status to be migrated, load the extracted memory images one by one into the memory area of the corresponding standby heterogeneous computing power unit, and complete the reload of the register status data in sequence, and restore the running status of each task one by one to form a running status copy of the tasks after recovery; According to the running status copy of the tasks after recovery, generate one by one the corresponding relationship between the new tasks and the computing power unit, update the computing power resource scheduling record, and generate one by one the next executable program instruction sequence after the task recovery to form the updated resource allocation and execution instructions.
Citation Information
Patent Citations
Cloud computing parallel task optimization scheduling method based on priority dependency graph
CN119806776A
Intelligent scheduling system and method based on calculation power demand prediction
CN120066720A
Calculation power optimization distribution system based on remote scheduling
CN120066778A
Assigning resources for tasks
US20120291041A1
Cited By
Data acquisition system based on contact lens production line
CN120849402A
Data acquisition system based on contact lens production line
CN120849402B
Intelligent inspection and fault prediction system based on computing power service
CN121070610A
Intelligent inspection and fault prediction system based on computing power service
CN121070610B
Tactical simulation deduction method based on heterogeneous computing power collaboration
CN121168085A