discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] why alignment feature work only when output_multi


From: Marcus Müller
Subject: Re: [Discuss-gnuradio] why alignment feature work only when output_multiple not set
Date: Fri, 19 Jun 2015 16:12:56 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0

Hi Tiankun, Hi Tom,

I vaguely remember me wondering about that line. It comes from the single threaded scheduler; back then, wondering, I came to the conclusion that for the STS that it's probably been considered useful to half the the "buffer usage ripple" that could occur when blocks started to always use the full buffer. That sounds helpful in a scheduler where, per iteration, you either do something or you don't, so a buffer without any space left to write to might be worse than the overhead that you get by only being allowed to use buffer/2. Basically, back then, I had another problem, and just shrugged.

Now, for the thread-per-block scheduler, there's no monolithic iteration over all blocks, so I guess that problem wouldn't occur. I would have to try; however, it's hard to find a single proper benchmark for this (if it doesn't break anything). Tiankun, maybe you have an idea?

Best regards,
Marcus



On 06/19/2015 03:09 PM, Tom Rondeau wrote:
On Thu, Jun 18, 2015 at 8:29 AM, Tiankun Hu <address@hidden> 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.

What happens when you change it? How does it affect performance?

Tom


 
在 2015年06月16日 21:31, Tom Rondeau 写道:
On Tue, Jun 16, 2015 at 8:57 AM, Tiankun Hu <address@hidden> wrote:
Hi,
After go through the block_executor.cc, I found alignment feature work only when output_multiple not set, why them can not work at the same time?

--
Thanks
Tiankun

Because they are competing objectives. The alignment tries to keep buffers aligned and therefore the number of items will be based on a multiple of the alignment requirement. If you need an output multiple that's different than that, which one should the scheduler choose?

Note that the buffers always begin on a page and so are inherently aligned. If your output multiple is also a multiple of the alignment for the data type, then you'll always be aligned.

Tom


-- 
Thanks
Tiankun



_______________________________________________
Discuss-gnuradio mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


reply via email to

[Prev in Thread] Current Thread [Next in Thread]