I’m seeing UDP packet loss and reduced throughput when running a network speed test between a Windows PC and the Apalis Evaluation board connected via a Gigabit ethernet switch. Interestingly, I only see this with the Nvidia L4T image (ubuntu), but not with the Toradex Reference Multimedia image.
[upload|1mysCIeQ9UuhTnebXTXbF1hknpo=]
[upload|LeN5ogE8FflkHxYWIwqlo4/mAF0=]
I’m using iperf3
to run the speed test.
The Apalis evaluation board runs an iperf server
`
sysctl -w net.core.rmem_max=4194304
sysctl -w net.core.wmem_max=4194304
iperf3 -s -i 1
`
The Windows PC run an iperf client
iperf3.exe -c -u -i 1 -w 1M -b 1000M
Both devices are connected via a Gigabit ethernet switch.
When running the Toradex image minimal to no loss is observed with throughput > 950Mbps
When running the nVidia image ~35% loss is observed with throughput < 650Mbps
Any ideas what could be responsible for the reduced performance seen with the nVidia image?
Dear @ishanm26,
Thanks for reaching out to Toradex.
When I understand all of it correctly, you are downloading the image from the internet to the module. There you noticed that the throughput between the Apalis Evaluation Board and your Windows PC is different depending on the image.
What about the throughput to your Windows PC? Can you confirm that the download speed from the internet is the same for both? These images are most probably coming from different servers. Your location might play a role in this behavior.
It would also be interesting to know why you want to use UDP for this?
Best Regards
Kevin
Hi @kevin.tx,
The speed test is performed using iperf between an Apalis Evaluation board running the corresponding image and a Windows PC with the 2 entities being connected via a gigabit switch. This has nothing to do with internet speeds and/or Toradex severs that host the images. Hope that clarifies my experimental setup.
The loss was first observed in UDP based streaming media, hence the choice of transport protocol.
Hi @ishanm26
Any ideas what could be responsible for the reduced performance seen with the nVidia image?
You are comparing Kernel 3.x with Kernel 5.4, thus it is normal to have better performance on newer Kernel.
Could you move to the new kernel for your application?
Best regards,
Jaski
Hi @jaski.tx,
You are correct about the difference in kernel versions. However, since kernel 5.4 does not offer h/w accelerated multimedia support, a move away from 3.10 is would be difficult at this point. More specifically, the Toradex Reference Multimedia image (v5.2.0) is missing gstreamer plugins for h/w accelerated encode/decode (omx*enc/dec) and h/w accelerated render (nveglglessink)
Does Toradex have a roadmap for adding this support to its latest BSP?
Hi @ishanm26,
you will find the roadmap for the BSP versions if you follow the link below:
BSP Roadmap
Best Regards
Kevin
Hi @ishanm26
The issue is more that the Nvidia’s drivers are proprietary and not available in mainline/opensource kernel. So currently there is GPU support in mainline kernel but no VPU and LVDS interface. There are no plans to add this support to mainline kernel.
Depending on your Product/Application, I would suggest you to move to Apalis iMX8.
Best regards,
Jaski
Hi @jaski.tx & @kevin.tx ,
Thanks for the info. Moving to the iMX8 platform is not a viable option ATM.
As I was experimenting with some of the legacy releases, I found that kernel 4.14 behaves equivalent to kernel 5.4 i.e. shows improved speed with no loss. This underscores your earlier point about better performance on newer kernels.
I wanted to further narrow down the version differential, but could not find any pre-built releases running kernel versions greater than 3.10, but less than 4.14.
Could you kindly point me to the same?
Hi @ishanm26,
there is a table which shows all the available versions which are pre-built. You can find this table here:
Versions
I can inform you that there is no pre-built version between 3.10 and 4.14.
Best Regards
Kevin