[prev in list] [next in list] [prev in thread] [next in thread]
List: gnuradio-discuss
Subject: RE: [Discuss-gnuradio] M-block integration status
From: Patrik Eliardsson <patrik.eliardsson () foi ! se>
Date: 2010-02-26 10:53:42
Message-ID: 2353D840E7D6904EB79324A7B7EE71F6A5938BD8F8 () EMS ! win ! foi ! se
[Download RAW message or body]
Dear List,
We are heading to the end of February, what is the status of the message passing \
functionality between blocks? I've been looking around in the developers branches but \
haven't found anything yet...
Can someone update me, please?
Best regards,
Patrik Eliardsson
> -----Original Message-----
> From: Eric Blossom [mailto:eb@comsec.com]
> Sent: Thursday, January 07, 2010 8:30 PM
> To: Patrik Eliardsson
> Cc: discuss-gnuradio@gnu.org
> Subject: Re: [Discuss-gnuradio] M-block integration status
>
> On Mon, Jan 04, 2010 at 03:49:38PM +0100, Patrik Eliardsson wrote:
> > Hi Folks,
>
> > Now when the VRT implementation seems to be almost finished,
>
> We're getting there!
>
> > what is the status of the integration of m-block
> capabilities into the
> > gnu-radio? The functionalities described here
> >
> http://lists.gnu.org/archive/html/discuss-gnuradio/2009-03/msg00319.ht
> > ml are just what we are looking for. However, if we don't
> want to wait
> > too long, can this be achieved with m-blocks at the moment? What
> > functionality is missing in the m-blocks? Or has anyone
> solved this in
> > another way?
>
> m-blocks are deprecated, and no further development will be
> done on them.
>
> We have a two pronged approach to achieving similar (or
> related) functionality. In no particular order they are:
>
> (1) Designing and implementing a mechanism whereby blocks can
> embed isochronous metadata in a data stream, tied to specific
> sample indicies. The idea is that blocks can check or set
> key/value pairs over a range of sample indices. We expect
> the metadata for streams that originate from a VRT source to
> contain the VRT Timestamp at the appropriate sample index.
> The GR runtime will be extended such that existing blocks,
> which are naive about this feature, will transparently
> forward metadata from their inputs to their outputs.
>
> (2) Implement per-block message queues to asynchronously
> receive messages containing arbitrarily-typed payloads from
> other blocks, and process them. (The first phase of this is
> complete, but we haven't advertised the feature since we're
> lacking support in hier_blocks, a high-level way to wire
> everything together, and are missing documentation and
> examples). As part of this, GR block "work" methods can send
> asynchronous messages. When a block receives a message, its
> handle_msg(pmt::pmt_t msg) method is called. The runtime
> ensures that handle_msg is never called while the block is in
> "work" and vice-versa. That is, the runtime handles
> everything related to ensuring that this feature works
> reliably in a multi-threaded environment.
>
> Both of these are on my "short-list" of work to get done. I
> expect that both will be complete by the end of February.
>
> I want to make a couple of additional observations about
> async message passing (2). Async message passing allows for
> the creation of blocks which:
>
> * Have only streaming input and/or outputs (like today)
> * Have only async message passing (no streaming i/o)
> * Have both streaming input and/or outputs and have async
> message passing
>
> This gives us the possibility of easily bridging between the
> dataflow and message passing enviroments. We expect that
> many "MAC-like"
> features will be implemented using async message passing,
> while some PHY layer stuff will continue to be implemented
> using the data flow paradigm.
>
> Adding a msg_handler to existing blocks allows block
> parameters to be tweaked at runtime without fear of thread
> safety problems. We've been kicking around some ideas for a
> "middle layer" that supports getting and setting arbitrary
> attributes, in such a way that adding them to a block is as
> simple as filling in a small table.
>
> > Regards,
> > Patrik Eliardsson
>
> Thanks for your question, and if you've got more, please ask away!
>
> Eric
>
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic