An adaptively partitioned three-level parallel fire dynamics simulation system and method

By designing adaptive mesh generation algorithms, topological mapping schemes for data locality perception and polling-based task scheduling schemes in FDS fire dynamics simulation software, the problems of FDS's load imbalance and large communication overhead on high-performance computers are solved, and more efficient utilization of multi-core computing resources and computing performance improvements are achieved.

CN118966070BActive Publication Date: 2025-04-01HUNAN UNIV
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411089005.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-08-09
Publication Date
2025-04-01
Estimated Expiration
2044-08-09

AI Technical Summary

Technical Problem

Existing FDS fire dynamics simulation software cannot effectively divide grids on high-performance computers, resulting in unbalanced load and large communication overhead, and cannot make full use of multi-core computing resources.

Method used

A three-stage parallel fire dynamics simulation system with adaptive division is designed, including building modules and operating modules. The building block uses an adaptive grid generation algorithm to achieve load balancing at the process level, and uses a topological mapping scheme with localized data to reduce communication overhead at the inter-node level, and adopts a poll-based task scheduling scheme at the internal node level.

Benefits of technology

It realizes load balancing of FDS on a high-performance computing platform, reduces remote communication between nodes, and improves the computing efficiency and performance of fire dynamics simulation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118966070B_ABST
    Figure CN118966070B_ABST
Patent Text Reader

Abstract

The present invention discloses an adaptively divided three-level parallel fire dynamics simulation system and method, wherein the system includes: a construction module and a running module; the construction module is used to construct a three-level parallel fire dynamics simulation model based on FDS; the fire dynamics simulation model is an improvement of the original FDS, including: process level, inter-node level and intra-node level; an adaptive grid generation algorithm is used at the process level to achieve load balancing of the fire dynamics simulation model; a data locality-aware topological mapping scheme is used at the inter-node level to reduce the number of long-distance inter-node communications of the fire dynamics simulation model and minimize communication overhead; a polling-based task scheduling scheme is used at the intra-node level to improve the performance of the fire dynamics simulation model. The present invention designs an adaptive grid generation algorithm to balance the workload of the input grid and decompose the input grid into sub-grids to achieve the expansion of FDS from several processes to thousands of processes.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention relates to the technical field of fluid dynamics, and in particular to an adaptively divided three-level parallel fire dynamics simulation system and method. Background Art

[0002] FDS is a popular fire dynamics simulation application in the open source community. It needs to be accelerated on high-performance computers (HPC) to simulate complex and large-scale fires. Scalable parallel algorithms are the key to fully utilize HPC resources. The basis of parallel computing is grid generation, which determines the scalability and execution speed on HPC. Automatic grid generation has been implemented in mainstream fluid dynamics software, but it has not yet been implemented in FDS.

[0003] The mesh of FDS is a structured hexahedron, which is composed of a basic cube called a grid cell. The execution process of FDS is carried out in each grid cell. A grid is composed of grid cells in the X, Y and Z directions, that is, different input grids of FDS have different numbers of grid cells. In FDS, each grid is assigned to a process, and the number of grid cells determines the computational complexity of the grid. However, the FDS input grid cannot be divided into sub-grids, which may lead to serious load imbalance and cannot be accelerated by using more cores. Therefore, it is necessary to design a scalable grid generation algorithm for FDS.

[0004] When FDS can expand several processes to thousands of processes, it faces a lot of communication overhead generated by large-scale processes, so the communication overhead needs to be optimized. The communication overhead is mainly spent between nodes because it needs to be transmitted through the network. When processes need to communicate across nodes, communication latency will increase. Therefore, it is necessary to map processes with data locality to the same node or adjacent nodes. The placement of processes within a node also needs to consider load balancing under the NUMA architecture. Summary of the invention

[0005] The purpose of the present invention is to provide a three-level parallel fire dynamics simulation system and method with adaptive partitioning to overcome the defects of the prior art.

[0006] To achieve the above object, the present invention provides an adaptively divided three-level parallel fire dynamics simulation system, comprising: a construction module and an operation module;

