summaryrefslogtreecommitdiffstats
path: root/docs/architecture.txt
blob: 2b00ab34323218d9d2bd36a358c6744ba4f9571b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Configuration
=============
 x Pre-configured values in C-sources or shall everything be specified in the configuration? [ full-config, less prone to errors if all in one place ]
    - Default header size can be computed using defined 'struct', but thats it.
    - Do not try to compute maximum packet size, etc.
 x Drop all computable parameters from the config [ with a few exceptions ]
    - Should be possible to have network receiver without configuring the rest of the ROOF 
    - Should be possible to keep both dataset size in network config (to avoid rewriting) and the ROOF hardware configuration, but they should match
    - n_streams vs. n_modules: having multiple streams per module in future
    - samples_per_rotations vs. sample_rate / image_rate: Don't know what happens with Switch rate control, etc.?
 x How precise we should verify configuration consistency? [ implement JSON schema at some point ]
 x Propogate broken frames by default? Or just drop marking the missing frames with metadata. [ ingest when necessary ]
    - I.e. provide filter removing the broken frame or the one generating when necessary (to ingest the uninterrupted flow in the standard UFO filters)?
    - How to handle partially broken frames?
 x How to handle data planes? [ metadata passes trough processors, but not reductors ]
    - Metadata seems preserved while passing trough standard UFO filters. So, this is easiest way out.
    - We can build a stand-alone subgraph for each plane, but this likely involves a full data copy.
    - This probably OK for simple use case: "raw storage + visualization" as only two instances, but for could be too challenging for multi-plane analysis.