Scalable n-body event prediction

Research Article


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(n2)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.


n-body systems non-blocking synchronization discrete event simulation prediction 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    Bittner J., Hierarchical techniques for visibility computations, PhD thesis, Czech Technical University in Prague, 2002Google Scholar
  2. [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, 2006Google Scholar
  3. [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, 1993Google Scholar
  4. [4]
    Harada T. Real-Time Rigid Body Simulation on GPUs, In: Nguyen H. (Ed.), GPU Gems 3, Addison Wesley Professional, 2007Google Scholar
  5. [5]
    Herlihy M., Shavit N., The Art of Multiprocessor Programming, Morgan Kaufmann Publishers, New York, NY, USA, 2008Google Scholar
  6. [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, 2003MathSciNetCrossRefGoogle Scholar
  7. [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, 2004Google Scholar
  8. [8]
    Moore M., Wilhelms, J., Collision detection and response for computer animation, Comp. Graph., 289–298, 1988Google Scholar
  9. [9]
    Senin M., Kojekine, N., Savchenko V., Hagiwara I., Particle-based collision detection, 2003Google Scholar
  10. [10]
    Shavit N., Data structures in the multicore age, Commun. ACM, 54, 76–84Google Scholar
  11. [11]
    Zeller C., Cloth simulation on the GPU, In: ACM SIGGRAPH 2005 Sketches, ACM, New York, NY, USA, 2005Google Scholar

Copyright information

© © Versita Warsaw and Springer-Verlag Wien 2012

Authors and Affiliations

  • Steven Braeger
    • 1
  • Nicholas Arnold
    • 1
  • Damian Dechev
    • 1
    • 2
  1. 1.University of Central FloridaOrlandoUSA
  2. 2.Scalable and Secure Systems DepartmentSandia National LaboratoriesLivermoreUSA

Personalised recommendations