Hi Michael,

thank you for the feedback.
Unfortunately the X300 offers just one SFP+, so combining two links
should not be possible. I also don't think the network interface itself
is the bottleneck, considering two independent processes don't seem to
have a problem providing the data.

I will keep you updated, how one multi_usrp instance with one
tx_streamer per USRP behaves.

Regards,
Max


Am 07.05.20 um 19:45 schrieb Michael Dickens:
Hi Max (& Rob) - I'm working my way up to 2xX310. The following applies
to 1x X310 + 2x SFP+ links; it -might- be applicable toward your 2x (1x
X310 + 1x SFP+ link) situation; worth a try!  - MLD

By default, UHD + X310 will use just a single SFP+ link for data
transport, which (obviously) limits the data throughput to half that for
when using both SFP+ links. The link chosen is whichever is set as
"addr" in the --args. Under some conditions, you can add in arguments to
use both SFP+ links. If the aggregate TX data throughput fits within one
SFP+ link, then just the first "addr" link will be used, regardless of
these settings. If the aggregate TX data throughput is greater than that
which can be provided by a signal SFP+ link, then both links will be
used -- up to total aggregate link capacity, of course. The additional
arguments are: "enable_tx_dual_eth=1,skip_dram=1".
---
Michael Dickens
Ettus Research Technical Support
Email: supp...@ettus.com <mailto:supp...@ettus.com>
Web: https://ettus.com/


On Thu, May 7, 2020 at 12:41 PM Max via USRP-users
<usrp-users@lists.ettus.com <mailto:usrp-users@lists.ettus.com>> wrote:

    Hi Rob,

    thank you for your comments.

    I did not think about using multiple streamers with multi_usrp, but will
    give it a try before considering DPDK.

    More important, about your two questions:
    Using the Replay block is not an option, but I indeed forgot to add
    clock_soure=external and time_source=external to the arguments of
    benchmark_rate. Now if I use external synchronization, the benchmark
    just hangs with <5% CPU usage and never finishes.
    Running rx benchmarks however works, and I also never experienced any
    sync issues when streaming data from two USRPs in parallel with my
    custom application.

    I hope you asked this question because you had a suspicion.

    Regards,
    Max


     >> I have two X300 USRPs connected to the same PC by 10Gb. Both
    USRPs are synchronized with 10MHz.
     >>
     >> I can receive data without any overflows at 200 MHz (one channel
    per USRP), but transmitting results in massive underflows for 184.32
    and 200 MHz.
     >>
     >> benchmark_rate shows the same behavior when transmitting on both
    USRPs at the same time; sampling rates <= 100 MHz or using just one
    USRP however works without underflows.
     >>
     >>
     >>
     >> But I also tried running two benchmark_rate processes in
    parallel, one for each of the USRPs, and this works flawlessly.
     >>
     >> Is there any explanation, why using uhd::usrp::multi_usrp
    results in massive underflows, while operating two devices in
    parallel in general seems to work?
     >>
     >>
     >>
     >> I assume using two uhd::device objects with independent
    tx_streamers could be a workaround for me. But using multi_usrp
    nevertheless seems more convenient.
     >
     > Hi Max,
     > I don't know the direct answer to your issue, but I have a few
    comments:
     > 1) Tx Underruns have always been a much bigger issue than Rx
    Overruns.
     > It is always harder to get this solved.
     > 2) Even with multi_usrp, you can have 2 threads running. So, you
    don't
     > need to have 2 device objects.  I do this in my software. You can get
     > a streamer for channel 0 and a separate streamer for channel 1 and
     > then run them in different threads. Not quite as convenient as having
     > a single streamer though.  And, not certain if it will solve the
    issue
     > for you.
     > 3) With UHD 3.15 and earlier, using DPDK helps alot with streaming.
     > It is a pain to get configured, but it does stream much better once
     > properly configured
     > 4) With UHD 4.0, I've heard that streaming is improved overall such
     > that it might work fine without DPDK.  But, that is a big question
     > mark and there are always reasons to be cautious  when jumping on to
     > the next best thing...
     >
     > Two questions:
     > 1) When it fails with benchmark rate, are you setting PPS to external
     > so that both device clocks are set to the same time?
     > 2) Is your Tx waveform dynamically changing or is it a fixed length
     > sequence that is repeated?  If the latter, perhaps you could transmit
     > directly from the FPGA using the Replay block.
     > Rob
     > Rob
     >

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


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

Reply via email to