[0007] The construction module is used to construct a three-level parallel fire dynamics simulation model based on FDS; the fire dynamics simulation model is an improvement of the original FDS, including: process level, inter-node level and intra-node level; an adaptive grid generation algorithm is used at the process level to achieve load balancing of the fire dynamics simulation model; a data locality-aware topological mapping scheme is used at the inter-node level to reduce the number of long-distance node communications of the fire dynamics simulation model and minimize communication overhead; a polling-based task scheduling scheme is used at the intra-node level to improve the performance of the fire dynamics simulation model.

[0008] The operation module is used to complete the fire dynamics simulation using the fire dynamics simulation model.

[0009] Preferably, an adaptive grid generation algorithm is used to minimize the ratio of the maximum number of grid cells to the minimum number of grid cells between sub-grids generated by the fire dynamics simulation model to achieve load balancing; the adaptive grid generation algorithm includes two parts, the first part is used to calculate the number of sub-grids of each input grid, and the second part is used to decompose each input grid into target sub-grids based on factorization according to the number of sub-grids calculated by the first part.

[0010] Preferably, the data locality-aware topology mapping scheme divides processes into different groups by calculating the communication affinity of the processes, and maps processes belonging to the same group to a single node, thereby reducing the communication overhead between nodes when cores are used on a large scale.

[0011] Preferably, the operation module comprises: an initialization unit, a predictor unit and a corrector unit;

[0012] The initialization unit is used to initialize the data of the fire dynamics simulation model;

[0013] The predictor unit is used to estimate the variable with a rough accuracy based on the initialized data;

[0014] The corrector unit is used to correct the estimation result of the predictor unit.

[0015] Preferably, the workflow of the running module includes: first, initializing MPI using the initialization unit, then reading the input file of the fire dynamics simulation model and initializing the data; then entering the main loop, the main loop iterates according to the time step, the predictor unit first estimates the variable with a rough accuracy, and then uses the corrector unit to correct it; after a time step of calculation, the data of the variable is communicated in the boundary grid units of the grid.

[0016] The present invention also provides an adaptively divided three-level parallel fire dynamics simulation method, which is applied to the above system and comprises the following steps:

[0017] A three-level parallel fire dynamics simulation model is constructed based on FDS; the fire dynamics simulation model is an improvement of the original FDS, including: process level, inter-node level and intra-node level; an adaptive grid generation algorithm is used at the process level to achieve load balancing of the fire dynamics simulation model; a data locality-aware topological mapping scheme is used at the inter-node level to reduce the number of long-distance inter-node communications of the fire dynamics simulation model and minimize the communication overhead; a polling-based task scheduling scheme is used at the intra-node level to improve the performance of the fire dynamics simulation model.

[0018] The fire dynamics simulation model is used to complete the fire dynamics simulation.

[0019] Preferably, an adaptive grid generation algorithm is used to minimize the ratio of the maximum number of grid cells to the minimum number of grid cells between sub-grids generated by the fire dynamics simulation model to achieve load balancing; the adaptive grid generation algorithm includes two parts, the first part is used to calculate the number of sub-grids of each input grid, and the second part is used to decompose each input grid into target sub-grids based on factorization according to the number of sub-grids calculated by the first part.

[0020] Preferably, the data locality-aware topology mapping scheme divides processes into different groups by calculating the communication affinity of the processes, and maps processes belonging to the same group to a single node, thereby reducing the communication overhead between nodes when cores are used on a large scale.

[0021] Compared with the prior art, the present invention has the following beneficial effects:

[0022] The present invention designs an adaptive grid generation algorithm to balance the workload of the input grid, decomposes the input grid into sub-grids, so as to expand the FDS from several processes to thousands of processes, so that the large number of cores of the HPC platform can be used to accelerate the calculation. In addition, the algorithm design takes into account the load balancing problem of different input grids with different computational complexities due to different numbers of grid cells, so that resources can be distributed more evenly. At the same time, the present invention also proposes a data locality-aware topology mapping scheme to minimize the communication overhead between nodes when expanding to a large number of cores. The processes are divided into groups according to the communication affinity of the processes, and the processes belonging to the same group are mapped to a single node. Therefore, the present invention reduces the remote communication between computing nodes by setting up shorter distance communications. BRIEF DESCRIPTION OF THE DRAWINGS

[0023] In order to more clearly illustrate the technical solution of the present invention, the following briefly introduces the drawings required for use in the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative labor.

[0024] Figure 1 It is a schematic diagram of the system structure of the present invention;

[0025] Figure 2 It is a schematic diagram of the case results of the present invention. DETAILED DESCRIPTION

[0026] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

[0027] In order to make the above-mentioned objects, features and advantages of the present invention more obvious and easy to understand, the present invention is further described in detail below with reference to the accompanying drawings and specific embodiments.

[0028] Embodiment 1

[0029] like Figure 1 As shown, it is a schematic diagram of the system structure of this embodiment, including: a construction module and an operation module; the construction module is used to build a three-level parallel fire dynamics simulation model based on FDS (FDS is a popular fire dynamics simulation application in the open source community); the fire dynamics simulation model is an improvement of the original FDS, including: process level, inter-node level and intra-node level; an adaptive grid generation algorithm is used at the process level to achieve load balancing of the fire dynamics simulation model; a data locality-aware topological mapping scheme is used at the inter-node level to reduce the number of long-distance inter-node communications of the fire dynamics simulation model and minimize communication overhead; a polling-based task scheduling scheme is used at the intra-node level to improve the performance of the fire dynamics simulation model. The operation module is used to use the fire dynamics simulation model to complete the fire dynamics simulation.

[0030] The following will describe in detail how the present invention solves the technical problems in practical work in conjunction with this embodiment.

[0031] This embodiment is implemented on the Tianhe new generation supercomputer. First, an adaptive grid generation algorithm is designed at the process level of the fire dynamics simulation model (hereinafter referred to as the model) to balance the workload of the input grid, so that the ratio of the maximum number of grid cells to the minimum number of grid cells between the generated sub-grids is minimized, that is, to make it as load-balanced as possible. The algorithm consists of two parts. The first part is to calculate the number of sub-grids of each input grid, and the second part is to decompose each input grid into target sub-grids based on the factorization according to the number of sub-grids calculated by the first part.

[0032] Specifically, the algorithm can achieve scalability of the model and load balancing of the input grid, so that the tasks of several cores can be expanded to thousands of cores for acceleration (that is, the input grid is divided into sub-grids) to make full use of computing resources; at the same time, the ratio of the maximum number of grid cells to the minimum number of grid cells between the generated sub-grids is minimized, that is, to make it as load balanced as possible.

[0033] This embodiment describes the problem as m input grids, each with V i grid cells, each input grid has n i subgrids, the total number of subgrids generated is n, named N j , where n>m. The algorithm consists of two parts. The first part is to calculate the number of subgrids n for each input grid. i The second part is based on n i Decompose each input mesh into target sub-meshes.

[0034] The first part "Calculation of the number of subgrids" is described as Algorithm 1. Each input grid is named M i , the number of grid cells is V i , the output is the number of subgrids n for each input grid i . The process works as follows:

[0035] 1. Calculate the total number and average number of grid cells for all input grids (L1, representing the first line in the pseudocode);

[0036] 2. Calculate the M for each input grid i The number of sub-grids generated is n i (L2-L5);

[0037] 3. Maximum number of adjustments n i To obtain the final n i (L6-L9).

[0038] This embodiment expresses the above operation mode in the form of pseudo code, as shown in Table 1.

[0039] Table 1

[0040]

[0041] Through Table 1, this embodiment calculates the number of subgrids to be generated for each input grid. Then, according to the n calculated in Part 1 i , the input grid is divided into three-dimensional sub-grids, that is, the "input grid decomposition" is realized. The calculation process is as follows:

[0042] 1. If V i Can be n i Exactly divisible by V along three dimensions i Divide into n i Parts (L2-L4);

[0043] 2. If V i is not divisible by an integer, and n i is not a prime number, then factorize n i is the product of a, b, and c, and then divides V along the three dimensions respectively i For parts a, b, c (L5-L10);

