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.75 of the one-process time parallelises; compute Amdahl's speed-up S(8) on 8 processes and its ceiling.
((b)) Run instead at fixed work per process, with f′=0.95; compute Gustafson's scaled speed-up S(16) on 16 processes.
((c)) Each slab exchanges one halo plane of 16384B with each of two neighbours every sweep. A ping-pong test gives αlat=1.5μs and βnet=8×109Bs−1. Find the time in the two halo messages per sweep and its percentage of a slab update measured at 1.20ms.
((d)) A loop over all pairs of spin sites i<j, accumulating the spin-spin correlation, is split into P=5 equal row ranges. Using the fraction (2P−1)/P2 held by the first range, find that fraction and the resulting bound on speed-up.