Discussion and technical support related to USRP, UHD, RFNoC
View all threadsNot 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
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
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