Efficient storage method and system for distributed molecular dynamics simulation calculation
By constructing a distributed storage model based on data access domain partitioning and a storage structure that separates multidimensional particle information, the problems of loose storage structure and insufficient concurrent processing capability in distributed molecular dynamics simulation calculations are solved, achieving efficient particle data access and consistency maintenance, and improving the system's computational performance and scalability.
Patent Information
- Application Number
- CN202510858641.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-25
- Publication Date
- 2025-10-17
- Estimated Expiration
- 2045-06-25
AI Technical Summary
In distributed molecular dynamics simulation calculations, traditional storage structures suffer from low access efficiency, loose storage structure, insufficient concurrent processing capabilities, and high overhead in maintaining data consistency, resulting in uneven distribution of particle data, low access efficiency, and severe concurrent conflicts.
A distributed storage model based on data access domain division is adopted to divide particle data into private access data and shared access data. Different organizational methods and transmission strategies are adopted according to their usage and access mode. Combined with the storage structure of particle multi-dimensional information separation and hierarchical data mapping and addressing methods, an efficient storage system is constructed.
It improves the efficiency of particle data access, reduces the latency of non-local data access, enhances the system's concurrent processing capabilities and data consistency maintenance efficiency, and improves the computing performance and scalability of distributed systems.
Smart Images

