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
