Quantcast
Channel: Embedded Software (Read Only)
Viewing all articles
Browse latest Browse all 25965

Forum Post: NDK performance on TMDSEVMC6678LE

$
0
0

I adjusted the NDK example client project to remove all the example network interfaces and to provide my own TCP sockets interface on a TMDSEVMC6678LE.  In order to benchmark the NDK performance the TCP socket interface opens a socket and waits for a request, when it gets the request it sends 102400 off 32 bit float values back over the socket.  This is repeated 100 times so that the interface transfers 40.96 MB.  A simple windows application times how long it takes from the first request until all the data has been returned.  While I appreciate that this will include some variations and inaccuracies from windows operating system delays, this is insignificant compared to the scale of the performance issues I am seeing.  The PC is connected directly to the EVM on GbE.

On the TMDSEVMC6678LE the transfers take in the region of 5.5 seconds, this is roughly 7.5 MB/s transfers or 60 Mb/s.  That seems way too low and is entirely out of keeping with the findings in http://e2e.ti.com/support/dsp/c6000_multi-core_dsps/f/639/p/228388/806828.aspx#806828.  When I view the connection using Wireshark I can see the C6678 sending a few 1460 length packets consecutively a few microseconds apart, then an ACK from the PC a few microseconds after that, followed by a delay of 1 ms before the C6678 starts sending packets again.  Why such a delay?

When a similar test was  performed on a C6657 EVM using a simple NDK project built from scratch using XGCONF (see http://e2e.ti.com/support/embedded/tirtos/f/355/t/325841.aspx) the transfers take in the region of 2 seconds, this is roughly 20 MB/s transfers or 160 Mb/s.  Perhaps not earth shattering but in line with http://e2e.ti.com/support/dsp/c6000_multi-core_dsps/f/639/p/228388/806828.aspx#806828 and acceptable, and about 2.5 times faster than the C6678!

Any ideas what is going on?  Why is the client project for the C6678 so much slower than the HUA project described in the link above?  Why is the client project for the C6678 so much slower than a simple NDK project built from scratch using XGCONF?  I am trying to use the client project as the basis of my own network interface but it would seem to have performance issues.

Any suggestions of things to try to improve the performance gratefully accepted.


Viewing all articles
Browse latest Browse all 25965

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>