[0044] 3. If V i Cannot be n i divisible by n i is a prime number, and the maximum number of grid cells (which should be the largest of the three dimensions) is greater than n i Then V is divided along the dimension with the maximum number of grid cells. i Divide into n i Parts (L11-L14);

[0045] 4. If V i Can't i is divisible by n i is a prime number, and the maximum number of grid cells is less than n i , then n i Decrement by 1 and return to the third row (L3) to iterate recursively (L15-L18);

[0046] 5. If the number of recursions is n o If it is greater than 0, then each n o The subgrid is evenly divided into two subgrids (L19-L24).

[0047] Table 2

[0048]

[0049] The pseudo code of the above process is shown in Table 2.

[0050] At the inter-node level, a data locality-aware topological mapping scheme is adopted. By grouping processes with data locality and then mapping the process groups to nearby computing nodes, the number of communications between long-distance nodes can be reduced and the communication overhead can be minimized.

[0051] Specifically, since the physical space distance between processes in a node is relatively large and the data locality is poor, the goal of this embodiment is to minimize the communication time between nodes. Therefore, this embodiment needs to adopt a topological mapping scheme based on data locality, which places the processes that need to communicate on the same node as much as possible, thereby reducing the communication time between nodes. The processes are divided into different groups by calculating the communication affinity of the processes, and the processes belonging to the same group are mapped to a single node, thereby minimizing the communication overhead between nodes when the core is used on a large scale.

[0052] Finally, at the intra-node level, a polling-based task scheduling scheme is used to load balance the NUMA nodes within the same node to reduce the memory bandwidth requirements in each NUMA node and improve model performance. Since this embodiment is completed on the Tianhe new generation high-performance computing platform (HPC), the platform uses a multi-core processor FT2000+. There are multiple NUMA nodes on a processor, and a NUMA node corresponds to multiple cores, so this scheduling scheme is to load balance the NUMA nodes to reduce the memory bandwidth requirements of each NUMA node and improve model performance.

[0053] Specifically, this embodiment takes into account the modern chip architecture NUMA that is common in high-performance computing platforms. It is generally believed that a computing node on an HPC platform is a chip, and on the new generation of Tianhe, the FT2000+ chip is used. The computing node has eight NUMA nodes, and each NUMA node has eight cores. In order to effectively utilize the NUMA architecture, this embodiment assigns computing tasks to different nodes for execution, which can reduce the workload of each NUMA node. However, when multiple computing nodes are used, the cores in each node are not fully utilized. Therefore, when the number of processes is less than the number of cores of a computing node, the task allocation strategy between different NUMA nodes is crucial to improving model performance.

[0054] In the general method, the scheduling method is a block model, that is, a process is assigned to another NUMA node only when one NUMA node is fully occupied. This type of task scheduling can cause the problem that some NUMA nodes are overloaded while other NUMA nodes are idle. At this time, the performance is affected by the memory bandwidth load of the NUMA node with the highest load. In this embodiment, a polling method is used to schedule tasks in the computing nodes. The processes allocated in the node are assigned to each NUMA node in a round-robin manner, so as to achieve a balanced distribution of processes on all NUMA nodes. This task scheduling scheme reduces the memory bandwidth requirements in each NUMA node and improves the performance of the model.

[0055] Afterwards, the operation module is used to complete the fire dynamics simulation using the fire dynamics simulation model. The operation module includes: an initialization unit, a predictor unit and a corrector unit; the initialization unit is used to initialize the data of the fire dynamics simulation model; the predictor unit is used to estimate the variables with a rough accuracy based on the initialized data; and the corrector unit is used to correct the estimation result of the predictor unit.

[0056] The workflow of running the module includes: first, using the initialization unit to initialize MPI, then reading the input file of the model and initializing the data; then entering the main loop, the main loop iterates by time step, the predictor unit first estimates the variable with rough accuracy, and then uses the corrector unit to correct it; after a time step of calculation, the data of the variable is communicated in the boundary grid cells of the grid.

[0057] The workflow of the predictor unit includes the following:

[0058] Table 3

[0059]

