Distributed parallel simulation method, system, device and medium suitable for power distribution system
By combining the factor tree scheduling algorithm and the chain network model balancing algorithm, a balanced allocation of computing resources in the power distribution system is achieved, solving the problem of uneven allocation of computing resources and improving simulation computing efficiency and the safety and stability of the power grid.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- CHINA ELECTRIC POWER RESEARCH INSTITUTE CO LTD
- Filing Date
- 2024-12-23
- Publication Date
- 2026-06-26
AI Technical Summary
When faced with a large number of distributed power sources and intelligent devices, the existing power distribution system suffers from uneven distribution of computing resources, resulting in low simulation efficiency and difficulty in achieving accurate simulation results.
A factor tree scheduling algorithm is used to statically allocate the initial task group across multiple computing nodes, and a chain network model balancing algorithm is combined for dynamic adjustment to achieve balanced allocation of computing resources.
By employing static and dynamic allocation strategies, the utilization rate of computing resources is improved, the uneven distribution of computing resources is avoided, efficient simulation calculations for new power distribution systems are supported, and the safe and stable operation of the power grid is guaranteed.
Smart Images

Figure CN122285238A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of power distribution network simulation calculation, and specifically to a distributed parallel simulation method, system, equipment and medium suitable for power distribution systems. Background Technology
[0002] With the continuous deepening of policies promoting a low-carbon economy and energy conservation and emission reduction, the scale of power distribution networks is constantly expanding, with a large number of distributed power sources, microgrids, electric vehicles, and energy storage systems being connected to the distribution system. Existing distribution networks face two constraints in supporting the large-scale, decentralized integration of flexible power sources, loads, and energy storage: structural limitations and equipment limitations. Therefore, it is necessary to construct a new type of distribution system for the future, structurally enabling the absorption of large-scale distributed power sources and equipping it with flexible integration of distributed power sources, loads, and energy storage.
[0003] While current research on simulation methods for novel power distribution systems has established a certain foundation, the large-scale deployment of distributed energy sources, such as solar photovoltaic panels and wind turbines, along with the rapid growth of electric vehicle charging infrastructure, has led to millions of smart devices connecting to the power distribution network. This significantly increases the system's complexity and data processing volume. Consequently, simulation systems for power distribution systems in related technologies often exhibit a "small horse pulling a big cart" or "big horse pulling a small cart" phenomenon in their computational resource allocation, meaning that computational resources are unevenly distributed and their utilization rate is low. Summary of the Invention
[0004] To address the problems of existing technologies, this invention proposes a distributed parallel simulation method, system, equipment, and medium suitable for power distribution systems, aiming to achieve more refined resource scheduling within power distribution systems.
[0005] The objective of this invention is achieved through the following technical solution:
[0006] On one hand, the present invention provides a distributed parallel simulation method suitable for power distribution systems, the method comprising:
[0007] The scheduling algorithm based on factor tree statically allocates the received initial task group to multiple computing nodes in the power distribution system to obtain the task allocation information corresponding to the multiple computing nodes.
[0008] Based on the task allocation information, the multiple computing nodes perform simulation operation on the initial task group to obtain the current load status of the multiple computing nodes.
[0009] If a new task group is received, the chain network model load balancing algorithm is used to dynamically allocate the new task group to the multiple computing nodes based on the current load situation, and the multiple computing nodes continue to run the simulation of the new task group.
[0010] Optionally, the initial task group includes: multiple initial computation tasks with no execution dependencies; the factor tree-based scheduling algorithm statically allocates the received initial task group across multiple computing nodes in the power distribution system to obtain task allocation information corresponding to the multiple computing nodes, including:
[0011] The multiple initial computation tasks are used to construct a multi-layer node of the factor tree; wherein each layer of nodes consists of multiple nodes, and one initial computation task is deployed on each node;
[0012] The multi-level nodes of the factor tree are traversed in descending order of level.
[0013] Based on the current level traversed, the initial computing tasks deployed on each node of the current level are statically allocated to the multiple computing nodes in sequence to obtain the task allocation information corresponding to the multiple computing nodes.
[0014] Optionally, constructing multi-level nodes of the factor tree using the multiple initial computation tasks includes:
[0015] Obtain the computational load corresponding to each initial computation task;
[0016] The multiple initial computation tasks are hierarchically determined according to the computational load from high to low, resulting in a multi-level node structure of the factor tree; wherein multiple nodes at adjacent levels are interconnected, and multiple nodes at the same level are interconnected.
[0017] Optionally, traversing the multi-level nodes of the factor tree in descending order of level includes:
[0018] Based on the first pointer to the next level node, the second pointer to the previous level node, and the node linked list connecting all lower level nodes deployed on each node, the levels corresponding to the multi-level nodes of the factor tree are traversed from high to low.
[0019] Optionally, the step of simulating the initial task group by the multiple computing nodes based on the task allocation information to obtain the current load status of the multiple computing nodes includes:
[0020] Based on the task allocation information, the plurality of computing nodes simulate and run each initial computing task in the initial task group to determine the current task queue to be executed for each computing node in the plurality of computing nodes.
[0021] Based on the number of tasks or the task load in the current task queue, the current load status of each computing node is determined.
[0022] Optionally, the power distribution system is a distributed power grid distribution system. The multiple computing nodes within the power distribution system include multiple nodes located in multiple different local area networks (LANs) within the distributed power grid distribution system. Each LAN includes several nodes and an information center node, and the multiple information center nodes in the multiple different LANs are connected in a linked structure. If a new task group is received, a chain network model balancing algorithm is used to dynamically allocate the new task group to the multiple computing nodes based on the current load situation. The multiple computing nodes then continue to simulate and run the new task group, including:
[0023] Based on each of the multiple different local area networks, the information center node within the local area network is used to obtain the current load status of several nodes within the local area network, thus obtaining a current load status table of the local area network.
[0024] Based on the current load table of each local area network, each new computing task in the new task group is dynamically allocated to the multiple nodes, and the multiple nodes continue to simulate and run each new computing task.
[0025] Optionally, based on the current load table of each of the local area networks, each new computing task in the new task group is dynamically allocated to the plurality of nodes, and the plurality of nodes continue to simulate and run each new computing task, including:
[0026] Based on the current load status table of each local area network and the computational load corresponding to each new computing task, the balance decision corresponding to the distributed power grid distribution system is determined.
[0027] Based on the equilibrium decision, a standby task table for each information center node in the local area network is generated.
[0028] Based on the standby task list of the information center node in each local area network, each new computing task is dynamically allocated to the multiple nodes, and the multiple nodes continue to simulate and run each new computing task.
[0029] Optionally, the step of dynamically allocating each new computing task to the plurality of nodes based on the standby task list of each information center node in the local area network, and having the plurality of nodes continue to simulate and run each new computing task, includes:
[0030] Obtain the upper limit of the operating load corresponding to each of the nodes and the information center node in each local area network, and thus obtain the upper limit of the operating load of each local area network.
[0031] Based on the operating load limit of each local area network and the computational amount corresponding to each new computing task, the tasks in the standby task table of the information center node in each local area network are dynamically migrated to obtain the migrated standby task table of the information center node in each local area network.
[0032] Based on the standby task list after the migration of the information center node in each local area network, each new computing task is dynamically allocated to the multiple nodes, and the multiple nodes continue to simulate and run each new computing task.
[0033] On the other hand, the present invention provides a distributed parallel simulation system suitable for power distribution systems, the system comprising:
[0034] The static allocation module is used for a factor tree-based scheduling algorithm to statically allocate the received initial task group to multiple computing nodes in the power distribution system, thereby obtaining task allocation information corresponding to the multiple computing nodes.
[0035] The simulation execution module is used to simulate the initial task group by the multiple computing nodes based on the task allocation information, and to obtain the current load status of the multiple computing nodes.
[0036] The dynamic allocation module is used to dynamically allocate the new task group to the multiple computing nodes based on the current load situation using a chain network model balancing algorithm when a new task group is received, so that the multiple computing nodes can continue to run the simulation on the new task group.
[0037] Optionally, the initial task group includes: multiple initial computation tasks with no execution dependencies; the static allocation module includes:
[0038] A building unit is used to construct a multi-layer node of a factor tree using the multiple initial computation tasks; wherein each layer of nodes consists of multiple nodes, and one initial computation task is deployed on each node;
[0039] The traversal unit is used to traverse the multi-level nodes of the factor tree in descending order of level.
[0040] The allocation unit is used to statically allocate the initial computing tasks deployed on each node of the current level to the multiple computing nodes in sequence based on the current level traversed, so as to obtain the task allocation information corresponding to the multiple computing nodes.
[0041] Optionally, the construction unit specifically acquires the computational amount corresponding to each initial computation task;
[0042] The multiple initial computation tasks are hierarchically determined according to the computational load from high to low, resulting in a multi-level node structure of the factor tree; wherein multiple nodes at adjacent levels are interconnected, and multiple nodes at the same level are interconnected.
[0043] Optionally, the traversal unit is specifically used to traverse the levels corresponding to the multi-level nodes of the factor tree from high to low based on the first pointer to the next level node, the second pointer to the previous level node, and the node linked list connecting all the lower level nodes deployed on each node.
[0044] Optionally, the simulation running module is specifically used to simulate and run each initial computing task in the initial task group by the multiple computing nodes based on the task allocation information, and to determine the current task queue to be executed for each computing node among the multiple computing nodes.
[0045] Based on the number of tasks or the task load in the current task queue, the current load status of each computing node is determined.
[0046] Optionally, the power distribution system is a distributed power grid distribution system, and the multiple computing nodes within the power distribution system include: multiple nodes located in multiple different local area networks (LANs) within the distributed power grid distribution system, each LAN including: several nodes and an information center node, and the multiple information center nodes in the multiple different LANs are connected in a linked structure; the dynamic allocation module includes:
[0047] The acquisition unit is used to acquire the current load status of several nodes in each of the multiple different local area networks (LANs) by using the information center node in the LAN, and to obtain the current load status table of the LAN.
[0048] The dynamic allocation unit is used to dynamically allocate each new computing task in the new task group to the plurality of nodes based on the current load status table of each local area network, so that the plurality of nodes can continue to simulate and run each new computing task.
[0049] Optionally, the dynamic allocation unit is specifically used to determine the balancing decision of the new task group to be allocated to the distributed power grid distribution system based on the current load status table of each local area network and the computational amount corresponding to each new computing task.
[0050] Based on the equilibrium decision, a standby task table for each information center node in the local area network is generated.
[0051] Based on the standby task list of the information center node in each local area network, each new computing task is dynamically allocated to the multiple nodes, and the multiple nodes continue to simulate and run each new computing task.
[0052] Optionally, the dynamic allocation unit is specifically used to obtain the upper limit of the operating load corresponding to each of the several nodes and the information center node in each local area network, so as to obtain the upper limit of the operating load of each local area network.
[0053] Based on the operating load limit of each local area network and the computational amount corresponding to each new computing task, the tasks in the standby task table of the information center node in each local area network are dynamically migrated to obtain the migrated standby task table of the information center node in each local area network.
[0054] Based on the standby task list after the migration of the information center node in each local area network, each new computing task is dynamically allocated to the multiple nodes, and the multiple nodes continue to simulate and run each new computing task.
[0055] In another aspect, the present invention also provides an electronic device, comprising: at least one processor and a memory; the memory and the processor are connected via a bus;
[0056] The memory is used to store one or more programs;
[0057] When the one or more programs are executed by the at least one processor, a distributed parallel simulation method for power distribution systems as described in any of the preceding claims is implemented.
[0058] In another aspect, the present invention also provides a readable storage medium having an executable program stored thereon, which, when executed, implements the distributed parallel simulation method for power distribution systems as described in any of the preceding claims.
[0059] Compared with the prior art, the beneficial effects of the present invention are as follows:
[0060] This invention provides a distributed parallel simulation method, system, device, and medium suitable for power distribution systems. On one hand, it employs a factor tree scheduling algorithm to achieve static allocation of initial task groups across multiple computing nodes, ensuring a balanced distribution of initial computational tasks across the computing nodes within the power distribution system. On the other hand, based on the current real-time load conditions, it uses a chain network model balancing algorithm to dynamically adjust task allocation, enabling more refined resource scheduling of new task groups across multiple computing nodes. Thus, the combination of these two strategies achieves a balanced allocation of computing resources within multiple computing nodes, improving their utilization and avoiding the "underutilization" or "over-utilization" phenomena in related technologies. This provides strong support for efficient simulation computation in new power distribution systems, offering a solid guarantee for the safe and stable operation of the power grid.
[0061] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and are not intended to limit the technical solutions provided in the embodiments of the present invention. Attached Figure Description
[0062] To more clearly illustrate the technical solutions in the embodiments of the present invention, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort, wherein:
[0063] Figure 1 A flowchart illustrating a distributed parallel simulation method for power distribution systems provided in an embodiment of the present invention;
[0064] Figure 2 This is a schematic diagram of a factor tree structure provided in an embodiment of the present invention;
[0065] Figure 3 This invention provides a schematic diagram of the logical structure of a chain network model corresponding to a distributed power grid distribution system.
[0066] Figure 4 This is a schematic diagram illustrating the execution flow of the chain network model balancing algorithm provided in this embodiment of the invention within a distributed power grid distribution system.
[0067] Figure 5 This is a schematic diagram illustrating the specific implementation process of a distributed parallel simulation method for power distribution systems provided in an embodiment of the present invention.
[0068] Figure 6 A schematic diagram of the composition of a distributed parallel simulation system suitable for power distribution systems provided in an embodiment of the present invention.
[0069] Figure 7 This is a schematic diagram of the composition of an electronic device provided in an embodiment of the present invention. Detailed Implementation
[0070] The embodiments of the present invention will be described below with reference to the accompanying drawings and preferred embodiments. Those skilled in the art can easily understand other advantages and effects of the present invention from the content disclosed in this specification. The present invention can also be implemented or applied through other different specific embodiments, and various details in this specification can also be modified or changed based on different viewpoints and applications without departing from the spirit of the present invention. It should be understood that the preferred embodiments are only for illustrating the present invention and not for limiting the scope of protection of the present invention.
[0071] In the following description, references are made to “some embodiments,” which describe a subset of all possible embodiments. However, it is understood that “some embodiments” may be the same subset or different subsets of all possible embodiments and may be combined with each other without conflict.
[0072] In the following description, the terms "first, second, third" are used merely to distinguish similar objects and do not represent a specific ordering of objects. It is understood that "first, second, third" may be interchanged in a specific order or sequence where permitted, so that the embodiments of the invention described herein can be implemented in an order other than that illustrated or described herein.
[0073] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which embodiments of the invention pertain. The terminology used herein is for descriptive purposes only and is not intended to limit the scope of the invention.
[0074] With the continuous deepening of domestic policies to develop a low-carbon economy and promote energy conservation and emission reduction, the scale of power distribution networks is constantly expanding, with a large number of distributed power sources, microgrids, electric vehicles, and energy storage systems being connected to the distribution system. The existing distribution network faces two constraints in supporting the large-scale, decentralized integration of flexible power sources, loads, and energy storage: structural limitations and equipment limitations. Therefore, it is necessary to construct a new type of distribution system for the future, so as to achieve the structural absorption of large-scale distributed power sources and the flexible integration of distributed power sources, loads, and energy storage in terms of equipment.
[0075] In related technologies, research on simulation methods for new power distribution systems has reached a certain level. However, with the large-scale deployment of distributed energy sources such as solar photovoltaic panels and wind turbines, and the rapid growth of electric vehicle charging infrastructure, millions of smart devices have been connected to the power distribution network, greatly increasing the complexity of the system and the amount of data processing. Therefore, existing simulation tools for power distribution systems are inadequate for handling such large-scale, dynamically changing system simulation tasks. For example, the phenomenon of "underutilization" or "over-utilization" of computing resources often occurs, meaning that computing resources are unevenly allocated and their utilization rate is low, making it difficult to provide timely and accurate simulation results.
[0076] Based on the above problems, this invention proposes a distributed parallel simulation method, system, equipment, and medium suitable for power distribution systems. On one hand, a factor tree scheduling algorithm is used to achieve static allocation of initial task groups across multiple computing nodes, ensuring a balanced distribution of initial computational tasks across the computing nodes within the power distribution system. On the other hand, a chain network model balancing algorithm is used to dynamically adjust task allocation based on the current real-time load conditions, enabling more refined resource scheduling of new task groups across multiple computing nodes. Thus, by combining these two strategies, a balanced allocation of computing resources within multiple computing nodes can be achieved to improve their utilization rate, avoiding the "underutilization" or "over-utilization" phenomena in related technologies. This provides strong support for efficient simulation computation of new power distribution systems and offers a solid guarantee for the safe and stable operation of the power grid.
[0077] Example 1:
[0078] This invention provides a distributed parallel simulation method suitable for power distribution systems, with reference to... Figure 1 The diagram shown is a flowchart illustrating a distributed parallel simulation method for power distribution systems provided by an embodiment of the present invention. The following is a summary of the process. Figure 1 The following explanation is provided:
[0079] Step 101: Using a factor tree-based scheduling algorithm, the received initial task group is statically allocated across multiple computing nodes in the power distribution system to obtain task allocation information corresponding to the multiple computing nodes.
[0080] In some embodiments of the present invention, the power distribution system refers to the section of the power system from the output of a step-down distribution substation (high-voltage distribution substation) to the user end. The power distribution system is a power network system composed of various power distribution equipment (or components) and facilities that transforms voltage and directly distributes electrical energy to end users. Correspondingly, the multiple computing nodes within the power distribution system are multiple processing terminals (processors) within the power distribution system used for execution capabilities.
[0081] It should be noted that the initial task group can be tasks that need to be simulated and run on computing nodes within the power distribution system. Here, the number of initial computing tasks included in the initial task group can be determined according to actual needs, and correspondingly, the number of computing nodes included in the power distribution system also depends on actual needs; this invention does not impose any limitations on this.
[0082] In some embodiments of the present invention, the factor tree scheduling algorithm is a strategy for static allocation to achieve load balancing, such as evenly distributing tasks in the initial task group across multiple computing nodes in the power distribution system. Here, the factor tree-based scheduling algorithm can employ a static load balancing module to statically allocate the received initial task group across multiple computing nodes in the power distribution system, thereby achieving load balancing across multiple computing nodes and obtaining corresponding task allocation information for multiple computing nodes.
[0083] It should be noted that the static load balancing module, in the process of allocating computing tasks among multiple computing nodes within a power distribution system, requires a specific scheduling algorithm for each independent computing task to ensure that multiple computing tasks are evenly distributed among suitable computing nodes within the power distribution system, i.e., executed in parallel within the processor. Here, how the static load balancing module performs task scheduling within the power distribution system can be described as follows:
[0084] Assume the power distribution system receives an initial task group containing N initial calculation tasks, and each of the N initial calculation tasks takes time t1, t2, ..., t... N Continuing to assume that there are Q processors (computing nodes) in the power distribution system, the scheduling algorithm corresponding to the static load balancing module needs to solve how to arrange these N initial computing tasks on the Q processors so that the overall power distribution system executes the N initial computing tasks in the shortest time and with the best performance.
[0085] Furthermore, assume that the N initial computation tasks take the same amount of time, i.e., t1 = t2 = ... = t N The computation is performed on Q processors; ideally, the execution time of the task changes from Nt1 to... However, in reality, the execution time required for each initial computation task is not the same. In other words, the granularity of different initial computation tasks is different, and appropriate scheduling methods are needed to optimize how they are placed on the processor in order to ensure their advantages of parallel computing. The importance of scheduling methods can be illustrated by the following example.
[0086] Suppose there are four initial computation tasks in the initial task group, denoted as R1, R2, R3, and R4, with computation times of t1 = 2ms, t2 = 5ms, t3 = 3ms, and t4 = 10ms respectively. If these tasks are executed on two processors, and if they are evenly distributed, the following scenarios may occur: R1 is assigned to the first processor; R2 is assigned to the second processor; R3 is assigned to the first processor; and R4 is assigned to the second processor.
[0087] Thus, the execution time of the first processor is 2ms + 3ms = 5ms, and the execution time of the second processor is 15ms. The total execution time of the task is 15ms, with the first processor idle for 10ms, which is clearly not optimal. If R1, R2, and R3 are assigned to the first processor, and R4 is assigned to the second processor, both processors will have an execution time of 10ms. Therefore, it can be seen that reasonable task scheduling can significantly improve computational speed.
[0088] It should be noted that the four initial computational tasks processed in the example above were set as tasks with no execution dependencies. When there are execution dependencies between tasks, the algorithm needs to perform a more detailed processing.
[0089] The above is an example of a load balancing strategy that uses a static load balancing module (factor tree scheduling algorithm) to evenly distribute multiple initial computing tasks to multiple computing nodes in a power distribution system.
[0090] In some embodiments of the present invention, the task allocation information corresponding to multiple computing nodes can be exemplified as: allocating initial computing task 1 in the initial task group to computing node 1, allocating initial computing task 3 in the initial task group to computing node 2, etc.
[0091] In some embodiments of the present invention, the following description is based on the example of multiple initial computing tasks included in the initial task group being multiple initial computing tasks with no execution dependency.
[0092] In some embodiments of the present invention, the initial task group includes: multiple initial computation tasks with no execution dependencies; step 101 provided in the above embodiments can be implemented by the following steps 1011 to 1013 (not shown in the figure):
[0093] Step 1011: Using the multiple initial calculation tasks, construct multi-level nodes of the factor tree.
[0094] Each layer of nodes consists of multiple nodes, and each node deploys an initial computing task.
[0095] In some embodiments of the present invention, a factor tree is constructed using multiple initial computation tasks, with each of its multiple layer nodes deploying an initial computation task. The number of layers corresponding to the multiple layers of nodes in the factor tree can be determined based on the actual information of the initial computation tasks, and the present invention does not impose any limitation on this.
[0096] For example, if there are 5 initial computation tasks, a factor tree with 3 layers of nodes can be constructed. The first layer of nodes has node 1, which deploys initial computation task 5; the second layer of nodes has nodes 2 and 3, where node 2 deploys initial computation task 3 and node 3 deploys initial computation task 2; the third layer of nodes has nodes 4 and 5, where node 4 deploys initial computation task 1 and node 5 deploys initial computation task 4.
[0097] In some embodiments of the present invention, step 1011 provided in the above embodiments can be implemented by the following steps A1 and A2 (not shown in the figure):
[0098] Step A1: Obtain the computational load corresponding to each initial computation task.
[0099] In some embodiments of the present invention, the computational workload corresponding to each initial computation task can be represented by the simulation execution time required to run it, such as: the computational workload of initial computation task 1 is 10ms, the computational workload of initial computation task 2 is 4ms, etc. Here, the computational workload corresponding to different initial computation tasks can be the same or different.
[0100] Step A2: Determine the hierarchy of the multiple initial computation tasks according to their computational complexity from high to low, thereby obtaining the multi-level nodes of the factor tree.
[0101] In this system, multiple nodes at adjacent levels are interconnected, and multiple nodes at the same level are interconnected.
[0102] In some embodiments of the present invention, multiple initial computational tasks are hierarchically determined according to their corresponding computational load from high to low, thereby constructing a multi-level node structure of a factor tree corresponding to the multiple initial computational tasks. Here, to facilitate subsequent task scheduling based on the factor tree, multiple nodes at adjacent levels in the multi-level node structure of the factor tree can be interconnected, and multiple nodes at the same level can be interconnected.
[0103] For example, if the computational workload of initial computation task 1 is the highest among multiple initial computation tasks, then the node corresponding to initial computation task 1 in the factor tree has the highest level.
[0104] In this way, based on knowing the computational workload corresponding to each initial computational task, multiple initial computational tasks are hierarchically determined according to their computational workload from high to low, and a multi-layered node of the factor tree is constructed. This provides data support for subsequent factor tree-based scheduling algorithms to statically allocate multiple initial computational tasks across multiple computational nodes.
[0105] Step 1012: Traverse the multi-level nodes of the factor tree in descending order of level.
[0106] In some embodiments of the present invention, the first-level nodes, second-level nodes, and third-level nodes of the factor tree are traversed and visited sequentially; wherein, the level of the first level is higher than the level of the second level, and the level of the second level is higher than the level of the third level. Correspondingly, the number of nodes included in each of the first-level nodes, second-level nodes, and third-level nodes can be determined according to actual needs, and the present invention does not impose any limitation on this.
[0107] In some embodiments of the present invention, step 1012 above can be implemented by the following step B:
[0108] Step B: Based on the first pointer to the next level node, the second pointer to the previous level node, and the node linked list connecting all lower level nodes deployed on each node, the levels corresponding to the multi-level nodes of the factor tree are traversed from high to low.
[0109] In some embodiments of the present invention, the levels corresponding to the multi-level nodes of the factor tree can be traversed from high to low based on the information deployed on each node in the multi-level nodes of the factor tree, such as: a first pointer pointing to the next level node, a second pointer pointing to the previous level node, and a node linked list connecting all the lower level nodes.
[0110] The first pointer, second pointer, and node linked list deployed on different nodes are all different. Correspondingly, the way the first and second pointers are expressed can be determined according to the actual situation, and the amount of data stored in the node linked list depends on the level of the node.
[0111] It should be noted that the second pointer information of the node at the highest level of the factor tree, which points to the node at the next higher level, is null; correspondingly, the first pointer information of the node at the lowest level of the factor tree (the root node), which points to the node at the next lower level, is null, and the node linked list connecting all lower-level nodes is also null.
[0112] In this way, by using the first pointer to the next level node, the second pointer to the previous level node, and the node linked list connecting all the lower level nodes deployed on each node, it is possible to accurately traverse the levels corresponding to the multi-level nodes of the factor tree from high to low.
[0113] Step 1013: Based on the current level traversed, the initial computing tasks deployed on each node of the current level are statically allocated to the multiple computing nodes in sequence to obtain the task allocation information corresponding to the multiple computing nodes.
[0114] In some embodiments of the present invention, when traversing to the current level of the factor tree, such as the second level, the initial computing tasks deployed on each of the multiple nodes in the second level can be statically allocated to suitable computing nodes on multiple settlement nodes in sequence, and so on, thereby obtaining the task allocation information corresponding to multiple computing nodes.
[0115] It should be noted that if the current level of the factor tree includes at least two nodes, such as the nodes of the first level including node 1, node 2 and node 3, then the corresponding traversal order can be based on the positions of node 1, node 2 and node 3, and traversed in that order.
[0116] It should be noted that an initial computing task is assigned to a computing node.
[0117] For example, such as Figure 2 The diagram shown is a schematic representation of a factor tree structure provided in an embodiment of the present invention. Taking a two-layer node model of the factor tree as an example, refer to 201 (the decomposition path model corresponding to the two-layer node model). The multi-layer node model of the factor tree includes: a first-layer node (node 2), and second-layer nodes (nodes 3, 4, and 5). Node 2 is assigned an initial computation task 1, the computational load of which can be characterized as: the simulation execution time required is 30ms. Node 3 is assigned an initial computation task 2, the computational load of which can be characterized as: the simulation execution time required is 12ms. Node 4 is assigned an initial computation task 3, the computational load of which can be characterized as: the simulation execution time required is 14ms. Node 5 is assigned an initial computation task 4, the computational load of which can be characterized as: the simulation execution time required is 16ms.
[0118] Referring to the above description, in the process of implementing load balancing scheduling using the factor tree-based scheduling algorithm, several important characteristics need to be added to the corresponding structure of the factor tree to facilitate the scheduling of initial computational task groups located at various levels across multiple computational nodes within the power distribution system. Specifically, for each node i in the factor tree (i.e., nodes 2, 3, 4, and 5 as shown in 201), the following information is stored, which can be found in the reference below. Figure 2 As shown in 202:
[0119] IPCEDE(i): The computation time required to execute the initial computation task deployed on each node;
[0120] A pointer from node i to its next (level) node;
[0121] A pointer from node i to its parent node (level).
[0122] A linked list of nodes that share a common subordinate node;
[0123] Here you can refer to Figure 2 In section 202, nodes at the same level (node 3, node 4, and node 5) can be further connected at the same level.
[0124] It should be noted that multiple computational tasks within a task group constitute a multi-level node of a factor tree, and the multi-level nodes of factor trees corresponding to multiple computational tasks in different task groups do not overlap. In other words, before the initial computational tasks are passed to the processor (multiple computational nodes in the power distribution system), every two task groups must be composed of a series of non-overlapping factor trees.
[0125] In some embodiments of the present invention, the multi-level nodes of the factor tree are traversed in descending order of level, and based on the current level reached, the initial computing tasks deployed on each node at the current level are distributed evenly across multiple computing nodes, i.e., statically, to obtain task allocation information corresponding to multiple computing nodes. The parallel computing method for the corresponding groups can be referred to as follows:
[0126] Step 1: From Figure 2 As shown in 201 and / or 202, the task at the highest level of the factor tree (node 2) begins to pre-allocate processors (computing nodes within the power distribution system). Assuming there are p computing nodes (which can also be described as processing terminals or processors) within the power distribution system to handle the initial computing task, the task currently being computed on a computing node is named k. Here, the initial computing task deployed on node 2 (which can be named using the number of nodes it resides in, i.e., initial computing task k = 2) is first planned to be allocated computing nodes.
[0127] Step 2: Using the pointers and node linked lists deployed on each node, find the parent node with the largest IPCEDE value among all nodes connected to node 2. If there is no parent node (node 2 has no parent node), then find its corresponding next-level node (corresponding to...). Figure 2 If it is one of nodes 3, 4, and 5, the initial computing tasks deployed on nodes 3, 4, and 5 are traversed from largest to smallest according to the IPCEDE value to obtain the corresponding parent node of nodes 3, 4, and 5. If it is found that it is still node 2, then the initial computing task 2 deployed on node 2 will be officially distributed on multiple computing nodes.
[0128] Step 3: Using the computational cost of initial computation task 2, i.e., the IPCEDE(2) value of node 2, find suitable computing nodes to simulate and run the initial computation task. That is, distribute the initial computation task deployed on node 2 across p computing nodes. Here, it can be further required that the sum of IPCEDE on the computing node after allocation is not higher than 1.2 times the average IPCEDE of the p computing nodes. If a suitable computing node is found, assign the initial computation task 2 deployed on node 2 to that computing node, and continue to allocate the initial computation tasks deployed on nodes 3, 4, and 5 until the initial computation tasks deployed on all nodes in the factor tree have been allocated. After completion, proceed to the next step.
[0129] Step 4: Once all the initial computation tasks deployed by all the parent nodes (upper-level nodes) of node N have been assigned to their corresponding computing nodes, replace N with the index of its lower-level node (level). Repeat the operation in Step 3 until the root node (the last-level node) is reached, and then proceed to the next step. If the parent node has not yet been assigned to a processor, replace the value of N with the index of the node with the largest IPCED value that has not yet been assigned, and then proceed to Step 2.
[0130] Step 5: Assign the initial computation task deployed by the root node to suitable computation nodes. This refers to traversing the multi-level nodes of the factor tree in descending order of level. When traversing to the node corresponding to the last level (root node), if all computation nodes in the power distribution system have already been assigned initial computation tasks (i.e., there are no idle computation nodes in the power distribution system), the initial computation task deployed by the root node can be assigned to the computation node with the smallest number of currently processed tasks in the power distribution system. In other words, the initial computation task deployed by the root node is assigned to the computation node with the smallest number of currently pending tasks in the power distribution system.
[0131] For example, if the number of tasks in the initial task group is greater than the number of computing nodes in the power distribution system, such as if the initial task group includes 30 initial computing tasks and there are only 20 computing nodes, the first 20 initial computing tasks with the longest execution time are evenly distributed across the 20 computing nodes. Then, the 10 initial computing tasks with the shortest execution time are allocated according to their execution time and the number of tasks currently being executed on the 20 computing nodes.
[0132] Thus, based on the fact that the IPCEDE value can represent the amount of computation carried by the node, the IPCEDE value can be used to evenly distribute multiple initial computation tasks in the initial task group across multiple computing nodes, thereby achieving the goal of reasonable load distribution within the power distribution system.
[0133] It should be noted that if the number of initial computation tasks in the initial task group is less than the number of computing nodes in the power distribution system, the factor tree-based scheduling algorithm will statically distribute the initial tasks across multiple computing nodes, resulting in some computing nodes not being assigned any initial computation tasks. If the number of initial computation tasks in the initial task group is greater than the number of computing nodes in the power distribution system, the factor tree-based scheduling algorithm will statically distribute the initial tasks across multiple computing nodes, resulting in some computing nodes being assigned two or more initial computation tasks. If the number of initial computation tasks in the initial task group is equal to the number of computing nodes in the power distribution system, the factor tree-based scheduling algorithm will statically distribute the initial tasks across multiple computing nodes, resulting in exactly one initial computation task assigned to each computing node.
[0134] In this way, by traversing the multi-level nodes of the factor tree constructed based on multiple initial calculation tasks in descending order of hierarchy, the static allocation of multiple initial calculation tasks on multiple calculation nodes can be achieved. This achieves static load balancing based on the static load information of the system, ensuring that the multiple initial calculation tasks in the initial task group can be evenly distributed to the various calculation nodes in the power distribution system.
[0135] Step 102: Based on the task allocation information, the multiple computing nodes perform simulation operation on the initial task group to obtain the current load status of the multiple computing nodes.
[0136] In some embodiments of the present invention, based on the task allocation information corresponding to each computing node in the multiple computing nodes, the multiple computing nodes can simulate and run the initial computing tasks allocated to them in the initial task group, thereby obtaining the current load status of the multiple computing nodes.
[0137] It should be noted that the current load conditions of different computing nodes can be the same or different.
[0138] In some embodiments of the present invention, the current load of a computing node can be represented by the number of tasks in the current task queue to be executed for that computing node, or by the task load. Here, the task load can be represented by the duration required for the tasks to be executed, such as: the current load of computing node 1 is: computing node 1 needs to work for another 15ms; the current load of computing node 2 is: computing node 2 needs to work for another 10ms, etc.
[0139] In some embodiments of the present invention, step 102 can be implemented by the following steps 1021 and 1022 (not shown in the figure):
[0140] Step 1021: Based on the task allocation information, the multiple computing nodes perform simulation runs on each initial computing task in the initial task group to determine the current task queue to be executed for each computing node.
[0141] In some embodiments of the present invention, taking an initial task group comprising 11 initial computation tasks and a power distribution system comprising 3 computation nodes as an example, based on the corresponding task allocation information, multiple computation nodes simulate and run each initial computation task in the initial task group. This can be done by allocating initial computation tasks 1 to 5 to computation node 1, initial computation tasks 6 to 8 to computation node 2, and initial computation tasks 9 to 11 to computation node 3. Correspondingly, computation node 1 can simulate and run initial computation tasks 1 to 5, computation node 2 can simulate and run initial computation tasks 6 to 8, and computation nodes 9 to 11 can simulate and run initial computation task 3, thereby determining the current queue of tasks to be executed corresponding to each computation node (computation node 1, computation node 2, and computation node 3).
[0142] Step 1022: Determine the current load status of each computing node based on the number of tasks or the task load in the current task queue.
[0143] In some embodiments of the present invention, the number of tasks in the current task queue corresponding to each computing node, or the task load, can be determined as the current load status of each computing node among multiple computing nodes. For example, the current load status of computing node 1 is: 5 tasks to be executed, the current load status of computing node 2 is: 2 tasks to be executed, and the current load status of computing node 3 is: 0 tasks.
[0144] It should be noted that the factors directly related to the load of a processor (which can refer to the computing nodes mentioned above) are multifaceted. These can typically be considered from the following aspects (factors):
[0145] 1. The length of the CPU queue, which refers to the number of processes executing within the central processing unit (CPU) of a computing node.
[0146] 2. The average length of the CPU queue on a computing node over a certain period of time;
[0147] 3. The size of the available memory inside the compute node;
[0148] 4. Calculate the context switching rate corresponding to the node;
[0149] 5. The rate at which computing nodes are invoked within the system;
[0150] 6. The CPU of the computing node.
[0151] Here, the efficiency varies significantly depending on the factors used, and combining several factors does not improve the corresponding performance. Therefore, it is advisable to use the simplest factor (such as the length of the CPU queue) to achieve higher efficiency. In other words, the length of the CPU queue is the most important criterion for evaluating the load of a computing node. The load of a computing node can be determined based on the number of tasks or the workload of tasks in the CPU task queue data structure of each computing node.
[0152] In this way, by simulating multiple initial computing tasks, the number of tasks or the workload of the current task queue corresponding to each computing node can be obtained, so as to further determine the current load of each computing node and provide parameter support for the subsequent dynamic allocation of new task groups across multiple computing nodes.
[0153] Step 103: If a new task group is received, the chain network model load balancing algorithm is used to dynamically allocate the new task group to the multiple computing nodes based on the current load situation, and the multiple computing nodes continue to simulate the new task group.
[0154] In some embodiments of the present invention, if a new task group is received, the number of new computing tasks included in the new task group and the computing power corresponding to the new computing tasks can be determined according to actual needs.
[0155] It should be noted that, since multiple computing nodes in the power distribution system have already received the initial task group and simulated the initial computing tasks in the initial task group before receiving the new task group, it is necessary to consider the current load situation corresponding to the simulation run of the initial task group by multiple computing nodes before allocating the new task group to multiple computing nodes.
[0156] In some embodiments of the present invention, any two new computing tasks included in a new task group are also tasks with no execution dependency.
[0157] In some embodiments of the present invention, many tasks in the actual simulation calculation of the power distribution system need to be dynamically created at runtime. Therefore, the number of tasks to be created and the time required for each task are unknown in advance. The factor tree-based scheduling algorithm mentioned above, i.e., a static allocation, cannot adapt to such dynamically created tasks. That is, it cannot schedule dynamically created tasks on multiple computing nodes of the power distribution system based on the factor tree scheduling algorithm. For example, in server software, a task to respond to the client needs to be created every time a client request is received. Or, in the application of Hypertext Transfer Protocol (HTTP), web page request tasks will be received from clients, but the number of clients will be unpredictable. Furthermore, different clients request different web page files, and the response time of the web page varies due to the different file sizes. Therefore, the time required for each task is also unknown in advance. These situations in practical applications are difficult for static task scheduling algorithms to meet.
[0158] In some embodiments of the present invention, the power distribution system is a distributed power grid distribution system. The multiple computing nodes within the power distribution system include multiple nodes located in multiple different local area networks (LANs) within the distributed power grid distribution system. Each LAN includes several nodes and an information center node, and the multiple information center nodes in the multiple different LANs are connected by a link structure, such as... Figure 3 The diagram shown is a schematic diagram of the logical structure of a chain network model corresponding to a distributed power grid distribution system provided in an embodiment of the present invention; wherein, several nodes form a small local area network (LAN). Figure 3 As shown in Figures 301, 302, 303, and 304, each small local area network (LAN) is a set of nodes containing several node elements. All nodes in this distributed power grid system belong to different LANs, and each node must belong to one and only one LAN; that is, there is no overlap between node sets. Each node is only balanced with nodes within its own LAN. Within each LAN, one node serves as the information center node. When the load status of nodes within its LAN changes, other nodes within that LAN actively report their corresponding load status to the information center node and obtain the load status of other nodes within the same LAN from the information center node. Figure 3 As shown, the information center nodes within each local area network are connected in a chain structure.
[0159] Continue to refer to Figure 3As shown, correspondingly, step 103 above can be implemented through the following steps 1031 and 1032 (not shown in the figure):
[0160] Step 1031: Based on each of the multiple different local area networks, use the information center node within the local area network to obtain the current load status of several nodes within the local area network, and obtain the current load status table of the local area network.
[0161] In some embodiments of the present invention, each local area network (LAN) may include two types of nodes: several nodes and an information center node. The number of several nodes in different LANs may be the same or different.
[0162] It should be noted that each local area network (LAN) and the information center node will be assigned corresponding computing tasks.
[0163] In some embodiments of the present invention, the current load status tables of different local area networks (LANs) may be different or the same. For example, the current load status table of LAN 1 is: current load status 1 of node A, current load status 2 of node B, current load status 3 of node C, and current load status 4 of node D; the current load status table of LAN 2 is: current load status 5 of node a, current load status 6 of node b, and current load status 7 of node c. Among them, current load status 1, current load status 2, current load status 3, current load status 4, current load status 5, current load status 6, and current load status 7 may all be the same, all be different, or partially the same.
[0164] It should be noted that the power distribution system is a distributed power grid distribution system. The multiple computing nodes in the power distribution system include multiple nodes in multiple different local area networks within the distributed power grid distribution system. Each local area network includes several nodes and an information center node. The multiple information center nodes in multiple different local area networks are connected by a link structure. Thus, the multiple nodes in multiple different local area networks within the distributed power distribution system can form a chain network model.
[0165] Correspondingly, in the chain network model, only the information center node within each local area network (LAN) records the load information of other non-information center nodes (i.e., several nodes) within the same LAN. Each non-information center node only needs to know the location of the information center node. When the load information of a node changes, it reports the load information to the information center node. If the node is idle after the load change, it receives tasks from busy nodes according to the information recorded by the information center node and executes the tasks. In this way, each load change does not disturb adjacent nodes, nor is it disturbed by adjacent nodes, thereby improving the efficiency of the entire distributed power grid distribution system. The connection between the information center nodes within each LAN can adopt different modes depending on the scale of the distributed system. If the distributed power grid distribution system is relatively small, the connection between the information center nodes can adopt a chain model; if the distributed power grid distribution system is relatively large, the connection between the information center nodes can adopt a chain network model, and so on.
[0166] Step 1032: Based on the current load table of each local area network, dynamically allocate each new computing task in the new task group to the multiple nodes, and let the multiple nodes continue to simulate and run each new computing task.
[0167] In some embodiments of the present invention, after obtaining the current load status table of each local area network, each new computing task in the new task group can be dynamically allocated to multiple nodes based on the current load status table, so that multiple nodes can continue to simulate and run each new computing task.
[0168] The number of new computing tasks assigned to multiple nodes in different local area networks can be the same or different.
[0169] In this way, by employing a chain network model load balancing algorithm, each new computing task in a new task group is dynamically allocated to multiple nodes based on the current load status table of each local area network (LAN) obtained from the information center node within each LAN. This allows multiple nodes to continue simulating each new computing task. This enables the effective allocation of computing power within the distributed power grid distribution system, thereby supporting high-performance dynamic simulation within the system and ultimately improving its operational efficiency.
[0170] In some embodiments of the present invention, step 1032 described above can be implemented by the following steps C1 to C3:
[0171] Step C1: Based on the current load status table of each local area network and the computational load corresponding to each new computing task, determine the balancing decision for allocating the new task group to the distributed power grid distribution system.
[0172] In some embodiments of the present invention, the computational load corresponding to each new computing task in the new task group can be obtained first; wherein, the computational load corresponding to each new computing task can also be represented by the time required to simulate running the new computing task; then, based on the current load table of each local area network and the computational load corresponding to each new computing task, the balancing decision corresponding to the distribution system of the new task group is determined, that is, each new computing task in the new task group needs to be dynamically allocated to the corresponding node in a more refined resource scheduling manner.
[0173] Step C2: Based on the equilibrium decision, generate a standby task table for each information center node in the local area network.
[0174] In some embodiments of the present invention, based on the generated balancing strategy, pre-allocation information is determined for each node in each local area network to obtain the standby task table for the information center node in each local area network.
[0175] Here, the standby task table of each information center node in a local area network includes not only its own standby task sub-table, but also the standby task sub-table of each of the several nodes in the same local area network.
[0176] In some embodiments of the present invention, the standby task table of the information center node in the local area network 1 includes the following information: standby task sub-table of the information center node: new computing task 1, new computing task 2; standby task sub-table of node 1: new computing task 4; standby task sub-table of node 2: new computing task 3; wherein, node 1 and node 2 are both nodes located in the local area network 1.
[0177] Step C3: Based on the standby task list of each information center node in the local area network, dynamically allocate each new computing task to the multiple nodes, and let the multiple nodes continue to simulate and run each new computing task.
[0178] In some embodiments of the present invention, each new computing task in a new task group can be dynamically allocated to multiple nodes according to the information in the standby task table of each information center node in a local area network, so that multiple nodes can continue to simulate and run each new computing task.
[0179] It should be noted that a new computing task can be assigned to a single node or an information center node.
[0180] In some embodiments of the present invention, the information center node in each local area network can not only record relevant information, such as the current load status table and the standby task table, but also be used to simulate the computing tasks assigned to it.
[0181] In this way, by using the current load information table of each local area network (LAN) recorded by the information center node within each LAN, and the computational load corresponding to each new computing task, a standby task table for each LAN's information center node is generated through relevant load balancing strategies. Based on this standby task table, new computing tasks are dynamically allocated to multiple nodes. This enables the effective allocation of computing power among multiple nodes within a distributed power grid distribution system.
[0182] In some embodiments of the present invention, step C3 above can be implemented through the following process:
[0183] First, obtain the upper limit of the operating load corresponding to each of the nodes and the information center node in each local area network, and obtain the upper limit of the operating load of each local area network.
[0184] In some embodiments of the present invention, the upper limit of the operating load of several nodes in each local area network (LAN) and the upper limit of the operating load of the information center node are statistically analyzed to generate the upper limit of the operating load of each LAN. For example, the upper limit of the operating load of LAN 1 can be expressed as follows: the upper limit of the operating load of node 1 is: it can run for 10 hours, the upper limit of the operating load of node 2 is: it can run for 12 hours, and the upper limit of the operating load of the information center node is: it can run for 5 hours. The upper limit of the operating load of LAN 2 can be expressed as follows: the upper limit of the operating load of node a is: it can run for 11 hours, the upper limit of the operating load of node b is: it can run for 11 hours, and the upper limit of the operating load of the information center node is: it can run for 6 hours.
[0185] Secondly, based on the operating load limit of each local area network and the computational amount corresponding to each new computing task, the tasks in the standby task table of the information center node in each local area network are dynamically migrated to obtain the migrated standby task table of the information center node in each local area network.
[0186] In some embodiments of the present invention, further considering the upper limit of the operating load of each local area network (LAN), the upper limit of the operating load of each LAN can be compared with the computational load corresponding to each new computing task. This allows for the dynamic migration of tasks in the standby task table of the information center node within each LAN, resulting in a migrated standby task table for the information center node within each LAN. Here, dynamic migration includes migration in and migration out. Correspondingly, the specific number of tasks migrated in and migrated out can be determined based on the upper limit of the operating load of each LAN and the computational load corresponding to each new computing task.
[0187] For example, based on the operating load limit of each local area network (LAN) and the computational load corresponding to each new computing task, tasks in the standby task table of the information center node within each LAN are dynamically migrated. For instance, tasks in standby task table 1 are migrated to standby task table 2, etc., thus obtaining the migrated standby task table for the information center node within each LAN. Finally, based on the migrated standby task table of the information center node within each LAN, each new computing task is dynamically allocated to multiple nodes, and these nodes continue to simulate and run each new computing task.
[0188] Then, based on the standby task table after the migration of the information center node in each local area network, each new computing task is dynamically allocated to the multiple nodes, and the multiple nodes continue to simulate and run each new computing task.
[0189] In some embodiments of this invention, referring to the above description, each new computing task can be dynamically allocated to multiple nodes according to the information recorded in the standby task table after the migration of the information center node in each local area network, and the multiple nodes can continue to simulate and run each new computing task.
[0190] For example, taking multiple nodes in a distributed power grid distribution system, including: nodes 1 and 2 in local area network 1 and information center node 1; nodes 3 and 4 in local area network 2 and information center node 2 as an example; wherein, the standby task table of information center node 1 in local area network 1 records: the pending task corresponding to node 1 - new calculation task 1; the pending tasks corresponding to node 2 - new calculation task 3 and new calculation task 7; the pending task corresponding to the information center node - new calculation task 4; the standby task table of information center node 2 in local area network 2 after migration records: the pending tasks corresponding to node 3 - new calculation task 2 and new calculation task 5; the pending task table of node 4 - new calculation task 4; the pending task table of information center node 2 in local area network 2 after migration records: the pending tasks corresponding to node 3 - new calculation task 2 and new calculation task 5; the pending tasks corresponding to node 4 - new calculation task 2; the pending tasks corresponding to node 3 - new calculation task 2; the pending tasks corresponding to node 4 - new calculation task 5 ...4; the pending tasks corresponding to node 3 - new calculation task 2; the pending tasks corresponding to node 4 - new calculation task 5; the pending tasks corresponding to node 3 - new calculation task 4; the pending tasks corresponding to node 3 - new calculation task 4; the pending tasks corresponding to node 3 - new calculation task 4; the pending tasks corresponding to node 3 - new calculation task 4; the pending tasks corresponding to node 3 - new calculation task The pending tasks for the information center node are: New Computing Task 6; New Computing Task 8; and the pending tasks for the information center node after migration within LAN 1, which record: New Computing Task 1 and New Computing Task 2 for node 1; New Computing Task 3 for node 2; New Computing Task 4 for information center node 1. The pending tasks for the information center node after migration within LAN 2, which record: New Computing Task 5 for node 3; New Computing Task 6 and New Computing Task 7 for node 4; and New Computing Task 8 for information center node 2.
[0191] Referring to the description above, each information center node within each local area network is used as a GPU workstation supporting machine learning operations within the same local area network, while the non-information center node is used as its client.
[0192] Define the function on the information center node used to store load information of nodes within the local area network (LAN) as a remote object, and install the activation mechanism on each non-information center node. When the load information of any node within a LAN changes, calling the remote object automatically updates the corresponding load record on the information center node. Here, each information center node within the LAN needs to define two tables: a load status table and a standby task table; where:
[0193] Load Status Table: This table is defined as a remote object. Each non-information center node dynamically calls the load status table, and this remote object reports its load status to the information center node at any time.
[0194] Standby Task Table: This table is also defined as a remote object. After executing the load balancing algorithm, each non-central information node determines its own load status based on its upper and lower load limits. When its load exceeds the upper limit, it automatically calls this table and places new service requests from connected clients into a dedicated standby task table on the core middleware application server according to a First-In-First-Out (FIFO) strategy to protect communication locality. For large-scale dynamic parallel computing, this method can achieve near-linear speedup. Simultaneously, if it has execution capacity (i.e., its load is below the lower limit), it accepts suitable tasks from this table. The load balancing algorithm continues to execute, and then it continues to monitor the load status table and the standby task table; everything is dynamically balanced. The load balancing algorithm involves placing each accepted task (including transferred tasks) at the tail of the task queue and setting the load value L. i Increment by 1; after each task is completed, increase the load value L. i Subtract 1.
[0195] For reference here. Figure 4 The diagram shown illustrates the execution flow of the chain network model balancing algorithm provided in this embodiment of the invention within a distributed power grid system, wherein:
[0196] 401. Begin.
[0197] 402. Query the task receiver to see if there are any new computation tasks, then execute 403. Here, the task receiver within the distributed grid distribution system can be used to determine if any new tasks have entered.
[0198] 403. Determine if there are any new computational tasks. Here, if no new computational tasks enter the distributed grid distribution system, execute 404; if a new computational task enters the distributed grid distribution system, execute 405.
[0199] 404. Check if the waiting queue is empty. Here, if no new computing tasks enter the distributed power grid distribution system, further check the load status table and standby task table of the information center nodes in each local area network within the distributed power grid distribution system. If they are empty, execute 406. System wait, which indicates that the distributed power grid distribution system is in its initial state, waiting for a new computing task to enter and finish execution 413, and then exit the program.
[0200] 405. Add the new computing task to the load status table. Here, the new computing task is allocated to multiple computing nodes in the distributed power grid system to obtain its corresponding allocated node, and then added to the load status table of that node (the load status table and standby task table of the node can be obtained from the information center node in its local area network).
[0201] 407. Execute the load count processing algorithm. This involves updating the load values in the load status table in step 405 to obtain step 408.
[0202] 408. Obtain the real-time load count. This means obtaining the real-time load count from the load table corresponding to this node and executing the corresponding simulation.
[0203] 409. Check the task completion controller, which checks whether the simulation of a new computation task has ended.
[0204] 410. Determine if the task end flag is true. Here, if the task end flag is not true, then execute 412. Execute the task scheduling algorithm according to the load upper and lower limits set by the node itself to achieve dynamic task migration. That is, migrate the information computing task to other suitable nodes for simulation running, corresponding to the subsequent steps 409 to 413. If the task end flag is true, then execute 411.
[0205] 411. Determine if the standby task table and load status table are both empty. This means that the node has finished simulating the new computing task. When both the standby task table and load status table of the node are empty, it is considered that the distributed grid distribution system has finished simulating the new computing task, and the computing tasks assigned to the node have also finished simulating the task. Then, execute step 413 to terminate the program.
[0206] In this way, based on the operating load limit of each local area network (LAN), the standby task list of the information center node within each LAN is dynamically adjusted. Based on the adjusted (migrated) standby task list, each new computing task is dynamically allocated to multiple nodes, which then continue to simulate and run each new computing task. Thus, while considering the specific operating load limit, the effective allocation of computing power among multiple nodes within the distributed power grid distribution system is further realized.
[0207] Based on the above description, the present invention also analyzes the performance of the allocation of computational tasks using the chain network model load balancing algorithm as follows:
[0208] When dynamic load balancing (the chain network model load balancing algorithm involved in this embodiment of the invention) is not implemented in the power distribution system, suppose a task group (e.g., an application program) contains u independent tasks, and the granularity of each independent task is g. i The distributed parallel simulation system for the power distribution system, i∈{1,2,...,u}, includes v processors (processing units, i.e., single-GPU workstation nodes), with computing capabilities of c respectively. j Let j ∈ {1, 2, ..., v}. Correspondingly, the response time for each single GPU workstation node j to execute task i alone is t. j (g i ) = g i / c j .
[0209] Here, it is assumed that a single-GPU workstation node j is assigned to N. j The total time for each task is T. j The parallel speedup S is the ratio of the time required to run the entire application on the fastest node to the running time of the node that finishes last during parallel execution, as shown in formula (1):
[0210]
[0211] In formula (1), the numerator is a constant, denoted as C. In the worst-case scenario, where the task granularity allocated to the slowest node in parallel computing is much larger than that of other tasks, we can obtain: Among them, c fast and c slow Here, represents the computing power of the fastest and slowest nodes, respectively, and l is the ratio of the task granularity allocated to the slowest node to the total granularity of the application. It can be seen that when the computing power of each node in the power distribution system differs significantly and the task granularity is uneven, the system may achieve a worst speedup ratio far less than 1. In other words, the performance in parallel operation is inferior to the performance when running on the fastest node.
[0212] Let's examine the case when using the algorithm in this invention. First, it can be proven that the running time T of the earliest terminating node a is... a The running time T of the latest-ending node b b The difference Δ≤t slow (g max ), where g max It is the granularity of the largest task in the application, t slow (g max ) is the slowest node to run gmax The time taken is considered. This conclusion ensures that the running time of each node will not differ too much, thus achieving load balancing.
[0213] Furthermore, considering the speedup ratio, since the task set running on the fastest node is a subset of the total task set, the running time will not exceed the constant C. Combining the above conclusions, we can obtain the following formula (2):
[0214]
[0215] As shown in Formula (2), in the worst case, the time s of parallel operation is comparable to that of serial operation on the fastest node.
[0216] Achieving the optimal load balancing strategy is a nondeterministic problem with polynomial complexity. Therefore, the stable and valid data obtained in this invention can only be obtained under the best and worst conditions. The scheduling of a chain network model is simulated using three machines (under nearly identical conditions). Under the most ideal conditions, i.e., the load L of the two non-core intermediate application servers A and B... a L b The following conditions must be met: L a >>L b Or L b >>L a At this time, the number of tasks executed by the two machines can approach the arithmetic mean of the number of tasks executed by the two machines, that is, the running efficiency can be improved by 50%. In the worst case, that is, (L a ≈L b )>>Load Max (Load Max (For the maximum load), the time for parallel computation is comparable to that of serial operation on the fastest node.
[0217] This invention achieves basic calculations for distribution networks and implements distributed parallel computing, using power flow calculation as an example. A 22-node computing cluster was built to verify the proposed distributed parallel method. The 22-node Hadoop cluster consisted of 22 machines: one master node and 21 computing nodes containing HDFS. Calculations were performed on 2398 feeders, and the execution time data for the algorithm as the number of computing nodes increased were statistically analyzed, as shown in Table 1.
[0218] Table 1
[0219] Number of compute nodes Calculate time (seconds) acceleration ratio 1 502.52 2.96 2 269.04 7.54 3 173.54 13.31 4 123.23 19.98 5 97.84 25.19 6 80.17 31.57 7 72.20 36.40 8 55.03 43.84 9 50.39 50.77 10 47.16 53.63 11 43.50 61.32 12 34.81 67.76 13 35.92 72.64 14 25.75 80.76 15 27.48 86.36 16 24.42 86.24 17 27.09 92.29 18 19.68 100.95 19 20.63 111.54 20 17.01 115.80 21 16.99 120.05 22 16.05 121.67
[0220] In detail, the initial acceleration effect is significant with the increase in the number of computing nodes. However, as the number of computing nodes continues to increase, the speed improvement slows down. Furthermore, due to the influence of task granularity and the working state of the computing machines, both the computation time and the speedup ratio exhibit some fluctuation. During serial computation, the average usage time per feeder exceeds 1 second due to the long database query and data structure conversion times, resulting in low computational efficiency. From the computational acceleration results, the computational speedup ratio of the method provided in this embodiment increases in a near-linear manner, indicating that the algorithm has a good parallel speedup ratio. Even when the number of feeders far exceeds the number of computing cores, and the computational tasks are coupled, the serial computation time is 1497.46 seconds, while the usage time for 22 computing nodes is 16.05 seconds, showing a significant improvement in computational speed.
[0221] Correspondingly, see Figure 5 The diagram shown is a schematic representation of a specific implementation process for a distributed parallel simulation method for power distribution systems provided in an embodiment of the present invention; wherein:
[0222] 501. Begin.
[0223] 502. Simulation computation task reception, that is, receiving the initial task group and subsequently running the simulation based on multiple computing nodes.
[0224] 503. Execute the factor tree scheduling algorithm. Here, the factor tree-based scheduling algorithm statically allocates the initial task group received in 502 across multiple computing nodes in the power distribution system, which corresponds to executing 504. Static pre-allocation of tasks for each computing node.
[0225] 505. Monitor the implementation of computing tasks, that is, after the initial task group is assigned to multiple computing nodes, use multiple computing nodes to simulate and run the initial tasks, and monitor the current load of multiple computing nodes and the real-time simulation status of each initial computing task in the initial task group in real time.
[0226] 506. Execute the chain network model load balancing algorithm. Here, if a new task group is received, the chain network model load balancing algorithm is used to distribute the new task group across multiple computing nodes.
[0227] 507. Dynamic scheduling of computing tasks. Here, a chain network model load balancing algorithm is used to dynamically allocate new task groups to the multiple computing nodes based on their current load conditions, so that the multiple computing nodes can continue to run the simulation on the new task groups.
[0228] 508. End.
[0229] Thus, the distributed parallel simulation method for power distribution systems provided in this invention aims to address the problems of low efficiency, poor scalability, and difficulty in handling large-scale, complex dynamic changes in power grids in current simulation frameworks for new power distribution systems. Against this backdrop, this invention proposes a new distributed parallel simulation computing system and method to overcome existing technological bottlenecks and provide a powerful and flexible simulation solution for new power distribution systems. Specifically, it provides a highly parallel, modular, and easily scalable simulation computing system and method, achieving dynamic resource allocation through optimized algorithm logic to significantly improve the accuracy and computation speed of simulating the dynamic characteristics of new power distribution systems. The framework corresponding to this distributed parallel simulation method for power distribution systems emphasizes improving the user-friendliness and flexibility of the simulation system. It can accurately capture the interactions between distributed units in the system, facilitating researchers and engineers to quickly build customized simulation scenarios according to actual needs and rapidly respond to changes in network structure and scenarios. This provides strong technical support for system planning, optimized scheduling, and safety assessment, supporting the continuous innovation and development of simulation technology for new power distribution systems.
[0230] The distributed parallel simulation method for power distribution systems provided in this invention mainly involves the following two key points: using a factor tree-based scheduling algorithm to achieve static load balancing of system processes; and using a chain network model balancing algorithm to achieve effective allocation of computing power and support high-performance dynamic simulation. Based on these two key points, a computing framework for power distribution network simulation services is proposed, which can intelligently allocate computing tasks according to the current load of each computing node, ensuring optimal utilization of computing resources, providing support for real-time analysis of large-scale power networks, and facilitating the integration of various smart grid components and services.
[0231] In other words, the core of this invention lies in constructing a high-performance novel power distribution system simulation system and method, integrating advanced load balancing strategies. Static load balancing, based on the system's static load information, ensures that computational tasks are evenly distributed across all computing nodes; while dynamic load balancing dynamically adjusts task allocation according to the system's current real-time load status, achieving more refined resource scheduling. Through the combination of these two strategies, this invention provides strong support for efficient simulation calculations of novel power distribution systems, offering a solid guarantee for the safe and stable operation of the power grid.
[0232] In other words, the high-performance simulation computing system and method proposed in this invention, applicable to new power distribution systems, can intelligently allocate computing resources by integrating static and dynamic load balancing strategies, ensuring balanced load on each computing node. This avoids the "underpowered" or "overpowered" phenomena commonly found in traditional systems and methods, not only optimizing resource utilization but also significantly improving the accuracy and real-time performance of simulation calculations. This provides strong technical support for the planning, construction, scheduling, control, operation, and maintenance of power distribution networks, thereby enhancing the operational efficiency and stability of power distribution systems.
[0233] This invention proposes a distributed parallel simulation method suitable for power distribution systems. On one hand, a factor tree scheduling algorithm is used to statically allocate initial task groups across multiple computing nodes, ensuring a balanced distribution of initial computational tasks across the nodes within the power distribution system. On the other hand, a chain network model balancing algorithm is employed based on the current real-time load conditions to dynamically adjust task allocation, enabling more refined resource scheduling of new task groups across multiple computing nodes. Thus, the combination of these two strategies achieves a balanced allocation of computing resources across multiple computing nodes, improving their utilization and avoiding the "underutilization" or "over-utilization" phenomena in related technologies. This provides strong support for efficient simulation computation of new power distribution systems, offering a solid guarantee for the safe and stable operation of the power grid.
[0234] Example 2:
[0235] Based on the same inventive concept, this invention also provides a distributed parallel simulation system suitable for power distribution systems, see [link to relevant documentation]. Figure 6 The diagram shown is a schematic representation of a distributed parallel simulation system for power distribution systems according to an embodiment of the present invention. The system 600 includes:
[0236] The static allocation module 601 is used to perform static allocation of the received initial task group on multiple computing nodes in the power distribution system based on the factor tree scheduling algorithm, so as to obtain the task allocation information corresponding to the multiple computing nodes.
[0237] The simulation running module 602 is used to simulate the initial task group by the multiple computing nodes based on the task allocation information, and to obtain the current load status of the multiple computing nodes.
[0238] The dynamic allocation module 603 is used to dynamically allocate the new task group to the multiple computing nodes based on the current load situation using a chain network model balancing algorithm if a new task group is received, so that the multiple computing nodes can continue to run the simulation on the new task group.
[0239] In some embodiments of the present invention, the initial task group includes: multiple initial computation tasks with no execution dependencies; the static allocation module 601 includes:
[0240] A building unit is used to construct a multi-layer node of a factor tree using the multiple initial computation tasks; wherein each layer of nodes consists of multiple nodes, and one initial computation task is deployed on each node;
[0241] The traversal unit is used to traverse the multi-level nodes of the factor tree in descending order of level.
[0242] The allocation unit is used to statically allocate the initial computing tasks deployed on each node of the current level to the multiple computing nodes in sequence based on the current level traversed, so as to obtain the task allocation information corresponding to the multiple computing nodes.
[0243] In some embodiments of the present invention, the construction unit specifically obtains the computational amount corresponding to each initial computational task; determines the hierarchy of the multiple initial computational tasks according to the computational amount from high to low, and obtains the multi-level nodes of the factor tree; wherein, multiple nodes at adjacent levels are interconnected, and multiple nodes at the same level are interconnected.
[0244] In some embodiments of the present invention, the traversal unit is specifically used to traverse the levels corresponding to the multi-level nodes of the factor tree from high to low based on the first pointer to the next level node, the second pointer to the previous level node, and the node linked list connecting all the lower level nodes deployed on each node.
[0245] In some embodiments of the present invention, the simulation running module 602 is specifically used to perform simulation running of each initial computing task in the initial task group by the plurality of computing nodes based on the task allocation information, and to determine the current task queue to be executed corresponding to each computing node among the plurality of computing nodes.
[0246] Based on the number of tasks or the task load in the current task queue, the current load status of each computing node is determined.
[0247] In some embodiments of the present invention, the power distribution system is a distributed power grid distribution system, and the multiple computing nodes within the power distribution system include: multiple nodes located in multiple different local area networks within the distributed power grid distribution system, each local area network including: several nodes and an information center node, and the multiple information center nodes in the multiple different local area networks are connected in a linked structure; the dynamic allocation module 603 includes:
[0248] The acquisition unit is used to acquire the current load status of several nodes in each of the multiple different local area networks (LANs) by using the information center node in the LAN, and to obtain the current load status table of the LAN.
[0249] The dynamic allocation unit is used to dynamically allocate each new computing task in the new task group to the plurality of nodes based on the current load status table of each local area network, so that the plurality of nodes can continue to simulate and run each new computing task.
[0250] In some embodiments of the present invention, the dynamic allocation unit is specifically used to determine the balancing decision for allocating the new task group to the distributed power grid distribution system based on the current load status table of each local area network and the computational load corresponding to each new computing task; based on the balancing decision, generate a standby task table for the information center node in each local area network; and based on the standby task table of the information center node in each local area network, dynamically allocate each new computing task to the plurality of nodes, so that the plurality of nodes can continue to simulate and run each new computing task.
[0251] In some embodiments of the present invention, the dynamic allocation unit is specifically used to obtain the upper limit of the operating load corresponding to each of the plurality of nodes and the information center node in each local area network, thereby obtaining the upper limit of the operating load of each local area network; based on the upper limit of the operating load of each local area network and the computational amount corresponding to each new computing task, dynamically migrate the tasks in the standby task table of the information center node in each local area network, thereby obtaining the migrated standby task table of the information center node in each local area network; based on the migrated standby task table of the information center node in each local area network, dynamically allocate each new computing task to the plurality of nodes, and the plurality of nodes continue to simulate and run each new computing task.
[0252] It should be noted that the description of the distributed parallel simulation system applicable to power distribution systems is similar to the description of the distributed parallel simulation method embodiments applicable to power distribution systems described above, and has similar beneficial effects as the method embodiments. For technical details not disclosed in the system embodiments of the present invention, please refer to the description of the method embodiments of the present invention for understanding.
[0253] Example 3:
[0254] Based on the same inventive concept, such as Figure 7As shown, the present invention also provides an electronic device, which may be a computer device, a microcontroller device, a smart mobile device, etc. The electronic device in this embodiment may include a processor 710, a memory 720, a transceiver component 730, etc. The processor 710, the memory 720, and the transceiver component 730 are connected via a bus 740; the memory 720 can be used to store executable programs, and an exemplary executable program may include instructions; the processor 710 is used to execute the instructions stored in the memory. The memory 720 can also be used to store data, which can be accessed and / or modified when instructions are executed.
[0255] The processor may be a Central Processing Unit (CPU), or it may be 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. It is the computing core and control core of the terminal, and it is suitable for implementing one or more instructions. Specifically, it is suitable for loading and executing one or more instructions in the storage medium to realize the corresponding method flow or corresponding function, so as to realize a distributed parallel simulation method suitable for power distribution systems in the above embodiments.
[0256] Example 4:
[0257] Based on the same inventive concept, this invention also provides a readable storage medium, specifically an electronic device readable storage medium (Memory). This readable storage medium is a memory device within an electronic device used to store programs and data. It is understood that the storage medium here can include both built-in storage media within the electronic device and extended storage media supported by the electronic device. The storage medium provides storage space, which stores the terminal's operating system. Furthermore, this storage space also stores one or more instructions suitable for loading and execution by a processor. These instructions can be one or more executable programs (including program code). It should be noted that the storage medium here can be high-speed RAM or non-volatile memory, such as at least one disk storage device. The processor loads and executes one or more instructions stored in the storage medium to implement a distributed parallel simulation method suitable for power distribution systems as described in the above embodiments.
[0258] Those skilled in the art will understand that embodiments of the present invention can be provided as methods, systems, or computer program products. Therefore, the present invention can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present invention 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.
[0259] This invention is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart illustrations and / or block diagrams. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0260] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0261] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
[0262] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention and not to limit it. Although the present invention has been described in detail with reference to the above embodiments, those skilled in the art should understand that modifications or equivalent substitutions can still be made to the specific implementation of the present invention. Any modifications or equivalent substitutions that do not depart from the spirit and scope of the present invention should be covered within the scope of protection of the claims of the present invention.
Claims
1. A distributed parallel simulation method suitable for power distribution systems, characterized in that, The method includes: The scheduling algorithm based on factor tree statically allocates the received initial task group to multiple computing nodes in the power distribution system to obtain the task allocation information corresponding to the multiple computing nodes. Based on the task allocation information, the multiple computing nodes perform simulation operation on the initial task group to obtain the current load status of the multiple computing nodes. If a new task group is received, the chain network model load balancing algorithm is used to dynamically allocate the new task group to the multiple computing nodes based on the current load situation, and the multiple computing nodes continue to run the simulation on the new task group.
2. The method according to claim 1, characterized in that, The initial task group includes: multiple initial computation tasks with no execution dependencies; the factor tree-based scheduling algorithm statically allocates the received initial task group across multiple computing nodes in the power distribution system to obtain task allocation information corresponding to the multiple computing nodes, including: The multiple initial computation tasks are used to construct a multi-layer node of the factor tree; wherein each layer of nodes consists of multiple nodes, and one initial computation task is deployed on each node; The multi-level nodes of the factor tree are traversed in descending order of level. Based on the current level reached, the initial computing tasks deployed on each node of the current level are statically allocated to the multiple computing nodes in sequence to obtain the task allocation information corresponding to the multiple computing nodes.
3. The method according to claim 2, characterized in that, The process of constructing a multi-layered node structure for the factor tree using the multiple initial computation tasks includes: Obtain the computational load corresponding to each initial computation task; The multiple initial computation tasks are hierarchically determined according to the computational load from high to low, resulting in a multi-level node structure of the factor tree; wherein multiple nodes at adjacent levels are interconnected, and multiple nodes at the same level are interconnected.
4. The method according to claim 2 or 3, characterized in that, The step of traversing the multi-level nodes of the factor tree in descending order of level includes: Based on the first pointer to the next level node, the second pointer to the previous level node, and the node linked list connecting all lower level nodes deployed on each node, the levels corresponding to the multi-level nodes of the factor tree are traversed from high to low.
5. The method according to claim 1, characterized in that, Based on the task allocation information, the multiple computing nodes simulate the initial task group to obtain the current load status of the multiple computing nodes, including: Based on the task allocation information, the plurality of computing nodes simulate and run each initial computing task in the initial task group to determine the current task queue to be executed for each computing node in the plurality of computing nodes. Based on the number of tasks or the task load in the current task queue, the current load status of each computing node is determined.
6. The method according to claim 1, characterized in that, The power distribution system is a distributed power grid distribution system. The multiple computing nodes within the power distribution system include multiple nodes located in multiple different local area networks (LANs) within the distributed power grid distribution system. Each LAN includes several nodes and an information center node, and the multiple information center nodes in the multiple different LANs are connected in a linked structure. If a new task group is received, a chain network model balancing algorithm is used to dynamically allocate the new task group to the multiple computing nodes based on the current load situation. The multiple computing nodes then continue to simulate and run the new task group, including: Based on each of the multiple different local area networks, the information center node within the local area network is used to obtain the current load status of several nodes within the local area network, thus obtaining a current load status table of the local area network. Based on the current load table of each local area network, each new computing task in the new task group is dynamically allocated to the multiple nodes, and the multiple nodes continue to simulate and run each new computing task.
7. The method according to claim 6, characterized in that, Based on the current load table of each local area network, each new computing task in the new task group is dynamically allocated to the multiple nodes, and the multiple nodes continue to simulate and run each new computing task, including: Based on the current load status table of each local area network and the computational load corresponding to each new computing task, the balancing decision for allocating the new task group to the distributed power grid distribution system is determined. Based on the equilibrium decision, a standby task table for each information center node in the local area network is generated. Based on the standby task list of the information center node in each local area network, each new computing task is dynamically allocated to the multiple nodes, and the multiple nodes continue to simulate and run each new computing task.
8. The method according to claim 7, characterized in that, The standby task list based on the information center node within each local area network dynamically allocates each new computing task to the multiple nodes, which then continue to simulate and run each new computing task, including: Obtain the upper limit of the operating load corresponding to each of the nodes and the information center node in each local area network, and thus obtain the upper limit of the operating load of each local area network. Based on the operating load limit of each local area network and the computational amount corresponding to each new computing task, the tasks in the standby task table of the information center node in each local area network are dynamically migrated to obtain the migrated standby task table of the information center node in each local area network. Based on the standby task list after the migration of the information center node in each local area network, each new computing task is dynamically allocated to the multiple nodes, and the multiple nodes continue to simulate and run each new computing task.
9. A distributed parallel simulation system suitable for power distribution systems, characterized in that, The system includes: The static allocation module is used for a factor tree-based scheduling algorithm to statically allocate the received initial task group to multiple computing nodes in the power distribution system, thereby obtaining task allocation information corresponding to the multiple computing nodes. The simulation execution module is used to simulate the initial task group by the multiple computing nodes based on the task allocation information, and to obtain the current load status of the multiple computing nodes. The dynamic allocation module is used to dynamically allocate the new task group to the multiple computing nodes based on the current load situation using a chain network model balancing algorithm when a new task group is received, so that the multiple computing nodes can continue to run the simulation on the new task group.
10. The system according to claim 9, characterized in that, The initial task group includes: multiple initial computation tasks with no execution dependencies; the static allocation module includes: A building unit is used to construct a multi-layer node of a factor tree using the multiple initial computation tasks; wherein each layer of nodes consists of multiple nodes, and one initial computation task is deployed on each node; The traversal unit is used to traverse the multi-level nodes of the factor tree in descending order of level. The allocation unit is used to statically allocate the initial computing tasks deployed on each node of the current level to the multiple computing nodes in sequence based on the current level traversed, so as to obtain the task allocation information corresponding to the multiple computing nodes.
11. The system according to claim 10, characterized in that, The construction unit specifically acquires the computational amount corresponding to each initial computation task; The multiple initial computation tasks are hierarchically determined according to the computational load from high to low, resulting in a multi-level node structure of the factor tree; wherein multiple nodes at adjacent levels are interconnected, and multiple nodes at the same level are interconnected.
12. The system according to claim 10 or 11, characterized in that, The traversal unit is specifically used to traverse the levels corresponding to the multi-level nodes of the factor tree from high to low based on the first pointer to the next level node, the second pointer to the previous level node, and the node linked list connecting all the lower level nodes deployed on each node.
13. The system according to claim 9, characterized in that, The simulation running module is specifically used to simulate and run each initial computing task in the initial task group by the multiple computing nodes based on the task allocation information, and to determine the current task queue to be executed for each computing node among the multiple computing nodes. Based on the number of tasks or the task load in the current task queue, the current load status of each computing node is determined.
14. The system according to claim 9, characterized in that, The power distribution system is a distributed power grid distribution system. The multiple computing nodes within the power distribution system include multiple nodes located in multiple different local area networks (LANs) within the distributed power grid distribution system. Each LAN includes several nodes and an information center node, and the multiple information center nodes in the multiple different LANs are connected in a linked structure. The dynamic allocation module includes: The acquisition unit is used to acquire the current load status of several nodes in each of the multiple different local area networks (LANs) by using the information center node in the LAN, and to obtain the current load status table of the LAN. The dynamic allocation unit is used to dynamically allocate each new computing task in the new task group to the plurality of nodes based on the current load status table of each local area network, so that the plurality of nodes can continue to simulate and run each new computing task.
15. The system according to claim 14, characterized in that, The dynamic allocation unit is specifically used to determine the balancing decision of the new task group to be allocated to the distributed power grid distribution system based on the current load status table of each local area network and the computational amount corresponding to each new computing task. Based on the equilibrium decision, a standby task table for each information center node in the local area network is generated. Based on the standby task list of the information center node in each local area network, each new computing task is dynamically allocated to the multiple nodes, and the multiple nodes continue to simulate and run each new computing task.
16. The system according to claim 16, characterized in that, The dynamic allocation unit is specifically used to obtain the upper limit of the operating load of each of the nodes and the information center node in each local area network, so as to obtain the upper limit of the operating load of each local area network. Based on the operating load limit of each local area network and the computational amount corresponding to each new computing task, the tasks in the standby task table of the information center node in each local area network are dynamically migrated to obtain the migrated standby task table of the information center node in each local area network. Based on the standby task list after the migration of the information center node in each local area network, each new computing task is dynamically allocated to the multiple nodes, and the multiple nodes continue to simulate and run each new computing task.
17. An electronic device, characterized in that, include: At least one processor and memory; The memory and processor are connected via a bus; The memory is used to store one or more programs; When the one or more programs are executed by the at least one processor, the distributed parallel simulation method for power distribution systems as described in any one of claims 1 to 8 is implemented.
18. A readable storage medium, characterized in that, It contains an executable program, which, when executed, implements the distributed parallel simulation method for power distribution systems as described in any one of claims 1 to 8.