Page History
...
Chris Ford has an encoder simulator in lab3, with documentation here: UDP Encoder Interface (rix Mono Encoder). He also has committed lab3-caf-encoder.cnf to lcls2 GitHub in psdaq/psdaq/cnf/.
High Rate Mono Encoder Interpolation Options
Goal: keep the parallelization happy (both ami and mpi-psana) so that every shot has an encoder value (either real or interpolated)
- ~5kHz of measured data is roughly the maximum readout rate
- interpolation will make the data better
Example motor motion:
Options:
- DAQ interpolation. Ugly DAQ C++
- psana interpolation in-memory
- on SMD0 core (would dramatically complicate our most complicated psana event-builder code)
- psana "broadcasts" all the encoder data to all the cores. quite messy and would affect performance unless SlowUpdate broadcast at 10Hz was feasible
- psana post-processing interpolation written to a new xtc2 file
- (doesn't work because of chaos caused by batching, deadtime, arbitrary number of cores, load-balancing) DAQ repeats without interpolation.
- Ideally xtc2 would be able to say 3 (repeats 5 times) 7 (repeats 5 times). xtc2 can't say this easily.
- (preferred) or another version would be 3(deltatime=0),3(+deltatime),3(+deltatime),3,3,7,7,7,7,7,.... each core could do it's own interpolation. provides flexibility and scalability. extra data volume isn't too bad. will make user code more complex (they will have to "buffer")
Overview
Content Tools