CN109377510B - Particle tracking method and system on supercomputing cluster - Google Patents
Particle tracking method and system on supercomputing cluster Download PDFInfo
- Publication number
- CN109377510B CN109377510B CN201811057918.4A CN201811057918A CN109377510B CN 109377510 B CN109377510 B CN 109377510B CN 201811057918 A CN201811057918 A CN 201811057918A CN 109377510 B CN109377510 B CN 109377510B
- Authority
- CN
- China
- Prior art keywords
- particle
- node
- tracking
- module
- nodes
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 239000002245 particle Substances 0.000 title claims abstract description 317
- 238000000034 method Methods 0.000 title claims abstract description 30
- 238000004364 calculation method Methods 0.000 claims abstract description 45
- 239000012530 fluid Substances 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008092 positive effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30241—Trajectory
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
The invention discloses a particle tracking method and a particle tracking system on a supercomputing cluster, wherein all nodes in the supercomputing cluster execute the following steps: step 1, analyzing a particle file, and reading particle information in sequence; step 2, judging whether the particle belongs to the node or not based on the initial position coordinate of the particle; if yes, step 3, loading the particles to a particle queue; step 4, repeating the steps 1 to 3 until the particle file is completely read; step 5, creating a particle receiving thread to receive particle information sent by other nodes; and 6, performing particle tracking calculation based on the particle queue. When each node reads the particle file, only the particles belonging to the tracking range of the node are loaded, and after the particles which are responsible for tracking of the node are loaded, the node creates a particle receiving thread to receive the particle information sent by other nodes, so that the sending and receiving of the particle information are carried out in parallel, and the computing speed of executing particle tracking computation on the cluster is improved.
Description
Technical Field
The invention belongs to the technical field of particle tracking calculation, and particularly relates to a particle tracking method and a particle tracking system on a supercomputing cluster.
Background
In computers, clusters (clusters) are systems that use multiple computing units, such as typical personal computers or UNIX workstations, multiple storage devices and memory-redundant interconnects to make a single, highly available system to users; or, a cluster is a group of mutually independent computers interconnected through a network, which form a group and are managed in a single system mode; a client interacts with a cluster, which appears as a stand-alone server. By means of clustering techniques, relatively high gains in performance, reliability, flexibility can be achieved at low cost.
In fluid mechanics, there are two methods for describing fluid motion, the euler method and the lagrangian method; the eulerian method describes the distribution of various variables in fluency at any moment, while the lagrangian method is to track the motion trajectory of each particle from a certain moment. The Lagrange particle tracking algorithm can simulate the moving track of a floater in ocean current, and the influence of particles on the ocean can be researched by simulating the moving track of the particles.
In practical applications, after adding the lagrangian particle tracking method to open source code such as sunsets, when executed on a cluster, each node in the cluster is responsible for the computation of the tracking of particles within a region or range, then based on the characteristics of the particles moving with the fluid model, the particles within the region or range for which a node is responsible, may leave the area or range, or may enter the area or range that other nodes are responsible for, and therefore, after each node in the cluster is loaded with the particle and completes the tracking calculation task of the node, the particle of the node may not be in the tracking range of the node, then particle-switched communications with other peer nodes, sending and receiving particles to and from other nodes, the particle transformation nodes are caused to perform subsequent tracking calculation, and the calculation with large data volume can cause the problem of slower calculation speed.
Disclosure of Invention
The application provides a particle tracking method and a particle tracking system on a supercomputing cluster, which solve the technical problem of low calculation speed in the existing cluster for executing particle tracking calculation.
In order to solve the technical problems, the application adopts the following technical scheme:
a particle tracking method on a supercomputing cluster is provided, which comprises the following steps: all nodes in the supercomputing cluster perform the following steps: step 1, analyzing a particle file, and reading particle information in sequence; step 2, judging whether the particle belongs to the node or not based on the initial position coordinate of the particle; if yes, step 3, loading the particles to a particle queue; step 4, repeating the steps 1 to 3 until the particle file is completely read; step 5, creating a particle receiving thread to receive particle information sent by other nodes; and 6, performing particle tracking calculation based on the particle queue.
The particle tracking system comprises a reading module, a judging module, a loading module, a particle tracking module and a receiving thread creating module; for all nodes of the super-computation cluster, the reading module is used for analyzing the particle file and reading the particle information in sequence; the judging module is used for judging whether the particle belongs to the node or not based on the initial position coordinate of the particle; the loading module is used for loading the particles to the particle queue; the particle tracking module is used for executing particle tracking calculation based on the particle queue after the particle file is read; and the receiving thread creating module is used for creating a particle receiving thread to receive the particle information sent by other nodes after the particle file is read.
Compared with the prior art, the application has the advantages and positive effects that: in the particle tracking method and system on the supercomputing cluster, supercomputing cluster nodes are established as a grid model, each grid corresponds to one node, and then a node range is determined; when each node loads particles, different from the loading of all particles in the prior art, the method judges whether the particles belong to the node tracking range or not through the initial position coordinates of the particles before loading, if the particles belong to the node tracking range, the particles are loaded into a particle queue, and if the particles do not belong to the particle queue, the particles are discarded, so that the number of the nodes for loading the particles is reduced, the use amount of a memory is reduced, the judgment calculation amount in subsequent tracking calculation is reduced, the exchange amount and the communication time of particle information exchanged by the subsequent nodes are reduced, and the calculation speed of performing the particle tracking calculation on a cluster can be obviously improved; on the other hand, after the particle which is taken charge of tracking by the node is loaded, the node creates a particle receiving thread, the particle tracking calculation is carried out on the computing thread based on the particle queue, meanwhile, the particle information sent by other nodes can be received, and the computing thread comprises a step of sending the particle information to other nodes.
Other features and advantages of the present application will become more apparent from the detailed description of the embodiments of the present application when taken in conjunction with the accompanying drawings.
Drawings
FIG. 1 is a flow chart of a method for particle tracking on supercomputing clusters proposed in the present application;
FIG. 2 is a block diagram of a mesh model proposed in the present application;
fig. 3 is a system block diagram of a particle tracking system on a supercomputing cluster as proposed in the present application.
Detailed Description
The following describes embodiments of the present application in further detail with reference to the accompanying drawings.
The particle tracking method on the supercomputing cluster aims to achieve the effects of reducing data processing amount and improving computing speed by combining judgment before loading particles and a technical means of parallelly receiving and sending particle information, and concretely, as shown in fig. 1, the following steps are executed for all nodes in the supercomputing cluster:
step S1: and analyzing the particle file and reading the particle information in sequence.
The particle file is a list in which information on all particles, for example, information on the number, structure, initial position coordinates, and the like of the particles are described, and corresponds to information on one particle per line.
Each node, when reading the particle file, sequentially reads the particle information line by line, and after reading one line of the particle information, performs step S2: and judging whether the particle belongs to the node or not based on the initial position coordinates of the particle.
And analyzing the initial position coordinates of the particles from the particle information, and judging whether the particles belong to the particles tracked by the node according to the initial position coordinates.
In the embodiment of the present application, before tracking particle calculation, a mesh model of an supercomputing cluster node is established, and each mesh in the mesh model is set to correspond to one node, where each node is responsible for tracking calculation of particles in a certain area or range, that is, a range of each node needs to be set according to the mesh model, and only particles in the range are tracked, the mesh model given in the embodiment shown in fig. 2 includes four meshes 1, 2, 3, and 4, each mesh corresponds to one node, the range of each node is 0.5, where the range of node 1 is from 0 to 0.5, and the rest of the nodes are analogized.
Defining the structure of the particles, and determining the initial position of each particle in the sum range of all nodes, namely in the established grid model; when the particle is read and the initial position coordinate of the particle is analyzed, the node range in which the particle is positioned can be determined according to the initial position coordinate, and therefore whether the particle belongs to the range to be processed by the reading node can be determined.
As a preferred embodiment, each mesh is divided into a plurality of triangles, each triangle defines a range, and each triangle is numbered, that is, an ID is assigned to each triangle, after the particle information is read and the initial position coordinates of the particle are analyzed, it is first judged in which triangle range the particle falls, so that the ID of the triangle to which the particle belongs can be determined, and finally, whether the particle belongs to the node is judged based on the ID of the triangle, so that the search range of the initial position coordinates of the particle is narrowed, and the judgment efficiency is improved.
If the particle is judged to belong to the processing range of the node, the particle is judged to belong to the processing range of the node
Step S3: loading particles into a particle queue; if not, discarding and not loading; repeating the steps S1 to S3, reading a row of particle information in sequence, and judging whether the particle information belongs to the processing range of the node, if the particle information belongs to the processing range of the node, loading the particle information into the particle queue of the node, and if the particle information does not belong to the processing range, discarding the particle information until the particle file is read completely.
After the particle file is read, the following two steps are executed in parallel, step S4: creating a particle receiving thread to receive particle information sent by other nodes; and step S5, performing particle tracking calculation based on the particle queue.
After the particle file is read and the particle queue belonging to the processing range of the node is loaded, each node in the grid model starts to execute particle tracking calculation, and a particle receiving thread belonging to the node is established, so that particle information sent by other nodes is received while tracking calculation is carried out.
As can be seen from the above, in the particle tracking method on the supercomputing cluster provided by the present application, when each node loads particles, unlike the prior art in which all particles are loaded, the present application determines, before loading, whether the particles belong to the node tracking range according to the initial position coordinates of the particles, if the particles belong to the node tracking range, the particles are loaded into the particle queue, and if the particles do not belong to the particle queue, the particles are discarded, so that the number of the particles loaded by the nodes is reduced, the amount of memory usage can also be reduced, the determination calculation amount in the subsequent tracking calculation, and the exchange amount and communication time of particle information exchanged by the subsequent nodes are reduced, thereby significantly increasing the calculation speed for performing the particle tracking calculation on the cluster, and solving the technical problem that the calculation speed is slow in performing the particle tracking calculation on the existing cluster.
On the other hand, after the particle that the node is responsible for tracking is loaded, the node creates a particle receiving thread, and the particle tracking calculation is performed by the computing thread based on the particle queue, and the particle information sent by other nodes can be received at the same time, in the present application, after the particle tracking calculation is performed in step S5, step S6 is further performed: and judging whether the particles subjected to the particle tracking calculation belong to the node or not, if the particles do not belong to the tracking range of the node due to the movement of the particles along with the fluid, sending the particle information which does not belong to the node after the particle tracking is performed to other nodes, and if so, sending the particle information to other nodes in the step S5.
Due to the characteristic that the particle runs along with the fluid, the particle may move to the range where other nodes are responsible for calculation after the node performs tracking calculation, and there is also another node that moves to the range where the node performs tracking calculation after the other nodes perform tracking, so that after a node performs particle tracking, in addition to sending out part of the particles of the node, the node also receives the particles sent from other nodes, in step S4 of this embodiment of the present application, after the particle receiving thread is created, the particle receiving thread performs step S7: receiving particle information sent from other nodes, and judging whether the received particles belong to the node; if yes, the received particle is loaded to the particle queue and step S5 is executed.
As can be seen from the above, the particle receiving thread is created so that the sending and receiving of the particle information are performed in parallel in the present application, which further increases the computation speed of performing the particle tracking computation on the cluster.
Based on the above-mentioned particle tracking method on the supercomputing cluster, the present application also provides a particle tracking system on the supercomputing cluster, where the supercomputing cluster includes a plurality of nodes 3, and as shown in fig. 3, the system includes a reading module 31, a determining module 32, a loading module 33, a particle tracking module 34, and a receiving thread creating module 35.
For all nodes 3 of the supercomputing cluster, the reading module 31 is used for analyzing the particle file and reading the particle information in sequence; the judging module 32 is configured to judge whether the particle belongs to the node based on the initial position coordinate of the particle; the loading module 33 is used for loading particles to the particle queue; the particle tracking module 34 is configured to perform particle tracking calculation based on the particle queue after the particle file is read; the receiving thread creating module 35 is configured to create a particle receiving thread to receive particle information sent by other nodes after the particle file is read.
The system further comprises a mesh model building module 36, a particle structure defining module 37 and a particle initial position determining module 38; the grid model establishing module 36 is used for establishing a grid model of the supercomputing cluster nodes; the particle structure defining module 37 is used for defining the particle structure; particle initial position determination module 38 is used to determine the initial position of each particle in the mesh model based on the particle structure.
Specifically, the mesh model establishing module 36 includes a setting unit 361 and a mesh dividing unit 362; the setting unit 361 is configured to set each grid corresponding to a node, and set a node range; the mesh dividing unit 362 is configured to divide each mesh into a plurality of triangles; the determining module 32 is specifically configured to determine, based on the initial position coordinates of the particle, an ID of a triangle to which the particle belongs; and judging whether the particle belongs to the node or not based on the ID of the triangle.
In this embodiment, the particle receiving thread is specifically configured to, after receiving particle information sent by another node, determine whether a received particle belongs to the node, if so, load the received particle to the particle queue, and if not, discard the received particle.
In the embodiment of the present application, the particle tracking module 34 includes a particle sending unit 341, configured to determine whether the particle that has been subjected to the particle tracking calculation belongs to the node, and if not, send particle information that does not belong to the node after the particle tracking is performed to another node.
The particle tracking method of the particle tracking system in the supercomputing cluster has been described in detail in the above-mentioned particle tracking method in the supercomputing cluster, and is not described herein again.
According to the particle tracking method and system on the supercomputing cluster, when each node loads particles, whether the particles belong to the node tracking range is judged through the initial position coordinates of the particles, if the particles belong to the node tracking range, the particles are loaded into the particle queue, and if the particles do not belong to the particle queue, the particles are discarded, so that the number of the nodes for loading the particles is reduced, the use amount of a memory can be reduced, the judgment calculation amount in subsequent tracking calculation is reduced, the exchange amount and the communication time of particle information exchanged by the subsequent nodes are reduced, and the calculation speed of performing the particle tracking calculation on the cluster can be obviously improved; after the particle which is used for tracking by the node is loaded, the node creates a particle receiving thread, the particle tracking calculation is carried out on the computing thread based on the particle queue, meanwhile, the particle information sent by other nodes can be received, and the computing thread comprises a step of sending the particle information to other nodes.
It should be noted that the above description is not intended to limit the present invention, and the present invention is not limited to the above examples, and those skilled in the art should also make changes, modifications, additions or substitutions within the spirit and scope of the present invention.
Claims (10)
1. A method for particle tracking on a supercomputing cluster, comprising:
all nodes in the supercomputing cluster perform the following steps:
step 1, analyzing a particle file, and reading particle information in sequence;
step 2, judging whether the particle belongs to the node or not based on the initial position coordinate of the particle; if so,
step 3, loading the particles to a particle queue;
step 4, repeating the steps 1 to 3 until the particle file is completely read;
step 5, creating a particle receiving thread to receive particle information sent by other nodes; and the number of the first and second groups,
and 6, executing particle tracking calculation based on the particle queue.
2. The method for particle tracking on supercomputing clusters according to claim 1, characterized in that before step 1, the method further comprises:
establishing a grid model of the super-computation cluster nodes and defining a particle structure;
an initial position of each particle in the mesh model is determined based on the particle structure.
3. The method for particle tracking on supercomputing clusters according to claim 2, characterized in that the establishing of the mesh model of supercomputing cluster nodes is specifically:
setting a node corresponding to each grid, and setting a node range;
dividing each grid into a plurality of triangles;
the step 2 specifically comprises: judging the ID of the triangle to which the particle belongs based on the initial position coordinates of the particle; and judging whether the particle belongs to the node or not based on the ID of the triangle.
4. The method for particle tracking on supercomputing clusters according to claim 1, characterized in that after step 5, the method further comprises:
step 7, receiving particle information sent by other nodes, and judging whether the received particles belong to the node; if yes, loading the received particles into the particle queue and executing the step 5.
5. The method for particle tracking on supercomputing clusters according to claim 1, characterized in that after step 6, the method further comprises:
step 61: judging whether the particle subjected to the particle tracking calculation belongs to the node; and if not, sending the particle information which does not belong to the node after the particle tracking calculation is executed to other nodes.
6. The particle tracking system on the super-computation cluster comprises a plurality of nodes and is characterized by comprising a reading module, a judging module, a loading module, a particle tracking module and a receiving thread creating module;
for all nodes of the super-computation cluster, the reading module is used for analyzing the particle file and reading the particle information in sequence; the judging module is used for judging whether the particle belongs to the node or not based on the initial position coordinate of the particle; the loading module is used for loading the particles to the particle queue; the particle tracking module is used for executing particle tracking calculation based on the particle queue after the particle file is read; and the receiving thread creating module is used for creating a particle receiving thread to receive the particle information sent by other nodes after the particle file is read.
7. The particle tracking system on a supercomputing cluster of claim 6, further comprising a mesh model building module, a particle structure definition module and a particle initial position determination module;
the grid model establishing module is used for establishing a grid model of the super-computation cluster nodes; the particle structure defining module is used for defining a particle structure; the particle initial position determining module is used for determining the initial position of each particle in the grid model based on the particle structure.
8. The particle tracking system on a supercomputing cluster of claim 7, wherein the mesh model building module includes a setting unit and a meshing unit;
the setting unit is used for setting each grid to correspond to one node and setting a node range; the grid dividing unit is used for dividing each grid into a plurality of triangles; the judging module is specifically configured to judge, based on the initial position coordinates of the particles, the ID of the triangle to which the particles belong; and judging whether the particle belongs to the node or not based on the ID of the triangle.
9. The particle tracking system on a supercomputing cluster according to claim 6, wherein the particle receiving thread is specifically configured to, after receiving particle information sent by another node, determine whether a received particle belongs to the node, and if so, load the received particle into the particle queue.
10. The particle tracking system on a supercomputing cluster of claim 6, wherein the particle tracking module comprises a particle sending unit;
and the particle sending unit is used for judging whether the particle subjected to the particle tracking calculation belongs to the node, and if not, sending particle information which does not belong to the node after the particle tracking calculation is performed to other nodes.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811057918.4A CN109377510B (en) | 2018-09-11 | 2018-09-11 | Particle tracking method and system on supercomputing cluster |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811057918.4A CN109377510B (en) | 2018-09-11 | 2018-09-11 | Particle tracking method and system on supercomputing cluster |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109377510A CN109377510A (en) | 2019-02-22 |
CN109377510B true CN109377510B (en) | 2021-07-09 |
Family
ID=65405013
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811057918.4A Expired - Fee Related CN109377510B (en) | 2018-09-11 | 2018-09-11 | Particle tracking method and system on supercomputing cluster |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109377510B (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111507005B (en) * | 2020-04-20 | 2023-08-29 | 中国气象局广州热带海洋气象研究所(广东省气象科学研究所) | Method for automatically extracting program from backward steam tracking result target area information |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106092496A (en) * | 2016-06-14 | 2016-11-09 | 上海交通大学 | For the APDSMC flow field detection method flowed across yardstick |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140002617A1 (en) * | 2012-06-27 | 2014-01-02 | The Board Of Trustees Of The University Of Illinois | Particle tracking system and method |
-
2018
- 2018-09-11 CN CN201811057918.4A patent/CN109377510B/en not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106092496A (en) * | 2016-06-14 | 2016-11-09 | 上海交通大学 | For the APDSMC flow field detection method flowed across yardstick |
Non-Patent Citations (2)
Title |
---|
《A SUNTANS-based unstructured grid local exact particle tracking model》;Guangliang Liu 等;《Ocean Dynamics》;20160411;全文 * |
《高可扩展格子Boltzmann方法》;徐磊 等;《航空计算技术》;20170131;第47卷(第1期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109377510A (en) | 2019-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Jin et al. | A systems approach to evolutionary multiobjective structural optimization and beyond | |
CN105205205A (en) | Method for FPGA coarse-grained parallel wiring based on optimal division of netlist position information | |
Wesolowski et al. | Tram: Optimizing fine-grained communication with topological routing and aggregation of messages | |
CN112613243B (en) | Method, device and computer readable storage medium for hydrodynamic simulation | |
Xu et al. | Efficient graph-based dynamic load-balancing for parallel large-scale agent-based traffic simulation | |
CN109377510B (en) | Particle tracking method and system on supercomputing cluster | |
CN105493024B (en) | A kind of data threshold prediction technique and relevant apparatus | |
CN115270500A (en) | Boolean difference calculation method and device and electronic equipment | |
CN113535381B (en) | Service function chain mapping method, device and equipment based on improved genetic algorithm | |
Hofmann | Multi-Chip Dataflow Architecture for Massive Scale Biophyscially Accurate Neuron Simulation | |
CN107479968B (en) | Load balancing method and system for incremental calculation of dynamic graph | |
CN106990913B (en) | A kind of distributed approach of extensive streaming collective data | |
CN112925627A (en) | Graph sampling and random walk accelerating method and system based on graph processor | |
US10484249B1 (en) | Dynamic distribution of simulation load | |
CN106411971B (en) | Load adjusting method and device | |
Márquez et al. | A load balancing schema for agent-based spmd applications | |
Li et al. | Joint optimization of auto-scaling and adaptive service placement in edge computing | |
CN106874215B (en) | Serialized storage optimization method based on Spark operator | |
CN114363988A (en) | Clustering method and device and electronic equipment | |
JP2008299641A (en) | Parallel solving method of simultaneous linear equations and node sequencing method | |
Sharifi et al. | A queueing model for video analytics applications of smart cities | |
Li et al. | Optimizing machine learning on apache spark in HPC environments | |
US10970430B2 (en) | Computer-readable recording medium, computing machine resource allocation method, and particle simulation apparatus | |
CN103106103A (en) | Requesting information classification method and device | |
CN101064685A (en) | Agent allocation program, method and apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20210709 |