The simulation of a homogeneous infinite system is done by
repeating periodically in space the ``simulation box'' with side .
Such a substitution leads to correlation in space for distances . It means that the one-body density matrix, the pair
distribution functions, can be calculated only for . In some
cases it is important to have information about the large-scale
properties of the system. For example this happens in the region
close to the phase transition, where the correlation length is
large. In our case we need to find the asymptotic value of the
one-body density matrix and as a result it is necessary to use
large . The problem is that doubling the number of particles
at a constant density enlarges the size of the box only
times, while the time of the calculation
scales quadratically. This makes the calculation heavy and one of
the possible way out consists in using the parallel computations.
The Diffusion Monte Carlo algorithm can be parallelized in a
natural way. In the algorithm the wavefunction is treated as
the density of the probability distribution of walkers (see
(3.26)). The walkers explore the coordinate space moving
according to (3.27, 3.28), and then some of the walkers are
removed or added during the branching process (3.29).
The key point is that the walkers move absolutely independently,
and consequently can be evaluated on different processors
independently.
Here is the list of corrections to the serial calculation:
walkers move in space according to (3.27, 3.28), done in parallel
the local energy of each walker is calculated, done in parallel
other quantities different from energy are calculated (if necessary), done in parallel
averages over all walkers are calculated, the regeneration coefficient (3.29) is
calculated for each walker and walkers are redistributed among the
processors to keep the load constant
The explained above algorithm of numerical simulations produces
very high productivity, because all heavy calculations are done in
the parallel regime and only few, like the the balance load, are done in
the non-parallel way.Although one also should consider the loss of
time due to communication and data transfer between the processes,
but amount of this time is negligible in comparison to the length
of the calculation.
This parallel algorithm is called distributed-system method,
another way to build the program is described by the
replicated-system method[23], which has higher
performance.
Monte Carlo methods are very robust to numerical errors and this
makes their usage very advantageous. For example, the MC run on a
cluster of computers can survive even if one of the processes is
switched off during the computation. This will lead only to a
decrease in statistics at this step and different loading
distribution at the next one. Many other methods, like the direct
solution of the differential equation, will break down in a case of
such an event.
Next:Homogeneous Bose Gas Up:Diffusion Monte Carlo Previous:DMC algorithm
  Contents