Figure CN120808910A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The application belongs to the technical field of molecular simulation calculation, and particularly relates to an efficient storage method and system for distributed molecular dynamics simulation calculation. BACKGROUND
[0002] Molecular dynamics (MD) simulation is an important method for studying the evolution of atoms, molecules and other microscopic particles under certain physical conditions through numerical calculation, and is widely used in fields such as material science, biomedicine and chemical reactions. With the rapid growth of simulation system size and particle number, single machine computing resources cannot meet the high requirements of computing performance and storage bandwidth, and distributed molecular dynamics simulation has become the mainstream development direction.
[0003] In a distributed simulation framework, particle data is divided and distributed among multiple computing nodes, and boundary information and force field calculation data of particles need to be frequently exchanged between nodes. In this process, the storage system not only needs to support high-concurrency read and write, but also must have a good data consistency maintenance mechanism and efficient data positioning access capability. However, the traditional storage structure generally faces the following problems:
[0004] Low access efficiency: particle data is distributed among multiple nodes, but the traditional storage structure lacks an optimization mechanism for particle access mode, resulting in high latency when frequently accessing non-local data.
[0005] Loose storage structure: particle data is not structured according to physical space location or access correlation, affecting access efficiency.
[0006] Insufficient concurrent processing capability: traditional storage controllers and access paths cannot effectively handle large-scale concurrent read and write requests, becoming a system bottleneck.
[0007] Large data consistency maintenance overhead: boundary particles and shared data need to be synchronized between multiple nodes, and traditional methods have problems of large overhead and low efficiency in consistency control. SUMMARY
[0008] The application provides an efficient storage method and system for distributed molecular dynamics simulation calculation, which at least solves one of the above technical problems, and specifically adopts the following technical solutions:
[0009] An efficient storage method for distributed molecular dynamics simulation calculation, comprising the following steps:
[0010] A distributed storage model based on data access domain division is constructed, and particles are uniformly distributed to different computing nodes through a space mapping mechanism according to the spatial coordinate information of the particles, and the data stored in the nodes is divided into private access data and shared access data, and different organization modes and transmission strategies are adopted according to the use and access mode;
[0011] A multi-dimensional information separation storage structure is adopted, and particle data is divided into static data and dynamic data, the static data includes the basic attributes of the particles and the initial setting information of the system, and the dynamic data includes the spatial position, velocity, acceleration and force state of the particles, and different storage structures are adopted for different types of data, such as a static parameter table, a particle data buffer, a velocity buffer and a force buffer;
[0012] A hierarchical data mapping and addressing method is adopted, and the storage and access of particle data are divided into simulation space level, computing node level and spatial grid level, each level is organized through a specific numbering rule to ensure effective distribution and efficient access of particle data.
[0013] Further, the private access data corresponds to the internal core area of the node, only participates in the local short-range calculation of the node, the data does not need to be transmitted between nodes, and does not participate in the boundary collaborative calculation;
[0014] The shared access data is located in the periphery of the private area, and is used for processing collaborative calculation and particle migration across nodes, and the particle data therein needs to be frequently exchanged with the data of adjacent nodes for short-range interaction calculation of boundary particles.
[0015] Further, the static data storage adopts a structured and high-efficiency query data structure, and particle species or global index is used as a key to realize fast access;
[0016] The dynamic data storage adopts a data structure supporting fast insertion, deletion and query to enhance the response capability of the system to high-frequency read-write operations.
[0017] Further, the static parameter table is used to store data types that have been determined during initialization of the simulation system and remain unchanged during the entire simulation process, and a static parameter table format is adopted, and particle species is used as an index, and different parameters are used as stored data.
[0018] The particle data buffer stores particle species, particle charge amount and particle position data that need to be completed in a large amount of transmission in MD simulation;
[0019] The velocity buffer stores the velocity information of the particles, and the particle index is used as an address associated with the particle data buffer;
[0020] The force buffer completes the data caching of particle force.
[0021] Further, the efficient storage method for distributed molecular dynamics simulation calculation adopts a fixed-point number-based storage system, and the numerical representation of the fixed-point number is fixed integer bits and fixed decimal bits.
[0022] Further, the particle information storage format includes particle space information storage format, particle velocity storage format and particle force storage format, the particle space information storage format occupies 18 bytes, and includes particle type, particle global index and particle space position three main parts, the particle velocity and force storage format is composed of three fields, respectively representing the velocity and force of the particle in three dimensions, and each dimension adopts 32-bit fixed-point number.
[0023] Further, at the simulation space level, the simulation space is uniformly divided into multiple three-dimensional cubes, and the data in each cube is mapped to a computing node through the computing node number;
[0024] At the computing node level, the particle data is further divided into multiple space lattices, and each space lattice has a unique number in the computing node;
[0025] At the space lattice level, the particle data in each space lattice is stored in a separate BRAM, and the storage address of the particle in the BRAM is the last layer addressing number.
[0026] Further, the computing node number is marked by using a sequential ID, and the three-dimensional distribution in the space is converted into a linear mapping, and the numbering mode of the space lattice is similar to that of the computing node.
[0027] An efficient storage system for distributed molecular dynamics simulation calculation includes a plurality of computing nodes, each computing node stores and manages particle data according to the storage method described above, and the computing nodes communicate data and cooperatively calculate through a network.
[0028] Further, the system further includes a storage management and scheduling module, which is responsible for scheduling the data in the storage to different caches according to the data private area and shared area for on-chip network and inter-chip network calling, and completing subsequent calculation.
[0029] The efficient storage method and system for distributed molecular dynamics simulation calculation solve the problems of uneven distribution of particle data and low access efficiency in the molecular dynamics simulation process.
[0030] Specifically, the efficient storage method and system for distributed molecular dynamics simulation calculation of the application, by constructing a distributed storage model based on data access domain, organizes data in nodes in different storage structures according to spatial relationship and access demand, reduces a large number of non-local read-write requests generated by accessing data, and improves read-write efficiency; secondly, the application also decouples particle metadata through the storage structure of particle multi-dimensional information separation, reduces unnecessary data transmission between distributed nodes, improves the efficiency of the distributed system and the read-write efficiency of the storage; according to the characteristics of molecular dynamics simulation calculation, a storage system based on fixed-point numbers is proposed, which reduces the storage loss while ensuring the calculation accuracy; finally, a set of data mapping methods and corresponding access methods are proposed to improve the access efficiency and accuracy. BRIEF DESCRIPTION OF DRAWINGS
[0031] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the drawings needed to be used in the embodiments or prior art description will be briefly introduced. Obviously, the drawings in the following description are only some embodiments of the present application, and for those skilled in the art, other drawings can also be obtained without creative labor.
[0032] Figure 1 The 2D plane distributed system data access domain schematic diagram of the application;
[0033] Figure 2 The distributed system storage data call topology schematic diagram of the application;
[0034] Figure 3 The multi-dimensional information separation storage structure schematic diagram of the application;
[0035] Figure 4 The data storage format schematic diagram of the application;
[0036] Figure 5 The hierarchical data mapping schematic diagram of the application. DETAILED DESCRIPTION
[0037] The embodiments of the present application will be described in detail below, and examples of the embodiments are shown in the drawings, wherein the same or similar reference signs represent the same or similar elements or elements with the same or similar functions throughout. The embodiments described below by referring to the drawings are exemplary and are intended to explain the present application, and cannot be understood as a limitation of the present application.
[0038] The present application discloses an efficient storage method for distributed molecular dynamics simulation calculation, comprising the following steps:
[0039] A distributed storage model based on data access domain division is constructed. According to the spatial coordinate information of the particles, the particles are uniformly distributed to different computing nodes through a spatial mapping mechanism. The data stored in the nodes is divided into private access data and shared access data, and different organization methods and transmission strategies are adopted according to the use and access mode.
[0040] A particle multi-dimensional information separation storage structure is adopted. The particle data is divided into static data and dynamic data. The static data includes the basic attributes of the particles and the initial setting information of the system. The dynamic data includes the spatial position, velocity, acceleration and force state of the particles. Different storage structures are adopted for different types of data, such as static parameter table, particle data buffer, velocity buffer and force buffer.
[0041] A hierarchical data mapping and addressing method is adopted. The storage and access of the particle data are divided into simulation space level, computing node level and spatial grid level. Each level is organized through a specific numbering rule to ensure effective distribution and efficient access of the particle data.
[0042] The efficient storage method disclosed in the application is directed to distributed molecular dynamics simulation calculation, and solves the problems of uneven distribution of particle data, low access efficiency and serious concurrent access conflict in large-scale simulation.
[0043] Specifically, in the distributed storage model based on data access domain division, first, according to the spatial coordinate information of the particles, the particles are uniformly distributed to different computing nodes through a spatial mapping mechanism. The particles stored in each node mainly participate in the calculation of local short-range interaction, and part of the particles also participate in the boundary calculation of short-range interaction of adjacent nodes as collaborative particles. According to the classical molecular dynamics simulation space division method, when each sub-space performs short-range interaction, it needs to access the particle information in the 26 adjacent grids around it. However, considering that a computing node usually takes charge of the calculation task of multiple sub-spaces, the actual required access neighborhood data of the node far exceeds the data amount contained in the 26 adjacent grids. Especially in three-dimensional space, the particle distribution is complex, the inter-node access dependence is enhanced, and higher requirements are put forward for the storage structure.
[0044] In the application, a hierarchical and classified data storage strategy is introduced. According to the access characteristics of the particle data, the data stored in the nodes is divided into private access data and shared access data, and different organization methods and transmission strategies are adopted according to the use and access mode to meet the needs of different particle data in local calculation and node collaborative calculation. Figure 1 A distributed system storage schematic diagram in a two-dimensional plane is given.
[0045] Specifically, assuming that the number of subspaces allocated in a computing node is i x j x k (i > 2, j > 2, k > 2), the storage of the data of the computing node is divided into the following two categories:
[0046] Node private area: The size of this area is (i-2) x (j-2) x (k-2) subspaces. It corresponds to the internal core area of the node. The particle data in this area only participates in the local short-range calculation of the node, and the data does not need to be transmitted between nodes, nor does it participate in the boundary collaborative calculation. Therefore, this area is completely managed by the intra-node scheduler, and network communication is not involved, thereby effectively reducing the communication delay and improving the execution efficiency of local calculation. With the increase of the number of subspaces allocated in the node, the proportion of the private area also increases, and the independence of node calculation is enhanced, but higher requirements are put forward for the computing and storage resources of the node.
[0047] Data sharing area: This area is located at the periphery of the private area and is used to handle the collaborative calculation and particle migration across nodes. The particle data in this area needs to be frequently exchanged with the data of adjacent nodes for the short-range interaction calculation of boundary particles. At the same time, during the simulation process, some particles in the shared area will move out of the space box to which the node belongs and migrate to the subspaces corresponding to adjacent nodes, so this area not only undertakes the task of collaborative calculation, but also involves the dynamic migration and synchronous update of particle state and position. This part is the core area of cross-node data transmission, and efficient network communication mechanism and scheduling strategy are needed to ensure the consistency and transmission efficiency of the data.
[0048] By dividing the particle data in the node into private and shared areas and using differentiated scheduling and transmission mechanisms for the two types of data, the application significantly improves the support capability of the data storage structure for simulation calculation tasks. On the one hand, the private area guarantees efficient local calculation and reduces communication overhead; on the other hand, the shared area optimizes the particle synchronization and migration mechanism to ensure the real-time performance and accuracy of the collaborative calculation between nodes. In addition, this data division model also effectively reduces the network bandwidth occupation and improves the network utilization. While ensuring the accuracy and efficiency of large-scale simulation calculation, it enhances the scalability and stability of the distributed system, and is suitable for long-time scale simulation requirements of various complex molecular systems.
[0049] In the distributed computing for MD simulation, the data of the local node is not only used for local node calculation, but also needs to be sent to surrounding nodes for auxiliary calculation. According to the distributed storage model based on data access domain, the data in the data sharing area needs to be distributed to other computing nodes through the inter-chip network for calculation.
[0050] The data calling topology is as follows: Figure 2As shown, the storage management scheduling module is responsible for scheduling the data in the storage according to the data private area and the shared area to different caches for the invocation of the on-chip network and the inter-chip network, and completing the subsequent calculation. In order to improve the invocation efficiency of the storage in the distributed system, it is necessary to use reasonable data structures and reasonable mapping of storage resources. According to the physical model and the calculation model of MD simulation, the data therein can be roughly classified into the following categories:
[0051] System information: indicates the main parameters of the simulation system.
[0052] Simulation calculation space: records the size of the simulation space, which does not change after the system is confirmed;
[0053] Calculation node index: records the index of different calculation nodes, and the index of each calculation node is uniquely determined in the system;
[0054] Space lattice index: records the index of different space lattices, which is unique in the system;
[0055] Particle information: records the relevant information of each particle in the simulation space.
[0056] Particle type: indicates the type of different particles;
[0057] Particle mass: indicates the mass of different particles;
[0058] Particle charge: indicates the amount of charge carried by the particle;
[0059] Particle intrinsic properties (sigma, epsilon): parameters used to describe the interaction between particles;
[0060] Particle space state (location): indicates the position of the particle in space, which is divided into three dimensions.
[0061] Particle force state: indicates the interaction force received by the particle in a particular simulation step.
[0062] Particle motion state: (speed, acceleration): indicates the speed and acceleration of the particle in space.
[0063] In this application, the data is further divided into static data and dynamic data according to its change characteristics and access requirements in the process of molecular dynamics simulation.
[0064] Static data refers to the type of data determined at the initialization of the simulation system and remains unchanged throughout the simulation process. This type of data mainly includes basic parameters of the simulation system, such as the basic properties of particles (mass, radius, type, etc.) and initial setting information of the system (such as simulation boundary, temperature control parameters, etc.). Since static data does not change during operation, it mainly faces read operations after data loading, and its storage can use structured and high-efficiency query data structures such as arrays or lookup tables. By using particle type or global index as the key, fast access to static parameters can be achieved, thereby reducing system complexity while ensuring access efficiency.
[0065] Dynamic data refers to data that is continuously updated and involved in calculations during the simulation process, including particle spatial position, velocity, acceleration, and force state. This type of data is not only updated frequently, but also often involves cross-node data synchronization and exchange in parallel simulation models, which puts higher requirements on read-write performance and transmission mechanisms. To support efficient processing of dynamic data, the application uses data structures that support fast insertion, deletion, and query, such as ring buffers and double-ended queues, to enhance the system's response capability to high-frequency read-write operations.
[0066] In view of the frequent exchange of dynamic data in a distributed environment, the application further proposes a multi-dimensional information separation storage model (as shown in Figure 3 Based on the access characteristics of different types of data during the simulation process, the model classifies and manages data in multiple dimensions according to their staticity, locality, and cross-node collaboration, thereby significantly reducing network communication burden while maintaining calculation accuracy. Specifically as follows:
[0067] Static parameter table: For particle mass, particle inherent properties, and other parameters, a static parameter table format is used. Since static parameters are related to particle types, different particles have different parameters, so the table uses particle types as indexes and different parameters as stored data.
[0068] Particle data buffer: This buffer stores data that needs to be transmitted in MD simulation. Particle index is used as the address of the buffer, and particle type, particle charge, and particle position data are stored in the content.
[0069] Velocity buffer: This buffer mainly stores particle velocity information. Similar to the particle data buffer, this buffer also uses particle index as the address. Particle information data and particle velocity data are associated through the uniqueness of the particle index.
[0070] Force buffer: Similar to the velocity buffer, this buffer mainly completes the data caching of particle force.
[0071] In the four data storage modes described above, the storage of dynamic data is divided into three categories, namely particle data buffer, velocity buffer and force buffer. Since the particle spatial information data needs to be transmitted between different computing units, even between different computing nodes, while the particle force information is the force condition of the local particle, and the velocity information only needs to be calculated locally, there is no need for transmission. Decoupling the particle spatial information data and the particle force data and the particle velocity data can effectively reduce unnecessary data transmission, and at the same time, the three types of data can independently complete read-write operations, which can improve the data read-write efficiency.
[0072] In the present application, the efficient storage method for distributed molecular dynamics simulation calculation adopts a fixed-point number-based storage system. The numerical representation of fixed-point numbers is a fixed number of integer bits and a fixed number of decimal bits.
[0073] Specifically, in common MD simulation software, floating-point numbers are widely used in systems with CPU or GPU as the main computing unit, because these general-purpose computing units have special floating-point computing units to support efficient floating-point operations, and can provide good performance in large-scale parallel computing.
[0074] A floating-point number D is composed of three parts, namely the sign bit S (Sign), the exponent E (Exponent) and the significant digits F (Fraction). The composition of a floating-point number D can be expressed as:
[0075] D float = S x F x 2 E
[0076] In order to adapt to more general computing, floating-point numbers expand their dynamic range through the exponent part. In scientific computing, numerical overflow is very dangerous and often brings huge deviation to the result, but for MD simulation, the simulated system is usually in a relatively small space, and the numerical range is limited. This makes the wide dynamic range of floating-point numbers unnecessary in MD simulation, and instead wastes a lot of resources.
[0077] The numerical representation of fixed-point numbers is a fixed number of integer bits and a fixed number of decimal bits, which can be expressed as follows:
[0078] D fix = IWL + FWL
[0079] Where IWL is the integer part of the fixed-point number, and FWL is the fractional part. Compared with floating-point numbers, the representation of fixed-point numbers is simpler and more convenient. In conventional computing, the biggest problem of fixed-point numbers is the limited numerical range, which depends entirely on the bit width of IWL. Increasing the numerical range can only increase the bit width of the integer part. However, fixed-point numbers have a significant advantage in MD simulation applications where the numerical range changes little but the fractional part needs to be expressed with high precision. First, fixed-point numbers can improve precision in certain cases. Since fixed-point numbers do not have an exponent part like floating-point numbers, they can use more bit width for the fractional part, which means that within a smaller numerical range, fixed-point numbers can provide more accurate fractions, thereby improving precision. Second, fixed-point numbers can improve computational efficiency. Since floating-point numbers require complex exponent operations during calculation, fixed-point numbers avoid these operations and can perform more efficient calculations. At the same time, fixed-point numbers can also save computing resources. Since fixed-point numbers do not have exponent bits, they can represent the same precision data with fewer bits, which can significantly reduce data storage requirements and computing resources. In terms of numerical stability, fixed-point numbers also have their advantages. Since the fractional part of fixed-point numbers is fixed within the numerical range, it has higher stability in numerical terms, while floating-point numbers can bring numerical instability and precision loss when representing different data.
[0080] The particle storage format can directly determine the efficiency of storage. According to the storage model, the corresponding particle information storage format is designed and constructed, and the specific storage format is as shown in Figure 4 The particle space information is the key data in simulation calculation and data transmission, and its storage format is as shown in Figure 4 (a). The format occupies 18 bytes and includes three main parts: particle type, particle global index, and particle space position. The particle type field occupies 16 bits, which is stored in two fields: Type0 stores the type of the particle, and Type1 stores the isotope or variant information of the particle. The particle global index occupies 32 bits and remains unchanged during the simulation process, which is used to uniquely identify each particle. The particle space position is composed of three fields, which represent the relative position of the particle in three dimensions, and each dimension uses a 28-bit fixed-point number. The storage formats of particle velocity and force are as shown in Figure 4 (b) and Figure 4 (c), respectively. Their storage structures are similar and are composed of three fields, which represent the velocity and force of the particle in three dimensions, and each dimension uses a 32-bit fixed-point number.
[0081] Efficient data addressing and access strategy is the key to improving the parallelism and overall performance of simulation calculation. Since in a distributed computing environment, the particle data in the simulation space is distributed in different storage units of each computing node, it is necessary to construct a reasonable data mapping and addressing mechanism to achieve efficient data access operations.
[0082] Based on the distributed computing model and the spatial decomposition strategy, the application proposes a hierarchical data mapping and addressing method to optimize the efficiency of data storage and access, and further improve the computing performance and scalability of the system. The proposed hierarchical data mapping method divides the storage and access of particle data into three layers, as shown in Figure 5 , which are simulation space level, computing node level and spatial grid level respectively. Each layer is organized through a specific numbering rule to ensure effective distribution and efficient access of particle data.
[0083] The specific mapping and access method is as follows:
[0084] Simulation space level: The simulation space contains all simulation-related data, which will be evenly divided into multiple three-dimensional cubes. The data in each cube will be mapped to a computing node. Each piece of data is numbered by the computing node number, which follows a certain rule and is unique. This mapping method ensures that the workload of each computing node is similar, thereby improving the efficiency of parallel computing.
[0085] Computing node level: Within each computing node, particle data will be further divided into multiple spatial grids, and the size of the spatial grid depends on the external parameters of the simulation calculation (such as the cutoff radius). Each spatial grid has a unique number in the computing node. Multiple spatial grids support parallel read and write operations to improve efficiency.
[0086] Spatial grid level: The particle data in each spatial grid will be stored in a separate BRAM. The storage address of the particle in the BRAM is the last layer of addressing number, which is independent and unique in the BRAM, and can be accessed quickly through the address to the local storage.
[0087] When numbering the computing nodes, the application uses sequential ID to mark all computing nodes, converting the three-dimensional distribution in space to linear mapping, and the mapping method is as follows:
[0088] NID=kN x N y +jN y +i
[0089] where N x , N y are the number of nodes distributed in the x-axis and y-axis of the entire simulation space, and i, j, k are the coordinates of the computing node in the three-dimensional space. The numbering of the spatial grid is similar to the numbering of the computing node:
[0090] CID=zC x C y +yC y +x
[0091] where C x , C y are the number of spatial lattices distributed in x and y axes in the computing node respectively, and x, y, z are the coordinates of the spatial lattices in the data three-dimensional decomposition of the computing node. The last level of the numbered address Index is the address of the particle stored in the BRAM. Through the numbering mechanism of the above three layers, the hierarchical data mapping method designed in this paper can ensure that any node, spatial lattice and particle in the simulation space can be quickly located and accessed through the corresponding numbering method. This method not only supports efficient storage and access of data, but also effectively improves the performance of parallel computing.
[0092] The application also discloses an efficient storage system for distributed molecular dynamics simulation calculation, comprising a plurality of computing nodes, each computing node storing and managing particle data according to the preceding storage method, and the computing nodes communicating data and cooperatively computing through a network.
[0093] Further, the system further comprises a storage management and scheduling module, which is responsible for scheduling the data in the storage to different caches according to the data private area and the shared area for the on-chip network and the inter-chip network to call, and completing subsequent computing.
[0094] For on-chip resource consumption, system throughput and network bandwidth utilization, the centralized storage and the separated storage structure of the application are compared and analyzed. The application constructs different numbers of subspaces, each of which reserves a depth of 512, and evaluates the main resource consumption and throughput of the centralized storage and the separated storage. The implementation results are as follows:
[0095] Table 1 Resource usage and throughput of centralized storage and distributed storage
[0096]
[0097] The results show that in terms of storage resource utilization, the centralized storage architecture has a 20% improvement compared with the separated storage through the optimization of the reuse mechanism of the BRAM fragment space. Although the information-coupled storage can improve the resource utilization, the separated storage is much higher than the centralized storage in terms of throughput. The centralized storage couples the particle information, speed information and force information for storage, resulting in different types of data processing in each storage unit, and the number of read-write interfaces of the storage resource is limited, which will seriously restrict the parallel access capability. In contrast, the separated storage of the application uses independent channels to process different data types, and realizes linear expansion of the data access channel by increasing the number of storage units, thereby obtaining higher concurrent throughput. For MD, higher concurrent throughput can significantly improve the computing efficiency.
[0098] The above shows and describes the basic principles, main features and advantages of the present application. Those skilled in the art should understand that the above embodiments do not limit the present application in any form, and any technical solutions obtained by equivalent replacement or equivalent transformation fall within the protection scope of the present application.
Claims
1. An efficient storage method for distributed molecular dynamics simulation calculations, characterized in that: The following steps are involved: A distributed storage model based on data access domain partitioning is constructed. Based on the spatial coordinate information of particles, particles are evenly distributed to different computing nodes through a spatial mapping mechanism. The data stored in the nodes is divided into private access data and shared access data. Different organization methods and transmission strategies are adopted according to their usage and access mode. A storage structure that separates particle multi-dimensional information is used to divide particle data into static data and dynamic data. The static data includes the basic properties of the particles and the initial settings of the system, and the dynamic data includes the spatial position, velocity, acceleration, and force state of the particles. Different storage structures are used for different types of data, such as static parameter tables, particle data buffers, velocity buffers, and force buffers. A hierarchical data mapping and addressing method is adopted to divide the storage and access of particle data into simulation space level, computing node level and spatial grid level. Each level is organized by a specific numbering rule to ensure the effective distribution and efficient access of particle data.
2. The efficient storage method for distributed molecular dynamics simulation calculation according to claim 1, characterized in that: The private access data corresponds to the core area inside the node and only participates in the local short-range calculation of the node. The data does not need to be transmitted between nodes and does not participate in boundary collaborative calculations; The shared access data is located outside the private area and is used to process cross-node collaborative computing and particle migration. The particle data within it needs to be frequently exchanged with the data of adjacent nodes for short-range interaction computing of boundary particles.
3. The efficient storage method for distributed molecular dynamics simulation calculation according to claim 1, characterized in that: The static data storage adopts a structured and efficient data structure, and uses particle type or global index as a keyword to achieve fast access; The dynamic data storage adopts a data structure that supports fast insertion, deletion and query to enhance the system's responsiveness to high-frequency read and write operations.
4. The efficient storage method for distributed molecular dynamics simulation calculation according to claim 1, characterized in that: The static parameter table is used to store data types that are determined when the simulation system is initialized and remain unchanged throughout the simulation process. It adopts a static parameter table format, with particle types as indexes and different parameters as stored data. The particle data buffer stores the particle types, particle charges and particle position data that need to be transmitted in large quantities in the MD simulation; The velocity buffer stores the velocity information of the particles and is associated with the particle data buffer via the particle index as an address; The force buffer area completes the data cache of the particle forces.
5. The efficient storage method for distributed molecular dynamics simulation calculation according to claim 1, characterized in that: The efficient storage method for distributed molecular dynamics simulation calculations adopts a storage system based on fixed-point numbers, where the numerical representation of the fixed-point numbers is a fixed number of integer digits and a fixed number of decimal digits.
6. The efficient storage method for distributed molecular dynamics simulation calculation according to claim 5, characterized in that: The particle information storage format includes a particle space information storage format, a particle velocity storage format, and a particle force storage format. The particle space information storage format occupies 18 bytes and contains three main parts: particle type, particle global index, and particle spatial position. The particle velocity and force storage formats are composed of three fields, respectively representing the velocity and force conditions of the particle in three dimensions, and each dimension uses a 32-bit fixed-point number.
7. The efficient storage method for distributed molecular dynamics simulation calculation according to claim 1, characterized in that: At the simulation space level, the simulation space is evenly divided into multiple three-dimensional cubes, and the data in each cube is mapped to a computing node, which is numbered by the computing node number; At the computational node level, particle data is further divided into multiple spatial grids, each of which has a unique number in the computational node; At the spatial grid level, the particle data in each spatial grid is stored in a separate BRAM, and the storage address of the particle in the BRAM is the last level addressing number.
8. An efficient storage system for distributed molecular dynamics simulation calculations, characterized by: The method comprises a plurality of computing nodes, each of which stores and manages particle data according to the storage method according to any one of claims 1 to 7, and the computing nodes communicate data and perform collaborative computing through a network.
9. The efficient storage system for distributed molecular dynamics simulation calculations according to claim 8, characterized in that: The system also includes a storage management scheduling module, which is responsible for scheduling the data in the storage to different caches according to the data private area and shared area for calling by the on-chip network and the inter-chip network, and completing subsequent calculations.
Citation Information
Patent Citations
Memory access optimization method and device applied to molecular dynamics simulation software
CN112069091A
Processing device, processing system, processing method, program, and recording medium
JP2020064560A
Approaches and architectures for computation of particle interactions
US20080243452A1
Cited By
Molecular dynamics calculation device based on distributed storage
CN121075458A