[0060] Step 1: Use explicit Euler step to estimate ρ and Z in the next time step α Species mass density (ρZ α ) * Estimated by formula 1:

[0061]

[0062] The asterisk (*) indicates an estimate with first-order accuracy in the next time step, where the mass source term is calculated from the corrected values ​​of density and species mass fraction in the previous time step; n indicates the nth step; Used as a vector differential operator in vector analysis and field theory to represent operations such as gradient and divergence.

[0063] Step 2: Calculate ρ from formula 2 * :

[0064]

[0065] Calculated by formula 3

[0066]

[0067] Step 3: Calculate T using formula 4 * :

[0068]

[0069] p=ρRT (5)

[0070] Step 4: Calculate the divergence using Equation 6

[0071]

[0072] Using the estimated thermodynamic quantities, this embodiment uses brackets to emphasize that the estimated value of the velocity field u* for the next time step has not yet been calculated, only its divergence.

[0073] Step 5: Solve the pressure term using Equation 7 Poisson's equation:

[0074]

[0075] In the formula, represents the divergence of the external force at the nth step.

[0076] Step 6: Estimate the speed at the next time step using Equation 8:

[0077]

[0078] In the formula, represents the velocity vector; represents the velocity vector of the nth step; represents the external force at step n; It represents the total pressure at step n divided by the gradient of density.

[0079] In this embodiment, this process ensures that the divergence of the estimated velocity field Thermodynamic quantities estimated in Step 4 The resulting divergence is the same.

[0080] Step 7: Check whether the time step Δt meets the stability condition through equation 9:

[0081]

[0082] Here, Δx represents the grid size.

[0083] If the time step is too large, it is reduced so that it satisfies the stability constraint and the process returns to the beginning of the time step. If the stability criterion is satisfied, the process continues to the corrector unit.

[0084] The workflow of the corrector unit includes:

[0085] Step 1: Correct the mass density of transported species in the next time step according to formula 10:

[0086]

[0087] Background pressure p n A similar correction is also available. The term for the mass source is the same as the one added in the predictor step. It is only calculated once per time step.

[0088] Step 2: Calculate the density using Equation 11 and the mass fraction using Equation 12:

[0089]

[0090] Step 3: Calculate the temperature T according to the state equation of formula 13 n+1 .

[0091]

[0092] Step 4: Split time for mass source terms. After the corrector step of the transport scheme, the source terms are calculated and stored. The source terms are evaluated using the results from the modified scalar transport scheme. The source terms include the heat release rate per unit volume Net absorption / emission of thermal radiation and mass species source term

[0093] Step 5: Calculate the divergence based on the corrected thermodynamic quantities

[0094] Step 6: Calculate the pressure using the estimated value in Equation 14

[0095]

[0096] In the formula, represents the divergence of the external force at step n+1.

[0097] Step 7: Correct the speed at the next time step by using Equation 15:

[0098]

[0099] Finally, in order to evaluate the performance of the implementation example, the actual engineering case Subway is used to decompose 7 input grids with a maximum grid cell difference of 24 times into 1024 sub-grids, and a maximum speedup of 214 times is achieved.

[0100] Embodiment 2

[0101] The present invention also provides an adaptively divided three-level parallel fire dynamics simulation method, the steps comprising:

[0102] S1. Construct a three-level parallel fire dynamics simulation model based on FDS.

[0103] The fire dynamics simulation model is an improvement of the original FDS, including: process level, inter-node level and intra-node level; an adaptive grid generation algorithm is used at the process level to achieve load balancing of the fire dynamics simulation model; a data locality-aware topological mapping scheme is used at the inter-node level to reduce the number of long-distance inter-node communications of the fire dynamics simulation model and minimize the communication overhead; a polling-based task scheduling scheme is used at the intra-node level to improve the performance of the fire dynamics simulation model.

[0104] This embodiment is implemented on the Tianhe new generation supercomputer. First, an adaptive grid generation algorithm is designed at the process level of the fire dynamics simulation model (hereinafter referred to as the model) to balance the workload of the input grid, so that the ratio of the maximum number of grid cells to the minimum number of grid cells between the generated sub-grids is minimized, that is, to make it as load-balanced as possible. The algorithm consists of two parts. The first part is to calculate the number of sub-grids of each input grid, and the second part is to decompose each input grid into target sub-grids based on the factorization according to the number of sub-grids calculated by the first part.

