stimulation flow

Making & changing box plugins and external apps
Post Reply
matthieuG
Posts: 54
Joined: Thu Nov 12, 2009 10:22 am
Location: grenoble

stimulation flow

Post by matthieuG »

Hi,

When stimulations are used, boxes send chunk each time it is possible, so generally, these chunks are empty. Why did you choose this solution? From logic point of view it is strange and from processing, it cost time.

Thanks

yrenard
Site Admin
Posts: 645
Joined: Fri Sep 01, 2006 3:39 pm
Contact:

Re: stimulation flow

Post by yrenard »

Dear matthieuG,

the reason is to let following boxes that there is actually nothing during a period of time... Is this weird ?

Yann

matthieuG
Posts: 54
Joined: Thu Nov 12, 2009 10:22 am
Location: grenoble

Re: stimulation flow

Post by matthieuG »

yes!! :shock:

How does it help to make synchronization or keep real time? I don't understand.
It looks unnecessary. You probably did it for a good reason but I don't understand.
As I said, from logical point of view, send stimulation when there is stimulation is enough...

yrenard
Site Admin
Posts: 645
Joined: Fri Sep 01, 2006 3:39 pm
Contact:

Re: stimulation flow

Post by yrenard »

It is not weird.

It is necessary to tell boxes that nothing will come so they don't wait for some stimulations and can continue working. This is important e.g. when two stimulation inputs are present on a single box :
1- suppose the box should multiplex the two inputs in a single stream
2- suppose input 1 receives a stimulation at time 1s, your box sends stimulation at 1s
3- suppose input 1 receives a stimulation at time 2s, your box sends stimulation at 2s
4- suppose input 1 receives a stimulation at time 1,5s, your box sends stimulation at 1,5s - this is not coherent

now why could an 'early' stimulation arrive later than its date ? just because of the latency of the processing pipeline. Generating stimulation to label a signal from classification results needs a reasonable latency. Indeed you need to have enough data to take a decision... Labeling the whole data (from beginning to end) with some stimulation may be useful and this will always arrive late.

If your box knows it should be notified about "nothing is available for this time period", then you can go on into the processing with a common latency depending on how much delay is on each input.

Now that you have the reason and definitely understand / agree with it, I'd like to have an example where this actually takes too much of your CPU. Having empty packets in the streams should not take long to process (as it indeed does not process anything) and we never had issues with this.

Yann

Post Reply