| 1 | |
| 2 | == JEB Todo List == |
| 3 | The list of items to address and implement for the JEB system prior to completion. |
| 4 | |
| 5 | 1. "Plan A" release to Pole (Late September) |
| 6 | a. Implementing the same filtering as Plan B. |
| 7 | 1. Move JEB/trunk development to new "V2" icetray offline software (mid October) |
| 8 | a. Make use of new "interfaces" project, include stuff from JEB in interfaces |
| 9 | a. Reorganize JEB projects somewhat, make dependencies clean |
| 10 | a. Evaluate performance impacts of v2 goodies |
| 11 | i. Lazy frame stuff |
| 12 | 1. I3Outlet (Nov/Dec) |
| 13 | a. cleanup code |
| 14 | a. use lazy frame stuff |
| 15 | a. Handle GCD frames as well |
| 16 | i. Will allow server to make single DB query and distribute to clients |
| 17 | a. Include in offline once finished? |
| 18 | 1. jebserver module performance (Nov/Dec) |
| 19 | a. input/output queues to have independent mutexes. |
| 20 | 1. PDAQ interfaces (Gent meeting) |
| 21 | a. Trigger enumerations in daq-decode (persuade DAQ group to never reuse integers!) |
| 22 | 1. Status/monitoring |
| 23 | a. Finalize list of items to check and report to ExpCont for Operator monitoring. |
| 24 | a. Collect system monitoring information by using subcomponents, the component control and the remote control. Possible subcomponents are |
| 25 | i. DAQDispatchReaderService (file name, events and bytes read from file, event rate, byte rate) |
| 26 | i. I3Outlet (name, #connected queues, #mandatory queues, #missing mandatory queues plus names) |
| 27 | i. I3InletService (name, status of connection) |
| 28 | i. JEBEventService (run, subrun and event ID, merging mode, error messages, last flush, last autoflush) |
| 29 | i. JEBServer (#clients, size, #idle frames, #not client filtered frames) |
| 30 | i. I3PFFilterModule (filter mode, rate to pot and crop, rates of all filter streams, trigger rate) |
| 31 | i. I3JEBWriter (file name) |
| 32 | i. tba (run, subrun and event ID, frame rate, started at, running since) |
| 33 | a. Reduce full system monitoring information within jebsystem script and report a subset to EC only. |
| 34 | 1. Analysis and monitoring clients |
| 35 | a. Would include online CnV, realtime data analysis clients (TOO, GRB/burst notification, event displays etc) |
| 36 | i. Anything that need access to all events post reconstruction and filtering |
| 37 | a. Idea to reuse the jebserver module only this time to post filtered frames. |
| 38 | i. In std jebserver (could block jebserver from processing based filtering) |
| 39 | i. Separate post-filtering, separate server |
| 40 | a. Would pick up files from local disk cache from PFRaw hardlink directory. |
| 41 | 1. Persistency needed? |
| 42 | a. Likely depends on frequency and causes of crashes |
| 43 | a. Dispatches? Or just read entire file and if a few seconds of data is lost at crash time, C'est la vie. |
| 44 | a. JEB server system: Dump all frame contents to disk at "crash" time, and reload at startup? |
| 45 | 1. Modes of operation |
| 46 | a. Filtering modes: PhysicsFiltering, RandomFiltering, NoFiltAllToTape, NoFiltAllToSat |
| 47 | a. Merging modes: MergeEvents, I3DAQOnly, TWRDAQOnly, ReadBothNoMerge |
| 48 | a. Are these lists complete? |
| 49 | 1. Non-standard filtering |
| 50 | a. Use case: Filtering of calibration-type data |
| 51 | a. Possible: always run calibration filters in std filtering suite and control filter on/off per run? |
| 52 | a. Possible: Branch to a second server (talking to second set of Calibration filter clients) based on run type. |
| 53 | 1. Watchdog. |
| 54 | a. Possible: Each component has a built in "no activity" watchdog which kills hanging processes |
| 55 | a. Possible: Single, central watchdog. Uses control infrastructure to kill/restart hung processes |
| 56 | i. Serve double duty as central monitoring collection point? |
| 57 | 1. Check TWR keys while decoding file/system header |
| 58 | 1. Documentation |
| 59 | a. Better end-user documentation with: |
| 60 | i. General starting/stopping instructions |
| 61 | i. Subsystem overview |
| 62 | i. Troubleshooting information |