Parallel programming with GNU radio (OpenMP vs MPI)

Hello G.s,

I was wondering if any efforts have been made to apply parallel
programming techniques in GNU radio projects. I have seen a project of
building an OFDM transceiver using a cluster and MPI technique. However,
in case of using laptops (where multicore shared memory architecture)
instead of clusters, I think that OpenMP might be more applicable for
codes that will run on laptop platforms. Any thoughts to share on this
topic?

Kind regards,
Yahia Tachwali

On Tue, Sep 15, 2009 at 04:39:49AM -0500, Tachwali, Yahia wrote:

Hello G.s,

I was wondering if any efforts have been made to apply parallel
programming techniques in GNU radio projects. I have seen a project
of building an OFDM transceiver using a cluster and MPI
technique. However, in case of using laptops (where multicore shared
memory architecture) instead of clusters, I think that OpenMP might
be more applicable for codes that will run on laptop platforms. Any
thoughts to share on this topic?

Yes, we are currently applying parallel programming techinques in GNU
Radio. Depending on the details of the flow graph that you executing,
we have seen near linear scaling up to 24 cores (quad 6-core).

This has been done in a way that is completely transparent to the
applications themselves. (At this point, we assign a thread per
gr_block in the graph). OpenMP may help at some point, but I’m not
sure. You’d have to run some experiments and see if using it does
better than what we’ve currently got.

In a cluster, you start running into interconnect capacity issues for
many graphs. Again it depends on what you’re doing, but a single
30MS/s stream (16-bit I & Q) will saturate a gigabit connection.

Eric