CN109377510B - Particle tracking method and system on supercomputing cluster - Google Patents

Particle tracking method and system on supercomputing cluster Download PDF

Info

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
Application number
CN201811057918.4A
Other languages
Chinese (zh)
Other versions
CN109377510A (en
Inventor
王勇
刘光亮
苏亮
贾东宁
桂琳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qingdao National Laboratory for Marine Science and Technology Development Center
Original Assignee
Qingdao National Laboratory for Marine Science and Technology Development Center
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Qingdao National Laboratory for Marine Science and Technology Development Center filed Critical Qingdao National Laboratory for Marine Science and Technology Development Center
Priority to CN201811057918.4A priority Critical patent/CN109377510B/en
Publication of CN109377510A publication Critical patent/CN109377510A/en
Application granted granted Critical
Publication of CN109377510B publication Critical patent/CN109377510B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30241Trajectory

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

Particle tracking method and system on supercomputing cluster
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.
CN201811057918.4A 2018-09-11 2018-09-11 Particle tracking method and system on supercomputing cluster Expired - Fee Related CN109377510B (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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