[0105] Specifically, the algorithm can achieve scalability of the model and load balancing of the input grid, so that the tasks of several cores can be expanded to thousands of cores for acceleration (that is, the input grid is decomposed into sub-grids) to make full use of computing resources; at the same time, the ratio of the maximum number of grid cells to the minimum number of grid cells between the generated sub-grids is minimized, that is, to make it as load balanced as possible.

[0106] The data locality-aware topology mapping scheme divides processes into different groups by calculating the communication affinity of the processes, and maps the processes belonging to the same group to a single node, reducing the communication overhead between nodes when the cores are used on a large scale.

[0107] Specifically, since the physical space distance between processes in a node is relatively large and the data locality is poor, the goal of this embodiment is to minimize the communication time between nodes. Therefore, this embodiment needs to adopt a topological mapping scheme based on data locality, which places the processes that need to communicate on the same node as much as possible, thereby reducing the communication time between nodes. The processes are divided into different groups by calculating the communication affinity of the processes, and the processes belonging to the same group are mapped to a single node, thereby minimizing the communication overhead between nodes when the core is used on a large scale.

[0108] Finally, at the intra-node level, a polling-based task scheduling scheme is used to load balance the NUMA nodes within the same node to reduce the memory bandwidth requirements in each NUMA node and improve model performance. Since this embodiment is completed on the Tianhe new generation high-performance computing platform (HPC), the platform uses the multi-core processor FT2000+. There are multiple NUMA nodes on a processor, and a NUMA node corresponds to multiple cores. Therefore, this scheduling scheme is to load balance the NUMA nodes to reduce the memory bandwidth requirements of each NUMA node and improve model performance.

[0109] Specifically, this embodiment takes into account the modern chip architecture NUMA that is common in high-performance computing platforms. It is generally believed that a computing node on an HPC platform is a chip, and on the new generation of Tianhe, the FT2000+ chip is used. The computing node has eight NUMA nodes, and each NUMA node has eight cores. In order to effectively utilize the NUMA architecture, this embodiment assigns computing tasks to different nodes for execution, which can reduce the workload of each NUMA node. However, when multiple computing nodes are used, the cores in each node are not fully utilized. Therefore, when the number of processes is less than the number of cores of a computing node, the task allocation strategy between different NUMA nodes is crucial to improving model performance.

[0110] In the general method, the scheduling method is a block model, that is, a process is assigned to another NUMA node only when one NUMA node is fully occupied. This type of task scheduling can cause the problem that some NUMA nodes are overloaded while other NUMA nodes are idle. At this time, the performance is affected by the memory bandwidth load of the NUMA node with the highest load. In this embodiment, a polling method is used to schedule tasks in the computing nodes. The processes allocated in the node are assigned to each NUMA node in a round-robin manner, so as to achieve a balanced distribution of processes on all NUMA nodes. This task scheduling scheme reduces the memory bandwidth requirements in each NUMA node and improves the performance of the model.

[0111] After that, it is used to complete the fire dynamics simulation using the fire dynamics simulation model. First, the initialization unit is used to initialize MPI, then the input file of the model is read and the data is initialized; then the main loop is entered, and the main loop is iterated by time steps. The predictor unit first estimates the variables with rough accuracy, and then uses the corrector unit to correct them; after a time step calculation, the data of the variables are communicated in the boundary grid cells of the grid.

[0112] Embodiment 3

[0113] In order to evaluate the performance of the present invention, this embodiment uses the case of Subway to conduct a simulation experiment. Figure 2 The execution time and speedup of a 10s simulation when dividing the grid into different subgrids are shown. Figure 2 As shown in the figure, as the number of generated subgrids increases, the clock time and iteration time both decrease dramatically, reaching the minimum when the number of subgrids is 128, and then gradually increase slowly. When divided into 128 subgrids, the clock time and iteration time are accelerated by 169.92 and 214.29, respectively, and the load balance factor is 1.19, indicating that the load distribution is relatively balanced. Therefore, the algorithm is scalable and can accelerate the simulation of the original input grid.

