cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
261
Views
0
Helpful
3
Replies

Exasock - results in increased penetration latency

ysm
Level 1
Level 1

Has anyone encountered an increase in data penetration latency when using exasock for transparent acceleration on a k3p-s(X25) device?

The background of the issue is as follows: I am using a third-party service's dynamic library to send network data to a server. When not using exasock acceleration, the entire data penetration process takes around 8ns to complete, as observed by the kernel. However, when using exasock acceleration, the entire data penetration process takes around 32us. I am unsure of the reasons behind this increase in latency, but I do know that the third-party service's dynamic library includes frequent select calls. Could these select function calls be causing the issue? If so, are there any methods to resolve it?

3 Replies 3

Not an expert here, but reading some stuff on this in the past it could be frequent select calls in the third-party library are likely the culprit behind the increased latency you see. The select calls introduce overhead within the user-space application and the calls essentially poll the kernel for network activity, which adds latency compared to the kernel-driven network processing that exasock aims to avoid.

There could be other stuff here too, such as interaction between the third-party library and the exasock acceleration mechanism, or other aspects of the hardware offload implementation.

Hope this helps.

Please mark this as helpful or solution accepted to help others
Connect with me https://bigevilbeard.github.io

Thank you very much for the response. Strangely, when using onload acceleration, the latency of the same program is normal. I wonder if there are specific settings for exasock, or if there are limitations to using exasock on programs with select calls?

So it sounds like the frequent select calls in your third-party library are likely causing the high latency with exasock's transparent acceleration, as such these calls introduce user-space overhead that exasock tries to bypass here. 

If onload acceleration provides the desired performance you are looking for, you could consider using it for this specific program. While this requires application modification, the latency benefit might outweigh the development effort.

Hope this helps.

Please mark this as helpful or solution accepted to help others
Connect with me https://bigevilbeard.github.io