A deployment method for electromagnetic cloud simulation platform
By deploying the electromagnetic simulation system on the cloud platform and using the Kubernetes engine for intelligent management, the problems of insufficient resources and lack of flexibility in the electromagnetic simulation system in large-scale computing tasks were solved, and efficient and flexible simulation task execution and result merging were achieved.
Patent Information
- Application Number
- CN202410952102.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-07-16
- Publication Date
- 2025-09-16
- Estimated Expiration
- 2044-07-16
AI Technical Summary
Existing electromagnetic simulation systems underutilize computing resources and lack flexibility when processing large-scale computing tasks, resulting in long computing times and low resource utilization.
This paper provides a method for deploying an electromagnetic cloud simulation platform. The method configures cloud platform connection information through a client, deploys a simulation information data platform, a sharding module, a cloud node monitoring module, a task scheduling module, and a cloud platform simulation computing module. The Kubernetes engine is used to orchestrate the management container group to achieve intelligent and automated simulation task management.
It significantly improves the computational efficiency and resource utilization of electromagnetic simulation, realizes the deployment of a flexible and adaptable simulation system, reduces waiting time and manual intervention, and ensures the data integrity and accuracy of the simulation process.
Smart Images

Figure CN118939278B_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the technical field of electromagnetic simulation software, and in particular relates to a method for deploying an electromagnetic cloud simulation platform. Background Art
[0002] With the widespread adoption and continued development of cloud technology, numerous applications and service platforms are migrating to the cloud. In the specialized field of electromagnetic simulation, the simulation and analysis of electromagnetic fields are crucial, playing a core role in numerous key areas, including communications, radar systems, and antenna design. To improve simulation efficiency and enhance scalability, migrating electromagnetic simulation systems to cloud platforms has become an effective solution.
[0003] Traditionally, electromagnetic simulation systems are executed on local computers, often limited by limited computing resources, long processing times, and poor scalability. The computing resources and elastic scalability provided by cloud service providers make large-scale parallel computing possible, thereby accelerating the simulation process and improving its accuracy. By migrating electromagnetic simulation systems to cloud platforms, the efficiency and scalability of cloud computing can be fully utilized, greatly improving the efficiency of electromagnetic simulation. This architecture not only speeds up the analysis of researchers, engineers, and designers in the electromagnetic field, but also facilitates the entire process from product development to optimization, significantly improving work efficiency and economic benefits. Furthermore, the cloud platform provides a convenient environment for global users to collaborate and share resources, further enhancing work synergy and optimizing resource utilization.
[0004] The electromagnetic cloud simulation platform deployment method proposed in this paper addresses the issues of long computation time, low resource utilization, and poor flexibility of electromagnetic cloud simulation platforms. Based on the characteristics of cloud service platforms and the FDL format containing all required simulation information, this method is suitable for various cloud service architectures. This method effectively improves the electromagnetic simulation system's adaptability to cloud servers and fully utilizes the computing resources of cloud servers, thereby accelerating the completion of the entire electromagnetic simulation process. Summary of the Invention
[0005] The purpose of the present invention is to provide an electromagnetic cloud simulation platform deployment method to address the problems faced by existing electromagnetic simulation systems in processing large-scale computing tasks, such as insufficient computing resource utilization and insufficient flexibility.
[0006] The present invention provides an electromagnetic cloud simulation platform deployment method, which configures the connection information of different cloud platforms through a client, and deploys a simulation information data platform, a sharding module, a cloud node monitoring module, a task scheduling module, and a cloud platform simulation calculation module on each cloud platform;
[0007] The sharding module receives the electromagnetic simulation file transmitted by the client, and shards the electromagnetic simulation file as a parent file according to the frequency points to generate electromagnetic simulation sub-files with different frequency points but containing complete electromagnetic simulation information and file auxiliary information; each electromagnetic simulation sub-file is regarded as a simulation task;
[0008] The simulation information data platform includes a shared cloud storage volume and a cloud database in the cloud platform; the electromagnetic simulation sub-files transmitted by the sharding module and the simulation result files fed back by the cloud platform simulation calculation module are stored in the cloud shared volume; the simulation file information table fed back by the cloud platform simulation calculation module in each cloud node is stored in the cloud database, which is used to determine the topology information between nodes, users, parent files and child files, as well as the execution status of simulation tasks;
[0009] The cloud node monitoring module is implemented by the management container group (Pod) responsible for monitoring tasks within the node. The external monitoring platform obtains the current node status, occupied resources, and percentage of shard task completion of each node in the node group by requesting the services of all monitoring Pods of the current node group. The node status includes running status, ready status, and unschedulable status. The node is classified according to the running status based on the node status of each node, and a node status table is constructed to realize the monitoring of the node group.
[0010] The task scheduling module selects a node in a ready state and with sufficient resources for each simulation task through a node selector according to the node status table of the node group transmitted by the cloud node monitoring module for optimal node allocation;
[0011] The cloud platform simulation computing module includes multiple parallel node task computing modules;
[0012] Each node task computing module orchestrates the management container group (Pod) within the node. Pods complete mesh segmentation, engine simulation, and simulation result merging based on the electromagnetic simulation sub-file according to their respective execution tasks.
[0013] Preferably, the complete electromagnetic simulation information includes operation parameter information, layer physical information, geometric information, and port information; the file auxiliary information includes a triplet of {user ID, parent file ID, slice number}, which is used to determine the topological information of the parent file, child file, and user; the user ID refers to the login account of the client user; the slice number represents the position of the child file in the parent file;
[0014] Preferably, the electromagnetic simulation file is in FDL format, and the internal information of the file includes: operation parameter information (Operation Data), physical information of the layer (Physical Data), geometric information (Geometrical Data), port information, and startup module; the operation parameter information (Operation Data) refers to operation setting parameters, including MpiCmd and Mesh segmentation rules;
[0015] Preferably, in each node task calculation module, the Mesh subdivision is performed by using a Pod that executes the Mesh subdivision task according to the electromagnetic simulation subfile;
[0016] The Engine simulation is performed by using a Pod that executes the Engine simulation task to perform Engine simulation according to the electromagnetic simulation sub-file and the Mesh segmentation result file;
[0017] The simulation result merging is to use the Pod that performs the merging task to poll the simulation file information table of the current node in the cloud database. When the "Simulation Completion Flag" field of all electromagnetic simulation sub-files shows "Completed", the simulation file information table is spliced into a storage directory according to the field value, and then the corresponding file is searched on the cloud storage volume according to the storage directory. The simulation results are merged according to the slice number to obtain a complete file; finally, the complete file is saved in the cloud storage volume for the user to view later.
[0018] Specifically, each node task computing module independently uses the open-source Kubernetes engine to orchestrate the management container group (Pod) within the node. It uses a hybrid of Deployment and DaemonSet control methods to create management container groups (Pods). It also uses horizontal autoscaling (HPA) to dynamically increase or decrease the number of Pod instances, enabling the number of instances to change with the number of shards.
[0019] Specifically, add the Mesh partitioning task label attribute method:Engine to the Pod created by the Deployment on each node, and add the Engine simulation task label attribute method:Mesh to all Pods created by the DaemonSet to distinguish the Pod's work content and facilitate Pod monitoring and management. Create a resource monitoring Pod for the current node and bind the corresponding Service object, setting the label attribute and selector to component:monitoring.
[0020] Specifically, the orchestration strategy for managing container groups (Pods) within a node is:
[0021] Add the Init container and main application container fields to the Pod configuration file (YAML);
[0022] The init container performs initial configuration to connect to the cloud database and mounts a cloud storage volume on the Pod where it is located. The main application container is divided into a container for executing Mesh subdivision tasks and a container for executing Engine simulation. After completing the tasks, the simulation file information table saved in the cloud database is spliced into a corresponding simulation result file storage directory, and the simulation result file is saved in the cloud storage volume according to the directory.
[0023] After the initialization is completed, the Init container queries the simulation information data platform to see whether the data required by each Pod exists in the cloud storage volume. If so, the data from the simulation information data platform is retrieved according to the Pod's execution task; if not, the corresponding timeout processing is performed according to the Pod's execution task;
[0024] Specifically, the specific implementation process of retrieving data from the simulation information data platform according to the execution task of the Pod is as follows: the Pod that performs Mesh subdivision needs to obtain the physical information, geometric information and Mesh subdivision rules in the layer stored in the sub-file of the simulation information data platform, and the Pod that performs Engine simulation needs to obtain the running parameter information and port information stored in the sub-file of the simulation information data platform, as well as the Mesh subdivision result file completed by the Pod that performs Mesh subdivision in the cloud storage volume;
[0025] The specific implementation process of the corresponding timeout processing according to the Pod's execution task is:
[0026] If the Pod is performing a Mesh partitioning task, restart the current node;
[0027] If the Pod is executing the Engine simulation task, restart the Mesh subdivision Pod and the current Pod for recalculation;
[0028] Specifically, the management container group (Pod) within the node includes Mesh partitioning Pods, merging Pods, monitoring Pods, and several Engine simulation Pods (i.e., slicing simulation Pods). The total number of Pod instances is the number of sub-file slices + Mesh partitioning Pods + merging Pods + monitoring Pods + 1. The maximum number of Pods created by each node is set to 100 when sufficient resources are available. When the required number of tasks exceeds 100, a new node is started to handle the remaining tasks.
[0029] Specifically, a single Engine simulation Pod is only responsible for the simulation calculation of one sub-file, and determines whether to perform Mpi parallel simulation processing inside the Engine container based on the running parameter MpiCmd;
[0030] A node only executes the simulation task of a single user. After the node simulation is completed, the mesh partitioning file generated by the node's mesh partitioning pod and the simulation result file generated by the engine simulation pod are saved in the cloud storage volume. Each node needs to maintain a simulation file information table stored in the cloud database.
[0031] The fields of the simulation file information table include cloud platform number, user UID, parent file ID, computing node group number, computing node group number, total number of slices, slice number, and simulation completion flag.
[0032] The electromagnetic cloud simulation platform deployment method of the present invention fully utilizes the advantages of cloud service architecture and significantly improves the overall performance of electromagnetic simulation through the following beneficial effects:
[0033] 1. Improve computing efficiency: By configuring the connection information of different cloud platforms through the client, the simulation information data platform, sharding module, monitoring module, task scheduling module and simulation computing module can be quickly deployed, optimizing the execution process of simulation tasks.
[0034] 2. Full utilization of resources: The sharding module intelligently segments electromagnetic simulation files by frequency points to generate multiple simulation sub-files. Each sub-file acts as an independent task, effectively improving the utilization of cloud server computing resources.
[0035] 3. Flexibility and adaptability: The simulation information data platform combines shared cloud storage volumes and cloud databases to flexibly store and manage simulation sub-files and results, adapting to simulation needs of different scales and types.
[0036] 4. Node monitoring and management: The cloud node monitoring module monitors the node status in real time, builds a node status table, provides accurate node information for task scheduling, and ensures the smooth progress of simulation tasks.
[0037] 5. Intelligent task scheduling: The task scheduling module performs optimal node allocation based on node status to ensure efficient execution of simulation tasks and reduce waiting time.
[0038] 6. Parallel computing capability: The cloud platform simulation computing module uses multiple parallel node task computing modules to achieve large-scale parallel computing and significantly speed up the simulation.
[0039] 7. Data integrity and accuracy: The integration of complete electromagnetic simulation information and file auxiliary information ensures the integrity and accuracy of data during the simulation process.
[0040] 8. Automated processing flow: Each node task calculation module automatically completes mesh segmentation, engine simulation and result merging, reducing manual intervention and improving simulation reliability.
[0041] In addition, the present invention also uses the Kubernetes engine to orchestrate the management container group (Pod), realizes dynamic adjustment of the number of Pod instances, and optimizes resource allocation. By setting label attributes for Pods with different functions, intelligent management and monitoring of Pods are realized, and system stability and maintenance efficiency are improved. In response to the timeout of Pod execution tasks, specific processing strategies are formulated, such as restarting Pods or nodes to ensure the continuity and integrity of simulation tasks. The simulation result merging module efficiently and quickly merges the scattered simulation results to generate a complete simulation file, which is convenient for user access and analysis. Each node maintains a simulation file information table, records the key information of the simulation task, and provides data support for monitoring and subsequent analysis of the simulation process.
[0042] In summary, the method of the present invention significantly improves the efficiency and quality of electromagnetic simulation through intelligent and automated deployment and management, while reducing resource waste. It realizes an electromagnetic simulation system deployment method with efficient computing resource utilization, strong flexibility, and wide adaptability, and has significant technical and commercial value in the field of electromagnetic field simulation. BRIEF DESCRIPTION OF THE DRAWINGS
[0043] Figure 1 Schematic diagram of electromagnetic simulation system cloud service deployment
[0044] Figure 2 Schematic diagram of container deployment within cloud nodes DETAILED DESCRIPTION
[0045] To make the objectives, technical solutions, and advantages of the embodiments of the present invention more clear, the technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the embodiments described are only part of the embodiments of the present invention, not all of them. All other embodiments obtained by ordinary technicians in this field based on the embodiments of the present invention without making any creative efforts shall fall within the scope of protection of the present invention.
[0046] The terms "including," "having," and any variations thereof, as used in the embodiments of the present invention are intended to cover non-exclusive inclusions. For example, a process, method, system, product, or apparatus comprising a series of steps or units is not limited to the listed steps or units, but may optionally include other steps or units not listed, or may optionally include other steps or units inherent to the process, method, product, or apparatus.
[0047] like Figure 1A method for deploying an electromagnetic cloud simulation platform, particularly for radio frequency integrated circuits (RFICs), can configure different cloud platform connection information through the client, and deploy a simulation information data platform, a slicing module, a cloud node monitoring module, a task scheduling module, and a cloud platform simulation calculation module on each cloud platform; a user terminal (GUI) generates an FDL file to describe the electromagnetic simulation calculation, and submits the FDL file slices to the cloud platform; the cloud platform only needs to accept the FDL format data provided by the user terminal; the cloud platform simulation calculation module of the simulation node group forwards the FDL slices of each user to the slicing module of the simulation information data platform, processes the FDL grid generation task and the simulation calculation task; the calculation results of the simulation node group are merged to obtain the simulation calculation results and return them to the user terminal. The deployment method of the present invention is as follows:
[0048] Deploy simulation information data platforms, sharding modules, cloud node monitoring modules, task scheduling modules, and cloud platform simulation computing modules on multiple cloud service platforms;
[0049] The slicing module accepts an electromagnetic simulation file transmitted by the client and slices the electromagnetic simulation file, serving as the parent file, according to frequency points. This generates electromagnetic simulation subfiles at different frequency points, but containing complete electromagnetic simulation information and file auxiliary information. Each subfile contains file information sufficient for a complete electromagnetic simulation calculation, including operating parameters, layer physical information, geometry information, and port information. A tuple of file auxiliary information {user ID, parent file ID, slice number} is also set to determine the topological information of the parent file, subfile, and user. Each electromagnetic simulation subfile is treated as a simulation task, placed in a task list, and simulated according to the first-in, first-out principle.
[0050] The complete electromagnetic simulation information includes operation parameter information, layer physical information, geometric information, and port information. The file auxiliary information includes a triplet of {user ID, parent file ID, slice number}, which is used to determine the topological information of the parent file, child file, and user. The user ID refers to the client user's login account; the slice number represents the position of the child file within the parent file. The electromagnetic simulation file is in FDL (Faraday Dynamanguage File) format and is uploaded by the user to the shared volume of the corresponding cloud platform. The internal information of the file includes operation parameter information (Operation Data), layer physical information (Physical Data), geometric information (Geometrical Data), port information, and startup module. Operation parameter information (Operation Data) refers to operation setting parameters, including MpiCmd and Mesh subdivision rules.
[0051] Operation Data: contains operation setting parameters passed to the network computing platform; the operation setting parameters include sweep setting parameters and simulation configuration parameters. The sweep setting parameters include linear sweep mode, logarithmic sweep mode, discrete point sweep mode, and multi-band mode; the simulation configuration parameters include the number of threads, sweep variables, solver type, excitation type, metal conductor current processing mode and through-hole current processing mode, output current distribution, Mesh segmentation type, Mesh global operation parameters, quasi-static simulation, accuracy level, deletion of dangling through-hole mark, through-hole aggregation mark, memory limit parameters, and simulation port settings.
[0052] Physical Data of the layer: The physical information is defined in terms of data structure. The physical layer contains five layers with different materials and functions, including MetalLayer (metal layer), Layer (physical layer), ExtLayer (embedded layer of 3Dmesh file), NestedLayer (embedded layer for placing chips), and VirtualLayer (virtual layer). It contains the physical property settings of the layer where the graphics are located, such as layer thickness, conductivity, and material.
[0053] Geometrical Data: Contains geometric object information drawn by the user or imported externally, including geometric object data information of the two-dimensional layout, namely, geometric models such as Path, Polygon, PolygonWithHole, Arc, Circle and their properties, while taking into account the data needs of PCB and IC.
[0054] Port Data: includes the port name, coordinates, port excitation properties, layer and network properties, and custom geometric transformations (transforms). Geometric transformations refer to translation, rotation, scaling, and mirroring operations on the port in the UI.
[0055] The simulation information data platform includes a shared cloud storage volume and a cloud database in the cloud platform; the electromagnetic simulation sub-files transmitted by the sharding module and the simulation result files fed back by the cloud platform simulation calculation module are stored in the cloud shared volume; the simulation file information table fed back by the cloud platform simulation calculation module in each cloud node is stored in the cloud database, which is used to determine the topology information between nodes, users, parent files and child files, as well as the execution status of simulation tasks;
[0056] In the present invention, different label values are added to the label attributes of each Pod resource object to distinguish the work content of different Pods, and corresponding selectors are added to the Service resource object to bind the corresponding Pod to realize service discovery and access. The node monitoring and simulation task allocation platform in the present invention obtains the operating status and resource status of the working nodes in the cluster by accessing the Service of the Pod that performs the monitoring task, and evaluates the available resources and current task volume of each cloud platform. In the container orchestration strategy of the present invention, the fixed Pods that need to be created are Mesh partitioning Pod, merging Pod, monitoring Pod and several Pods that perform slice simulation. All Pods create init containers and main application containers. The Init container initializes the configuration information and mounts the cloud shared volume on all Pods, and queries whether the data required by each Pod exists. In the Pod that performs Mesh partitioning, the main program container performs partitioning after obtaining the example information from the cloud shared volume, and in the Pod that performs Engine calculation, the main program container obtains the Mesh partitioning file to perform Engine simulation calculation.
[0057] The storage volume described in the present invention is a cloud storage volume provided by a cloud service provider. By adding a volume mount definition in the Pod's configuration files (Deployment and DaemonSet), the path of the cloud storage volume and the mount path inside the Pod are specified.
[0058] In the present invention, a simulated Pod is responsible for computing a sub-file of a user; and the main application container inside the Pod can support MPI parallel processing.
[0059] Specifically, the cloud platform deploys a node monitoring and task allocation platform, which monitors the resources and status of the cloud platform by accessing the monitoring service in each cloud node, and gives priority to assigning nodes with sufficient running resources to perform simulation subtasks, while ensuring the load balancing and fault tolerance of each node to deal with node failure or task execution failure. That is, the cloud node monitoring module is implemented by the management container group (Pod) responsible for monitoring tasks inside the node, and the external monitoring platform obtains the current node status, occupied resources, and the percentage of shard task completion of each node in the node group by requesting the Service of all monitoring Pods of the current node group. The node status includes running status, ready status, and unschedulable status; the nodes are classified according to the running status through the node status of each node, and a node status table is constructed to realize the monitoring of the node group; the task scheduling module selects the node in the ready state and with sufficient resources for each simulation task through the node selector (NodeSelector) according to the node status table of the node group transmitted by the cloud node monitoring module for optimal node allocation;
[0060] The cloud platform simulation computing module includes multiple parallel node task computing modules. The deployed simulation node cluster receives the FDL slices processed by the simulation information data platform and allocates simulation nodes based on the number of users and simulation slices. Kubernetes cluster deployment is used to orchestrate containers in the computing node cluster, and different types of controllers (Deployment, DaemonSet) are used to predefine different Pods to complete Mesh segmentation and Engine simulation computing. Horizontal autoscaling (HPA) is used to respond to changes in application requirements and dynamically increase or decrease the number of Pod instances.
[0061] Each node task computing module deploys docker container computing nodes, and uses the open source Kubernetes container orchestration engine to achieve automated container scheduling and management in various platforms, further improving the flexibility and efficiency of elastic computing. Figure 2 Specifically, the management container group (Pod) within the node is orchestrated. The Pod completes Mesh segmentation, Engine simulation, and simulation result merging according to the electromagnetic simulation sub-file according to its respective execution tasks.
[0062] In each node task calculation module, the mesh subdivision is performed according to the electromagnetic simulation subfile using the Pod that executes the mesh subdivision task;
[0063] The Engine simulation is performed by using a Pod that executes the Engine simulation task to perform Engine simulation according to the electromagnetic simulation sub-file and the Mesh segmentation result file;
[0064] The simulation result merging is to use the Pod that performs the merging task to poll the simulation file information table of the current node in the cloud database. When the "Simulation Completion Flag" field of all electromagnetic simulation sub-files displays "Completed", the simulation results are spliced into a storage directory according to the field value of the simulation file information table, and then the corresponding file is searched on the cloud storage volume according to the storage directory. The simulation results are merged according to the slice number to obtain a complete file; finally, the complete file is saved in the cloud storage volume for the user to view later.
[0065] In each node task computing module, the node task computing module independently uses the open source Kubernetes engine to orchestrate the management container group (Pod) within the node, using a combination of Deployment and DaemonSet control methods to create the management container group (Pod), and using horizontal autoscaling (HPA) to dynamically increase or decrease the number of Pod instances to meet the requirement that the number of instances changes with the number of shards. In each node, the Mesh parsing task label attribute method:Engine is added to the Pod created by Deployment, and the Engine simulation task label attribute method:Mesh is added to all Pods created by DaemonSet to distinguish the Pod's work content and facilitate Pod monitoring and management. A resource monitoring Pod is created for the current node and bound to the corresponding Service object, with the label attribute and selector set to component:monitoring.
[0066] like Figure 2 As shown in the figure, the specific orchestration strategy for managing container groups (Pods) within a node is:
[0067] Add the Init container and main application container fields to the Pod configuration file (YAML);
[0068] The init container performs initial configuration to connect to the cloud database and mounts a cloud storage volume on the Pod where it is located. The main application container is divided into a container for executing Mesh subdivision tasks and a container for executing Engine simulation. After completing the tasks, the simulation file information table saved in the cloud database is spliced into a corresponding simulation result file storage directory, and the simulation result file is saved in the cloud storage volume according to the directory.
[0069] After the initialization is completed, the Init container queries the simulation information data platform to see whether the data required by each Pod exists in the cloud storage volume. If so, the data from the simulation information data platform is retrieved according to the Pod's execution task; if not, the corresponding timeout processing is performed according to the Pod's execution task;
[0070] The specific implementation process of retrieving data from the simulation information data platform according to the Pod's execution task is as follows: the Pod that performs Mesh subdivision needs to obtain the physical information, geometric information, and Mesh subdivision rules in the layer's operating parameter information stored in the sub-file of the simulation information data platform; the Pod that performs Engine simulation needs to obtain the operating parameter information and port information stored in the sub-file of the simulation information data platform, as well as the Mesh subdivision result file completed by the Pod that performs Mesh subdivision in the cloud storage volume;
[0071] The specific implementation process of the corresponding timeout processing according to the Pod's execution task is:
[0072] If the Pod is performing a Mesh partitioning task, restart the current node;
[0073] If the Pod is executing the Engine simulation task, restart the Mesh subdivision Pod and the current Pod for recalculation;
[0074] The management container group (Pod) inside the node includes Mesh partitioning Pod, merging Pod, monitoring Pod and several Engine simulation (i.e., executing slice simulation) Pods. The total number of Pod instances is the number of sub-file slices + Mesh partitioning Pod + merging Pod + monitoring Pod + 1; the maximum number of Pods created by each node when resources are sufficient is set to 100. When the required amount of tasks exceeds 100, a new node is opened to handle the remaining tasks; since a simulated Pod is responsible for the calculation of one sub-file, a new node is opened to simulate the remaining tasks when the amount of tasks exceeds 100. Start MPI parallel computing and program communication between container processes according to the settings of the MpiCmd content in the file running parameters. For example, a single Engine simulation Pod is only responsible for the simulation calculation of one sub-file, and whether Mpi parallel simulation processing is executed inside the Engine container is determined according to the running parameter MpiCmd;
[0075] A node only executes the simulation task of a single user. After the node simulation is completed, the mesh partitioning file generated by the node's mesh partitioning pod and the simulation result file generated by the engine simulation pod are saved in the cloud storage volume. Each node needs to maintain a simulation file information table stored in the cloud database.
[0076] The fields of the simulation file information table are shown in Table 1.
[0077] Table 1 Node simulation file information table
[0078]
[0079] It will be understood by those skilled in the art that embodiments of the present invention may be provided as methods, systems, or computer program products. Thus, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware. Furthermore, the present invention may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to magnetic disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0080] The present invention is described with reference to flowcharts and / or block diagrams of methods, devices (systems), and computer program products according to embodiments of the present invention. It should be understood that each process and / or block in the flowcharts and / or block diagrams, as well as combinations of processes and / or blocks in the flowcharts 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, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowcharts and / or block diagrams. Figure 1 a process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0081] These computer program instructions may also be stored in a computer readable memory that can direct a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 a process or multiple processes and / or boxes Figure 1 The function specified in one or more boxes.
[0082] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operational steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing the instructions executed on the computer or other programmable device for implementing the process. Figure 1 a process or multiple processes and / or boxes Figure 1 A step that specifies a function in one or more boxes.
[0083] As described above, the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit the same. Although the present invention has been described in detail with reference to the above embodiments, those skilled in the art should understand that the technical solutions described in the above embodiments can still be modified, or some of the technical features thereof can be replaced by equivalents. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present invention.
Claims
1. A method for deploying an electromagnetic cloud simulation platform, characterized in that: Configure the connection information of different cloud platforms through the client, and deploy the simulation information data platform, sharding module, cloud node monitoring module, task scheduling module, and cloud platform simulation calculation module on each cloud platform; The sharding module receives the electromagnetic simulation file transmitted by the client, and shards the electromagnetic simulation file as a parent file according to the frequency points to generate electromagnetic simulation sub-files with different frequency points but containing complete electromagnetic simulation information and file auxiliary information; each electromagnetic simulation sub-file is regarded as a simulation task; The simulation information data platform includes a shared cloud storage volume and a cloud database in the cloud platform; the electromagnetic simulation sub-files transmitted by the slicing module and the simulation result files fed back by the simulation calculation module of the cloud platform are stored in the cloud shared volume; The simulation file information table fed back by the simulation computing module of the cloud platform in each cloud node is stored in the cloud database, which is used to determine the topology information between nodes, users, parent files and child files, and the execution status of the simulation task; The cloud node monitoring module is implemented by the management container group Pod responsible for monitoring tasks within the node. The external monitoring platform obtains the current node status, occupied resources, and percentage of shard task completion of each node in the node group by requesting the services of all monitoring Pods of the current node group. The node status includes running status, ready status, and unschedulable status. Classify nodes according to their operating status through the node status of each node, build a node status table, and realize the monitoring of the node group; The task scheduling module selects a node in a ready state and with sufficient resources for each simulation task through a node selector according to the node status table of the node group transmitted by the cloud node monitoring module for optimal node allocation; The cloud platform simulation computing module includes multiple parallel node task computing modules; Each node task calculation module orchestrates the Pods within the node. The Pods complete Mesh segmentation, Engine simulation, and simulation result merging according to their respective execution tasks and electromagnetic simulation sub-files.
2. The method according to claim 1, characterized in that The complete electromagnetic simulation information includes operation parameter information, layer physical information, geometric information, and port information; the file auxiliary information includes {user ID, parent file ID, slice number} triple data, which is used to determine the topological information of the parent file, child file, and user; the user ID refers to the login account of the client user; The slice number represents the position of the child file within the parent file.
3. The method according to claim 1, characterized in that The electromagnetic simulation file is in FDL format, and the internal information of the file includes: operation parameter information, layer physical information, geometric information, port information, and startup module; the operation parameter information refers to operation setting parameters, including MpiCmd and Mesh subdivision rules.
4. The method according to claim 1, characterized in that In each node task calculation module, the mesh subdivision is performed according to the electromagnetic simulation subfile using the Pod that executes the mesh subdivision task; The Engine simulation is performed by using a Pod that executes the Engine simulation task to perform Engine simulation according to the electromagnetic simulation sub-file and the Mesh segmentation result file; The simulation result merging is to use the Pod that performs the merging task to poll the simulation file information table of the current node in the cloud database. When the "Simulation Completion Flag" field of all electromagnetic simulation sub-files displays "Completed", the storage directory is spliced according to the field value of the simulation file information table, and then the corresponding file is searched on the cloud storage volume according to the storage directory. The simulation results are merged according to the slice number to obtain a complete file; finally, the complete file is saved in the cloud storage volume.
5. The method according to claim 1, characterized in that: In each node task computing module, the node task computing module independently uses the open source Kubernetes engine to orchestrate the Pod within the node, uses a mixture of Deployment and DaemonSet control methods to create Pods, and uses horizontal automatic scaling to dynamically increase or decrease the number of Pod instances to meet the demand that the number of instances changes with the number of shards.
6. The method according to claim 5, characterized in that On each node, add the Mesh partitioning task label attribute method:Engine to the Pod created by the Deployment. Add the Engine simulation task label attribute method:Mesh to all Pods created by the DaemonSet to distinguish the Pod's work content and facilitate Pod monitoring and management. Create a resource monitoring Pod for the current node and bind the corresponding Service object. Set the label attribute and selector to component:monitoring.
7. The method according to claim 5, characterized in that The specific orchestration strategy for Pods within a node is: Add the Init container and main application container fields to the Pod configuration file; The init container performs initial configuration to connect to the cloud database and mounts a cloud storage volume on the Pod where it is located. The main application container is divided into a container for executing Mesh subdivision tasks and a container for executing Engine simulation. After completing the tasks, the simulation file information table saved in the cloud database is spliced into a corresponding simulation result file storage directory, and the simulation result file is saved in the cloud storage volume according to the directory. After the initialization is completed, the Init container queries the simulation information data platform to see whether the data required by each Pod exists in the cloud storage volume. If so, the data from the simulation information data platform is retrieved according to the Pod's execution task; if not, the corresponding timeout processing is performed according to the Pod's execution task.
8. The method according to claim 7, characterized in that: The specific implementation process of retrieving data from the simulation information data platform according to the Pod's execution task is as follows: the Pod that performs Mesh subdivision needs to obtain the physical information, geometric information, and Mesh subdivision rules in the layer's operating parameter information stored in the sub-file of the simulation information data platform; the Pod that performs Engine simulation needs to obtain the operating parameter information and port information stored in the sub-file of the simulation information data platform, as well as the Mesh subdivision result file completed by the Pod that performs Mesh subdivision in the cloud storage volume; The specific implementation process of the corresponding timeout processing according to the Pod's execution task is: If the Pod is performing a Mesh partitioning task, restart the current node; If the Pod is executing the Engine simulation task, restart the Mesh subdivision Pod and the current Pod for recalculation.
9. The method according to claim 8, characterized in that The Pods inside the node include Mesh-split Pods, merged Pods, monitoring Pods, and several Engine-simulated Pods. The total number of Pod instances is the number of sub-file slices + Mesh-split Pods + merged Pods + monitoring Pods + 1. The maximum number of Pods created by each node is set to 100 when resources are sufficient. When the required number of tasks exceeds 100, a new node is opened to handle the remaining tasks.
10. The method according to claim 9, characterized in that: A single Engine simulation Pod is only responsible for the simulation calculation of one sub-file. The running parameter MpiCmd determines whether to execute Mpi parallel simulation processing inside the Engine container; A node only executes the simulation task of a single user. After the node simulation is completed, the mesh partitioning file generated by the node's mesh partitioning pod and the simulation result file generated by the engine simulation pod are saved in the cloud storage volume. Each node needs to maintain a simulation file information table stored in the cloud database. The fields of the simulation file information table include cloud platform number, user UID, parent file ID, computing node group number, computing node group number, total number of slices, slice number, and simulation completion flag.
Citation Information
Patent Citations
Hybrid simulation cloud platform and automatic deployment method
CN114553874A
Electromagnetic simulation parallel computing method and device, computer equipment and storage medium
CN114996969A