Parallel Monte Carlo
Monte Carlo methods estimate answers by random sampling; their independence makes them scale almost perfectly, with a catch in random numbers.
Answers from random sampling
Monte Carlo methods solve problems by drawing many random samples and averaging. To estimate an integral, sample points and average the integrand; to model neutron transport, trace many random particle histories and tally outcomes. The error falls as one over the square root of the number of samples, so high accuracy needs enormous sample counts, which is why Monte Carlo is a natural HPC workload.
Embarrassingly parallel
Because samples are independent, Monte Carlo is close to ideally parallel: give each processor a share of the samples, run them with no communication, and combine the tallies at the end with a single reduction. This scales to huge processor counts with almost perfect efficiency, the archetype of an embarrassingly parallel workload.
The random-number catch
Independence assumes each processor's random numbers are statistically independent of every other's. A naive approach, seeding each stream from the clock, risks overlapping or correlated sequences that silently bias the result. Parallel Monte Carlo uses counter-based generators or well-separated substreams to guarantee independent, reproducible streams across processors.
Variance reduction
- Importance sampling: draw more samples where they matter most
- Stratification: divide the domain and sample each region
- These cut the samples needed for a target accuracy
In fusion
Monte Carlo neutron transport is central to fusion engineering: tracking fusion neutrons through the breeding blanket and structure yields quantities such as the tritium breeding ratio and shielding requirements. These calculations run on large HPC systems and feed the design studies behind Kronos machines, which remain simulation-based ahead of hardware.