A Desktop Grid enabled parallel Barnes-Hut algorithm

Desktop Grids utilize the combined computing power of distributed resources to solve computationally hard problems. In contrast to conventional high-performance computing systems, this kind of parallel architecture exhibits a high degree of resource volatility and heterogeneity. Therefore, most existing projects in this area (e.g. Boinc) focus on trivial parallel algorithms, where no communication between nodes is necessary. However, there are non-trivial computational problems that cannot be efficiently solved by using such an approach but still are eligible for execution on Desktop Grids. In this paper we present a parallel formulation of the Barnes-Hut N-Body algorithm suitable for Desktop Grids, as a representative of this class. The redesign of this algorithm is based on our Cohesion platform, which enables efficient peer-to-peer communication on Desktop Grids. We describe how task generation and distribution is achieved and communication is minimized. In particular, we illustrate how a checkpointing and restart concept is used to make our parallel Barnes-Hut algorithm resilient to the unexpected withdrawal of peers. We finally present experimental evidence for the efficiency of our approach under various degrees of resource volatility.

[1]  Jack Dongarra,et al.  MPI: The Complete Reference , 1996 .

[2]  Piet Hut,et al.  A hierarchical O(N log N) force-calculation algorithm , 1986, Nature.

[3]  Michael S. Warren,et al.  A parallel hashed oct-tree N-body algorithm , 1993, Supercomputing '93. Proceedings.

[4]  Wolfgang Blochinger,et al.  Aspect-Oriented Parallel Discrete Optimization on the Cohesion Desktop Grid Platform , 2006, Sixth IEEE International Symposium on Cluster Computing and the Grid (CCGRID'06).

[5]  Rachid Guerraoui,et al.  Introduction to Reliable and Secure Distributed Programming , 2011 .

[6]  V. Springel The Cosmological simulation code GADGET-2 , 2005, astro-ph/0505010.

[7]  Richard Wolski,et al.  An Analysis of Availability Distributions in Condor , 2007, 2007 IEEE International Parallel and Distributed Processing Symposium.

[8]  Jaspal Subhlok,et al.  A Robust and Efficient Message Passing Library for Volunteer Computing Environments , 2011, Journal of Grid Computing.

[9]  Carl Kesselman,et al.  Generalized communicators in the Message Passing Interface , 1996, Proceedings. Second MPI Developer's Conference.

[10]  Vipin Kumar,et al.  Scalable parallel formulations of the barnes-hut method for n-body simulations , 1994, Supercomputing '94.

[11]  David P. Anderson,et al.  SETI@home: an experiment in public-resource computing , 2002, CACM.

[12]  Martin Mašek,et al.  Progress in Mesh-Free Plasma Simulation With Parallel Tree Codes , 2010, IEEE Transactions on Plasma Science.

[13]  Wolfgang Blochinger,et al.  COHESION - A microkernel based Desktop Grid platform for irregular task-parallel applications , 2008, Future Gener. Comput. Syst..

[14]  Wolfgang Blochinger,et al.  Parallel SAT Solving on Peer-to-Peer Desktop Grids , 2010, 2010 International Conference on High Performance Computing & Simulation.

[15]  David P. Anderson,et al.  BOINC: a system for public-resource computing and storage , 2004, Fifth IEEE/ACM International Workshop on Grid Computing.

[16]  Wolfgang Blochinger,et al.  Orbweb—A Network Substrate for Peer-to-Peer Desktop Grid Computing Based on Open Standards , 2010, Journal of Grid Computing.

[17]  Vijay S. Pande,et al.  Folding@home: Lessons from eight years of volunteer distributed computing , 2009, 2009 IEEE International Symposium on Parallel & Distributed Processing.

[18]  Emmanuel Jeannot,et al.  Fault-Management in P2P-MPI , 2009, International Journal of Parallel Programming.

[19]  Laxmikant V. Kalé,et al.  Scaling Hierarchical N-body Simulations on GPU Clusters , 2010, 2010 ACM/IEEE International Conference for High Performance Computing, Networking, Storage and Analysis.

[20]  Laxmikant V. Kalé,et al.  Massively parallel cosmological simulations with ChaNGa , 2008, 2008 IEEE International Symposium on Parallel and Distributed Processing.

[21]  Hans Werner Meuer,et al.  Top500 Supercomputer Sites , 1997 .

[22]  Minoru Saito,et al.  Development of molecular dynamics programs for proteins with a parallelized Barnes-Hut tree code , 2000, Proceedings Fourth International Conference/Exhibition on High Performance Computing in the Asia-Pacific Region.