How should we report condition validity information to the Gaudi scheduler?
When a new condition slot is created, some data is reused from existing condition slots. We thus need a way to report to the Gaudi scheduler which condition-producing algorithms should be re-run, and which shouldn't.
There are many ways to report this information, of which we should pick the version that matches the Gaudi scheduler infrastructure best:
- "This condition data is valid and should not be regenerated"
- "This condition data is not valid and must be regenerated"
- "This condition algorithm should be skipped"
- "This condition algorithm must be re-run"
Another point to be clarified is the timing and manner in which this information should be reported:
- Report complete condition validity information once, at the beginning of event processing (allows for the most efficient implementations)
- Report complete condition validity information repeatedly throughout event processing (less efficient, and adds additional thread-safety requirements, but saves the scheduler from the trouble of tracking condition validity)
- Report individual condition/algorithm status on demand (least efficient, easiest to use for the Gaudi scheduler)
Can someone more familiar with the Gaudi scheduling infrastructure tell me more about this?