Skip to content

TimePerEvent convention

Alan Malta Rodrigues edited this page Dec 14, 2021 · 6 revisions

Just to make sure we'll never come up with different definitions, let me write in this wiki what TimePerEvent is meant to be in ReqMgr.

TimePerEvent = (number of events processed) / (walltime of the job)

Here, "walltime" is the amount of time that passes from the beginning of the job until the end. The reference "job" used for estimating TpE in ReqMgr should be configured to have the same time number of cores as the jobs the agent will produced.

Thus, if we get a request with:

  • Multicore=8 and TimePerEvent=5: it means we'll process 10 events in 50 secs (using 8 cores)
  • Multicore=1 and TimePerEvent=5: it means we'll process 10 events in 50 secs (using 1 core)

If the submitter estimates TpE by timing an 8 core job, but then submits a corresponding 1 core workflow to ReqMgr, the TpE estimates may be off by a factor of 8.

NOTE: The time per event is calculated based on the events that made it to the output file, thus, steps with filter efficiency < 1.0 have their time per event calculated on the output, not on the number of events generated.

Clone this wiki locally