Hello all,
Yeah, I also think this topic is interesting to find out this vague and
unclear scheduler! I'm waiting for further discussions.

Best,
Mostafa


On Thu, Jul 24, 2014 at 5:50 PM, Leonardo S. Cardoso <[email protected]>
wrote:

> Hello everyone,
>
> I've been asking the same questions as Anh, since we have a PhD student
> working on dataflow programming, specifically for GNU Radio.
>
> I think this discussion can benefit a lot of people who work with
> dataflow, but also the rest of us, who just want to understand what's going
> on under the hood.
>
> Maybe, one day we can compile all questions and answers into a nice
> formatted document that will serve as a reference for the rest of us... :)
>
> Best regards,
>
> Leo
>
> Leonardo S. Cardoso
> [email protected]
>
>
> On Thu, Jul 24, 2014 at 3:55 PM, Tom Rondeau <[email protected]> wrote:
>
>> On Thu, Jul 24, 2014 at 2:56 AM, Marcus Müller <[email protected]>
>> wrote:
>>
>>>  Hi!
>>>
>>> On 24.07.2014 05:22, Anh Duc Nguyen wrote:
>>>
>>> To be honest, I am studying software structures/platform for software
>>> defined radio (SDR), of which, the scheduler is one of the most crucial
>>> that I wish to analyze in detail; and in turn, gnuradio scheduler for sure
>>> draws much of my attention due to it success and popularity. I hope I could
>>> receive more support and help from you all
>>>
>>>  That sounds really interesting! I think there will be lots of interest
>>> in that, so keep the questions coming :)
>>>
>>> Greetings,
>>> Marcus
>>>
>>
>>
>> It does sound interesting, and Nathan West pointed out a good place to
>> start researching this. I agree with Marcus to keep the questions coming.
>> However, I would add that it would be better served for all of us here if
>> you had very focused questions that we could talk about. Open ended
>> questions like "how does the scheduler work" would require a lot of time to
>> construct an answer; time that very few of us have. But a conversation like
>> this done with the right questions could eventually turn into a nice set of
>> discussion topics that could then be turned into something more substantive
>> for others looking at the same questions.
>>
>> Tom
>>
>>
>>
>>>  With best regards,
>>> Nguyen Anh Duc
>>>
>>>
>>> On Thu, Jul 24, 2014 at 12:51 AM, Marcus Müller <[email protected]> 
>>> <[email protected]>
>>> wrote:
>>>
>>>
>>>   Hi Anh,
>>> in addition to what Nathan explained very nicely, I'd like to point out
>>> that the GNU Radio scheduler is not a static thing, it's actively being
>>> worked on. Whilst the buffer architecture dates back quite a while, things
>>> like message passing and the associated asynchronous communication between
>>> blocks are fairly new. Also, you have to realize that there were several
>>> approaches to scheduling of GNU Radio blocks over the time -- right now, it
>>> seems that GNU Radio has largely settled for the Thread-Per-Block
>>> scheduler, that  has one block_executors per block that itself runs in a
>>> thread of its own.
>>>
>>> You asked:
>>>
>>>
>>>  Could you please provide me with some relevant or supplement readings to
>>> that presentation? I would grateful for it.
>>>
>>>
>>> I think since you have your very own level of understanding, your very own
>>> background in data processing and scheduling, and your very own interest in
>>> details, there will be no way around reading at least block_executor and
>>> some of the tpb_ stuff in detail, with a big piece of paper/whiteboard at
>>> hand and trying to understand these concepts yourself.
>>> Although scheduling is always a bit of a convoluted task, I find the
>>> thread-per-block architecture fairly understandable, and the idea of blocks
>>> notifying their neighbors' threads when they have finished filling/reading
>>> a buffer quite intuitive. The details, however, like how the scheduler
>>> keeps record of the flowgraph, how GNU Radio allocates and manages the
>>> circular buffers, and what happens when you reconfigure a graph, are so
>>> specific, that it's hard to write a text about it that is shorter or
>>> easier to understand for the skilled reader than the code itself.
>>> I'm afraid that's the reason that only Tom (and maybe, in very simplifying
>>> attempts, some GSoC student[1]) has written relevant details on that.
>>>
>>> That being said, "Explain what the scheduler does, so that beginners
>>> understand it and experts get an in-depth comprehension" has been on the
>>> "GNU Radio needs this" list for as long as I've been meddling with GNU
>>> Radio -- and that's really not because no one else had this problem, but
>>> because it is a hard thing to understand and a harder thing to textually
>>> represent correctly.
>>>
>>> Greetings,
>>> Marcus
>>>
>>> [1]http://gsoc.hostalia.de/posts/a-measurement-toolbox-for-gnu-radio-my-google-summer-of-code-project.html#evaluating-block-performance
>>>
>>>
>>>
>>>
>>> but that barely scratches the subject
>>>
>>> On 23.07.2014 18:37, Anh Duc Nguyen wrote:
>>>
>>> Thank Vanush,
>>>
>>> I have read this presentation already; unfortunately, I found it rather
>>> hard to draw an overall picture of gnuradio scheduler to some extent of
>>> details. Perhaps, as Tom said on his webpage 
>>> (http://www.trondeau.com/blog/2013/9/15/explaining-the-gnu-radio-scheduler.html)
>>> the scheduler is the most mysterious and complicated part of gnuradio - not
>>> easy to digest it
>>>
>>> Could you please provide me with some relevant or supplement readings to
>>> that presentation? I would grateful for it.
>>> My first intuitive question is that since each signal processing block does
>>> require both input and output buffers, then it may cause the source-sink
>>> latency to be significantly large. Is this true and is there any design
>>> analysis on this?
>>>
>>> With best regards,
>>>
>>> Nguyen Anh Duc
>>>
>>>
>>> On Wed, Jul 23, 2014 at 10:08 AM, Vanush Vaswani <[email protected]> 
>>> <[email protected]> <[email protected]> <[email protected]> wrote:
>>>
>>>
>>>  http://www.trondeau.com/storage/tutorial/gr_scheduler_overview.pdf
>>>
>>>
>>>
>>> On Wed, Jul 23, 2014 at 2:32 AM, Anh Duc Nguyen <[email protected]> 
>>> <[email protected]> <[email protected]> <[email protected]> wrote:
>>>
>>>
>>>  Dear all,
>>>
>>> I wish to study how gnuradio handles the dataflow,e.g., buffering,
>>> scheduling, synchronization, optimization as well as resultant latency in
>>> detail. However, I can not find any material that explain such things
>>> clearly. Could you please point me to direct or indirect resources e.g., in
>>> literature which present I need. I would appreciate it much,
>>>
>>> With best regards,
>>>
>>> Nguyen Anh Duc
>>>
>>>
>>
>> _______________________________________________
>> 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
>
>
_______________________________________________
Discuss-gnuradio mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to