Reducing latency on multicore pc's - Success!

More
06 Nov 2019 13:00 #149704 by andypugh
Go back to onboard graphics?

Please Log in or Create an account to join the conversation.

More
01 Oct 2021 20:44 - 01 Oct 2021 20:45 #221980 by RDA
Hello,

So I got myself a 19" panel pc and wanted to try out linuxcnc on it. Thanks for the easy instructions I managed to get it running (simulation). I then started playing around wit the latency test, my first set of 6 x glxgears gave me a bit over 400k jitter as a result, not too shabby.
My panel pc is running on:
Intel Core i3-7100U
4Gb RAM
MSI model: MS-98H3
Intel HD Graphics 620

So a startpoint of over 400k I first set the GOVERNOR from powersave to performance. This took the jitter to a bit under 200k, so half of what it was. Next think I did was disable hyperthreading from bios and jitter dropped to about 160k, last was isolcpu and im now at around 120k.
So the biggest thing for sure was the power save and then hyperthreading and isolcpu both contributed roughly the same amount.

Are there any more easy tricks? I tired playing around with videocard memory sizes in bios but those didnt have that much of an effect.

I also assume using something like a Mesa for driving motors helps quite a bit as the fast switching is moved to the FPGA?

Any way to narrow down whats the actual bottleneck?
Last edit: 01 Oct 2021 20:45 by RDA.

Please Log in or Create an account to join the conversation.

More
01 Oct 2021 20:53 - 01 Oct 2021 20:57 #221981 by andypugh

Are there any more easy tricks?

You could try the RTAI kernel and matching LinuxCNC version.
I have a Core i3 machine with a latency < 2000nS. But that isn't an RTAI thing, that machine is just as good with preempt-rt.
model name : Intel(R) Core(TM) i3-3220T CPU @ 2.80GHz
stepping : 9
microcode : 0x17
cpu MHz : 2793.547
So it is more often the motherboard than the CPU that determines latency.  
Attachments:
Last edit: 01 Oct 2021 20:57 by andypugh.

Please Log in or Create an account to join the conversation.

More
02 Oct 2021 12:31 #222009 by RDA
Thanks for the reply. Today I tried with the official intel drivers using MXTweak but it made it worse ~+70k ns.

Turning everything off from bios and seems I end up in around 150uS servo and 90uS base threads (I will need to playaround with the graphics memory etc in bios).

As I see preempt RT probably being supported more and more in the future, I would like to stick with that (please correct me if I am totally off).

I just assume that 150uS latency with Mesa cards is not "that" bad? Should I try with different RT kernel versions?

Please Log in or Create an account to join the conversation.

More
20 Oct 2021 18:30 #223696 by Joco
Different RT kernel versions matter as does the OS.

On “sensitive” h/w I have found, using the same kernel and kernel options, significant latency differences between Debian and Mint.  I don’t know why it happens but time and again I have found a Mint install on the same sensitive kit trounces Debian. Even with the same kernel versions.

To be fair this is on kit that is sensitive and requires the setup to be “just so”.

I would suggest some experimentation beyond the official debian path if you are looking get the best out of kit that is not immediately sub 70us on offical lcnc debian.    For example, i now have an HP thin client machine running a very frugal AMD T56N on Arch Linux RT kernel delivering ~~26 servo jitter.  Debian 10 and 11 measured materially north of 100us (120+ from memory).  Mint19 gave ~35us. 

Please note that the key here is SENSITIVE kit.  I have a dell 3020 machine on debian 10 delivering excellent jitter. Experimentation deliver real wins, just be prepared to invest the time.  

Cheers - J. 

Please Log in or Create an account to join the conversation.

More
20 Oct 2021 18:35 #223699 by Joco
Andy - is that i3 machine a custom build or something stock from big name like HP, Dell etc?  If the later what exact model?

Please Log in or Create an account to join the conversation.

Time to create page: 0.092 seconds
Powered by Kunena Forum