Willing to bet significant money your tx thread is being put on the physical 
processor that does not have your NIC card attached to it...


Then, all data must go over QPI between processors.


NUMA is not good for this.


You can experiment with affinity to make sure things are all on the same 
physical processor as your NIC...


We no longer buy multi-processor boxes for issues like this, NUMA is bad...


> On August 14, 2017 at 2:32 PM Jason W Zheng via USRP-users 
> <usrp-users@lists.ettus.com> wrote:
> 
> 
>      
> 
>     I'm running on a server with 2 Intel Xeon E5-2650 v4, CPU is listed here:
>     
> https://ark.intel.com/products/91767/Intel-Xeon-Processor-E5-2650-v4-30M-Cache-2_20-GHz
>  
> https://ark.intel.com/products/91767/Intel-Xeon-Processor-E5-2650-v4-30M-Cache-2_20-GHz
> 
>     The network card I'm using is the recommended Intel X520-DA2
> 
>     I also have over 500 gigs of ram, so that is not an issue
> 
>     I don't think my cpu or network card are the issue as when I change my 
> code to receive and transmit on separate channels, it works without any 
> underflows. 
> 
> 
>      
> 
> 
>     ---------------------------------------------
>     From: USRP-users <usrp-users-boun...@lists.ettus.com> on behalf of Jason 
> W Zheng via USRP-users <usrp-users@lists.ettus.com>
>     Sent: Monday, August 14, 2017 11:27:24 AM
>     To: ROBIN TORTORA
>     Cc: usrp-users@lists.ettus.com
>     Subject: Re: [USRP-users] Buffer underrun issue with simultaneous 
> transmit and receive on the X310
>      
> 
>     How should I set the tx metadata? My application will essentially stream 
> continuously. 
> 
> 
>     Thanks,
> 
>     Jason
> 
> 
>     ---------------------------------------------
>     From: ROBIN TORTORA <ti...@comcast.net>
>     Sent: Monday, August 14, 2017 11:17:07 AM
>     To: Jason W Zheng via USRP-users; Jason W Zheng
>     Subject: Re: [USRP-users] Buffer underrun issue with simultaneous 
> transmit and receive on the X310
>      
> 
>     I dont see you setting the tx metadata object members to any values, so 
> you are essentially going to tx with default metadata IF there is a 
> constructor that initializes all the members to a consistent value...
> 
>         > > On August 14, 2017 at 1:56 PM Jason W Zheng via USRP-users 
> <usrp-users@lists.ettus.com> wrote:
> > 
> > 
> >          
> > 
> >         Since I haven't gotten a response in a week, I thought some source 
> > code might help. I've removed any buffer dependencies leaving just the 
> > receive thread and transmit thread. The receive thread is constant 
> > receiving to a buffer, while the transmit thread is constantly transmitting 
> > 0s from another buffer. 
> > 
> >         On the x310, when I receive and transmit from the same channel 
> > (same daughterboard), I get underflows (U's on the console), no matter what 
> > the rate. When I put receive and transmit on separate channels, the U's go 
> > away. 
> > 
> >         How do I fix my source code so I can receive and transmit from the 
> > same channel without underflows? 
> > 
> >         Thanks,
> >         Jason
> > 
> >          
> > 
> > 
> >         ---------------------------------------------
> >         From: USRP-users <usrp-users-boun...@lists.ettus.com> on behalf of 
> > Jason W Zheng via USRP-users <usrp-users@lists.ettus.com>
> >         Sent: Monday, August 7, 2017 1:05:05 PM
> >         To: usrp-users@lists.ettus.com
> >         Subject: [USRP-users] Buffer underrun issue with simultaneous 
> > transmit and receive on the X310
> >          
> > 
> >          
> > 
> >         Hi,
> > 
> > 
> >         I'm building an application where I receive data from the x310, 
> > process the data, then transmit it out. I have 3 separate threads running, 
> > one for each task. The receive task is constantly receiving data from the 
> > x310 at 200MS/s and putting it into a buffer. The process task takes data 
> > from the receive buffer, processes it, and puts it into a transmit buffer. 
> > The transmit task is constantly transmitting data from the transmit buffer 
> > at 12.5 MS/s. 
> > 
> > 
> >         I get constant underruns (U's on the console) when I try to receive 
> > and transmit from the same channel on the x310. However, when I transmit 
> > and receive on separate channels, underruns no longer occur. I would like 
> > to figure out a solution to this problem as I want to processes two 200MS/s 
> > streams on 1 x310. 
> > 
> > 
> >         This problem occurs no matter the sample rates. I've tried lowering 
> > the receive rate to 50MS/s (while transmitting 4x the data to balance 
> > things out) and there are still constant underruns though at a lower rate.  
> > I know processing time is not the issue as I've profiled the time it takes 
> > to process, and I have even removed the processing task from the 
> > application altogether (receive data to a buffer and do nothing with the 
> > data; constantly transmit 0's from the transmit buffer) and the underruns 
> > still occur. 
> > 
> > 
> >         I'm running on UHD 3.11.0, and the x310 is is configured with basic 
> > TX/RX daughterboards and flashed with the XG image for use over two 10 gig 
> > ethernet links. 
> > 
> > 
> >         Thanks,
> > 
> >         Jason
> > 
> > 
> >          
> > 
> >     > 
> 
>      
> 
>         > > _______________________________________________
> >         USRP-users mailing list
> >         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
> 
_______________________________________________
USRP-users mailing list
USRP-users@lists.ettus.com
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com

Reply via email to