A seismic-wave finite-difference code is run on a cluster of many-core nodes.

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 seismic-wave finite-difference code is run on a cluster of many-core nodes. ((a)) Profiling shows a fraction f=0.90f=0.90 of the one-process run time parallelises perfectly; the rest is serial set-up and output. Using Amdahl's law, compute the speed-up S(16)S(16) on 16 processes and the ceiling S(∞)S(\infty). ((b)) The same code is run instead in weak-scaling mode, holding the work per process fixed, with f′=0.98f'=0.98 of the run time on 32 processes spent in the part that shares out. Compute Gustafson's scaled speed-up S(32)S(32) on 32 processes. ((c)) The domain is decomposed into slabs, exchanging one halo row with each of two neighbours every step; one halo message carries 32768 B32768\,\mathrm{B}. A ping-pong test gives latency αlat=2.0 μs\alpha_{\rm lat}=2.0\,\mu\mathrm{s} and bandwidth βnet=1.0×1010 B s−1\beta_{\rm net}=1.0\times10^{10}\,\mathrm{B\,s^{-1}}. Find the time spent in the two halo messages each step, and express it as a percentage of a slab update measured at 4.20 ms4.20\,\mathrm{ms}. ((d)) The rows i=0,…,N−1i=0,\dots,N-1 of a triangular pair loop (i<ji<j) are split into P=8P=8 equal contiguous ranges, one per process. The first of PP equal ranges holds a fraction (2P−1)/P2(2P-1)/P^2 of all the i<ji<j pairs. Find that fraction for P=8P=8 and the resulting bound on the speed-up from this decomposition.

Browse the problem library