discuss-gnuradio
[Top][All Lists]
Advanced

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

Re: [Discuss-gnuradio] TPB Scheduler - Block Scheduling Rate


From: Ben Hilburn
Subject: Re: [Discuss-gnuradio] TPB Scheduler - Block Scheduling Rate
Date: Sun, 30 Jan 2011 14:50:20 -0500

Michael -

I greatly appreciate the response, and yes, your post was helpful.

Hopefully I'll come back with some good news before too long =)

Cheers,
Ben


On Fri, Jan 28, 2011 at 10:07 PM, Michael Dickens <address@hidden> wrote:
> On Jan 28, 2011, at 2:23 PM, Ben Hilburn wrote:
>> As I understand it, there is code in the GNURadio scheduler stuff that
>> manages block scheduling, to some degree.
>>
>> I'm aware of the kernel's role in switching between the threads
>> themselves, but I was under the impression that block scheduling, was
>> at least in some part, influenced by GNU Radio.
>>
>> If this is incorrect though, someone please correct me!
>
> Yes, this is true, Ben.  The OS handles the basics of thread execution, but 
> the TPB scheduler does handle "when" a block's "general_work" method is 
> actually called.  See gnuradio-core/src/lib/runtime, files 
> "gr_tpb_thread_body.cc" (which for the most part is a simple loop calling the 
> block executor and neighbor blocks when things change) and 
> "gr_block_executor.cc" (which is where the meat of what you're looking for 
> it, I believe).  For the latter, you can set ENABLE_LOGGING to 1, which 
> should give you an idea of what the "decision process" is.
>
> I think the general idea goes roughly like this: When data in a given buffer 
> changes (whether through generated or consumed items), each block that is 
> associated with that buffer checks to see if there is "enough" input data and 
> output buffer space for a "reasonable sized" computation.  If not, then go 
> back and wait for buffers to change; if so, then do the computation (call 
> "general_work").  You'll need to look through the code to determine what 
> "enough" and "reasonable sized" mean -- looking at the debug log might help 
> as well.
>
> It's been a long time since I've thought about these algorithms, so hopefully 
> the above is reasonably correct.  And, I hope this helps! - MLD
>
>



reply via email to

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