blob: 64ffb1341a4aeabce74564bdea7e940139dbd833 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
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?
|