usrp-users@lists.ettus.com

Discussion and technical support related to USRP, UHD, RFNoC

View all threads

Bottleneck for high sampling rate?

BA
Bakshi, Arjun
Wed, Jan 17, 2018 6:53 PM

Not sure where to ask this but, if I had a setup where I had ~10 complex32 streams (TX+RX) all running at 10Msps, where would the bottlenecks lie? I'd like to know this for a system upgrade.

The network interface for sure. 1Gbps ethernet won't be sufficient, but whats a good upgrade? 10Gbps?

Similarly, how do I compute the requirements for the CPU or RAM?

I don't think doing simulations where I have 10 streams throttled at 10Msps in GRC will give me a good estimate of these things.

Thank you,

AB

Not sure where to ask this but, if I had a setup where I had ~10 complex32 streams (TX+RX) all running at 10Msps, where would the bottlenecks lie? I'd like to know this for a system upgrade. The network interface for sure. 1Gbps ethernet won't be sufficient, but whats a good upgrade? 10Gbps? Similarly, how do I compute the requirements for the CPU or RAM? I don't think doing simulations where I have 10 streams throttled at 10Msps in GRC will give me a good estimate of these things. Thank you, AB
MD
Marcus D. Leech
Wed, Jan 17, 2018 8:20 PM

On 01/17/2018 01:53 PM, Bakshi, Arjun via USRP-users wrote:

Not sure where to ask this but, if I had a setup where I had ~10
complex32 streams (TX+RX) all running at 10Msps, where would the
bottlenecks lie? I'd like to know this for a system upgrade.

The network interface for sure. 1Gbps ethernet won't be sufficient,
but whats a good upgrade? 10Gbps?

Similarly, how do I compute the requirements for the CPU or RAM?

I don't think doing simulations where I have 10 streams throttled at
10Msps in GRC will give me a good estimate of these things.

Thank you,

AB


USRP-users mailing list
USRP-users@lists.ettus.com
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com

It really, REALLY, matters what you're doing with the samples streams.
There are no general guidelines other than the compute load is roughly
approximated as:

sample-rate * inherent-complexity-per-sample

On 01/17/2018 01:53 PM, Bakshi, Arjun via USRP-users wrote: > > Not sure where to ask this but, if I had a setup where I had ~10 > complex32 streams (TX+RX) all running at 10Msps, where would the > bottlenecks lie? I'd like to know this for a system upgrade. > > > The network interface for sure. 1Gbps ethernet won't be sufficient, > but whats a good upgrade? 10Gbps? > > > Similarly, how do I compute the requirements for the CPU or RAM? > > > I don't think doing simulations where I have 10 streams throttled at > 10Msps in GRC will give me a good estimate of these things. > > > Thank you, > > > AB > > > > > _______________________________________________ > USRP-users mailing list > USRP-users@lists.ettus.com > http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com It really, REALLY, matters what you're doing with the samples streams. There are no general guidelines other than the compute load is roughly approximated as: sample-rate * inherent-complexity-per-sample
DN
Dave NotTelling
Sun, Jan 21, 2018 6:29 PM

You can try things like perf, performance counters in gnu radio, and top -H
(shows CPU usage of individual threads).

For my personal debugging I made a block that simply counts how many
samples it has received in the work() call and every X seconds outputs the
average number of samples it has seen in that time period (samples per
second).  I then use this block in offline testing (doesn't really work
well with devices in line) of each block (maybe providing the block with a
null source of data) and see what the max throughput of each block is (no
throttle block!!).  In the event that the max throughput is lower than the
rate of samples coming into that block for the real world then I know that
I need to make that block better or split the functionality into multiple
blocks.

Here is another post with perf:
http://lists.gnu.org/archive/html/discuss-gnuradio/2017-10/msg00239.html

On Wed, Jan 17, 2018 at 3:20 PM, Marcus D. Leech via USRP-users <
usrp-users@lists.ettus.com> wrote:

On 01/17/2018 01:53 PM, Bakshi, Arjun via USRP-users wrote:

Not sure where to ask this but, if I had a setup where I had ~10 complex32
streams (TX+RX) all running at 10Msps, where would the bottlenecks lie? I'd
like to know this for a system upgrade.

The network interface for sure. 1Gbps ethernet won't be sufficient, but
whats a good upgrade? 10Gbps?

Similarly, how do I compute the requirements for the CPU or RAM?

I don't think doing simulations where I have 10 streams throttled at
10Msps in GRC will give me a good estimate of these things.

Thank you,

AB


USRP-users mailing listUSRP-users@lists.ettus.comhttp://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com

It really, REALLY, matters what you're doing with the samples streams.
There are no general guidelines other than the compute load is roughly
approximated as:

sample-rate * inherent-complexity-per-sample


USRP-users mailing list
USRP-users@lists.ettus.com
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com

You can try things like perf, performance counters in gnu radio, and top -H (shows CPU usage of individual threads). For my personal debugging I made a block that simply counts how many samples it has received in the work() call and every X seconds outputs the average number of samples it has seen in that time period (samples per second). I then use this block in offline testing (doesn't really work well with devices in line) of each block (maybe providing the block with a null source of data) and see what the max throughput of each block is (no throttle block!!). In the event that the max throughput is lower than the rate of samples coming into that block for the real world then I know that I need to make that block better or split the functionality into multiple blocks. Here is another post with perf: http://lists.gnu.org/archive/html/discuss-gnuradio/2017-10/msg00239.html On Wed, Jan 17, 2018 at 3:20 PM, Marcus D. Leech via USRP-users < usrp-users@lists.ettus.com> wrote: > On 01/17/2018 01:53 PM, Bakshi, Arjun via USRP-users wrote: > > Not sure where to ask this but, if I had a setup where I had ~10 complex32 > streams (TX+RX) all running at 10Msps, where would the bottlenecks lie? I'd > like to know this for a system upgrade. > > > The network interface for sure. 1Gbps ethernet won't be sufficient, but > whats a good upgrade? 10Gbps? > > > Similarly, how do I compute the requirements for the CPU or RAM? > > > I don't think doing simulations where I have 10 streams throttled at > 10Msps in GRC will give me a good estimate of these things. > > > Thank you, > > > AB > > > > > _______________________________________________ > USRP-users mailing listUSRP-users@lists.ettus.comhttp://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com > > It really, REALLY, matters what you're doing with the samples streams. > There are no general guidelines other than the compute load is roughly > approximated as: > > sample-rate * inherent-complexity-per-sample > > > > > _______________________________________________ > USRP-users mailing list > USRP-users@lists.ettus.com > http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com > >