Skip to content
BY-NC-ND 3.0 license Open Access Published by De Gruyter Open Access March 28, 2012

Scalable n-body event prediction

  • Steven Braeger EMAIL logo , Nicholas Arnold and Damian Dechev
From the journal Open Computer Science


The general simulation of n-body systems often requires the simulation of pairwise interaction events between the objects. The naive method of simulating these events is an algorithm that polls each pair of objects for an interaction every time step. This algorithm has O(n 2)operations per time step in the number of objects. However, this method scales very well to multiple cores. In this paper, we propose a novel method of pairwise simulation that saves a significant amount of computation time by predicting possible future outcomes rather than reacting to them. We demonstrate the implementation of this method, as well as demonstrate that it has amortized O(n) complexity per time step. We also demonstrate an implementation to allow this algorithm to scale comparably well to multiple cores of a shared memory machine.

[1] Bittner J., Hierarchical techniques for visibility computations, PhD thesis, Czech Technical University in Prague, 2002 Search in Google Scholar

[2] Dechev D., Pirkelbauer P., Stroustrup B., Lock-free dynamically resizable arrays, In: Shvartsman M. (Ed.), Principles of Distributed Systems, Lect. Notes Comp. Sci., 4305, 142–156, 2006 10.1007/11945529_11Search in Google Scholar

[3] Ebisuzaki T., Fukushige T., Funato Y., Makino J., Taiji M., Hachisu I., Sugimoto D., GRAPE: Special Purpose Computer for Gravitational N-body Simulations In: Am. Astron. Soc. Meeting Abstr., 182, ser. B. Am. Aston. Soc., 25, 813, 1993 Search in Google Scholar

[4] Harada T. Real-Time Rigid Body Simulation on GPUs, In: Nguyen H. (Ed.), GPU Gems 3, Addison Wesley Professional, 2007 Search in Google Scholar

[5] Herlihy M., Shavit N., The Art of Multiprocessor Programming, Morgan Kaufmann Publishers, New York, NY, USA, 2008 Search in Google Scholar

[6] Jadbabaie A., Lin J., Morse A.S., Coordination of groups of mobile autonomous agents using nearest neighbor rules, IEEE Transactions on Automatic Control, 48(6), 988–1001, 2003 in Google Scholar

[7] Kipfer P., Segal M., Westermann R., UberFlow: a GPU-based particle engine, In: Proceedings of the ACM SIGGRAPH/ EUROGRAPHICS Conference on Graphics Hardware, HWWS’ 04., New York, NY, USA, ACM, 115–122, 2004 10.1145/1058129.1058146Search in Google Scholar

[8] Moore M., Wilhelms, J., Collision detection and response for computer animation, Comp. Graph., 289–298, 1988 10.1145/378456.378528Search in Google Scholar

[9] Senin M., Kojekine, N., Savchenko V., Hagiwara I., Particle-based collision detection, 2003 Search in Google Scholar

[10] Shavit N., Data structures in the multicore age, Commun. ACM, 54, 76–84 10.1145/1897852.1897873Search in Google Scholar

[11] Zeller C., Cloth simulation on the GPU, In: ACM SIGGRAPH 2005 Sketches, ACM, New York, NY, USA, 2005 10.1145/1187112.1187158Search in Google Scholar

Published Online: 2012-3-28
Published in Print: 2012-3-1

© 2012 Versita Warsaw

This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivatives 3.0 License.

Downloaded on 4.3.2024 from
Scroll to top button