A display and control method of a distributed electromagnetic environment simulation system
Patent Information
- Application Number
- CN202310791175.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-06-29
- Publication Date
- 2026-10-16
- Estimated Expiration
- 2043-06-29
AI Technical Summary
另一方面,在战场战情发展过程中,想定编辑人员可预知某些阶段或某些装备即将需要产生大量的计算负载,当前缺乏利用预知计算集群快速调整方法
Smart Images

Figure CN116738858B_ABST
Abstract
Description
Technical Field
[0001] This application belongs to the field of electromagnetic environment simulation, and specifically relates to a computing cluster scheduling method in a distributed electromagnetic environment simulation system. This display and control method can graphically and dynamically display the connection and load status of the computing cluster in a distributed electromagnetic environment simulation system, and provides dynamic, real-time control over the scheduling relationships of the computing cluster. Background Technology
[0002] In today's rapidly developing information age, the use of battlefield electromagnetic environment simulation technology in the military field to provide simulated electromagnetic environments for troop training is both necessary and crucial. The electromagnetic environment generally refers to the sum of electromagnetic phenomena within a certain area. Battlefield electromagnetic environment simulation simulates the generation, transmission, and attenuation of electromagnetic waves within the battlefield. The electromagnetic environment simulation process can be summarized into three main steps: scenario editing, simulation deduction, and effectiveness evaluation. This invention primarily relates to the electromagnetic environment simulation calculation process in simulation deduction.
[0003] Given the increasing complexity of electromagnetic environments, using distributed systems to address the performance bottlenecks of single-point systems is an important development direction. A distributed system is a system composed of multiple nodes that communicate, coordinate, and work together, primarily addressing the needs for high concurrency, high availability, and scalability. In different application domains, distributed solutions adapted to those domains can be established.
[0004] Figure 1 A schematic diagram of a distributed electromagnetic environment simulation system is shown. (For example...) Figure 1 The distributed electromagnetic environment simulation system mainly consists of a variable number of scenario editing nodes, a variable number of simulation combat platforms (nodes), a variable number of computational task generation nodes, and a variable number of computational nodes. All nodes communicate via a network.
[0005] For example Figure 1 The nodes of the distributed electromagnetic environment simulation system are described below:
[0006] 1) Scenario Editing Node: The scenario editing node allows for the setting of the battlefield environment, including adding combat platforms, electronic equipment, and natural environment descriptions. The quantity and operating mode of equipment, as the combat mission progresses, directly determine the scale of the resulting electromagnetic environment simulation calculation task.
[0007] 2) Simulation Combat Platform (Node): The simulation combat platform (node) accesses electromagnetic environment simulation data in real time for training. The electromagnetic environment simulation data is generated by the electromagnetic environment simulation calculation task. The timeliness and precision of the electromagnetic environment simulation data directly determine the simulation effect of the simulation combat platform; the more timely and precise the data, the better the simulation effect.
[0008] 3) Calculation Task Generation Node: The main tasks of the calculation task generation node include two aspects. First, it is responsible for continuously converting the battlefield environment set by the scenario editing node into calculation tasks for distribution. Second, it integrates the calculation results (electromagnetic environment simulation data) obtained by the calculation node for use by the simulation combat platform (node).
[0009] 4) Computing Nodes / Virtual Computing Nodes: Computing nodes / virtual computing nodes continuously receive computing tasks from the computing task generation nodes, execute the specific computing tasks to generate electromagnetic environment simulation data, and return the results to the computing task generation nodes. Hereinafter, "computing node" will be used to refer to "computing node / virtual computing node".
[0010] Based on the above descriptions of the nodes within the system, briefly outline the working steps of the distributed electromagnetic environment simulation system:
[0011] 1) Scenario editing nodes set up the battlefield environment and generate continuous electromagnetic environment simulation calculation tasks. Multiple scenario editing nodes can simultaneously publish multiple calculation tasks that need to be performed continuously.
[0012] 2) The task generation node receives the computation tasks generated by the target editing node and continuously broadcasts the computation tasks to all computation nodes for task assignment. The computation tasks can carry a timestamp to indicate the time when the computation task needs to be distributed or completed.
[0013] 3) The computing node parses and executes the computing tasks, and generates electromagnetic environment simulation data.
[0014] 4) The computing nodes feed back the electromagnetic environment simulation data to the computing task generation node or other designated locations for caching.
[0015] 5) The simulation combat platform reads electromagnetic environment simulation data according to timestamps to execute training tasks.
[0016] In the above steps, the multiple computing nodes in step 3) are organized in two ways according to their inter-node relationships. First, each computing node is directly connected to the network to provide computing services at the same level, and the computing nodes have equal status. Which nodes are called and which tasks are executed during computing tasks are controlled by other control nodes outside the computing nodes. Second, the computing nodes form a computing cluster to provide services as a whole. The computing cluster has internal structural relationships and can be scheduled. The computing nodes in the distributed electromagnetic environment simulation system of this application are organized in the second way. The computing nodes form a computing cluster to provide complete services to the outside world, and at the same time, computing nodes can form multiple computing clusters to provide services to the outside world.
[0017] Computing clusters employ a distributed computing architecture to organize computing nodes and provide computing services. In distributed computing architectures built upon models such as the Bulk Synchronous Parallel Computing Model (BSP), all participating nodes collaborate on the computation. This provides good service for large, exclusive computing tasks, but for small, concurrent computing tasks, it results in an overly cumbersome architecture and performance degradation. For diverse small tasks, the additional overhead introduced by task partitioning, computing node scheduling, and inter-task communication accounts for a significant proportion of the overall task processing in the computing cluster, leading to reduced efficiency and decreased processing performance.
[0018] Static configuration computing networks pre-configure the structure between computing nodes, defining hierarchical relationships through configuration files. Computational tasks received by a higher-level node are then assigned to lower-level nodes for execution. This structure lacks flexibility and may encounter performance bottlenecks as computing tasks grow larger, while smaller computing tasks may suffer performance losses due to forced task splitting.
[0019] Distributed computing dynamic load balancing technology typically employs automatic load adjustment methods based on detecting the liveness and load status of computing nodes. This detection is generally a real-time or post-event adjustment, meaning that the computing cluster structure is automatically adjusted when some nodes have failed or become blocked. However, this method is not designed for the characteristics of electromagnetic environment simulation computing tasks. For example, electromagnetic simulation has strong requirements for time consistency; computing resource overload must be determined not only by monitoring computing resource consumption but also by considering whether data can produce results within an acceptable timeframe. Furthermore, during the development of battlefield situations, scenario editors can foresee certain stages or equipment that will require a large amount of computing load, and currently, there is a lack of methods for rapidly adjusting the computing cluster based on this foresight. Summary of the Invention
[0020] Current distributed electromagnetic environment simulation systems have two major problems:
[0021] 1) In the field of electromagnetic environment simulation, changes in the operating mode of equipment can lead to significant variations in the computational workload. Taking a radio station as an example, when there is no communication content, it maintains heartbeat communication with a very small data volume. However, when data packets need to be transmitted, a large amount of data simulation is required. Accordingly, the computing cluster structure needs to be able to adjust according to the actual (real-time) computational workload.
[0022] 2) In the field of electromagnetic environment simulation, different types of equipment require varying computational and storage resources for their simulation tasks, and the computational overhead varies greatly depending on the battlefield environment. Accordingly, the architecture of the computing cluster should be designed to suit the characteristics of the electromagnetic environment simulation task.
[0023] To address the problems existing in the computing clusters of current distributed electromagnetic environment simulation systems, this invention provides a display and control method for distributed electromagnetic environment simulation systems.
[0024] This invention divides the computation process of a distributed electromagnetic environment simulation system into three dimensions: electromagnetic environment generation, electromagnetic environment caching, and electromagnetic environment uploading. It provides a method for graphically displaying the system's operational load across these three dimensions, and based on this graphical display, offers a method for reconstructing the computing cluster.
[0025] According to a first aspect of this application, a method for displaying and controlling a computing cluster of a distributed electromagnetic environment simulation system is provided, comprising: displaying computing node items representing each computing node of the electromagnetic environment simulation system and computing task items representing electromagnetic environment simulation tasks on a graphical interface; displaying, on the graphical interface, connections between the computing task items corresponding to the one or more electromagnetic environment simulation tasks and the computing node items representing each computing node of the computing cluster executing the electromagnetic environment simulation tasks, based on the computing cluster executing one or more electromagnetic environment simulation tasks; displaying, on the graphical interface, connections between computing node items based on the parent-child relationship of each computing node in the computing cluster, wherein computing node items with a parent-child relationship are connected; obtaining the load of each computing node, and displaying the color of the computing node item corresponding to the computing node on the graphical interface based on the load of the computing node.
[0026] According to a second aspect of this application, a computing device is provided, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the program to implement the method provided according to a first aspect of this application. Attached Figure Description
[0027] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments recorded in this application. For those skilled in the art, other drawings can be obtained based on these drawings.
[0028] Figure 1 A schematic diagram of a distributed electromagnetic environment simulation system is shown.
[0029] Figure 2 A schematic diagram illustrating the broadcasting and occupancy process of computing tasks is shown.
[0030] Figure 3 The diagram shows the result of confirming the computational task and constructing a balanced binary tree.
[0031] Figure 4 This is a schematic diagram of a graphical display of an electromagnetic environment simulation system according to an embodiment of this application.
[0032] Figure 5 This is a schematic diagram of a graphical display of an electromagnetic environment simulation system according to another embodiment of this application.
[0033] Figure 6 This is a schematic diagram of a graphical display of an electromagnetic environment simulation system according to another embodiment of this application.
[0034] Figure 7 This is a schematic diagram of a graphical display of an electromagnetic environment simulation system according to an embodiment of this application.
[0035] Figure 8 This is a schematic diagram of a graphical display of an electromagnetic environment simulation system according to another embodiment of this application.
[0036] Figure 9 The various processing flows of compute node 910 shown in the image are used to execute computing tasks or change the cluster structure.
[0037] Figure 10 A schematic diagram illustrating the execution of computational tasks by a distributed electromagnetic environment simulation system according to an embodiment of this application is shown.
[0038] Figure 11A A schematic diagram illustrating the change in the computing cluster structure of the distributed electromagnetic environment simulation system according to an embodiment of this application is shown.
[0039] Figure 11B and Figure 11C They respectively showed according to Figure 11A A diagram illustrating the graphical interface before and after changing the computing cluster structure.
[0040] Figure 12 The adjustment was shown Figure 8 The graphical interface of the distributed electromagnetic environment simulation system.
[0041] Figure 13 The adjustment was shown Figure 8 The graphical interface of the distributed electromagnetic environment simulation system. Detailed Implementation
[0042] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of this application. All other embodiments obtained by those skilled in the art based on the embodiments of this application without creative effort are within the scope of protection of this application.
[0043] Figure 2 A schematic diagram illustrating the broadcasting and allocation process of computational tasks is provided. Using a computing cluster comprising three computing nodes as an example, the task allocation and cluster establishment process are explained. The task-generating node (not shown) publishes a computational task for an electromagnetic environment simulation system comprising 1500 pieces of equipment. The equipment includes various types, such as radar and radios. Issuing a computational task requires notifying the computing nodes of the equipment type, operating mode, and equipment number (or ID) to be simulated in the electromagnetic environment. Simulating the electromagnetic wave environment generated by equipment based on its type and operating mode using existing or future simulation technologies is not within the scope of this application's technical improvement. The task-generating node publishes the computational task to the computing nodes, for example, by broadcasting the computational task within the distributed electromagnetic environment simulation system according to this application.
[0044] like Figure 2 For example, computing node 1, computing node 2, and computing node 3 each occupy an electromagnetic environment simulation task involving 500 pieces of equipment. The result of the occupation process is a node sequence forming {computing node 1 → computing node 2 → computing node 3}. Occupation refers to the process by which a computing node responds to a published computing task and declares to the computing cluster the portion of the electromagnetic environment simulation task it intends to process based on its own computing capabilities. According to embodiments of this application, the electromagnetic environment simulation task is composed of simulation tasks for "equipment," therefore, the "occupation" of the task is also described in units of "equipment" to represent the portion of the electromagnetic environment simulation task to be processed.
[0045] exist Figure 2 In the example, the electromagnetic environment simulation tasks for equipment numbers 1-500 are partially occupied by compute node 1 (ID=1), the electromagnetic environment simulation tasks for equipment numbers 501-1000 are partially occupied by compute node 2 (ID=2), and the electromagnetic environment simulation tasks for equipment numbers 1001-1500 are partially occupied by compute node 3 (ID=3). The default number of equipment simulation tasks occupied by each compute node here (500) is a general empirical value and can be adjusted according to the specific configuration of the compute nodes.
[0046] One or more computing nodes occupying an electromagnetic environment simulation task constitute a computing cluster. Each computing cluster corresponding to an electromagnetic environment simulation task has a root node (root computing node). The root node is elected by the computing nodes participating in the electromagnetic environment simulation task, either randomly or through other means. Optionally, the root node is also responsible for executing electromagnetic environment simulation tasks for equipment not occupied by any computing node. Again, optionally, the root node is responsible for collecting the computation results (electromagnetic environment simulation data) of the computing cluster's electromagnetic environment simulation and reporting them to the nodes that generated the computation tasks. Again, optionally, each node in the computing cluster reports its own computation results.
[0047] compute nodes Figure 2 The computation task broadcast packet is used to report task occupancy. The broadcast packet carries information about the equipment in the electromagnetic environment simulation task, the computation node IDs and parent node IDs of the occupied equipment, and the equipment that is not yet occupied. The computation node occupying the task, for example, provides the computation results (electromagnetic environment simulation data) to its parent node. After the electromagnetic environment simulation task is occupied, a sequence of nodes associated with the task is formed based on the parent-child relationships between computation nodes. Figure 2 In the example, the node sequence is the sequence {compute node 1, compute node 2, compute node 3}.
[0048] According to embodiments of this application, the relationship of the node sequence associated with the electromagnetic environment simulation task is also adjusted to avoid the structure of the node sequence (e.g., excessive depth) affecting the execution performance of the electromagnetic environment simulation task.
[0049] Figure 3 The diagram shows the result of confirming the computational task and constructing a balanced binary tree.
[0050] Figure 2 The node sequence shown in the image has a depth of 3, while Figure 3 The method uses a balanced binary tree construction approach to construct a balanced binary tree from the node sequence. The parent-child relationships between nodes are adjusted according to the relationships between balanced binary trees, so that the root node is computing node 1, and computing nodes 2 and 3 are balanced binary trees of depth 2, which are the child nodes of computing node 1. At this point, the initial structure of the computing cluster is completed.
[0051] The established computing cluster performs electromagnetic environment simulation tasks. During the continuous execution of the computing task, the calculation results of child nodes are transmitted to their parent nodes. This process is repeated layer by layer until the root node completes the current computing task. As the scale of the computing task increases, if there are enough computing nodes, the number of computing nodes and the number of levels in the tree-structured computing cluster will increase.
[0052] According to an embodiment of this application, the operating status of the distributed electromagnetic environment simulation system is displayed using a graphical interface, which shows the load status of each computing node. For example, the load of the computing nodes is evaluated and displayed according to three dimensions: electromagnetic environment generation, electromagnetic environment caching, and electromagnetic environment uploading.
[0053] Figure 4 This is a schematic diagram of a graphical display of an electromagnetic environment simulation system according to an embodiment of this application. Figure 4 In the embodiment, the load of the electromagnetic environment generation dimension of the computing node is shown.
[0054] See Figure 4 The leftmost rectangle is the system-level display node, used to display how many computational tasks (electromagnetic environment simulation tasks) the electromagnetic environment simulation system is currently executing and how many computational nodes are in the system.
[0055] Figure 4 In the middle, the second column from left to right displays the computational tasks (electromagnetic environment simulation tasks). These tasks are displayed as rectangles, each representing a computational task. These tasks are generated by the computational task generation node. All computational tasks currently being executed in the system are shown. For clarity, multiple computational task items are vertically aligned on the graphical interface. System-level display nodes and individual computational task items are connected by diagrams such as connecting lines. Horizontally, connecting lines and rectangles representing computational nodes (called computational node items) are also drawn to connect computational task items to a computational node item, which is the root node of the computational cluster processing the corresponding computational task.
[0056] Figure 4 In the diagram, all root nodes are displayed in the third column from left to right. The positions of multiple root nodes on the graphical interface are vertically aligned. Several compute node items are also displayed to the right of each root node. The root node and the compute node items directly or indirectly connected to it on the right represent a compute cluster. This compute cluster is used to execute the computational tasks connected to the root node. The initial structure of each compute cluster is a balanced binary tree structure (see also...). Figure 3 For clarity, compute nodes of the same depth within each compute cluster are vertically aligned on the graphical interface.
[0057] Figure 4 The diagram shows three computation tasks (representing computation task 1, computation task 2, and computation task 3). The computation cluster executing computation task 1 consists of 3 computation nodes and has a binary tree depth of 2; the computation cluster executing computation task 2 consists of 5 computation nodes and has a depth of 3; and the computation cluster executing computation task 3 consists of 6 computation nodes and has a depth of 4.
[0058] Figure 4 The diagram illustrates the balanced binary tree structure of each computing cluster, thus demonstrating the parent-child relationships between computing nodes. For two directly connected computing node entries, the entry on the right represents the child node, while the entry on the left represents the parent node.
[0059] Figure 4 In the text, the computation node item is labeled "R Display," which indicates that the load status of the electromagnetic environment generation dimension is displayed. According to an embodiment of this application, the load status of the computation node is represented by the fill color of the computation node item.
[0060] As an example, the load of the electromagnetic environment generation dimension of a computing node is displayed using RGB colors (R, G, and B represent the three primary colors of red, green, and blue, respectively) with R values (0-255). G=0 and B=0, thus obtaining the RGB values to determine the display color of the computing node item. An R value of 0 indicates no load, and 255 indicates full load. Correspondingly, the closer the color is to red, the greater the load of the electromagnetic environment generation dimension of the computing node.
[0061] The load of the electromagnetic environment generation dimension reflects the computational resource consumption of the computing node. The load of the electromagnetic environment generation dimension can be calculated from two aspects, for example. First, set a maximum acceptable computation time T0 on the computing node, and use system functions to time the execution time of the code segment in the electromagnetic environment generation process to obtain time t. The computational load f1 = t / T0. Second, use system functions to obtain the current CPU overhead percentage, obtaining the load f2. Compare f1 and f2, and take the larger value as the current load f of the computing node in the electromagnetic environment generation dimension. Calculate the load f by multiplying f by 255. Figure 4 The strength value R displayed in the figure is taken as 255 when the calculated R > 255. Optionally, the load f can be replaced by f1 or f2 to calculate the R value.
[0062] Figure 5 The illustrated embodiments are the same as Figure 4 Similar, the difference is, Figure 5 In this embodiment, the electromagnetic environment simulation system is processing four computational tasks, with a total of 15 computational nodes executing these four tasks. A new computational node (indicated by a computational node item with a bold border) has been added. This new computational node does not yet belong to any computational cluster and has not yet executed any computational tasks. Computational nodes that are not executing computational tasks are displayed as computational node items with a black background. Figure 5 In the diagram, the new compute node entry is not connected to any compute node, and it also graphically conveys to the user that its corresponding compute node does not yet belong to any compute cluster.
[0063] By displaying newly connected compute nodes in a graphical interface, users become aware of their existence and can use the interface to add them to an existing compute cluster or assign them compute tasks. The process of adding new compute nodes to an existing compute cluster will be described in detail later.
[0064] Figure 6 This is a schematic diagram of a graphical display of an electromagnetic environment simulation system according to another embodiment of this application.
[0065] Figure 6 In the example, the electromagnetic environment simulation system is processing three computational tasks, with a total of 14 computational nodes executing these three tasks.
[0066] Figure 6 In the embodiment, the load on the electromagnetic environment cache dimension of the computing node is shown.
[0067] The load of the electromagnetic environment cache dimension of the compute node is displayed using RGB color values of G (0-255), with R=0 and B=0 filling the compute node entries. A G value of 0 indicates no load, and 255 indicates full load. In the graphical interface, the closer the color is to green, the greater the load of the electromagnetic environment cache dimension.
[0068] The load of the electromagnetic environment cache dimension reflects the amount of electromagnetic environment simulation data cached. The size of electromagnetic environment simulation data can range from hundreds of MB to even GB. The electromagnetic environment cache primarily uses memory, with hard disk as a secondary cache. The higher the real-time requirement of the electromagnetic environment simulation, the lower the acceptance of hard disk caching. Therefore, memory is preferentially used as the electromagnetic environment cache. For example, hard disk is only used as the capacitor environment cache when the total amount of data that the current computing node needs to generate exceeds the physical memory space of the computing node. Furthermore, to avoid unpredictable impacts from the computing node's system virtual content control algorithm, virtual memory is disabled, and active swapping is used to provide data exchange between memory and hard disk. When memory space is almost full, cached data blocks are assembled and saved to hard disk; when there is sufficient memory space, data blocks are read from hard disk and released.
[0069] The overhead of the electromagnetic environment caching dimension is primarily memory consumption; when memory is full, the performance of the compute node significantly decreases. For example, the memory consumption percentage *fm* of the compute node is obtained through system functions as a primary indicator of the electromagnetic environment caching dimension. The cache block size *LB* on the compute disk is compared with the total memory *TotalB* to obtain the out-of-bounds representation value *fh* = *LB* / *TotalB*. *fm* is taken as the load of the current compute node on the electromagnetic environment caching dimension. When *fh* != 0, the displayed value of G is 255; when *fh* = 0, it is obtained by *fm*255. Figure 6The value of G is displayed in the text.
[0070] Figure 7 In the embodiment, the load of the electromagnetic environment upload dimension of the computing node is shown.
[0071] The load of the electromagnetic environment upload dimension of the compute node is displayed using RGB color values of B (0-255), with R=0 and G=0 filling the compute node blocks. A B value of 0 indicates no load, and 255 indicates full load. In the graphical interface, the closer the color is to blue, the greater the load in the electromagnetic environment upload dimension.
[0072] The load of the electromagnetic environment upload dimension is measured by the amount of electromagnetic environment simulation data that the computing node can upload in a timely manner during the upload process. The maximum acceptable total data transmission volume TM is calculated by multiplying the computing node's maximum acceptable computation time T0 by the node's network transmission rate V (kb / s). The computing process and data packet transmission process of this node are implemented concurrently using dual threads. The electromagnetic environment simulation computation process of this node establishes two buffers, Buffer1 and Buffer2, with a capacity of TM. The computation process and data packet transmission process alternately use Buffer1 and Buffer2 as data buffers, forming a double buffering mechanism. For example, when the computation process writes to Buffer1, the data packet transmission process sends data from Buffer2; after writing and sending are completed, the process alternates, with the computation process writing to Buffer2 and the data packet transmission process sending to Buffer1. Therefore, the maximum total amount of data to be transmitted is approximately considered to be 2*TM. Using the total electromagnetic simulation environment data volume M calculated in the previous frame, the load value of the electromagnetic environment upload dimension is calculated as flan = M / (2*TM). Using flan*255, we obtain... Figure 7 The value of B in the calculation is 255 when the calculated value of B is greater than 255.
[0073] Figure 8 The embodiment shows the overall load of the computing node in three dimensions: electromagnetic environment generation, electromagnetic environment caching, and electromagnetic environment uploading.
[0074] exist Figure 8 In the example, the R, G, and B values obtained from the three dimensions of load—electromagnetic environment generation, electromagnetic environment caching, and electromagnetic environment uploading—are combined and displayed as a single RGB value in the compute node entry representing the compute node, showcasing the load status across these three dimensions. For instance, the three load states derived from the three dimensions are used as the R, G, and B values, respectively, and combined to obtain the RGB values representing the color. The color of the compute node entry is then displayed based on these RGB values. Optionally, colorless or white indicates that the compute node is not in operation.
[0075] Thus, through Figures 4 to 8 This paper demonstrates a display control method for a graphical interface of an electromagnetic environment simulation system according to an embodiment of this application. The graphical interface intuitively displays one or more computational tasks currently being processed by the distributed electromagnetic environment simulation system, the computational cluster executing each task, and the tree structure of the computational nodes within each cluster (including the root node of the tree structure). Furthermore, the colors used to display computational node items are determined based on the three dimensions of the computational node's load, allowing the user to clearly understand the load status of each computational node. Therefore, during the operation of the distributed electromagnetic environment simulation system, the connection relationships between computational tasks and computational clusters, the internal connection relationships within computational clusters, and the working status of computational nodes can all be intuitively displayed on the control diagram.
[0076] According to embodiments of this application, users can also operate compute node items through a graphical interface to change the structure of the compute cluster, such as adding or removing compute nodes to the compute cluster, or migrating compute nodes belonging to one compute cluster to another compute cluster.
[0077] Figure 9 A flowchart illustrating various operations performed by the computing nodes of an electromagnetic environment simulation system according to an embodiment of this application is provided.
[0078] The computing node uses the computing task distribution interface table 900 and the computing result feedback interface table 905 to maintain the computing tasks (or parts of computing tasks) it is responsible for and to provide feedback on the computing results.
[0079] Each compute node in the compute cluster maintains its own compute task distribution interface table 900. Because each compute node handles different parts of the compute task, the compute task distribution interface tables 900 maintained by each compute node are different from each other.
[0080] Computing nodes use computation result feedback interface table 905 to provide their computation results (electromagnetic environment simulation data) to, for example, their parent nodes. Computing nodes periodically, or according to specified rules, provide feedback on their computation results using computation result feedback interface table 905 after completing part or all of their assigned computation tasks. A parent node that receives computation result feedback interface table 905 from its child nodes can further generate a new computation result feedback interface table 905 by superimposing the computation results provided by the child nodes with the computation results of its own assigned tasks (electromagnetic environment simulation data), and then provide it to the parent node. This process continues until the root node of the computing cluster receives the computation results of the entire computing cluster. Optionally, the root node may further provide the computation results of the computation tasks to the computation task generating nodes.
[0081] The computation task distribution interface table 900 includes multiple entries, each containing a portion of the computation task related to, for example, a single piece of equipment in the electromagnetic environment simulation computation task. Entries include, for example, the equipment ID, the computation node occupying the equipment, the parent node of that computation node (referred to as the parent node), and its status. The status of an entry includes, for example, "computing" and "receiving." The "computing" status indicates that the computation node occupying the equipment itself performs the computation task portion represented by the entry. The "receiving" status indicates that the computation node will receive the computation result of the computation task portion represented by the entry; the computation node in the "receiving" status is the parent node or indirect parent node of the computation node that actually performs the computation task portion represented by the entry. Entries also include, for example, a timestamp, which continuously distributes computation tasks according to the progress of the timestamp during the simulation system's operation. The timestamp values of entries within the same computation task distribution interface table 900 can be different. When a parent node assigns a task to a child node, it does so by, for example, broadcasting or sending the computation task distribution interface table 900 to the child node. The child node that receives the computing task distribution interface table 900 sets the computing node field of some or all of the received entries to its own computing node ID to indicate that the computing task part corresponding to the relevant entry is occupied by itself, and also sets the status of the entry to "computing".
[0082] The calculation result feedback interface table 905 includes multiple entries, each containing the calculation result of the portion of the electromagnetic environment simulation calculation task related to, for example, a single piece of equipment. The entries in the calculation result feedback interface table 905 include, for example, the equipment ID, the computing node occupying the equipment, the parent node of that computing node (referred to as the parent node), and the task result. The task calculation for an entry is the result obtained by the computing node executing the portion of the electromagnetic environment simulation calculation task associated with the equipment ID of the entry. The computing node provides its generated calculation result feedback interface table 905 to its parent node via broadcast or direct communication. The entries in the calculation result feedback interface table 905 also include, for example, timestamps. The timestamps of the entries in the calculation result feedback interface table 905 use the timestamp value of the corresponding equipment (or entry) in the calculation task distribution interface table. Optionally, each entry in the calculation result feedback interface table 905 corresponds one-to-one with an entry in the calculation task distribution interface table 900 of the computing node that generated the entry.
[0083] The calculation results (electromagnetic environment simulation data) contained in the entries of the calculation result feedback interface table 905 may be calculated by the current node, or by its child nodes or indirect child nodes. Optionally, in the process of calculating electromagnetic environment simulation data, for any entry (equipment ID) in the calculation result feedback interface table 905, only one calculation node is responsible for calculating the calculation task corresponding to that entry (equipment ID).
[0084] Figure 9The document also showcases compute node 910 and control node 920. Although only a single compute node 910 is shown, it's understandable that a computing cluster or distributed electromagnetic environment simulation system includes multiple compute nodes. Each compute node... Figure 9 The compute node 910 has essentially the same functionality and performs essentially the same processing flow. Multiple display / control nodes 920 may also be included. The display / control node 920 provides, for example... Figures 4 to 8 The graphical interface is provided. Optionally, the display and control node 920 also collects information such as load information, computation task broadcast packets, computation task distribution interface table 900, and computation result feedback interface table 905 from each computing node to draw the graphical interface. Still optionally, the display and control node 920 also receives user commands to adjust the computing cluster structure and accordingly instructs the relevant computing nodes in the computing cluster to perform corresponding operations to change the computing cluster structure. Optionally, the display and control node 920 can be any node in the electromagnetic environment simulation system, such as a computing node, computation task generation node, scenario editing node, simulation combat platform, or other nodes specifically used to display the status of the electromagnetic environment simulation system.
[0085] Figure 9 The various processing flows of compute node 910 shown in the image are used to execute computing tasks or change the cluster structure.
[0086] As an example, the processing flow starting from step 950 is used to calculate the task allocation and occupancy process; see also [link to previous section]. Figure 2 and Figure 3 The task generation node broadcasts a task broadcast packet in the distributed electromagnetic environment simulation system. Computing node 910 receives the task broadcast packet 950, and based on the content of the packet and its own processing capacity, occupies one or more electromagnetic environment simulation tasks corresponding to one or more pieces of equipment, and broadcasts its own task occupancy result 954. After the task portions corresponding to each piece of equipment are occupied, a computing cluster corresponding to that task is obtained. In response to the node binary tree rebalancing process formed by the node sequences of the computing nodes in the computing cluster, the parent node 956 of node 910 in the obtained balanced binary tree is identified. Its own task distribution interface table 958 is also established. Understandably, during the task allocation and occupancy process, each computing node executes essentially the same processing flow as computing node 910. This results in obtaining its own parent node in the balanced binary tree, and using the obtained parent node to generate its own task distribution interface table, where the parent node displays the computing nodes receiving its computation results. For the root node in the computing cluster, its parent node is itself or the task generation node that published the task.
[0087] As an example, the processing flow starting from step 960 is used for the execution of the computing task portion occupied by computing node 910. In response to the completion of the computing task allocation and occupation process, computing node 910 begins processing the computing task 960 it occupies. Based on, for example, each entry in the computing task distribution interface table 900, computing node 910 processes the computing task portion corresponding to the entry with the status "computing," obtains the computation result, and generates a computation result feedback interface table 910. Computing node 910 provides the generated computation result feedback interface table 962 to the parent node indicated in the entry. In response to the completion of the computing task portion corresponding to some entries and the feedback of computation results, computing node 910 also updates its own computing task distribution interface table 964 to delete entries that have been completed. Then, it returns to step 960, causing the execution process of the computing task to be repeated.
[0088] As an example, the processing flow starting from step 970 is used for compute node 910 to receive a computation result feedback interface table (905) provided by its child node. In response to receiving the computation result feedback interface table 970, compute node 910 identifies whether the parent node of the entries in the received computation result feedback interface table (905) is itself (972). For entries whose parent node is not itself, compute node 910 can ignore them. For entries whose parent node is itself, compute node 910 receives and caches the computation result 974 indicated in the entry. Optionally, compute node 910 also matches the equipment ID in the received entry with its own computation task distribution interface table 900 to determine that the equipment ID in the received entry exists in its own computation task distribution interface table 900, and that the status of the entry corresponding to the equipment ID in the computation task distribution interface table 900 is "received". For the received computation result, compute node 910 feeds back the computation result to its parent node through, for example, step 962. In addition, computing node 910 also deletes the entry 976 corresponding to the feedback computing result from its own computing task distribution interface table 900.
[0089] As an example, the processing flow starting at step 980 involves adding a new child node to compute node 910. Adding a new child node will change the structure of the compute cluster.
[0090] Users can drag and drop a compute node without assigned computing tasks onto a node in the current distributed computing cluster (e.g., compute node 910) using the mouse in the graphical interface of, for example, control node 920. In response, compute node 910 executes the process initiated in step 980. Optionally, in response to the user's intention to add a compute node without assigned computing tasks as a child node of compute node 910, it is also checked whether the computing cluster still satisfies the conditions for a balanced binary tree after adding the child node. If the conditions for a balanced binary tree are not met, the new node is rejected as a child node of compute node 910, and the reason is displayed to the user through the graphical interface. Optionally still, the user is also prompted on the graphical interface to select one or more compute nodes that can accept the new child node. Optionally still, the load status of the electromagnetic environment upload dimension of compute node 910 is also checked (982). If the load of the electromagnetic environment upload dimension of compute node 910 is already high (e.g., greater than a specified threshold, or close to the upload capacity limit), the new compute node is also rejected as a child node because adding a new child node may further increase the load of its electromagnetic environment upload dimension. New child nodes are only allowed to be received when the load on the electromagnetic environment upload dimension of compute node 910 is low (e.g., less than a specified threshold). Optionally, in step 982, it is also checked whether the load on the electromagnetic environment upload dimension of the parent node or indirect parent node of compute node 910 is overloaded.
[0091] Return to view Figure 9 The compute node that is connected to the new node ( Figure 9The computing node 910 in the process selects a portion of the computing tasks it is responsible for and assigns it to the new child node. For example, computing node 910 selects tasks 984 to be assigned to the new child node based on its own computing task assignment interface table. For instance, it selects entries in the computing task assignment interface table 900 with a status of "Compute" (not "Receive"), and assigns these "Compute" entries to the newly added computing node in half by equipment ID. For the computing tasks corresponding to one or more equipment assigned by computing node 910, the newly joined child node either occupies or returns them to computing node 910 based on its own processing capacity (986). For the occupied computing tasks, the newly joined child node generates its own computing task assignment interface table, where the status of the entries is set to "Compute," and the parent node of the entries is computing node 910. The child node also broadcasts the occupied computing task assignment interface table. For the portion of computation tasks returned by child nodes (e.g., the portion of computation tasks corresponding to equipment IDs not included in the broadcast computation task distribution interface table), compute node 910 continues to execute this portion of computation tasks not occupied by the new node. Based on the result of task allocation to the new child node, compute node 910 also updates its own computation task distribution interface table 988, in which the status of the entry corresponding to the equipment ID allocated to the child node is modified to "received". Compute node 910 then executes the processing flow initiated in step 960 based on the updated computation task distribution interface table.
[0092] As an example, the processing flow starting from step 990 is used for computing node 910, which is not currently executing tasks, being added to the computing cluster and intended to become a new child node of other computing nodes. The user can drag and drop the computing node 910 (as the parent node of computing node 910) onto a node in the current distributed computing cluster via the mouse in the graphical interface of the control node 920. Computing node 910 receives computing tasks from its parent node (e.g., through the computing task distribution interface table broadcast by the parent node in the process starting from step 980), and occupies some or all of the computing tasks 992 received from the parent node according to its own computing capacity. Optionally, computing node 910 also returns some computing tasks 994 to the parent node (e.g., by broadcasting the computing task distribution interface table to the parent node). Computing node 910 establishes its own computing task distribution interface table 996 based on the portion of computing tasks it occupies. And computing node 910 executes the processing flow starting from step 960 according to the updated computing task distribution interface table.
[0093] As an example, the processing flow starting from step 940 is used for the addition of computing node 910, which is currently performing a computing task, to the computing cluster as a new child node of other computing nodes. The user can drag and drop the computing node 910, which is currently performing a computing task, to a node in the current distributed computing cluster (as the parent node of computing node 910) by clicking and holding the mouse on the graphical interface of the display control node 920.
[0094] Because a computing task is currently being performed, adding compute node 910 to another compute node requires unloading the task being executed by compute node 910 and assigning it a new computing task. Unloading the computing task by compute node 910 will affect the load of one or more nodes in its current computing cluster, especially the load of the current parent node of compute node 910 that will receive its computing task. Therefore, it is necessary to check whether the electromagnetic environment generation dimension load and / or electromagnetic environment cache dimension load of the parent node of compute node 910 will be too high (e.g., whether it exceeds the threshold, or whether the load of the parent node exceeds the threshold after taking on part of the computing task of compute node 910) (941). If the load of the parent node of compute node 910 will exceed the threshold, the operation of adding compute node 910 to another compute node is rejected. If the load of the parent node of compute node 910 will not exceed the threshold, compute node 910 clears its own computing task distribution interface table 942 and returns the portion of the computing task it occupies to its current parent node (943). Computing node 910 receives computing tasks from its newly added parent node, and occupies some or all of the computing tasks 944 received from the new parent node according to its own computing capabilities. Optionally, computing node 910 also returns some computing tasks 945 to the new parent node. Computing node 910 establishes its own computing task distribution interface table 946 based on the portion of computing tasks it occupies. And computing node 910 executes the processing flow initiated in step 960 according to the updated computing task distribution interface table.
[0095] Optionally, the processing flow starting in step 940 is allowed to execute only if compute node 910 has no child nodes. Optionally, if compute node 910 has child nodes, in addition to returning some of the compute tasks of compute node 910 to its parent node, the parent node of the entries in the compute task distribution interface table of its child nodes is also updated from compute node 910 to the parent node of compute node 910. Optionally, if compute node 910 has child nodes, all tasks of the child nodes are returned to the parent node of compute node 910.
[0096] As an example, the processing flow starting from step 930 is used for the processing corresponding to the task returned by the child node to the computing node 910.
[0097] In response to receiving a returned task 930 from its child node, compute node 910 updates its own compute task distribution interface table 932, changing the status of the corresponding entry for the returned task in the compute task distribution interface table 932 from "received" to "compute". Compute node 910 then executes the processing flow initiated in step 960 based on the updated compute task distribution interface table.
[0098] Figure 10 A schematic diagram illustrating the execution of computational tasks by a distributed electromagnetic environment simulation system according to an embodiment of this application is shown.
[0099] Figure 10 In this example, the electromagnetic environment simulation system includes computing nodes 1000, 1010, and 1020, as well as a computing task generation node F1. Computing task generation node F1 provides its respective computing task portions to computing nodes 1000, 1010, and 1020. The computing task (task ID = 1) performs electromagnetic environment simulation on the electromagnetic signals of 1500 pieces of equipment. The computing cluster processing the computing task includes computing nodes 1000, 1010, and 1020, where computing node 1000 is the root node, and computing nodes 1010 and 1020 are child nodes of the root node 1000.
[0100] Computing node 1000 includes a computing task distribution interface table 1001, in which the status of entries associated with equipment IDs = 1 to ID = 500 is "computing", and the status of the remaining entries is "receiving". Computing node 1010 includes a computing task distribution interface table 1011, in which the computing status of entries associated with equipment IDs = 501 to ID = 1000 is "computing". Computing node 1020 includes a computing task distribution interface table 1021, in which the computing status of entries associated with equipment IDs = 1001 to ID = 1500 is "computing".
[0101] Compute nodes 1000, 1010, and 1020 each execute steps 960 to 964 (see also...) Figure 9 Each of them performs its own computational task.
[0102] As an example, compute node 1000 executes the compute task portion corresponding to the entries with equipment IDs from 1 to 200 in compute task distribution interface table 1001 and generates compute result feedback interface table 1005. Compute node 1010 executes the compute task portion corresponding to the entries with equipment IDs from 501 to 600 in compute task distribution interface table 1011 and generates compute result feedback interface table 1015. Compute node 1020 executes the compute task portion corresponding to the entries with equipment IDs from 1001 to 1200 in compute task distribution interface table 1021 and generates compute result feedback interface table 1025. Compute result feedback interface tables 1015 and 1025 are provided to compute node 1000. Compute node 1000 may also optionally aggregate its own compute result feedback interface table 1005 with the received compute result feedback interface tables 1015 and 1025. Optionally, computing node 1000 also updates computing result feedback interface tables 1015 and 1025, for example, by updating the parent node ID and node ID of the entries accordingly, to generate computing result feedback interface tables 1015' and 1025' representing its own computing results, and feeds back computing result feedback interface tables 1005, 1015' and 1025' to computing task generation node F1.
[0103] Computing nodes 1000, 1010, and 1020 each repeatedly execute steps 960 to 964 to continuously feed back partial computation results to their respective parent nodes. Optionally, each portion of the computation results fed back by a computing node is called a frame. The frame size and feedback period can be configured.
[0104] Figure 11A A schematic diagram illustrating the change in the computing cluster structure of the distributed electromagnetic environment simulation system according to an embodiment of this application is shown.
[0105] Figure 11A In the example, the electromagnetic environment simulation system includes computing nodes 1100, 1110, 1120, and 1140, as well as a task generation node. Computing nodes 1100, 1110, and 1120 form a computing cluster, processing a computing task (task ID = 1), where computing node 1100 is the root node of the computing cluster, and computing nodes 1110 and 1120 are child nodes of computing node 1100. Computing node 1140, as a computing cluster, is processing a computing task (task ID = 2), where computing node 1140 is the root node of the computing cluster.
[0106] The computation task (task ID = 1) is to perform electromagnetic environment simulation on the electromagnetic signals of 1500 pieces of equipment. In the computation task distribution interface table of computation node 1100, the entries associated with equipment IDs = 1 to ID = 500 are in the "Compute" status, and the status of the remaining entries is "Receive". In the computation task distribution interface table of computation node 1110, the entries associated with equipment IDs = 501 to ID = 1000 are in the "Compute" status. In the computation task distribution interface table 1021 of computation node 1120, the entries associated with equipment IDs = 1001 to ID = 1500 are in the "Compute" status.
[0107] The computation task (task ID=2) is to perform electromagnetic environment simulation on the electromagnetic signals of 1000 pieces of equipment. In the computation task distribution interface table of computation node 1140, the status of the entries associated with equipment IDs from 1 to 1000 is "computing".
[0108] exist Figure 11A In the example, the user drags compute node 1120 (represented by shaded area) under compute node 1140 through the graphical interface, hoping to make it a new child node of compute node 1140 to share the work of compute node 1140.
[0109] In response, compute node 1120 executes the processing flow represented by steps 940 to 946, compute node 1100 executes the processing flow represented by steps 930 to 932, and compute node 1140 executes the processing flow represented by steps 980 to 988 (see also...). Figure 9 ).
[0110] In response to the user's graphical interface operation, the system identifies the desire to add compute node 1120 to a new attachment point 1140 (940) and checks whether the electromagnetic environment generation dimension load and / or electromagnetic environment cache dimension load of the current parent node 1100 of compute node 1120 will be overloaded (941). If removing compute node 1120 would cause the parent node 1100 to be overloaded, or if the parent node 1100's load is already high, the removal of compute node 1120 is rejected. If the load condition of compute node 1100 allows the removal of compute node 1120, compute node 1120 returns the compute tasks it occupies (equipment IDs = 1001 to 1500) to the parent node 1100 according to its own compute task distribution interface table (943). In response, compute node 1100 receives the compute tasks returned by compute node 1120 (930). In addition, computing node 1100 updates its own computing task distribution interface table 932 based on the returned computing tasks, for example, changing the entries with the status of "received" (equipment ID = 1001 to 1500) to "computing".
[0111] After compute node 1120 returns the compute task to compute node 1100, it receives the compute task from the new parent node 1140. In response to the addition of child node 1120 (980), compute node 1140 checks whether its electromagnetic environment upload dimension load is overloaded (982). Since compute node 1140 is the root node, it does not need to check whether the electromagnetic environment upload dimension load of its parent node is overloaded. If the electromagnetic environment upload dimension load of compute node 1140 is not overloaded, it obtains its own compute task portion from its compute task distribution interface table and provides it to compute node 1120 (984). Compute node 1120, as a child node, receives the compute task assigned by compute node 1140 and occupies the received compute task (944). Compute node 1120 also establishes its own compute task distribution interface table (946) and executes the occupied task. Computing node 1140 also updates its own computing task distribution interface table (988) accordingly, changing the status of the entries corresponding to the computing tasks assigned to computing node 1120 from "computing" to "receiving".
[0112] Figure 11B and Figure 11C They respectively showed according to Figure 11A A diagram illustrating the graphical interface before and after changing the computing cluster structure.
[0113] As an example, the distributed electromagnetic environment simulation system performs two computational tasks and has four computational nodes. Figure 11B In the example, the computing cluster executing computing task 1 consists of three computing nodes (1100, 1110, and 1120), while the computing cluster executing computing task 2 consists of one computing node, 1140. Through... Figure 11A The demonstrated processing flow removes compute node 1120 from the compute cluster executing compute task 1 and adds it to the compute cluster executing compute task 2, resulting in the following: Figure 11C As shown. In Figure 11B In the example, the computing cluster executing computing task 1 consists of two computing nodes (1100 and 1110), while the computing cluster executing computing task 2 consists of two computing nodes (1140 and 1120). Computing nodes 1100 and 1140 are the root nodes of their respective computing clusters.
[0114] According to yet another embodiment of this application, Figure 8 In the distributed electromagnetic environment simulation system demonstrated, some computing nodes of computing task 3 were adjusted to provide services for computing task 2. Figure 12 The adjustment was shown Figure 8 The graphical interface of the distributed electromagnetic environment simulation system. Figure 13 The adjustment was shown Figure 8The graphical interface of the distributed electromagnetic environment simulation system.
[0115] See Figure 12 Users can drag the currently running compute node and its subtrees to other nodes by clicking and holding the mouse button. The implementation steps are as follows:
[0116] a) Locate the computing node by obtaining the ID of the computing node clicked by the user, clear the contents of the computing task distribution interface table cached locally on the computing node, clear the local electromagnetic environment simulation data, and reset the computing tasks of this computing node to zero.
[0117] b) The compute node connected to the new node directly distributes half of its compute tasks to the new compute node. It modifies half of the consecutive "Status" entries in the compute task distribution interface table of its current compute node to "Receive". It then broadcasts the new compute task distribution interface table.
[0118] c) The parent node of the deleted child compute node receives and executes all returned compute tasks. It searches the compute task distribution interface table by the ID of the lost child node and changes all entries with a status of "received" to "compute".
[0119] Furthermore, a computing system overload control and limitation mechanism is provided. System limitations differ across three dimensions: electromagnetic environment generation, electromagnetic environment caching, and electromagnetic environment uploading. Overloading during electromagnetic environment generation and caching will impact the computing performance of the current computing node. Removing child nodes from such nodes will have a catastrophic impact; therefore, the system prohibits removing child nodes from computing nodes that are fully loaded with electromagnetic environment generation or caching. In the electromagnetic environment uploading process, the hierarchical relationship shows a linear accumulation phenomenon where higher-level nodes receive data from lower-level nodes. Therefore, the system prohibits adding new child nodes to computing nodes that are fully loaded with electromagnetic environment uploading. Operational restrictions use depth-first traversal to control all nodes within the tree structure. Figure 12 In the example, the color represented by the "B display" of each compute node is used to intuitively reflect the load of the electromagnetic environment upload dimension of each compute node, thereby helping users identify whether the electromagnetic environment upload dimension load of the compute node to which a new node is connected is overloaded.
[0120] Figure 12In the example, the nodes of the computing cluster associated with computing task 2 do not form a balanced binary tree. Optionally, the computing cluster can be further balanced to form a balanced binary tree. Understandably, further balancing of the computing cluster is not necessary. In particular, for computing clusters adjusted by the user based on the graphical interface according to embodiments of this application, the structure (connection relationships) between its nodes reflects the user's adjustment of the computing cluster structure, and may generally be more suitable for the current electromagnetic environment simulation task than a cluster with a balanced binary tree structure.
[0121] See Figure 13 After the computing cluster structure is adjusted, the graphical interface displays the color of the computing node item according to the "RGB" value corresponding to the load of each computing node, so as to reflect the overall load of each computing node.
[0122] Alternatively or further, the user in this embodiment of the application is a scenario editor or battlefield environment control personnel who can anticipate changes in the current computing task and manually adjust the structure of the computing cluster. This pre-allocated computing resources can adjust the computing cluster structure in advance for changes in computing load, thereby providing efficient simulation computing results, which is of great importance in the field of electromagnetic environment simulation.
[0123] According to the embodiments of this application:
[0124] 1) A graphical display method for the working status of a distributed electromagnetic environment simulation computing cluster is proposed. The load is calculated according to three dimensions: electromagnetic environment generation, electromagnetic environment caching, and electromagnetic environment uploading. Based on the load value, R, G, and B three-color graphs are drawn to represent the load status, and the RGB values are combined to form a comprehensive display of system overhead.
[0125] 2) Based on the above four display methods, a method is proposed to adjust the computing cluster structure by adjusting the above graphic structure with the mouse.
[0126] The technical effects of the embodiments of this application include:
[0127] 1) The graphical display method of the invented distributed electromagnetic environment simulation system is simple and easy to understand. Users can intuitively understand the current working status of the cluster through color intensity.
[0128] 2) The invention makes it easy to adjust the computing cluster, and users do not need to have professional computer system knowledge to complete the structural adjustment of the computing cluster.
[0129] 3) The invention combines the characteristics of electromagnetic environment simulation calculation to restrict control operations, making the use of this method safer.
[0130] 4) This display and control method is also applicable to structures that do not use computing clusters. Generally, computers that perform electromagnetic environment simulation calculations can quantify and display the running load of the simulation calculation process in the above three dimensions, which helps users to understand the computer's operating status.
[0131] The operating environment / client provided in the embodiments of this application includes, for example, a computer, server, or other information processing device. These devices include, for example, memory, one or more processors, one or more presentation components, I / O components, and power supplies that are directly or indirectly coupled to a bus. The bus may represent one or more types of buses (e.g., an address bus, a data bus, or a combination thereof).
[0132] Although preferred embodiments of this application have been described, those skilled in the art, upon learning the basic inventive concept, can make other changes and modifications to these embodiments. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments as well as all changes and modifications falling within the scope of this application. Clearly, those skilled in the art can make various alterations and variations to this application without departing from its spirit and scope. Thus, if such modifications and variations fall within the scope of the claims of this application and their equivalents, this application also intends to include such modifications and variations.
Claims
1. A method for controlling the computing cluster of a distributed electromagnetic environment simulation system, including: The graphical interface displays the computation node items representing each computation node of the electromagnetic environment simulation system, as well as the computation task items representing the electromagnetic environment simulation tasks. Based on the computing cluster that executes one or more electromagnetic environment simulation tasks, the graphical interface displays the connection between the computing task item corresponding to the one or more electromagnetic environment simulation tasks and the computing node item representing each computing node of the computing cluster that executes the electromagnetic environment simulation tasks. The connection between the computing task item and the computing node item corresponding to the root node of the computing cluster that executes the electromagnetic environment simulation task represented by the computing task item indicates that the computing task is executed by the computing cluster. Based on the parent-child relationship of each computing node in the computing cluster, the connection between computing node items is displayed on the graphical interface. The computing node items with a parent-child relationship are connected by a line to show the parent-child relationship between computing nodes. For two directly connected computing node items, the computing node item on the right side represents the child node, while the computing node item on the left side represents the parent node. Obtain the load of each compute node and display the color of the compute node item corresponding to the compute node on the graphical interface based on the load of the compute node.
2. The method according to claim 1, wherein The load on a computing node includes the electromagnetic environment generation dimension, the electromagnetic environment caching dimension, and the electromagnetic environment upload dimension; The first value representing the color is set based on the load of the computing node's electromagnetic environment generation dimension; the second value representing the color is set based on the load of the computing node's electromagnetic environment cache dimension; and the third value representing the color is set based on the load of the computing node's electromagnetic environment upload dimension. The color of the computation node item corresponding to the computation node is set according to the first value, the second value and the third value.
3. The method according to claim 2, wherein The load of the computing node in the electromagnetic environment generation dimension is obtained by the ratio of the time required for the computing node to perform a specified part of the electromagnetic environment simulation task to the maximum acceptable time for that specified part of the task, and / or the CPU overhead of the computing node. The load of the electromagnetic environment cache dimension of the computing node is obtained based on the proportion of memory used by the computing node relative to the total memory, and / or whether the hard disk of the computing node is used to cache the results of the electromagnetic environment simulation task. The load of the electromagnetic environment upload dimension of the computing node is obtained by comparing the amount of data uploaded by the computing node for a specified part of the electromagnetic environment simulation task to the maximum acceptable data transmission volume of the computing node.
4. The method according to claim 3, wherein The first value is the R value of the RGB color; the second value is the G value of the RGB color; and the third value is the B value of the RGB color.
5. The method according to any one of claims 1-4, wherein Based on the interface table issued by each computing node in the electromagnetic environment simulation system according to its respective computing task, the parent-child relationship of each computing node in the computing cluster is obtained; among them; The computing task distribution interface table of a computing node records the portion of the computing tasks occupied by its respective computing node; The computation task distribution interface table includes multiple computation task distribution interface table entries. Each computation task distribution interface table entry records the equipment ID, parent node ID, computation node ID, and status. The equipment ID of the interface table entry for the calculation task indicates that the electromagnetic environment simulation data of the equipment corresponding to that equipment ID should be calculated. The compute node ID and parent node ID of the compute task distribution interface table entry represent the compute node and its parent node that occupy the compute task portion corresponding to the compute task distribution interface table entry. The status of a computation task distribution interface table entry indicates whether the computation node occupying the computation task portion corresponding to that entry is responsible for executing that computation task portion or receiving the computation results of that computation task portion.
6. The method according to claim 5, wherein The computing node executes part of the computing task according to one or more entries in the interface table of its computing task, obtains the computing result, and generates a computing result feedback table. The calculation result feedback table includes multiple calculation result feedback table entries. Each calculation result feedback table entry records the equipment ID, parent node ID, computing node ID, and the calculation result of the calculation task part corresponding to the equipment ID of that entry. The computation node ID and parent node ID of the entry in the computation result feedback table represent the computation node and its parent node of the computation task part corresponding to the equipment ID that executes the entry.
7. The method according to claim 6, further comprising: In response to adding a new computing node to the distributed electromagnetic environment simulation system, a computing node item representing the new computing node is displayed on the graphical interface, wherein the display color of the computing node item representing the new computing node is a specified color, which indicates that the new computing node has not performed any computing tasks.
8. The method according to claim 7, further comprising: In response to dragging the new computing node to the area of the first computing node belonging to the computing cluster via a graphical interface, wherein the first computing node has a first computing task distribution interface table; The first computing node allocates a portion of the computing task represented by one or more entries with a specified status in the first computing task distribution interface table to the new computing node, based on the first computing task distribution interface table. The new computing node occupies a portion of the computing task represented by one or more entries allocated by the first computing node according to its own processing capacity, and generates a new computing task distribution interface table. In response to the new computing node occupying a portion of the computing task represented by one or more entries, the first computing node modifies the status of the corresponding entry in the first computing task distribution interface table. The first computing node executes the computing task portion according to the updated first computing task distribution interface table; The new computing node executes the computing task portion according to the interface table issued by the new computing task.
9. The method according to claim 7 or 8, further comprising: In response to dragging a first computing node belonging to a first computing cluster to the area where a second computing node belonging to a second computing cluster is located via a graphical interface, wherein the first computing node has a first computing task distribution interface table and the second computing node has a second computing task distribution interface table; Return the portion of the computing task represented by the first computing task distribution interface table to the parent node of the first computing node; The parent node of the first computing node updates the status of the entry with the same equipment ID as the entry in the first computing task distribution interface table in its computing task distribution interface table to indicate that the computing node occupying the computing task part corresponding to the computing task distribution interface table entry is responsible for executing the computing task part. The parent node of the first computing node executes part of the computing task according to the updated interface table of its computing task distribution; The first computing node clears the interface table for the first computing task. The second computing node allocates a portion of the computing task represented by one or more entries with a specified status in the second computing task distribution interface table to the first computing node based on the second computing task distribution interface table. The first computing node occupies a portion of the computing task represented by one or more entries allocated by the second computing node according to its own processing capacity, and generates a new first computing task distribution interface table. In response to the first computing node occupying a portion of the computing task represented by one or more entries, the second computing node modifies the status of the corresponding entry in the second computing task distribution interface table; The second computing node executes part of the computing task according to the updated second computing task distribution interface table; The first computing node executes the computing task portion according to the new first computing task distribution interface table.
10. A computing device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor, when executing the program, implements the method according to any one of claims 1-9.
Citation Information
Patent Citations
Bearing structure strain field and three-dimensional deformation online visualization method and system
CN114818430A
Dynamic load balancing of operations for real-time deep learning analytics
US20220035684A1