[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [ESPResSo-devel] Cell lists vs. domain decomposition

From: Ulf Schiller
Subject: Re: [ESPResSo-devel] Cell lists vs. domain decomposition
Date: Tue, 07 Aug 2007 09:35:36 +0200
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.7.12) Gecko/20050921

Hash: SHA1

Olaf Lenz wrote:
> Hi Despressies!
> In context of the thread on diffusion, I noticed that in the docs (i.e.
> the UG) two things seem to be intermixed that are related but not really
> the same:
> 1. To my understanding, "domain decomposition" is related to
> parallelization. It means that the simulation box is decomposed into
> domains, each of which can be computed on another processor. The size
> and shape of the domains is completely arbitrary. However, it is
> favourable to minimise the interface with neighbouring domains to reduce
> the communication overhead required to communicate the particles that
> interact with neighbouring domains.
> 2. "Cell lists" on the other hand are needed to speed up the algorithm
> on a single processor: the domain is decomposed into cells with a
> minimal side length of the interaction range. When it is necessary to
> loop over the interaction partners of a particle, it is only necessary
> to consider those particles that are in the 26 neighbouring cells and
> the cell itself. This algorithm in combination with Verlet lists is the
> fastest option for many systems.
> Both of these points can be related, and one can think of choosing the
> domains from item 1 from the cells of item 2, but in theory they are
> completely independent, are they not?
> To my understanding, the "cellsystem" command of ES refers to item 2,
> doesn't it? However, in the documentation of the command, the notion
> "domain decomposition" is used. This bugs me.


If I understand correctly, the "cellsystem" command refers to both
items. The parallelization and the organization of the cell lists in
ESPResSo are in fact closely related, e.g. the layered cellsystem
implies a 1x1xn node_grid and determines the number of communications
between processes. The N^2 cellsystem uses load balancing and thus
implies what has to be done on a processor and communicated to others.

> I would propose to remove the term "domain decomposition" from the docs
> on the cellsystem command, or else describe how they are interrelated in
> the case of ESPResSo.

My view on the issue is that the implementation of the cellsystems has
implications on the parallelization scheme. In this sense, the domain
decomposition comes closest to your description, while the N^2 neither
uses neither domain decomposition nor cell lists in that way. The
layered cellsystem mixes both concepts (1d domain decomposition and cell
lists in one direction and N^2 in the other two).

I'm not sure how much detail should be put into the documentation of the
cellsystem command, in particular since there is already a reference to
the "Under the hood" section.


- --
Ulf D. Schiller   *   Room 1.404   *   Phone +49 6131 379-481
Max Planck Institute for Polymer Research
Theory Group
D-55128 Mainz, Germany                   50° 0' N, 008° 16' E
Version: GnuPG v1.4.0 (GNU/Linux)


reply via email to

[Prev in Thread] Current Thread [Next in Thread]