Concurrent processing of events in hybrid MP+MT workers
Modified AthenaMPTools/SharedHiveEvtQueueConsumer so that it can process
events concurrently. In order to achieve that this tool is now using
the AthenaMtesEventLoopMgr as the event processor, instead of the
previously used AthenaHiveEventLoopMgr.
Also introduced a helper abstract interface AthenaKernel/IHybridProcessorHelper
to allow the SharedHiveEvtQueueConsumer tool to call certain methods of the
AthenaMtesEventLoopMgr.
Please note:
- For the sake of simplicity in this version I have explicitly disabled support for shared I/O - both Reader and Writer - in hybrid MP+MT jobs. The shared I/O can be reintroduced later, once we are happy with the current functionality.
- I have also disabled support for running pileup digitization, which cannot run in
AthenaMTthese days anyway.
CC @amete @gemmeren @elmsheus who have previously expressed some interest in hybrid MP+MT.