I think you are missing the point. In order to
support massive parallelism, data must be duplicated as it comes
of the wire and into memory. Not duplicated in FIFO streams in
an application. The latter is a software implementation of a
hardware task and is consuming resources.
It requires hardware and architecture changes to implement
properly.
Regards,
Mark McCarron
I think you're still missing the very-important point that Gnu Radio
doesn't duplicate the data. Blocks that share an input share a ring
buffer, with
each block having their own pointers into that ring buffer.
There's no copying on the input, and work functions have a
"contract" with the scheduler
that they don't modify their inputs, thus guaranteeing that
sharing the input buffer is "safe". There are some pointers that
move around, but
a bifurcation of a stream simply means bifurcation of pointers,
the data aren't duplicated.
--
Marcus Leech
Principal Investigator
Shirleys Bay Radio Astronomy Consortium
http://www.sbrac.org
|