  The Jiangmen Underground Neutrino Observatory (JUNO) is a multi-purpose
experiment, under construction in southeast China, that is designed to
determine the neutrino mass ordering and precisely measure neutrino oscillation
parameters. Monte Carlo simulation plays an important role for JUNO detector
design, detector commissioning, offline data processing, and physics
processing. The JUNO experiment has the world's largest liquid scintillator
detector instrumented with many thousands of PMTs. The broad energy range of
interest, long lifetime, and the large scale present data processing challenges
across all areas. This paper describes the JUNO simulation software,
highlighting the challenges of JUNO simulation and solutions to meet these
challenges, including such issues as support for time-correlated analysis,
event mixing, event correlation and handling the simulation of many millions of
optical photons.
