diff options
author | Suren A. Chilingaryan <csa@suren.me> | 2020-01-27 05:30:53 +0100 |
---|---|---|
committer | Suren A. Chilingaryan <csa@suren.me> | 2020-01-27 05:30:53 +0100 |
commit | 44cef2cb16dd2bc55ad34d0b8313f7f314b0107a (patch) | |
tree | f4be6f08748c4a759410cf7f9c48df8218ad9616 /docs/ufo.txt | |
parent | 2eeefe2db3bb9f2e54cc00e7aa657f599c2115ea (diff) | |
download | ufo-roof-44cef2cb16dd2bc55ad34d0b8313f7f314b0107a.tar.gz ufo-roof-44cef2cb16dd2bc55ad34d0b8313f7f314b0107a.tar.bz2 ufo-roof-44cef2cb16dd2bc55ad34d0b8313f7f314b0107a.tar.xz ufo-roof-44cef2cb16dd2bc55ad34d0b8313f7f314b0107a.zip |
Various docs about UFO, ROOF, and further plans
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? |