Abstract

The Monotonic Logical Grid (MLG) data structure is compared to alternative data structures for tasks relevant to computing the dynamics of N moving objects. The tasks include identifying near neighbors of designated nodes, retrieving information on the near neighbors, and ordering this information according to distances of the associated near neighbors from the designated nodes. The test model consists of a collection of $N = 64{\text{K}}$ (65,536) noninteracting objects with randomly initialized velocities. The calculations took place on the Naval Research Laboratory (NRL) Cray X-MP computer, which has a hardware gather-scatter capability. The comparisons include two types of alternative data structures for which the indexing is static (the data corresponding to each node always have the same index and memory locations). Data structure “Type 1” carries no additional information or “pointers” that could identify the near neighbors of each node. Data structure “Type 2” does carry coarse information on near neighbors by maintaining linked lists or a related system of “pointers” that change with the motion of nodes in time. The numerical tests presented show that the MLG data structure is vastly superior to the Type 1 data structure when near-neighbor information is needed for a large number $N_f $ of designated or “focal” nodes. This occurs because the process of identifying near neighbors requires $N_f $ identical sorting or partitioning processes per frame (or timestep) in the case of Type 1 data structures while only one sort per frame is necessary to maintain the ordering of data in the MLG data structure. In addition, the MLG is superior for the task of finding some number $M_{nn} $ of the nearest neighbors for each of $N_f $ focal nodes, where $M_{nn} \ll N$ and $N_f \sim N$. The MLG provides several advantages over Type 2 data structures, even though the respective operation counts are quite similar. The advantages include efficiency of memory allocation and memory management, smaller memory requirements, vectorizability and parallel partitioning on a wide variety of computer architectures, and simplicity of programming. The last property should lead to computer software with a reduced error rate and code that is more amenable to revision.

Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.