Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Reduce is necessary for MTIP (cannot be a looser send/receive pattern)
  • Use of Reduce requires user-control of loops to ensure that users can call it the same number of times on all cores (even at the ragged end-of-run).  This can be done, for example, with a Pull-model (not a callback or Push).  Users may have to explicitly specify how many times they want to Reduce (not elegant, but workable, although not in a live-streaming case where you don't know how long the run is going to be).  A better solution could be to have SMD0 inject step transitions at a regular interval, which get broadcast to all BD cores which could trigger the reduce.
  • Option (1) above feels like it is covered by (2) (work done on BD cores) and (4) (work done on SRV cores)
  • Option (4) would require psana SRV cores to be made available for expert-user-level programming (i.e. not doing usual h5 production pattern)
  • Option (4) could use an "mpiChannel" package that Johannes has worked on with mpi3 one-sided communication.  Note: a few years ago one-sided communication performed poorly in tests cpo did, but Johannes believes it is much better now.

...