Idea #7245
Investigate whether we can use an MPI_Barrier to synchronize BoardReaders with a newer version of MPI
0%
Description
At the moment, we don't have any enforced synchronization between BoardReaders when we are sending fragments. However, there are situations in which it may be nice to have such a thing. (For example, in the demo system when we have multiple BoardReaders.)
Back in the early days of artdaq, MPI_Barrier calls were used to provide this functionality, but they were removed so that we wouldn't get into a situation in which we are trying to end a run, but can't, because one of the BoardReaders is stuck waiting for the others to reach the Barrier but instead have already ended the run.
A possible solution to this dilemma (wanting some level of barrier functionality and wanting to have endRun work reliably) is to use barriers with timeouts. The MPI_Barrier call in the version of MPI that we are currently using does not support a timeout, but I believe that a later version of MPI will have that.
If a new version of MPI is needed, there will probably be spin-off issues for validating the new MPI.
Related issues
History
#1 Updated by Kurt Biery over 5 years ago
- Target version changed from 577 to v1_12_13
#2 Updated by Kurt Biery over 5 years ago
- Related to Feature #10146: Provide moderate synchronization when sending fragments from multiple BoardReaders added
#3 Updated by Kurt Biery over 5 years ago
- Status changed from New to Resolved
This issue was dealt with in Issue #10146.
#4 Updated by Kurt Biery over 5 years ago
- Assignee set to Kurt Biery
#5 Updated by Eric Flumerfelt almost 5 years ago
- Status changed from Resolved to Closed