Skip to content

TimePerEvent convention

Alan Malta Rodrigues edited this page Sep 19, 2022 · 6 revisions

The unit for TimePerEvent is seconds, and Request Manager calculates it as:

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

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 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.

Based on this TimePerEvent, Request Manager will automatically calculate the number of events per job such that it can create ~8h jobs. Note events per lumi is a multiple of events per job, such that almost all of the lumis have the same size in terms of events.

Clone this wiki locally