[0114] The embodiments described above are only descriptions of the preferred embodiments of the present invention and are not intended to limit the scope of the present invention. Without departing from the design spirit of the present invention, various modifications and improvements made to the technical solutions of the present invention by ordinary technicians in this field should all fall within the protection scope determined by the claims of the present invention.

Claims

1. An adaptively partitioned three-level parallel fire dynamics simulation system, characterized in that: include: Building modules and running modules; The building module is used to build a three-level parallel fire dynamics simulation model based on FDS; The fire dynamics simulation model is an improvement of the original FDS, including: process level, inter-node level and intra-node level; An adaptive grid generation algorithm is adopted at the process level to minimize the ratio of the maximum number of grid cells to the minimum number of grid cells between subgrids generated by the fire dynamics simulation model, so as to achieve load balancing; the adaptive grid generation algorithm includes two parts, the first part is used to calculate the number of subgrids of each input grid, and the second part is used to decompose each input grid into target subgrids based on the number of subgrids calculated by the first part based on factorization; a data locality-aware topological mapping scheme is adopted at the inter-node level to reduce the number of long-distance node communications of the fire dynamics simulation model and minimize the communication overhead. Specifically, the data locality-aware topological mapping scheme divides processes into different groups by calculating the communication affinity of the processes, and maps the processes belonging to the same group into a single node, so as to reduce the communication overhead between nodes when the core is used on a large scale; a polling-based task scheduling scheme is adopted at the intra-node level to improve the performance of the fire dynamics simulation model; The operation module is used to complete the fire dynamics simulation using the fire dynamics simulation model.

2. The adaptively partitioned three-level parallel fire dynamics simulation system according to claim 1 is characterized in that: The operation module includes: an initialization unit, a predictor unit and a corrector unit; The initialization unit is used to initialize the data of the fire dynamics simulation model; The predictor unit is used to estimate the variable with rough accuracy based on the initialized data to obtain an estimation result; The corrector unit is used to correct the estimation result of the predictor unit.

3. The adaptively partitioned three-level parallel fire dynamics simulation system according to claim 2, characterized in that: The workflow of the operation module includes: first, using the initialization unit to initialize MPI, then reading the input file of the fire dynamics simulation model and initializing the data; then entering the main loop, the main loop iterates according to the time step, the predictor unit first estimates the variable with a rough accuracy, and then uses the corrector unit to correct it; after a time step of calculation, the data of the variable is communicated in the boundary grid unit of the grid.

4. A three-level parallel fire dynamics simulation method with adaptive partitioning, the method being applied to the system according to any one of claims 1 to 3, characterized in that the steps include: Construct a three-level parallel fire dynamics simulation model based on FDS; The fire dynamics simulation model is an improvement of the original FDS, including: process level, inter-node level and intra-node level; An adaptive grid generation algorithm is adopted at the process level to minimize the ratio of the maximum number of grid cells to the minimum number of grid cells between subgrids generated by the fire dynamics simulation model, so as to achieve load balancing; the adaptive grid generation algorithm includes two parts, the first part is used to calculate the number of subgrids of each input grid, and the second part is used to decompose each input grid into target subgrids based on the number of subgrids calculated by the first part based on factorization; a data locality-aware topological mapping scheme is adopted at the inter-node level to reduce the number of long-distance node communications of the fire dynamics simulation model and minimize the communication overhead. Specifically, the data locality-aware topological mapping scheme divides processes into different groups by calculating the communication affinity of the processes, and maps the processes belonging to the same group into a single node, so as to reduce the communication overhead between nodes when the core is used on a large scale; a polling-based task scheduling scheme is adopted at the intra-node level to improve the performance of the fire dynamics simulation model; The fire dynamics simulation model is used to complete the fire dynamics simulation.

Citation Information

Patent Citations

  • Digital twinning-based fire steel structure damage real-time prediction method

    CN115964913A

  • Medical data parallel integration processing method and system based on supercomputing platform

    CN117851063A