diff options
Diffstat (limited to 'docs/ufo.txt')
-rw-r--r-- | docs/ufo.txt | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/docs/ufo.txt b/docs/ufo.txt new file mode 100644 index 0000000..64ffb13 --- /dev/null +++ b/docs/ufo.txt @@ -0,0 +1,36 @@ +ROOF on UFO +=========== + - Current implementation follows UFO architecture: reader and dataset-builder are split in two filters. + * The reader is multi-threaded. However, only a single instance of the builder is possible to schedule. + This could limit maximum throughput on dual-head or even signle-head, but many-core systems. + * Another problem here is timing. All events in the builder are initiaded from the reader. Consequently, + as it seems we can't timeout on semi-complete dataset if no new data is arriving. + * Besides, performance this is also critical for stability. With continuous streaming there is no problem, + however, if a finite number of frames requested and some packets are lost, the software will wait forever + for missing bits. + +UFO Architecture +================ + + +Questions +========= + - Can we pre-allocate several UFO buffers for forth-comming events. Currently, we need to buffer out-of-order + packets and copy them later (or buffer everything for simplicity). We can avoid this data copy if we can get + at least one packet in advance. + + - How I can execute 'generate' method on 'reductor' filter if no new data on the input for the specified + amount of time. One option is sending empty buffer with metadata indicating timeout. But this is again + hackish. + + - Can we use 16-bit buffers? I can set dimmensions to 1/4 of the correct value to address this. But is it + possible to do in a clean way? + * ufo-write definitively only supports fp32 input + + - Are there a standard way to enable automatic propogation of dataset metadata trough the chain of filters? [solved] + * Metadata from all input buffers is copied to output automatically in 'processors' + * Metadata should be copied with 'ufo_buffer_copy_metadata' in 'reductors' + + - We can create a separate subgraph for each plane. But this requires initial copy. Can this be zero-copy? + + - What is 'ufotools' python package mentioned in documentation? Just a typo? |