A Monte Carlo sweep of a three-dimensional Ising lattice is run on a process pool

PHYSICS · Multi-part · Fermi University Physics · Computational Physics · High-performance and data-driven computational physics · High-performance and data-driven computational physics

Scientific Computing for Physicists, Ch Many processors: speed-up, decomposition and the cost of communication

Problem

A Monte Carlo sweep of a three-dimensional Ising lattice is run on a process pool, with the field updated on decomposed slabs of spins. ((a)) A fraction f=0.75f=0.75 of the one-process time parallelises; compute Amdahl's speed-up S(8)S(8) on 8 processes and its ceiling. ((b)) Run instead at fixed work per process, with f′=0.95f'=0.95; compute Gustafson's scaled speed-up S(16)S(16) on 16 processes. ((c)) Each slab exchanges one halo plane of 16384 B16384\,\mathrm{B} with each of two neighbours every sweep. A ping-pong test gives αlat=1.5 μs\alpha_{\rm lat}=1.5\,\mu\mathrm{s} and βnet=8×109 B s−1\beta_{\rm net}=8\times10^{9}\,\mathrm{B\,s^{-1}}. Find the time in the two halo messages per sweep and its percentage of a slab update measured at 1.20 ms1.20\,\mathrm{ms}. ((d)) A loop over all pairs of spin sites i<ji<j, accumulating the spin-spin correlation, is split into P=5P=5 equal row ranges. Using the fraction (2P−1)/P2(2P-1)/P^2 held by the first range, find that fraction and the resulting bound on speed-up.

Browse the problem library