Skip to content

added ConcurrencyFlags class

Charles Leggett requested to merge leggett/Gaudi:dev/concFlags into master

The static ConcurrencyFlags allows easy access to information about the number of threads, concurrent events, and processes. It many cases, it is very useful to know how many thread and concurrent events are executing. While this information is available from a number of sources, by looking at the existence of various services and how they're configured, there is no coherent access.

The information it presents can only be set by the ForwardScheduler and ThreadPoolSvc. Still needs a setter for the MP aspect.

For running in serial, numThreads == 0, numConcEvents == 0, numProcs == 0. this is useful to distinguish between running serial, and running hive with 1 thread, or MP with 1 proc.

Some outstanding issues that need to be resolved at some point:

  • what is the meaning on nThreads = -100, -1, 0 ? (do we really still need these?)
  • when running with MT AND MP (ie multi-thread within a process, multiple processes), how do we define numConcurrentEvents? per process or total?

Merge request reports