Miklos,

thanks for the feedback. For your comments on the block executor, that's a
great point -- where does it belong? At some point, we'll need owners for
this task. Would you be interested in participating?

-- M

On Wed, Jan 2, 2019 at 5:54 PM Miklos Maroti <mmar...@gmail.com> wrote:

> Dear Martin,
>
> I have been looking at the GNURadio scheduler quite a bit recently and
> would like to summarize my experiences that could affect the direction
> of this GREP. As you have properly observed, the scheduler is very
> hard to change as it is, but there are new opportunities if we allow
> changes. There are two components: scheduler itself (the scheduler_tpb
> and tpb_thread_body) and the block executor. I think both needs some
> attention, but it is not clear if you want to address only the
> scheduler itself or together with the executor.
>
> - For the scheduler I would really like to introduce a type of
> scheduler that manages only a subset of blocks for minimizing latency
> by draining internal buffers within this group of block before new
> data is accepted into these blocks. Think of a long sequence of blocks
> processing packets that we would like to perform one after the other
> without bringing all that functionality into a single block. Maybe the
> flow graph need not be flattened completely, but certain hierarchical
> blocks could be managed by their own scheduler (so flattened into a
> level 1 hierarchy). Maybe the single threaded scheduler is just a
> special case of this.
>
> - Certain tasks, such as combining packets into frames, might need to
> know if future packets are arriving. This can be accomplished with a
> timeout, so the block would be notified to flush its internal buffers
> if the work function has not been called for a predefined time. There
> is no such functionality within the current scheduler and I think it
> would be possible to implement one by exposing the timeout used within
> tpb_thread_body.
>
> - The block executor is also a very complex beast. I am wondering why
> the functionality of the executor not implemented within the
> basic_block where it could be overloaded.
>
> Hope this starts the discussion and others can voice their opinion.
>
> Best,
> Miklos
>
> On Thu, Dec 27, 2018 at 10:58 PM Martin Braun <mar...@gnuradio.org> wrote:
> >
> > Hi all,
> >
> > final GREP of the day:
> https://github.com/gnuradio/greps/blob/master/grep-0016-separate-scheduler.md
> >
> > This is possible the most fundamental and influential GREPs that were
> added so far. I would find it hard to find any reasons not to do this -- of
> course, the question remains, who will do it. Any takers? I'm hoping that
> by separating scheduler from base, we can open up the avenue for more and
> better research into scheduling, as well as custom scheduler development.
> >
> > Discuss!
> >
> > -- Martin
> > _______________________________________________
> > Discuss-gnuradio mailing list
> > Discuss-gnuradio@gnu.org
> > https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>
> _______________________________________________
> Discuss-gnuradio mailing list
> Discuss-gnuradio@gnu.org
> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>
_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to