Power system resource scheduling method and device, storage medium and terminal equipment
By constructing a task model and dynamically allocating a heterogeneous computing resource pool in the power system, the problems of rigid resource allocation and insufficient fault tolerance in existing scheduling algorithms in the power system are solved, achieving efficient and reliable computing resource management and adapting to the needs of sudden power grid failures.
Patent Information
- Application Number
- CN202511115068.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-08-11
- Publication Date
- 2026-01-06
- Estimated Expiration
- 2045-08-11
AI Technical Summary
Existing operating system scheduling algorithms in power systems suffer from problems such as real-time task delays, rigid resource allocation, inefficient management of heterogeneous resources, insufficient fault tolerance, and poor energy efficiency, failing to meet the power system's requirements for efficient, reliable, and flexible allocation of computing resources.
By constructing a task model, tasks are divided into three categories: protection and control, fault diagnosis, and status monitoring. A heterogeneous computing resource pool, including CPU, GPU, and FPGA, is established to dynamically allocate resources to meet task requirements and perform switching operations when real-time status is abnormal, thereby achieving flexible allocation and optimization of resources.
It achieves efficient, reliable, and flexible allocation of computing resources for tasks in the power system, adapts to the sudden demands of power grid transient faults, improves the utilization rate of computing resources and the fault tolerance of the system, and meets the real-time and reliability requirements of the power system.
Smart Images

