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 > > With best regards, > Nguyen Anh Duc > > > On Thu, Jul 24, 2014 at 12:51 AM, Marcus Müller <[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]> 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]> 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 >> [email protected]https://lists.gnu.org/mailman/listinfo/discuss-gnuradio >> >> >> >> _______________________________________________ >> Discuss-gnuradio mailing >> [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
