> But I don't know why do it can increase parallelism? Assume the following situation
file_source-> multiply_const -> file_sink assume the complete file fits into the buffer, and n_best wouldn't be buffer/2, then file_source would read the whole file, and write it to the buffer. Only then, multiply_const would have something to work. It would also consume the whole input buffer at once, and produce the full output buffer. Only then, file_sink could start to work. so, at no time, more than one block would be active. You could that run on a single-core computer, and wouldn't see any difference to a multi-core computer. Even if the file is larger than the buffer, then multiply_const couldn't do anything, because it must wait for the whole time that file_sink needs to write away a complete buffer. If you restrict the maximum number of produced samples to half the output buffer size, the multipy_const block would much more often be able to execute, whilst file_sink is still writing away half of the buffer. Greetings, Marcus On 06/20/2015 04:43 PM, Tiankun Hu wrote: > Hi Tom, Johnathan, > Thanks your reply. > > Hi Marcus, > Seems your conclusion is make sense. > I think it might relate with buffer size which was allocated in > "flat_flowgraph.cc / allocate_buffer" > > // *2 because we're now only filling them 1/2 way in order to > // increase the available parallelism when using the TPB scheduler. > // (We're double buffering, where we used to single buffer) > int nitems = s_fixed_buffer_size * 2 / item_size > > But I don't know why do it can increase parallelism? > > 在 2015年06月19日 22:48, Johnathan Corgan 写道: >> On Fri, Jun 19, 2015 at 6:09 AM, Tom Rondeau <[email protected] >> <mailto:[email protected]>> wrote: >> >> On Thu, Jun 18, 2015 at 8:29 AM, Tiankun Hu >> <[email protected] <mailto:[email protected]>> wrote: >> >> Hi Tom, >> Thanks your reply, I have another question, in function >> "min_available_space" why buffer_size/2 is best ? >> >> >> I'm not really sure. That's a question for Eric. >> >> >> The scheduler aims to keep the buffer no more than half full, so that >> in the steady state the producing block can write into the free half >> and the downstream consuming block(s) read from the filled half. >> >> -- >> Johnathan Corgan >> Corgan Labs - SDR Training and Development Services >> Intro to SDR Class - June 29-30, El Segundo, CA >> http://corganlabs.com > > -- > Thanks > Tiankun > > > _______________________________________________ > Discuss-gnuradio mailing list > [email protected] > https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
_______________________________________________ Discuss-gnuradio mailing list [email protected] https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