Figure CN120653448B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of computational resource scheduling technology, specifically to a power system resource scheduling method, a power system resource scheduling device, a machine-readable storage medium, and a terminal device. Background Technology
[0002] Operating system resource scheduling methods involve a variety of technical solutions, aiming to efficiently allocate resources such as CPU, memory, disk, and I / O. The operating system scheduling algorithm is a strategy used to determine the order and time of process or task access to the CPU. Its core goal is to optimize indicators such as CPU utilization, throughput, and response time, and to manage the execution order of multiple tasks by reasonably allocating CPU resources. Currently, common scheduling algorithms include the following: (1) First-Come, First-Served (FCFS): CPU is allocated according to the order in which processes arrive at the ready queue. It is simple but may lead to the "escort effect", that is, short tasks have to wait for long tasks to complete. (2) Shortest Job First (SJF): The process with the shortest estimated running time is scheduled first, which can reduce the average waiting time, but the job time needs to be known in advance and may lead to long task starvation. (3) Round Robin: A fixed time slice is allocated to each process, and the CPU usage rights are forcibly switched, which ensures fairness but may increase overhead due to frequent switching. (4) Priority scheduling: CPU is allocated according to preset priority, which needs to deal with priority inversion or low-priority task starvation. (5) Multi-level feedback queue scheduling: Combining multiple algorithms, processes are assigned to different queues according to their characteristics, and the priority is dynamically adjusted according to the execution history, taking into account both response time and throughput.
[0003] However, the above algorithms have the following drawbacks: First-come, first-served is simple to implement, but may lead to long waiting times for long jobs; short-job priority can reduce the average waiting time, but may lead to starvation; round-robin scheduling ensures fairness, but may increase overhead due to frequent switching; priority scheduling is suitable for scenarios that need to prioritize urgent tasks, but may lead to starvation for low-priority tasks; multi-level feedback queue scheduling takes into account both response time and throughput, and is suitable for complex systems. Summary of the Invention
[0004] The purpose of this application is to provide a power system resource scheduling method, a power system resource scheduling device, a machine-readable storage medium, and a terminal device to solve the above-mentioned problems.
[0005] To achieve the above objectives, the first aspect of this application provides a power system resource scheduling method, comprising:
[0006] The task category of the current task is determined, and the computing resource requirement information of the current task is obtained through a pre-built task model, wherein the task model includes the computing resource requirement information of the corresponding task category;
[0007] Based on the computing resource requirements of the current task, at least one target computing resource unit for the current task is determined from the corresponding category of computing resource pool, so as to execute the current task through the at least one target computing resource unit. The different categories of computing resource pools are obtained by pre-pooling multiple computing devices of the corresponding category. Each computing resource pool includes multiple computing resource units, wherein the computing devices of different categories have different data processing logic.
[0008] If the real-time execution status of the current task is abnormal, a switching operation is performed on the computing resource unit of the current task. Alternatively, if the real-time running status of each computing resource pool is abnormal, a switching operation is performed on the computing resource units occupied by each task based on the current usage of computing resource units by all tasks.
[0009] Optionally, the different categories of computing resource pools include a first computing resource pool, a second computing resource pool, and a third computing resource pool; the different categories of computing resource pools are obtained by pre-pooling multiple computing devices of the corresponding category, including:
[0010] A pooling operation is performed on multiple serial processing devices, each serial processing device is divided into multiple computing resource units, and the first computing resource pool is constructed using the computing resource units of all serial processing devices.
[0011] A pooling operation is performed on multiple parallel processing devices, dividing each parallel processing device into multiple computing resource units, and constructing the second computing resource pool using the computing resource units of all parallel processing devices;
[0012] A pooling operation is performed on multiple hardware reconfigurable processing devices, dividing each hardware reconfigurable processing device into multiple computing resource units, and constructing the third computing resource pool using the computing resource units of all hardware reconfigurable processing devices.
[0013] Optionally, each serial processing device is divided into multiple computing resource units, including:
[0014] For each serial processing device, at least one computing resource unit is designated as an exclusive computing resource unit, and the remaining computing resource units are designated as shared computing resource units.
[0015] The dedicated computing resource unit is configured to execute tasks of a specified task category, while the shared computing resource unit is configured to execute tasks of a different task category.
[0016] Optionally, the hardware reconfigurable processing device includes multiple logical units, one or more of which can be configured to perform a specified task; each hardware reconfigurable processing device is divided into multiple computing resource units, including:
[0017] Determine at least one pre-defined task;
[0018] For each hardware reconfigurable processing device, determine the number of logic units required for each specified task and the control logic for the current specified task;
[0019] For each specified task, the target logical units are determined based on the number of logical units required by the current specified task. Each target logical unit is configured based on the control logic of the current specified task, and the configured target logical units are determined as the computing resource units of the current specified task.
[0020] Optionally, the task category includes protection control, fault diagnosis, or condition monitoring, and the task model further includes:
[0021] The quality attribute information of the current task includes the maximum latency, reliability level, and data freshness of the current task, where the data freshness is the target time for data processing of the current task.
[0022] The steps for constructing the task model include:
[0023] Determine the task category and quality attribute information for the current task;
[0024] Based on the task category and / or quality attribute information of the current task, a mapping relationship is constructed between the current task and at least one of the first computing resource pool, the second computing resource pool, and the third computing resource pool, and the mapping relationship is determined as the computing resource requirement information of the current task category.
[0025] Optionally, a mapping relationship is constructed between the current task and at least one of the first, second, and third computing resource pools based on the task category and / or quality attribute information of the current task, and the mapping relationship is determined as the computing resource requirement information of the current task category, including:
[0026] If the current task category is protection control, and the maximum delay of the current task is not greater than the maximum delay threshold, a mapping relationship is established between the current task and the specified exclusive computing resource unit in the first computing resource pool and the specified computing resource unit in the third computing resource pool.
[0027] If the current task category is fault diagnosis, and the reliability level of the current task is not less than the reliability level threshold, a mapping relationship is established between the current task and the specified shared computing resource unit in the first computing resource pool and / or the specified computing resource unit in the second computing resource pool.
[0028] When the current task category is status monitoring, a mapping relationship is established between the current task and the specified shared computing resource unit in the first computing resource pool based on the data freshness of the current task.
[0029] Optionally, in the event of an abnormal real-time execution state of the current task, a switching operation is performed on the computing resource unit of the current task, including:
[0030] If the current task category is protection control or status monitoring, and the real-time delay of the current task is greater than the maximum delay of the current task, the computing resource unit executing the current task will be switched to the corresponding computing resource unit in the third computing resource pool.
[0031] Optionally, in the event of an abnormal real-time operating status of each computing resource pool, a switching operation is performed on the computing resource units occupied by each task based on the current occupancy of computing resource units by all tasks, including:
[0032] If the occupancy rate of the second computing resource pool is greater than the occupancy rate threshold, and it is determined that any computing resource unit in the second computing resource pool is occupied by multiple tasks, and the multiple tasks occupying the computing resource unit include a specified task, then the non-specified tasks in the computing resource unit are migrated to other computing resource units in the second computing resource pool.
[0033] Optionally, in the event of an abnormal real-time operating status of each computing resource pool, a switching operation is performed on the computing resource units occupied by each task based on the current occupancy of computing resource units by all tasks, including:
[0034] If the operating temperature of the third computing resource pool is higher than the temperature threshold, and it is determined that any computing resource unit in the third computing resource pool is occupied by an unspecified task, a specified proportion of the unspecified tasks will be migrated to the corresponding computing resource unit in the second computing resource pool.
[0035] Optionally, if the task category of the current task is protection control, at least one target computing resource unit for the current task is determined from the computing resource pool of the corresponding category, and the current task is executed using the at least one target computing resource unit, including:
[0036] If the at least one target computing resource unit is occupied by a task whose task category is fault diagnosis or status monitoring, the occupation of the at least one target computing resource unit by the corresponding task is interrupted so that the current task can be executed through the at least one target computing resource unit.
[0037] A second aspect of this application provides a power system resource dispatching device, comprising:
[0038] The data acquisition module is configured to determine the task category of the current task and obtain the computing resource requirement information of the current task through a pre-built task model, wherein the task model includes the computing resource requirement information of the corresponding task category.
[0039] The computing resource configuration module is configured to determine at least one target computing resource unit for the current task from the corresponding category of computing resource pool based on the computing resource requirement information of the current task, so as to execute the current task through the at least one target computing resource unit. The different categories of computing resource pools are obtained by pre-pooling multiple computing devices of the corresponding category. Each computing resource pool includes multiple computing resource units, wherein the computing devices of different categories have different data processing logic.
[0040] The feedback adjustment module is configured to perform a switching operation on the computing resource units of the current task when the real-time execution status of the current task is abnormal, or to perform a switching operation on the computing resource units occupied by each task based on the current usage of computing resource units by all tasks when the real-time running status of each computing resource pool is abnormal.
[0041] In a third aspect, this application provides a machine-readable storage medium storing instructions that, when executed by a processor, configure the processor to perform the power system resource scheduling method described above.
[0042] In a fourth aspect, this application provides a terminal device including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the steps of the power system resource scheduling method described above.
[0043] This application pre-constructs task models for different tasks and builds multiple different types of computing resource pools using computing devices with different data processing logics. When scheduling resources for tasks, it can determine the required computing resources for the current task based on the task model and allocate computing resources accordingly. At the same time, it can dynamically allocate the computing resources occupied by each task based on the real-time execution status of each task to meet the data processing needs of each task and effectively adapt to the sudden needs of power grid transient faults.
[0044] Other features and advantages of the embodiments of this application will be described in detail in the following detailed description section. Attached Figure Description
[0045] The accompanying drawings are provided to further illustrate the embodiments of this application and form part of the specification. They are used together with the following detailed description to explain the embodiments of this application, but do not constitute a limitation on the embodiments of this application. In the drawings:
[0046] Figure 1 A flowchart of a power system resource scheduling method provided in a preferred embodiment of this application;
[0047] Figure 2 A schematic diagram of the system architecture of the hierarchical heterogeneous computing architecture provided in the preferred embodiment of this application;
[0048] Figure 3 A schematic block diagram of a power system resource dispatching device provided in a preferred embodiment of this application;
[0049] Figure 4 A schematic diagram of a terminal device provided for a preferred embodiment of this application.
[0050] Explanation of reference numerals in the attached figures
[0051] 10 - Terminal device, 100 - Processor, 101 - Memory, 102 - Computer program. Detailed Implementation
[0052] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. It should be understood that the specific embodiments described herein are only for illustration and explanation of the embodiments of this application and are not intended to limit the embodiments of this application. All other embodiments obtained by those skilled in the art based on the embodiments of this application without creative effort are within the scope of protection of this application.
[0053] It should be noted that the technical solutions of the various embodiments of this application can be combined with each other, but only if they are based on the ability of those skilled in the art to implement them. When the combination of technical solutions is contradictory or cannot be implemented, it should be considered that such combination of technical solutions does not exist and is not within the scope of protection claimed by this application.
[0054] The core business of the power system, such as relay protection, PMU synchronous measurement, fault diagnosis, and new energy power prediction, has high requirements for the real-time performance, reliability and security of computing resources. Power AI tasks need to call heterogeneous hardware such as CPU (general computing), GPU (parallel computing), NPU (neural network acceleration), and FPGA (programmable logic) at the same time. The scheduling algorithms of traditional operating systems (such as Linux and Windows) (such as Completely Fair Scheduler CFS and time slice round-robin) are not optimized for power scenarios, so the following problems exist: (1) Real-time task delay: Power critical tasks (such as relay protection actions) need to respond within 10ms, but the general scheduler may have a delay of tens of milliseconds due to priority conflicts; Power control tasks (such as AGC frequency regulation and SVG reactive power compensation) require sub-millisecond response, but the traditional priority scheduling lacks a dynamic upgrade mechanism and cannot adapt to the sudden demand of power grid transient faults. (2) Rigid resource allocation: It is impossible to dynamically adapt to heterogeneous hardware resources such as CPU, GPU, and FPGA, resulting in wasted computing power; the priority of power business (such as protection control > inspection > prediction) is not considered, resulting in delay of critical tasks. The power system needs to process multimodal tasks (structured data, unstructured data, AI inference) at the same time, but the existing technology has rigid resource allocation and cannot dynamically adapt to heterogeneous hardware such as CPU, GPU, FPGA, etc., resulting in wasted computing power. The task-resource matching degree is low. For example, the image recognition task is wrongly assigned to the CPU instead of the GPU, and the processing time increases many times. (3) Inefficient heterogeneous resource management: The power system needs to process multimodal tasks such as structured data, unstructured data, AI model inference, etc. at the same time. The existing scheduling strategy (such as static priority queue) cannot dynamically allocate resources according to task characteristics, resulting in insufficient computing power utilization. (4) Insufficient fault tolerance: In the power scenario, when there are sudden load fluctuations (such as a sudden drop in the output of new energy) or hardware failures (such as GPU node crashes), traditional static scheduling is prone to task accumulation or system crash, affecting the reliability of power supply. (5) Poor energy efficiency: Edge devices (such as inspection robots and smart meters) rely on battery power. Existing scheduling strategies do not combine the remaining power of the devices with the urgency of the tasks. The allocation of CPU / GPU resources is not compatible with the computing characteristics of power AI models (CNN, LSTM, etc.).
[0055] To solve the above problems, such as Figure 1As shown, the first aspect of this application provides a power system resource scheduling method, comprising: determining the task category of the current task; obtaining the computing resource requirement information of the current task through a pre-constructed task model, the task model including the computing resource requirement information of the corresponding task category; determining at least one target computing resource unit of the current task from the computing resource pool of the corresponding category based on the computing resource requirement information of the current task, so as to execute the current task through at least one target computing resource unit, wherein different categories of computing resource pools are obtained by pre-pooling multiple computing devices of the corresponding category, each computing resource pool including multiple computing resource units, wherein different categories of computing devices have different data processing logic; performing a switching operation on the computing resource unit of the current task in the event of an abnormal real-time execution status of the current task, or performing a switching operation on the computing resource units occupied by each task based on the current occupancy status of all tasks in the event of an abnormal real-time operation status of each computing resource pool.
[0056] Thus, this application pre-constructs task models for different tasks and builds multiple different types of computing resource pools using computing devices with different data processing logics. When scheduling resources for tasks, it can determine the required computing resources for the current task based on the task model and allocate computing resources accordingly. At the same time, it can dynamically allocate the computing resources occupied by each task based on the real-time execution status of each task to meet the data processing needs of each task and effectively adapt to the sudden needs of power grid transient faults.
[0057] like Figure 2 As shown, the method of this application can be applied to the hierarchical heterogeneous computing architecture system of this application. The computing architecture system mainly includes a hardware layer, a computing layer and a scheduling layer. The hardware layer includes CPU main control hardware, as well as heterogeneous computing units such as GPU, TPU, FPGA, and NPU, which are uniformly abstracted as schedulable resources. The computing layer includes functional modules such as hardware abstraction, resource allocation, resource monitoring and container orchestration. The scheduling layer mainly includes functional modules such as scenario adaptation, business awareness, resource profiling and decision optimization.
[0058] This application, tailored to the characteristics of power services, pre-constructs a task model with a triplet structure. This triplet task model can be represented as Task={Type, QoS, Hardware}, where Type represents the task category, QoS represents quality attribute information (i.e., service quality), and Hardware represents hardware resources (i.e., computing resources). In this application, task categories include protection and control, fault diagnosis, or status monitoring. Quality attribute information includes the maximum latency, reliability level, and data freshness of the current task, where data freshness is the target data processing time for the current task.
[0059] The steps for constructing the task model include:
[0060] 1. Determine the task category and quality attribute information for the current task;
[0061] The task category is Type∈{Protection Control (0), Fault Diagnosis (1), Status Monitoring (2)}. 0, 1, and 2 represent the highest level of task execution; larger numbers indicate lower levels, and smaller numbers indicate higher levels. In this application, the protection control task has the highest execution level, therefore its task identifier is configured as 0.
[0062] Quality of Service (QoS) = (Maximum Latency, Reliability Level, Data Freshness), where Data Freshness = T_processing - T_generate. T_generate represents the timestamp of data generation, such as the moment a sensor collects data, and T_processing represents the timestamp of the AI task completing its processing. For example, in a fault diagnosis task, the time it takes for the input data (the raw data collected by the sensor) to be generated is T_generate, and the time it takes for the AI model to fully diagnose the fault based on the input data and output the diagnosis result is T_processing. All time units are milliseconds (ms). Typically, power protection tasks require ≤10ms. For example, in an insulator temperature monitoring task, if an infrared thermal imager acquires an image at T=0ms and the AI model outputs the fault diagnosis result at T=150ms, then the data freshness is 150ms.
[0063] In this application, QoS is a comprehensive quantitative requirement for task execution performance, encompassing three core dimensions: timeliness, reliability, and data value protection. Timeliness is defined as the maximum permissible delay from task triggering to completion. Typical requirements for power systems are as follows:
[0064] Protection and control tasks: ≤50ms (e.g., relay protection);
[0065] Fault diagnosis: 100ms~1s (e.g., insulator breakage identification);
[0066] Condition monitoring: 1s~5min (e.g., transformer temperature rise trend analysis);
[0067] If the task time limit is exceeded, it may cause delays in protection actions, which in turn may lead to the escalation of the fault.
[0068] Reliability is defined as the probability guarantee of successful task execution. Typical requirements for power systems include: protection and control: 99.99% (annual downtime ≤ 52 minutes); fault diagnosis: 99.9%; condition monitoring: 99%. Reliability requirements can be achieved through hardware redundancy, task migration, and retry mechanisms.
[0069] The definition of data value assurance is: Data Freshness = Processing Completion Time - Data Generation Time. Typical requirements for power systems include: Protection and Control: ≤10ms (e.g., current surge analysis); Fault Recording: ≤100ms; Load Forecasting: ≤5min.
[0070] 2. Based on the task category and / or quality attribute information of the current task, construct a mapping relationship between the current task and at least one of the first, second, and third computing resource pools for corresponding computing resource units. Determine the mapping relationship as the computing resource requirement information for the current task category. Hardware resources can be represented as Hardware = {CPU cores, GPU memory, FPGA logic units}. Hardware resources reflect the computing resources required by different task categories under different service quality requirements. It is understandable that each task can simultaneously occupy multiple different types of computing resources, for example, simultaneously occupying CPU and GPU.
[0071] In this application, the computing resource pool can be divided into a first computing resource pool, a second computing resource pool, and a third computing resource pool according to different categories; different categories of computing resource pools are obtained by pre-pooling multiple computing devices of the corresponding category, including:
[0072] Pooling operations on multiple serial processing devices:
[0073] Each serial processing device is divided into multiple computing resource units, and the first computing resource pool is constructed using the computing resource units of all serial processing devices. The serial processing device is a CPU, and there can be multiple CPUs. Different CPUs can be deployed on different nodes according to the structure of the power system.
[0074] For each CPU, it can be divided into multiple computing resource units by pooling the CPU. Therefore, each serial processing device can be divided into multiple computing resource units, including:
[0075] For each serial processing device, at least one computing resource unit is designated as an exclusive computing resource unit, and the remaining computing resource units are designated as shared computing resource units. Exclusive computing resource units are configured to execute tasks of a specified task category, while shared computing resource units are configured to execute tasks of a different task category. For example, the physical cores of a CPU can be divided into real-time zones (exclusive cores) and elastic zones (shared cores). Taking an 8-core CPU as an example, Core0-1 is configured specifically for protection and control tasks, while Core2-7 are configured for dynamic allocation. It can be understood that each physical core of the CPU is a computing resource unit.
[0076] Pooling operations on multiple parallel processing devices:
[0077] Each parallel processing device is divided into multiple computing resource units, and a second computing resource pool is constructed using these units. The parallel processing devices can be GPUs, and multiple GPUs can be deployed across different nodes based on the power system architecture. For each GPU, its memory is divided into independent banks (e.g., 8 × 256 MB), with each bank having its own dedicated power supply channel. Critical tasks (such as fault diagnosis) have exclusive access to a bank to avoid memory bandwidth contention. Essentially, each bank represents a computing resource unit.
[0078] Pooling operations on multiple hardware reconfigurable processing devices:
[0079] Each reconfigurable hardware processing device is divided into multiple computing resource units, and a third computing resource pool is constructed using the computing resource units of all reconfigurable hardware processing devices. Each reconfigurable hardware processing device includes multiple logical units, one or more of which can be configured to execute a specified task. Dividing each reconfigurable hardware processing device into multiple computing resource units includes: determining at least one preset specified task; for each reconfigurable hardware processing device, determining the number of logical units required for each specified task and the control logic of the current specified task; for each specified task, determining target logical units based on the number of logical units required for the current specified task, configuring each target logical unit based on the control logic of the current specified task, and determining the configured target logical units as the computing resource units for the current specified task. In this application, the hardware reconfigurable processing device can be an FPGA. Similarly, there can be multiple FPGA devices, deployed on different nodes according to the power system architecture. For each FPGA device, the programmable logic units of the FPGA are pre-configured into different reconfigurable pipelines. Each pipeline is a fixed set of logic units (LEs), for example: Pipe1 = 80kLE, dedicated to differential protection algorithms; Pipe2 = 60kLE, dedicated to partial discharge detection algorithms; Pipe3 = 50kLE, dedicated to harmonic analysis. It can be understood that each pipeline is a computing resource unit of the FPGA device.
[0080] In this application, a mapping relationship is constructed between the current task and at least one of the first, second, and third computing resource pools based on the task category and / or quality attribute information of the current task. This mapping relationship is then used to determine the computing resource requirements for the current task category. Specifically, if the task category of the current task is protection control, and the maximum delay of the current task is not greater than a maximum delay threshold, a mapping relationship is established between the current task and a designated exclusive computing resource unit in the first computing resource pool and a designated computing resource unit in the third computing resource pool. For example, if the current task is a differential protection task, and the delay of the differential protection current calculation is ≤50ms, then the computing resources for the current task need to be mapped to an FPGA pipeline + a CPU real-time core. Similarly, if the task category of the current task is fault diagnosis, and the current task's maximum delay is not greater than a maximum delay threshold, a mapping relationship is established between the current task and a designated exclusive computing resource unit in the first computing resource pool and a designated computing resource unit in the third computing resource pool. The reliability level of the task is not less than the reliability level threshold. A mapping relationship is established between the current task and the specified shared computing resource units in the first computing resource pool and / or the specified computing resource units in the second computing resource pool. For example, if the current task is an insulator breakage identification task, and the reliability of insulator breakage image identification is ≥99.9%, then it is necessary to map the GPU memory bank exclusively. When the task category of the current task is status monitoring, a mapping relationship is established between the current task and the specified shared computing resource units in the first computing resource pool based on the data freshness of the current task. For example, if the current task is a transformer vibration monitoring task, and the transformer vibration monitoring freshness is ≤100ms, then to avoid cross-node transmission, the current task needs to be mapped to the nearest allocation. For example, the current task is allocated the shared core of the CPU closest to the monitoring device, such as the vibration sensor.
[0081] This application dynamically adjusts the computing resources of each task by monitoring its real-time execution status. Specifically, in cases where the real-time execution status of a task is abnormal, a switching operation is performed on the computing resource unit of that task. This includes: if the task category is protection control or status monitoring, and the real-time latency of the current task exceeds its maximum latency, the computing resource unit executing the current task is switched to the corresponding computing resource unit in a third computing resource pool. For example, the task latency deviation of each task can be collected in real-time by a monitoring agent. This task latency deviation can be expressed as ΔT = T_actual - T_QoS, where T_QoS represents the preset maximum latency of the task (e.g., for protection tasks = 50ms), and T_actual represents the actual completion latency of the task. If the delay deviation of a task is greater than a preset delay deviation threshold, then the hardware acceleration of the current task will be upgraded by migrating the current task from the CPU to the FPGA pipeline. For example, in the surge arrester leakage analysis task, if the task delay exceeds the standard, such as ΔT>20ms, then the computing resources of the current task will be scheduled and mapped to the faster FPGA pipeline to reduce the task delay.
[0082] In this application, when the real-time operating status of each computing resource pool is abnormal, a switching operation is performed on the computing resource units occupied by each task based on the current occupancy of computing resource units by all tasks. This includes: if the occupancy rate of the second computing resource pool is greater than the occupancy rate threshold, and it is determined that any computing resource unit in the second computing resource pool is occupied by multiple tasks, and the multiple tasks occupying the computing resource unit include a specified task, then the non-specified tasks in that computing resource unit are migrated to other computing resource units in the second computing resource pool. In this application, the overall hardware load rate (U) of the system can be expressed as: U = 0.4U_CPU + 0.3U_GPU + 0.3U_FPGA, where U is the overall load rate, U_CPU is the CPU load rate, U_GPU is the GPU load rate, and U_FPGA is the FPGA load rate. Warning intervals for the computing resource hardware load rate can be preset; for example, the safe zone can be set as U < 70%; the warning zone as 70% ≤ U ≤ 90%; and the danger zone as U > 90%. In a specific instance, such as in an application scenario where multiple video diagnostic tasks compete for video memory, if U_GPU > 90%, tasks running on the GPU device are migrated. For example, if the current computing resource unit Bank0 is running multiple tasks simultaneously, non-critical tasks in Bank0, such as those with the lowest task priority, are moved to Bank1. Conversely, if the current computing resource unit is running multiple critical tasks simultaneously—for example, tasks with a task priority higher than a set level (e.g., tasks at level 2 or higher are considered critical)—then by detecting whether other GPU devices' computing resource units are running critical tasks, some of the critical tasks currently running in the current computing resource unit (e.g., half of the critical tasks) can be migrated to other computing resource units that are not running critical tasks, and the non-critical tasks in those computing resource units can be migrated to other computing resource units. This ensures that each computing resource unit is only used to run a lower number of critical tasks, thus guaranteeing the processing efficiency of critical tasks.
[0083] In this application, when the real-time operating status of each computing resource pool is abnormal, a switching operation is performed on the computing resource units occupied by each task based on the current occupancy of computing resource units by all tasks. This includes: if the operating temperature of the third computing resource pool is higher than a temperature threshold, and it is determined that any computing resource unit in the third computing resource pool is occupied by an unspecified task, a specified proportion of the unspecified tasks are migrated to the corresponding computing resource units in the second computing resource pool. For example, for FPGA devices, a temperature warning threshold can be preset, such as FPGA junction temperature > 85°C. Taking a power prediction task scenario during a high-temperature period in summer as an example, if the FPGA junction temperature of the FPGA device is detected to be > 85°C, a load balancing operation is performed, migrating 50% of the logic computation in the currently running tasks of the FPGA device to the GPU device.
[0084] In this application, when each computing device is powered by battery, the energy efficiency status of each computing resource device is also monitored. For example, the battery level and peak power consumption of the computing device are monitored. The battery level is the remaining power (%) of the edge node; the peak power consumption is the instantaneous power consumption (W) of the hardware accelerator card. Taking the inspection task application scenario in emergency power mode as an example, if the battery level of the computing resource device is detected to be lower than the preset power threshold, such as if the battery level of the CPU or GPU device is detected to be <30%, then GPU acceleration is turned off, or the CPU frequency is reduced by 30%.
[0085] In this application, when the current task category is protection and control, at least one target computing resource unit for the current task is determined from the corresponding category's computing resource pool. The current task is then executed using this target computing resource unit. This includes: if the at least one target computing resource unit is occupied by a task with a task category of fault diagnosis or status monitoring, interrupting the corresponding task's occupation of the at least one target computing resource unit, so that the current task can be executed using the at least one target computing resource unit. For example, in a sudden short-circuit fault handling scenario, when a protection task arrives, if the target computing resource unit, such as the target FPGA pipeline of the current protection task, is already occupied by another task, a forced preemption mechanism is initiated to interrupt low-priority tasks in the corresponding FPGA pipeline, such as fault diagnosis or status monitoring tasks.
[0086] The method of this application is illustrated below with a specific example:
[0087] Taking the application of this application to a 220kV smart substation as an example, the following three types of tasks need to be processed simultaneously:
[0088] (1) Periodic infrared thermometry: scanning the main transformer bushing temperature every 30 seconds (condition monitoring type);
[0089] (2) Insulator breakage identification: The UAV transmits insulator images in real time (fault diagnosis type);
[0090] (3) Emergency protection command: GOOSE trip command triggered by line short circuit (protection and control class).
[0091] Step 1, the feature modeling process is as follows:
[0092] (1) Modeling of infrared temperature measurement task
[0093] Business type: Parse task configuration period parameters (30 seconds), classified as status monitoring (Type=2);
[0094] QoS quantization:
[0095] Maximum latency = 30000 milliseconds (synchronized with the cycle);
[0096] Reliability = 99% (allowing 1% failure);
[0097] Data freshness = 5000 milliseconds (temperature data is valid for 5 seconds);
[0098] Hardware requirements: Only one CPU shared core is required (no GPU / FPGA required).
[0099] (2) Modeling for insulator breakage identification
[0100] Business type: Detecting the insulator_crack tag in image metadata, classified as fault diagnosis (Type=1);
[0101] QoS quantization:
[0102] Maximum latency = 1000 milliseconds (response required within 1 second);
[0103] Reliability = 99.9% (failure rate of 0.1%);
[0104] Data freshness = 200 milliseconds (images need to be processed within 200 milliseconds);
[0105] Hardware requirements: Requires 2 CPU cores + 512MB GPU memory (for running the AI model YOLOv5).
[0106] (3) Protection command modeling
[0107] Business type: Parse the appID=0x0001 field of the GOOSE message and classify it as protection control (Type=0);
[0108] QoS quantization:
[0109] Maximum latency = 50 milliseconds (mandatory requirement of national standard);
[0110] Reliability = 99.99% (failure rate of 0.01%)
[0111] Data freshness = 10 milliseconds (current data is valid for 10 milliseconds).
[0112] Hardware requirements: Requires 2 CPU real-time cores + 80K FPGA logic units (to execute differential algorithms).
[0113] Step 2, the scheduling decision execution process is as follows:
[0114] (1) Initial allocation:
[0115] The infrared temperature measurement task is assigned to the CPU's elastic shared core.
[0116] The insulator identification task is bound to GPU memory Bank1 (512MB exclusively).
[0117] (2) Emergency protection command response:
[0118] When the scheduler detects a task with Type=0, it immediately triggers the preemption mechanism:
[0119] Infrared temperature measurement task interrupted (due to Type=2);
[0120] Preempt FPGA pipeline Pipe 1 (preload differential protection algorithm);
[0121] Bind to CPU real-time cores Core0-1;
[0122] Resource reorganization took 4.3 milliseconds, and the total response time for protection commands was 38 milliseconds.
[0123] (3) Dynamic feedback adjustment:
[0124] The actual latency of the insulator identification task reached 1200 milliseconds (exceeding the 1000 millisecond threshold).
[0125] The monitoring agent detected a latency deviation ΔT = 200 milliseconds, triggering a migration action.
[0126] Migrate tasks from GPUs to FPGAs for acceleration;
[0127] After migration, the latency was reduced to 210 milliseconds, meeting QoS requirements.
[0128] In summary, this application constructs a task triplet model based on the characteristics of power business and builds a hybrid computing resource pool architecture of "CPU time-division isolation + GPU memory banking + FPGA pipeline reorganization" to overcome the scheduling bottleneck of heterogeneous hardware. Simultaneously, it achieves decoupling of business classification and hardware acceleration through a QoS-aware two-level scheduling mechanism and establishes a multi-dimensional dynamic feedback adjustment strategy library to support a self-healing resource allocation method with ΔT / U / E linkage. Through these methods, this application effectively solves the problems of insufficient real-time performance and decreased reliability caused by resource contention in various AI tasks (protection control, fault diagnosis, and status monitoring) in power edge scenarios, as well as the low utilization rate of heterogeneous computing resources, poor system fault tolerance, and insufficient energy efficiency ratio in power systems. It meets the stringent requirements of strong real-time performance and high reliability in power systems while resolving the contradiction between resource constraints and AI computing power demands in edge scenarios. It is applicable to real-time heterogeneous computing resource optimization allocation in scenarios such as power dispatch control, grid equipment status monitoring, and new energy power plant grid connection.
[0129] like Figure 3 As shown, in a second aspect, this application provides a power system resource dispatching device, comprising:
[0130] The data acquisition module is configured to determine the task category of the current task and obtain the computing resource requirement information of the current task through a pre-built task model. The task model includes the computing resource requirement information of the corresponding task category.
[0131] The computing resource configuration module is configured to determine at least one target computing resource unit for the current task from the corresponding category of computing resource pool based on the computing resource requirement information of the current task, so as to execute the current task through at least one target computing resource unit. The different categories of computing resource pools are obtained by pre-pooling multiple computing devices of the corresponding category. Each computing resource pool includes multiple computing resource units, wherein the computing devices of different categories have different data processing logic.
[0132] The feedback adjustment module is configured to perform a switching operation on the computing resource units of the current task when the real-time execution status of the current task is abnormal, or to perform a switching operation on the computing resource units occupied by each task based on the current usage of computing resource units by all tasks when the real-time running status of each computing resource pool is abnormal.
[0133] In a third aspect, this application provides a machine-readable storage medium storing instructions that, when executed by a processor, cause the processor to be configured to perform the power system resource scheduling method described above.
[0134] In a fourth aspect, this application provides a terminal device including a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, it implements the steps of the power system resource scheduling method described above.
[0135] It is understood that those skilled in the art will clearly recognize that, for the sake of convenience and brevity, the above-described division of functional units and modules is used as an example. In practical applications, the above functions can be assigned to different functional units and modules as needed, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiments can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit. Furthermore, the specific names of the functional units and modules are only for easy differentiation and are not intended to limit the scope of protection of this application. The specific working process of the units and modules in the above system can be referred to the corresponding process in the foregoing method embodiments, and will not be repeated here.
[0136] like Figure 4The diagram shown is a schematic representation of a terminal device provided in an embodiment of this application. Figure 4 As shown, the terminal device 10 of this embodiment includes a processor 100, a memory 101, and a computer program 102 stored in the memory 101 and executable on the processor 100. When the processor 100 executes the computer program 102, it implements the steps in the above method embodiments. Alternatively, when the processor 100 executes the computer program 102, it implements the functions of each module / unit in the above device embodiments.
[0137] For example, computer program 102 may be divided into one or more modules / units, one or more of which are stored in memory 101 and executed by processor 100 to complete this application. One or more modules / units may be a series of computer program instruction segments capable of performing a specific function, which describe the execution process of computer program 102 in terminal device 10.
[0138] Terminal device 10 may be a computing device such as a desktop computer, laptop, handheld computer, or cloud server. Terminal device 10 may include, but is not limited to, a processor 100 and a memory 101. Those skilled in the art will understand that... Figure 4 This is merely an example of terminal device 10 and does not constitute a limitation on terminal device 10. It may include more or fewer components than shown, or combine certain components, or different components. For example, terminal device may also include input / output devices, network access devices, buses, etc.
[0139] Processor 100 can be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor can be a microprocessor or any conventional processor.
[0140] The memory 101 can be an internal storage unit of the terminal device 10, such as a hard disk or RAM of the terminal device 10. The memory 101 can also be an external storage device of the terminal device 10, such as a plug-in hard disk, Smart Media Card (SMC), Secure Digital (SD) card, or FlashCard equipped on the terminal device 10. Furthermore, the memory 101 can include both internal and external storage units of the terminal device 10. The memory 101 is used to store computer programs and other programs and data required by the terminal device 10. The memory 101 can also be used to temporarily store data that has been output or will be output.
[0141] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0142] It should also be noted that the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such process, method, article, or apparatus. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.
[0143] The above are merely embodiments of this application and are not intended to limit the scope of this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the scope of the claims of this application.
Claims
1. A method for power system resource dispatching, the method comprising: The method comprises the following steps: determining the task category of the current task, obtaining the computing resource requirement information of the current task through a pre-constructed task model, wherein the task model comprises the computing resource requirement information corresponding to the task category; determining at least one target computing resource unit of the current task from the computing resource pool corresponding to the category according to the computing resource requirement information of the current task, so as to execute the current task through the at least one target computing resource unit, wherein different categories of computing resource pools are obtained by pre-pooling a plurality of computing devices corresponding to the categories, each computing resource pool comprises a plurality of computing resource units, wherein different categories of computing devices have different data processing logics, and different categories of computing resource pools comprise a first computing resource pool, a second computing resource pool and a third computing resource pool; in the case that the real-time execution state of the current task is abnormal, performing a switching operation on the computing resource unit of the current task, or in the case that the real-time running state of each computing resource pool is abnormal, performing a switching operation on the computing resource unit occupied by each task according to the occupation of the computing resource unit by all current tasks; the task category comprises protection control, fault diagnosis or state monitoring, and the task model further comprises: quality attribute information of the current task, wherein the quality attribute information comprises the maximum delay, reliability level and data freshness of the current task, and the data freshness is the data processing target time of the current task; the construction steps of the task model comprise: determining the task category and quality attribute information of the current task; in the case that the task category of the current task is protection control, if the maximum delay of the current task is not greater than the maximum delay threshold, a mapping relationship between the current task and a specified exclusive computing resource unit in the first computing resource pool and a specified computing resource unit in the third computing resource pool is established, wherein the exclusive computing resource unit is configured to execute tasks of the specified task category; in the case that the task category of the current task is fault diagnosis, if the reliability level of the current task is not less than the reliability level threshold, a mapping relationship between the current task and a specified shared computing resource unit in the first computing resource pool and / or a specified computing resource unit in the second computing resource pool is established; in the case that the task category of the current task is state monitoring, a mapping relationship between the current task and a specified shared computing resource unit in the first computing resource pool is established according to the data freshness of the current task.
2. The power system resource scheduling method of claim 1, wherein, different categories of computing resource pools are obtained by pre-pooling a plurality of computing devices corresponding to the categories, comprising: pooling a plurality of serial processing devices, dividing each serial processing device into a plurality of computing resource units, and constructing the first computing resource pool with the computing resource units of all serial processing devices; pooling a plurality of parallel processing devices, dividing each parallel processing device into a plurality of computing resource units, and constructing the second computing resource pool with the computing resource units of all parallel processing devices; pooling a plurality of hardware reconfigurable processing devices, each hardware reconfigurable processing device is divided into a plurality of computing resource units, and the computing resource units of all hardware reconfigurable processing devices construct the third computing resource pool.
3. The method of claim 2, wherein, dividing each serial processing device into a plurality of computing resource units, including: for each serial processing device, determining at least one computing resource unit as an exclusive computing resource unit, and determining the remaining computing resource units as shared computing resource units; wherein the shared computing resource units are configured to execute tasks of a non-designated task category.
4. The method of claim 2, wherein, the hardware reconfigurable processing device includes a plurality of logic units, one or more of the plurality of logic units can be configured to execute a designated task; dividing each hardware reconfigurable processing device into a plurality of computing resource units, including: determining at least one designated task; for each hardware reconfigurable processing device, determining the number of logic units required for each designated task and the control logic of the current designated task; for each designated task, determining the target logic unit according to the number of logic units required for the current designated task, configuring each target logic unit based on the control logic of the current designated task, and determining the configured target logic unit as the computing resource unit of the current designated task.
5. The method of claim 1, wherein, in the case of an abnormal real-time execution state of the current task, performing a switching operation on the computing resource unit of the current task, including: in the case that the task category of the current task is protection control or state monitoring, if the real-time delay of the current task is greater than the maximum delay of the current task, the computing resource unit executing the current task is switched to the corresponding computing resource unit in the third computing resource pool.
6. The method of claim 2, wherein, in the case of an abnormal real-time running state of each computing resource pool, performing a switching operation on the computing resource unit occupied by each task according to the occupation of the computing resource unit by all current tasks, including: in the case that the occupation rate of the second computing resource pool is greater than the occupation rate threshold, if it is determined that any computing resource unit in the second computing resource pool is occupied by multiple tasks, and the multiple tasks occupying the computing resource unit include a designated task, the non-designated tasks in the computing resource unit are migrated to other computing resource units in the second computing resource pool.
7. The method of claim 2, wherein, in the case of an abnormal real-time running state of each computing resource pool, performing a switching operation on the computing resource unit occupied by each task according to the occupation of the computing resource unit by all current tasks, including: in the case that the running temperature of the third computing resource pool is higher than the temperature threshold, if it is determined that any computing resource unit in the third computing resource pool is occupied by a non-designated task, a specified proportion of non-designated tasks are migrated to the corresponding computing resource unit of the second computing resource pool.
8. The method of claim 1, wherein, in the case that the task category of the current task is protection control, determining at least one target computing resource unit of the current task from the computing resource pool of the corresponding category, so as to execute the current task through the at least one target computing resource unit, including: If the at least one target computing resource unit is occupied by a task of a task category of fault diagnosis or status monitoring, the corresponding task is interrupted to occupy the at least one target computing resource unit to execute a current task by the at least one target computing resource unit.
9. A power system resource dispatching apparatus applying the power system resource dispatching method according to any one of claims 1 to 8, characterized by The device comprises: a data acquisition module configured to determine a task category of a current task, and acquire computing resource requirement information of the current task by a pre-constructed task model, the task model comprising computing resource requirement information corresponding to the task category; a computing resource configuration module configured to determine at least one target computing resource unit of the current task from a computing resource pool of the corresponding category according to the computing resource requirement information of the current task, to execute the current task by the at least one target computing resource unit, different categories of computing resource pools being obtained by pre-pooling a plurality of computing devices of the corresponding category, each computing resource pool comprising a plurality of computing resource units, wherein different categories of computing devices have different data processing logics; a feedback adjustment module configured to perform a switching operation on the computing resource unit of the current task in a case that a real-time execution state of the current task is abnormal, or perform a switching operation on the computing resource unit occupied by each task according to the occupation of the computing resource unit by all tasks in a case that a real-time running state of each computing resource pool is abnormal.
10. A machine-readable storage medium having stored thereon instructions, the instructions being executable by a machine to cause the machine to: The instruction, when executed by the processor, causes the processor to be configured to perform the power system resource scheduling method of any one of claims 1-8.
11. A terminal device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, The processor, when executing the computer program, implements the steps of the power system resource scheduling method of any one of claims 1-8.
Citation Information
Patent Citations
Calculation task scheduling method and device in multivariate heterogeneous environment and medium
CN119415240A
Method and system for releasing acceleration capability of physical GPU (Graphic Processing Unit) of cloud server
CN120448133A