A resource coordination and scheduling system and method under platform heterogeneity
Patent Information
- Application Number
- CN202610935421.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-06-26
- Publication Date
- 2026-10-27
AI Technical Summary
[0002]电网调度环境通常存在EMS、SCADA、DMS、云平台及边缘计算节点等异构平台,各平台在硬件架构、操作系统及资源规格方面差异显著,导致资源难以统一度量与调度
通过识别关键路径并优先分配至高性能或低负载平台,有效缩短电网调度任务整体执行时间;通过运行时周期性监测负载并动态迁移过载平台的未执行任务,提升系统负载均衡水平和资源利用率,明确子任务依赖关系并按优先级生成执行列表,保障任务执行的正确性和时序一致性。
Smart Images

Figure CN122985377A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of power grid dispatching technology, and in particular to a resource coordination and dispatching system and method under platform heterogeneity. Background Technology
[0002] Power grid dispatching environments typically consist of heterogeneous platforms such as EMS, SCADA, DMS, cloud platforms, and edge computing nodes. These platforms differ significantly in hardware architecture, operating systems, and resource specifications, making it difficult to uniformly measure and schedule resources. Existing scheduling strategies are static and coarse-grained, failing to fully consider the execution dependencies and critical paths between subtasks. This can easily lead to delays in critical subtasks, lacks runtime dynamic adjustment capabilities, and cannot migrate tasks based on real-time platform load after task distribution, resulting in low resource utilization and the risk of single-point overload. Summary of the Invention
[0003] To address the shortcomings of existing technologies, this invention provides a resource collaboration and scheduling system and method for heterogeneous platforms.
[0004] This invention provides a resource coordination and scheduling system under platform heterogeneity, including... The resource abstraction module is used to abstract resources from multiple heterogeneous platforms in the power grid and establish a unified resource description model. The model includes the computing power, storage capacity and network bandwidth attributes of each platform. The task splitting module is used to obtain power grid dispatching tasks, split the tasks into multiple sub-tasks according to functional logic, and determine the execution dependencies and required resource specifications between each sub-task. The initial scheduling module is used to construct a directed acyclic graph of subtask dependencies based on the resource description model, the resource requirements of each subtask, and the execution dependencies. It identifies the critical path in the directed acyclic graph, prioritizes the allocation of subtasks on the critical path to the platform with the strongest computing power or the lowest current load rate, and allocates subtasks on non-critical paths to the platform with remaining available resources that meet their resource specifications, thereby generating an initial scheduling mapping. The migration module is used to periodically collect the current load rate of each platform during the execution of subtasks. When the load rate of any platform exceeds a preset high threshold, it migrates several subtasks that have not yet been executed on that platform to other platforms with the lowest current load rate and updates the mapping relationship. The task distribution module is used to group each subtask according to the assigned platform based on the updated mapping relationship, generate an independent subtask execution list for each heterogeneous platform, and distribute the execution list to the corresponding platform for execution.
[0005] In a preferred embodiment, the resource abstraction module and the task splitting module are respectively communicatively connected to the initial scheduling module. The resource abstraction module is used to output the resource description model to the initial scheduling module, and the task splitting module is used to output the split sub-tasks, their execution dependencies, and required resource specifications to the initial scheduling module. The initial scheduling module is communicatively connected to the migration module and is used to send the generated initial scheduling mapping to the migration module. The migration module is communicatively connected to the task distribution module and is used to send the updated scheduling mapping to the task distribution module.
[0006] Preferably, the resource abstraction module specifically includes: The information acquisition unit is used to traverse multiple heterogeneous platforms in the power grid and collect hardware configuration information and operating status information of each platform. The hardware configuration information includes the number of CPU cores, clock frequency, memory capacity, storage space, and network bandwidth. The operating status information includes the amount of currently available resources. Standardized units are used to standardize the hardware configuration and operating status information of various heterogeneous platforms. The vector construction unit is used to build a resource description vector for each heterogeneous platform based on the standardized data. The resource description vector includes computing power attributes, storage capacity attributes, and network bandwidth attributes. The computing power attribute is determined based on the product of the number of CPU cores and the clock speed. The storage capacity attribute is determined based on the available storage space. The network bandwidth attribute is determined based on the currently available network bandwidth. The aggregation unit is used to aggregate the resource description vectors of all heterogeneous platforms and construct a resource description model. The resource description model uses the platform identifier as an index and records the three-dimensional attribute vector of each platform.
[0007] Preferably, the task splitting module specifically includes: The task parsing unit is used to obtain power grid dispatching tasks and parse the task type, task objective, and input data scale of the power grid dispatching tasks. The function splitting unit is used to split the power grid dispatching task into multiple sub-tasks according to the task type and task objective, with each sub-task corresponding to an independent function unit. The dependency analysis unit is used to analyze the data flow and control dependencies between subtasks and construct a task dependency graph, wherein the task dependency graph has subtasks as nodes and dependencies as directed edges. The priority determination unit is used to perform topological sorting on the task dependency graph and determine the execution priority of each subtask. The resource requirement calculation unit is used to calculate the resource specifications required for each subtask based on the functional characteristics and input data scale of each subtask. The resource specifications include the required computing power value, the required storage capacity value, and the required network bandwidth value. The execution time estimation unit is used to estimate the execution time of each subtask on the benchmark platform based on the functional complexity of each subtask, the scale of input data, and the execution records of similar tasks in the past.
[0008] Preferably, the initial scheduling module specifically includes: The data acquisition unit is used to acquire the resource description model, the resource requirements of each subtask, and the determined execution dependencies; A graph construction unit is used to construct a directed acyclic graph of subtask dependencies, with each subtask as a node and the execution dependency relationship as a directed edge. The critical path identification unit is used to traverse all paths from the start node to the end node in the directed acyclic graph, calculate the sum of the estimated execution time of all subtasks on each path, mark the path with the largest sum of time as the critical path, and record all subtasks on the critical path as the set of critical subtasks. The critical task allocation unit is used to select candidate platforms that meet the required resource specifications from all heterogeneous platforms for each subtask in the set of critical subtasks, and prioritize the allocation of the subtask to the platform with the highest computing power among the candidate platforms; if the current load rate of the platform exceeds a preset first load threshold, the subtask is then reassigned to the platform with the lowest current load rate among the candidate platforms. The non-critical task allocation unit is used to select candidate platforms from all heterogeneous platforms that meet its resource specifications for each sub-task on the non-critical path, and allocate the sub-task to the candidate platform that meets the resource requirements and has the lowest current load rate. The mapping generation unit is used to summarize the platform allocation results of all subtasks, establish the initial correspondence between each subtask and the execution platform, and generate the initial scheduling mapping.
[0009] Preferably, the migration module specifically includes: The load acquisition unit is used to periodically collect the current load rate of each heterogeneous platform according to a preset sampling period during the execution of subtasks. The threshold comparison unit is used to compare the current load rate of each platform with a preset high threshold, which is a warning value for the platform's resource utilization. An overload marking unit is used to mark a platform as an overloaded platform when the current load rate of any platform exceeds the preset high threshold. The task selection unit is used to select one or more subtasks to be migrated from the subtasks that have not yet been executed on the overloaded platform. The target selection unit is used to select the platform with the lowest current load rate among all other platforms as the target migration platform; The migration execution unit is used to migrate the subtask to be migrated from the overloaded platform to the target migration platform; The mapping update unit is used to update the platform identifier corresponding to the migrated subtask in the scheduling mapping relationship after the migration is completed, and to update the load rate of the source platform and the target platform.
[0010] Preferably, the task distribution module specifically includes: A mapping acquisition unit is used to acquire the updated scheduling mapping relationship of the migration module; The task grouping unit is used to group each subtask according to the assigned platform identifier based on the updated scheduling mapping relationship, and to group subtasks belonging to the same platform into the same task group. The list generation unit is used to generate a subtask execution list for each task group based on the execution priority of each subtask in the task splitting module. The execution list includes the task identifier and execution order number of all subtasks assigned to the platform. The execution unit is used to distribute the subtask execution list corresponding to each platform to the corresponding platform for execution.
[0011] This invention provides a resource coordination and scheduling method under heterogeneous platforms, characterized by comprising the following: Step S1: Abstract the resources of multiple heterogeneous platforms in the power grid and establish a unified resource description model. The model includes the computing power, storage capacity and network bandwidth attributes of each platform. Step S2: Obtain the power grid dispatching task, break down the task into multiple sub-tasks according to functional logic, and determine the execution dependencies and required resource specifications between each sub-task; Step S3: Based on the resource description model, the resource requirements of each subtask, and the execution dependency relationship, construct a directed acyclic graph of subtask dependencies, identify the critical path in the directed acyclic graph, prioritize the allocation of subtasks on the critical path to the platform with the strongest computing power or the lowest current load rate, allocate subtasks on non-critical paths to the platform with remaining available resources that meet their resource specifications, and generate an initial scheduling mapping. Step S4: During the execution of subtasks, the current load rate of each platform is periodically collected. When the load rate of any platform exceeds the preset high threshold, several subtasks that have not yet been executed on that platform are migrated to other platforms with the lowest current load rate, and the mapping relationship is updated. Step S5: Based on the updated mapping relationship, group each subtask according to the assigned platform, generate an independent subtask execution list for each heterogeneous platform, and send the execution list to the corresponding platform for execution.
[0012] This invention discloses a resource coordination and scheduling system and method under platform heterogeneity, which has the following beneficial effects: By identifying critical paths and prioritizing their allocation to high-performance or low-load platforms, the overall execution time of power grid dispatching tasks can be effectively shortened. By periodically monitoring the load during runtime and dynamically migrating unexecuted tasks from overloaded platforms, the system's load balancing level and resource utilization can be improved. Furthermore, by clarifying sub-task dependencies and generating execution lists according to priority, the correctness and timing consistency of task execution can be ensured. Attached Figure Description
[0013] To more clearly illustrate the technical solutions of the embodiments of the present invention, the accompanying drawings used in the embodiments of the present invention are provided below.
[0014] Figure 1 This invention provides a framework diagram for a resource collaboration and scheduling system under platform heterogeneity. Detailed Implementation
[0015] The technical solution of the present invention will be described in detail below with reference to the accompanying drawings and specific embodiments, so that those skilled in the art can better understand the present invention and implement it. However, the embodiments are not intended to limit the present invention.
[0016] refer to Figure 1 This invention provides a resource coordination and scheduling system under platform heterogeneity, including... The resource abstraction module is used to abstract resources from multiple heterogeneous platforms in the power grid and establish a unified resource description model. The model includes the computing power, storage capacity and network bandwidth attributes of each platform. The task splitting module is used to obtain power grid dispatching tasks, split the tasks into multiple sub-tasks according to functional logic, and determine the execution dependencies and required resource specifications between each sub-task. The initial scheduling module is used to construct a directed acyclic graph of subtask dependencies based on the resource description model, the resource requirements of each subtask, and the execution dependencies. It identifies the critical path in the directed acyclic graph, prioritizes the allocation of subtasks on the critical path to the platform with the strongest computing power or the lowest current load rate, and allocates subtasks on non-critical paths to platforms with remaining available resources that meet their resource specifications, and generates the initial scheduling mapping. The migration module is used to periodically collect the current load rate of each platform during the execution of subtasks. When the load rate of any platform exceeds a preset high threshold, it migrates several subtasks that have not yet been executed on that platform to other platforms with the lowest current load rate and updates the mapping relationship. The task distribution module is used to group each subtask according to the assigned platform based on the updated mapping relationship, generate an independent subtask execution list for each heterogeneous platform, and distribute the execution list to the corresponding platform for execution.
[0017] In a preferred embodiment, the resource abstraction module and the task splitting module are respectively communicatively connected to the initial scheduling module. The resource abstraction module is used to output a resource description model to the initial scheduling module, and the task splitting module is used to output each split subtask, its execution dependencies, and the required resource specifications to the initial scheduling module. The initial scheduling module is communicatively connected to the migration module and is used to send the generated initial scheduling mapping to the migration module. The migration module is communicatively connected to the task distribution module and is used to send the updated scheduling mapping relationship to the task distribution module.
[0018] In a preferred embodiment, the resource abstraction module specifically includes: The information acquisition unit is used to traverse multiple heterogeneous platforms in the power grid and collect hardware configuration information and operating status information of each platform. The hardware configuration information includes the number of CPU cores, clock speed, memory capacity, storage space, and network bandwidth. The operating status information includes the amount of currently available resources. Standardized units are used to standardize the hardware configuration and operating status information of various heterogeneous platforms. The vector construction unit is used to build a resource description vector for each heterogeneous platform based on the standardized data. The resource description vector includes computing power attributes, storage capacity attributes, and network bandwidth attributes. The computing power attribute is determined by the product of the number of CPU cores and the clock speed, the storage capacity attribute is determined by the available storage space, and the network bandwidth attribute is determined by the currently available network bandwidth. The aggregation unit is used to aggregate the resource description vectors of all heterogeneous platforms and construct a resource description model. The resource description model is indexed by the platform identifier and records the three-dimensional attribute vector of each platform.
[0019] In a preferred embodiment, the task splitting module specifically includes: The task parsing unit is used to obtain power grid dispatching tasks and parse the task type, task objective, and input data scale of the power grid dispatching tasks. The functional decomposition unit is used to divide the power grid dispatching task into multiple sub-tasks according to the task type and task objectives, with each sub-task corresponding to an independent functional unit. The dependency analysis unit is used to analyze the data flow and control dependencies between subtasks and construct a task dependency graph, which uses subtasks as nodes and dependencies as directed edges. In the specific implementation, the input and output parameters of each subtask are first parsed to determine whether the output data of a certain subtask is the input data of another subtask. If so, a data dependency relationship is established. Then, the logical triggering conditions of the task are parsed. If subtask B can only start after subtask A has been executed, a control dependency relationship is established.
[0020] A directed graph is constructed using an adjacency list or adjacency matrix: each subtask is treated as a graph node, and the identified data flow and control flow are treated as directed edges. To ensure the validity of the graph, depth-first search (DFS) is used to detect cycles in the task dependency graph. If a cycle is detected, an alarm is issued and manual intervention is prompted to adjust the splitting logic; if no cycle is found, the directed graph is output as the final task dependency model.
[0021] The priority determination unit is used to perform topological sorting on the task dependency graph and determine the execution priority of each subtask. The resource requirement calculation unit is used to calculate the resource specifications required for each subtask based on the functional characteristics and input data scale of each subtask. The resource specifications include the required computing power value, the required storage capacity value, and the required network bandwidth value. Specifically, it involves identifying the functional characteristics of each subtask and categorizing it into one of the following: computationally intensive, memory-intensive, or network I / O intensive. Secondly, based on the functional characteristic type, the corresponding three-dimensional resource weight vector W = (wcpu, wmem, wbw) is retrieved from the preset weight coefficient table, where wcpu, wmem, and wbw are the computing power weight, storage capacity weight, and network bandwidth weight, respectively, and each weight value is set according to the degree of dependence of the task on the corresponding resource; for example, the weight is set to W = (1.8, 0.5, 0.3) for computing-intensive tasks and W = (0.4, 0.5, 1.8) for network I / O-intensive tasks. The preset weight coefficient table is set according to the resource consumption characteristics of power grid dispatching tasks and stored in the system configuration database. The tasks are divided into three categories: computationally intensive (power flow calculation, topology analysis, etc.) focuses on CPU, with a weight vector of (1.8, 0.5, 0.3); memory-intensive (large-scale matrix storage, historical data loading, etc.) focuses on memory, with a weight vector of (0.6, 1.8, 0.4); and network I / O intensive (cross-platform data acquisition, remote synchronization, etc.) focuses on bandwidth, with a weight vector of (0.4, 0.5, 1.8).
[0022] Obtain the input data size D for this subtask, as well as the baseline computational cost βcpu, baseline memory usage βmem, and baseline network throughput βbw per unit of data for this task. The following weighted calculation formula is used to calculate the three resource specifications respectively: Required computing power value = ; Required storage capacity value = , The fixed memory overhead for this subtask; Required network bandwidth value = ;in To input the total amount of data, To output the estimated value of the data, The maximum allowed data transmission duration; where, Based on the sub-task function type and the output data scale of similar historical tasks, statistical estimations are performed. The limit is set at 10% of the total task duration for a single task transmission. The three calculated resource specification values are normalized to generate a standardized resource requirement vector for this subtask. The execution time estimation unit is used to estimate the execution time of each subtask on the benchmark platform based on the functional complexity of each subtask, the scale of input data, and the execution records of similar tasks in the past.
[0023] Specifically, this involves obtaining the determined functional characteristic type and input data scale value of the subtask; Query the preset historical execution time statistics table. The statistics table records the historical average processing time of subtasks with different functional characteristics when processing a unit amount of data on the benchmark platform. The preset historical execution time statistics table is automatically accumulated and maintained by the system during long-term operation and stored in the system's historical database. The specific setting process is as follows: Typical tasks are selected and executed multiple times on a standard benchmark platform (64-core CPU, 128GB memory, 1Gbps bandwidth). After removing outliers, the average is taken to obtain the initial time consumed per unit of data volume, such as topology parsing 30 seconds / GB, data acquisition 20 seconds / GB, power flow calculation 120 seconds / GB, and result verification 10 seconds / GB. After the system is put into operation, the actual duration, task type, data scale, and platform specifications are automatically recorded after each task execution. Data from the past three months is updated weekly using an exponentially weighted moving average method, with recent records having higher weight than older records. If the updated value deviates by more than 50%, it is marked as an anomaly, and the old value is retained. The estimated execution time of the subtask on the benchmark platform is calculated by multiplying the historical average processing time by the input data size of the current subtask.
[0024] In a preferred embodiment, the initial scheduling module specifically includes: The data acquisition unit is used to acquire the resource description model, the resource requirements of each subtask, and the determined execution dependencies; The graph building unit is used to construct a directed acyclic graph of subtask dependencies, with each subtask as a node and execution dependencies as directed edges. The critical path identification unit is used to traverse all paths from the start node to the end node in the directed acyclic graph, calculate the sum of the estimated execution time of all subtasks on each path, mark the path with the largest sum of execution time as the critical path, and record all subtasks on the critical path as the set of critical subtasks. The critical task allocation unit is used to select candidate platforms that meet the required resource specifications from all heterogeneous platforms for each subtask in the critical subtask set, and prioritize the allocation of the subtask to the platform with the highest computing power among the candidate platforms; if the current load rate of the platform exceeds the preset first load threshold, the subtask will be reassigned to the platform with the lowest current load rate among the candidate platforms. The non-critical task allocation unit is used to select candidate platforms from all heterogeneous platforms that meet the resource specifications for each sub-task on the non-critical path, and allocate the sub-task to the candidate platform that meets the resource requirements and has the lowest current load rate. The mapping generation unit is used to summarize the platform allocation results of all subtasks, establish the initial correspondence between each subtask and the execution platform, and generate the initial scheduling mapping.
[0025] In a preferred embodiment, the migration module specifically includes: The load acquisition unit is used to periodically collect the current load rate of each heterogeneous platform according to a preset sampling period during the execution of subtasks. The threshold comparison unit is used to compare the current load rate of each platform with a preset high threshold, which is a warning value for the platform's resource utilization. The overload marking unit is used to mark any platform as an overloaded platform when the current load rate of any platform exceeds a preset high threshold. The task selection unit is used to select one or more subtasks to be migrated from the subtasks that have not yet been executed on the overloaded platform. The target selection unit is used to select the platform with the lowest current load rate among all other platforms as the target migration platform; The migration execution unit is used to migrate subtasks from the overloaded platform to the target migration platform; The mapping update unit is used to update the platform identifier corresponding to the migrated subtask in the scheduling mapping relationship after the migration is completed, and to update the load rate of the source platform and the target platform.
[0026] In a preferred embodiment, the task distribution module specifically includes: The mapping acquisition unit is used to acquire the updated scheduling mapping relationship of the migration module; The task grouping unit is used to group each subtask according to the assigned platform identifier based on the updated scheduling mapping relationship, and subtasks belonging to the same platform are assigned to the same task group. The list generation unit is used to generate a subtask execution list for each task group based on the execution priority of each subtask in the task splitting module. The execution list contains the task identifier and execution order number of all subtasks assigned to the platform. The execution unit is used to distribute the subtask execution list corresponding to each platform to the corresponding platform for execution.
[0027] This invention provides a resource coordination and scheduling method under heterogeneous platforms, characterized by comprising the following: Step S1: Abstract the resources of multiple heterogeneous platforms in the power grid and establish a unified resource description model. The model includes the computing power, storage capacity and network bandwidth attributes of each platform. Step S2: Obtain the power grid dispatching task, break the task down into multiple sub-tasks according to functional logic, and determine the execution dependencies and required resource specifications between each sub-task; Step S3: Based on the resource description model, the resource requirements of each subtask, and the execution dependencies, construct a directed acyclic graph of subtask dependencies, identify the critical path in the directed acyclic graph, prioritize the allocation of subtasks on the critical path to the platform with the strongest computing power or the lowest current load rate, allocate subtasks on non-critical paths to the platform with remaining available resources that meet their resource specifications, and generate the initial scheduling mapping. Step S4: During the execution of subtasks, the current load rate of each platform is periodically collected. When the load rate of any platform exceeds the preset high threshold, several subtasks that have not yet been executed on that platform are migrated to other platforms with the lowest current load rate, and the mapping relationship is updated. Step S5: Based on the updated mapping relationship, group each subtask according to the assigned platform, generate an independent subtask execution list for each heterogeneous platform, and distribute the execution list to the corresponding platform.
[0028] For example, a power grid dispatch center has three types of heterogeneous platforms: Platform A is a high-performance computing cluster (256-core CPU, 512GB memory, 20TB storage, 10Gbps bandwidth), Platform B is an edge computing node (64-core CPU, 128GB memory, 4TB storage, 1Gbps bandwidth), and Platform C is a substation embedded device (16-core CPU, 32GB memory, 1TB storage, 100Mbps bandwidth).
[0029] The system collects hardware configuration and operating status data for each platform, and establishes resource description vectors after standardization. Platform A has computing power of 819.2 (256×3.2), storage capacity of 18TB, and network bandwidth of 9.5Gbps; Platform B has 179.2, 3.5TB, and 0.8Gbps; Platform C has 32.0, 0.8TB, and 80Mbps. A resource description model indexed by platform identifiers is then constructed.
[0030] The scheduling center issues a real-time power flow calculation task with an input data size of 2GB. After the task parsing unit parses the task type and objective, the functional decomposition unit breaks it down into four sub-tasks: T1 topology parsing, T2 data acquisition, T3 power flow calculation, and T4 result verification. The dependency analysis unit identifies data flow and control dependencies: the outputs of T1 and T2 are both inputs to T3, and the output of T3 is the input to T4, constructing an acyclic task dependency graph. The priority determination unit determines the priority of T1 and T2 to be 1, T3 to be 2, and T4 to be 3 through topology sorting. The resource requirement calculation unit retrieves weight coefficients based on functional characteristic type and calculates resource specifications: T1 (compute-intensive): computing power 1.8, storage 2.3GB, bandwidth 0.09Gbps; T2 (network I / O-intensive): computing power 0.24, storage 1.4GB, bandwidth 0.63Gbps; T3 (compute-intensive): computing power 12.6, storage 5.4GB, bandwidth 0.12Gbps; T4 (compute-intensive): computing power 0.18, storage 0.525GB, bandwidth 0.018Gbps. The execution duration estimation unit, based on historical statistics, estimates T1 as 60 seconds, T2 as 40 seconds, T3 as 420 seconds, and T4 as 5 seconds.
[0031] The graph construction unit builds a directed acyclic graph (DAG) that the subtasks depend on. The critical path identification unit traverses all paths: T1→T3→T4 (total time 485 seconds), T2→T3→T4 (total time 465 seconds), and marks T1→T3→T4 as the critical path. The critical task allocation unit prioritizes allocating T1, T3, and T4 to the most powerful computing platform A (platform A's load rate is 15%, not exceeding the first load threshold of 70%). The non-critical task allocation unit allocates T2 to the platform B with the lowest current load rate (platform B's load rate is 20%, lower than platform A's 45%). An initial scheduling map is generated: T1→A, T2→B, T3→A, T4→A.
[0032] During execution, the load acquisition unit collects the platform load rate every 30 seconds. After T1 and T2 are completed, T3 starts on platform A. At the 120th second, the load rate of platform A reaches 78%, exceeding the high threshold of 75%, and the overload marking unit marks platform A as overloaded. The task selection unit selects T4 from the subtasks that have not yet been executed on platform A, and the target selection unit selects platform C as the target migration platform between platform B (load rate 25%) and platform C (load rate 10%). The migration execution unit migrates T4 to platform C, and the mapping update unit updates the scheduling relationship to T4→C, reducing the load rate of platform A to 74%.
[0033] The mapping acquisition unit obtains the updated scheduling mappings: T1→A, T2→B, T3→A, T4→C. The task grouping unit groups tasks by platform identifier: platform A contains T1 and T3, platform B contains T2, and platform C contains T4. The list generation unit generates execution lists according to priority: platform A, order 1-T1, order 2-T3; platform B, order 1-T2; platform C, order 1-T4. The execution distribution unit distributes each list to the corresponding platform. Platform A executes T1 first, then T3; platform B executes T2; and platform C executes T4 after T3 is completed. Each platform ensures the execution order through a dependency control mechanism. The final total execution time is approximately 485 seconds, which is about 40 seconds shorter than single-platform serial execution, and the migration avoids overloading platform A.
Claims
1. A resource collaboration and scheduling system under heterogeneous platform conditions, characterized in that, include The resource abstraction module is used to abstract the resources of multiple heterogeneous platforms in the power grid and establish a unified resource description model. The model includes the computing power, storage capacity and network bandwidth attributes of each platform. The task splitting module is used to obtain power grid dispatching tasks, split the tasks into multiple sub-tasks according to functional logic, and determine the execution dependencies and required resource specifications between each sub-task. The initial scheduling module is used to construct a directed acyclic graph of subtask dependencies based on the resource description model, the resource requirements of each subtask, and the execution dependencies. It identifies the critical path in the directed acyclic graph, prioritizes the allocation of subtasks on the critical path to the platform with the strongest computing power or the lowest current load rate, and allocates subtasks on non-critical paths to the platform with remaining available resources that meet their resource specifications, thereby generating an initial scheduling mapping. The migration module is used to periodically collect the current load rate of each platform during the execution of subtasks. When the load rate of any platform exceeds a preset high threshold, it migrates several subtasks that have not yet been executed on that platform to other platforms with the lowest current load rate and updates the mapping relationship. The task distribution module is used to group each subtask according to the assigned platform based on the updated mapping relationship, generate an independent subtask execution list for each heterogeneous platform, and distribute the execution list to the corresponding platform for execution.
2. The resource collaboration and scheduling system under platform heterogeneity as described in claim 1, characterized in that, The resource abstraction module and the task splitting module are respectively communicatively connected to the initial scheduling module. The resource abstraction module is used to output the resource description model to the initial scheduling module, and the task splitting module is used to output the split sub-tasks, their execution dependencies, and required resource specifications to the initial scheduling module. The initial scheduling module is communicatively connected to the migration module and is used to send the generated initial scheduling mapping to the migration module. The migration module is communicatively connected to the task distribution module and is used to send the updated scheduling mapping to the task distribution module.
3. The resource collaboration and scheduling system under platform heterogeneity as described in claim 1, characterized in that, The resource abstraction module specifically includes: The information acquisition unit is used to traverse multiple heterogeneous platforms in the power grid and collect hardware configuration information and operating status information of each platform. The hardware configuration information includes the number of CPU cores, clock frequency, memory capacity, storage space, and network bandwidth. The operating status information includes the amount of currently available resources. Standardized units are used to standardize the hardware configuration and operating status information of various heterogeneous platforms. The vector construction unit is used to build a resource description vector for each heterogeneous platform based on the standardized data. The resource description vector includes computing power attributes, storage capacity attributes, and network bandwidth attributes. The computing power attribute is determined based on the product of the number of CPU cores and the clock speed. The storage capacity attribute is determined based on the available storage space. The network bandwidth attribute is determined based on the currently available network bandwidth. The aggregation unit is used to aggregate the resource description vectors of all heterogeneous platforms and construct a resource description model. The resource description model uses the platform identifier as an index and records the three-dimensional attribute vector of each platform.
4. The resource collaboration and scheduling system under platform heterogeneity according to claim 1, characterized in that, The task splitting module specifically includes: The task parsing unit is used to obtain power grid dispatching tasks and parse the task type, task objective, and input data scale of the power grid dispatching tasks. The function splitting unit is used to split the power grid dispatching task into multiple sub-tasks according to the task type and task objective, with each sub-task corresponding to an independent function unit. The dependency analysis unit is used to analyze the data flow and control dependencies between subtasks and construct a task dependency graph, wherein the task dependency graph has subtasks as nodes and dependencies as directed edges. The priority determination unit is used to perform topological sorting on the task dependency graph and determine the execution priority of each subtask. The resource requirement calculation unit is used to calculate the resource specifications required for each subtask based on the functional characteristics and input data scale of each subtask. The resource specifications include the required computing power value, the required storage capacity value, and the required network bandwidth value. The execution time estimation unit is used to estimate the execution time of each subtask on the benchmark platform based on the functional complexity of each subtask, the scale of input data, and the execution records of similar tasks in the past.
5. A resource collaboration and scheduling system under heterogeneous platform conditions according to claim 1, characterized in that, The initial scheduling module specifically includes: The data acquisition unit is used to acquire the resource description model, the resource requirements of each subtask, and the determined execution dependencies; A graph construction unit is used to construct a directed acyclic graph of subtask dependencies, with each subtask as a node and the execution dependency relationship as a directed edge. The critical path identification unit is used to traverse all paths from the start node to the end node in the directed acyclic graph, calculate the sum of the estimated execution time of all subtasks on each path, mark the path with the largest sum of time as the critical path, and record all subtasks on the critical path as the set of critical subtasks. The critical task allocation unit is used to select candidate platforms that meet the required resource specifications from all heterogeneous platforms for each subtask in the set of critical subtasks, and prioritize the allocation of the subtask to the platform with the highest computing power among the candidate platforms; if the current load rate of the platform exceeds a preset first load threshold, the subtask is then reassigned to the platform with the lowest current load rate among the candidate platforms. The non-critical task allocation unit is used to select candidate platforms from all heterogeneous platforms that meet its resource specifications for each sub-task on the non-critical path, and allocate the sub-task to the candidate platform that meets the resource requirements and has the lowest current load rate. The mapping generation unit is used to summarize the platform allocation results of all subtasks, establish the initial correspondence between each subtask and the execution platform, and generate the initial scheduling mapping.
6. A resource collaboration and scheduling system under platform heterogeneity as described in claim 1, characterized in that, The migration module specifically includes: The load acquisition unit is used to periodically collect the current load rate of each heterogeneous platform according to a preset sampling period during the execution of subtasks. The threshold comparison unit is used to compare the current load rate of each platform with a preset high threshold, which is a warning value for the platform's resource utilization. An overload marking unit is used to mark a platform as an overloaded platform when the current load rate of any platform exceeds the preset high threshold. The task selection unit is used to select one or more subtasks to be migrated from the subtasks that have not yet been executed on the overloaded platform. The target selection unit is used to select the platform with the lowest current load rate among all other platforms as the target migration platform; The migration execution unit is used to migrate the subtask to be migrated from the overloaded platform to the target migration platform; The mapping update unit is used to update the platform identifier corresponding to the migrated subtask in the scheduling mapping relationship after the migration is completed, and to update the load rate of the source platform and the target platform.
7. A resource collaboration and scheduling system under heterogeneous platform conditions according to claim 1, characterized in that, The task distribution module specifically includes: A mapping acquisition unit is used to acquire the updated scheduling mapping relationship of the migration module; The task grouping unit is used to group each subtask according to the assigned platform identifier based on the updated scheduling mapping relationship, and to group subtasks belonging to the same platform into the same task group. The list generation unit is used to generate a subtask execution list for each task group based on the execution priority of each subtask in the task splitting module. The execution list includes the task identifier and execution order number of all subtasks assigned to the platform. The execution unit is used to distribute the subtask execution list corresponding to each platform to the corresponding platform for execution.
8. A resource coordination and scheduling method under heterogeneous platform conditions, characterized in that, Including the following: Step S1: Abstract the resources of multiple heterogeneous platforms in the power grid and establish a unified resource description model. The model includes the computing power, storage capacity and network bandwidth attributes of each platform. Step S2: Obtain the power grid dispatching task, break down the task into multiple sub-tasks according to functional logic, and determine the execution dependencies and required resource specifications between each sub-task; Step S3: Based on the resource description model, the resource requirements of each subtask, and the execution dependency relationship, construct a directed acyclic graph of subtask dependencies, identify the critical path in the directed acyclic graph, prioritize the allocation of subtasks on the critical path to the platform with the strongest computing power or the lowest current load rate, allocate subtasks on non-critical paths to the platform with remaining available resources that meet their resource specifications, and generate an initial scheduling mapping. Step S4: During the execution of subtasks, the current load rate of each platform is periodically collected. When the load rate of any platform exceeds the preset high threshold, several subtasks that have not yet been executed on that platform are migrated to other platforms with the lowest current load rate, and the mapping relationship is updated. Step S5: Based on the updated mapping relationship, group each subtask according to the assigned platform, generate an independent subtask execution list for each heterogeneous platform, and send the execution list to the corresponding platform for execution.
