Marlin is the event processing framework of the iLCSoft ecosystem. Originally developed
for the ILC more than 15 years ago, it is now widely used, e.g. by CLICdp, CEPC and
many test beam projects such as Calice, LCTPC and EU-Telescope. While Marlin is
lightweight and flexible it was originally designed for sequential processing only.
With MarlinMT we now evolved Marlin for parallel processing of events on multi-core
architectures based on multi-threading. We report on the necessary developments and
issues encountered, within Marlin as well as with the underlying LCIO EDM. A focus will be
put on the new parallel event processing (PEP) scheduler. We conclude with first
performance estimates, such as application speedup and memory profiling, based on parts
of the ILD reconstruction chain that have been ported to MarlinMT.
|Consider for promotion||No|