Matevz Tadel (CERN)
HEP computing is approaching the end of an era when simulation parallelisation could be performed simply by running one instance of full simulation per core. The increasing number of cores and appearance of hardware-thread support both pose a severe limitation on memory and memory-bandwidth available to each execution unit. Typical simulation and reconstruction jobs of AliRoot differ significantly in memory usage - reconstruction requires approximately three times more memory than simulation. Further, reconstruction accesses memory in a less restrained manner, as it requires access to geometry, alignment and calibration data on practically every step. This makes simulation a more natural candidate for parallelization, especially since the simulation code is relatively stable and we do not expect the reconstruction code to settle until the detector is fully calibrated with real data and understood under stable running conditions. We have chosen to use multi-threading solution with one primary particle and all its secondaries being tracked by a given thread. This model corresponds well to Pb-Pb ion collision simulation where 60,000 primary particles need to be tracked. After the MC processing of a primary particle is completed, the same thread also performs output buffer compression and passes the compressed buffers to the thread dedicated to output streaming. Modifications of ROOT, AliRoot and GEANT3 that were required to perform this task are discussed. Performance of the parallelized version of simulation under varying running conditions is presented.
|Presentation type (oral | poster)||oral|