Reducing latency on multicore pc's - Success!
06 Nov 2019 13:00 #149704
by andypugh
Replied by andypugh on topic Reducing latency on multicore pc's - Success!
Go back to onboard graphics?
Please Log in or Create an account to join the conversation.
01 Oct 2021 20:44 - 01 Oct 2021 20:45 #221980
by RDA
Replied by RDA on topic Reducing latency on multicore pc's - Success!
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?
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.
01 Oct 2021 20:53 - 01 Oct 2021 20:57 #221981
by andypugh
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.So it is more often the motherboard than the CPU that determines latency.
Replied by andypugh on topic Reducing latency on multicore pc's - Success!
You could try the RTAI kernel and matching LinuxCNC version.Are there any more easy tricks?
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
Attachments:
Last edit: 01 Oct 2021 20:57 by andypugh.
Please Log in or Create an account to join the conversation.
02 Oct 2021 12:31 #222009
by RDA
Replied by RDA on topic Reducing latency on multicore pc's - Success!
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?
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.
20 Oct 2021 18:30 #223696
by Joco
Replied by Joco on topic Reducing latency on multicore pc's - Success!
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.
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.
20 Oct 2021 18:35 #223699
by Joco
Replied by Joco on topic Reducing latency on multicore pc's - Success!
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.
01 Nov 2021 12:59 #224872
by andypugh
Mainly bought as an easy machine to move about the place. But with Parallel port and two PCI slots it makes a good test bed machine as it can run any Mesa card.
Replied by andypugh on topic Reducing latency on multicore pc's - Success!
It's an RM-One 310: www.ebay.co.uk/itm/121963066201Andy - is that i3 machine a custom build or something stock from big name like HP, Dell etc? If the later what exact model?
Mainly bought as an easy machine to move about the place. But with Parallel port and two PCI slots it makes a good test bed machine as it can run any Mesa card.
The following user(s) said Thank You: tommylight, Joco
Please Log in or Create an account to join the conversation.
19 Dec 2021 15:53 - 19 Dec 2021 16:05 #229494
by rajsekhar
Replied by rajsekhar on topic Reducing latency on multicore pc's - Success!
Hello..
I followed the first post of this discussion steps and got some improvement in latency value..
But I could not complete the step: - add the upstart script "irq-affinity.conf" to /etc/init (see attachments, it will move the irq-handling to the first core)
can anyone demonstrate/ what are the exact steps/commands..I am not a computer guy.
Thanks,
I followed the first post of this discussion steps and got some improvement in latency value..
But I could not complete the step: - add the upstart script "irq-affinity.conf" to /etc/init (see attachments, it will move the irq-handling to the first core)
can anyone demonstrate/ what are the exact steps/commands..I am not a computer guy.
Thanks,
Last edit: 19 Dec 2021 16:05 by rajsekhar.
Please Log in or Create an account to join the conversation.
19 Dec 2021 21:42 #229510
by arvidb
Replied by arvidb on topic Reducing latency on multicore pc's - Success!
The original post is nine years old and the parts concerning kernel and init system configuration are no longer relevant. If you have latency issues, try to find newer info or start a new thread describing your problem. Usually much can be done by disabling power saving features and unused peripherals in the BIOS.
The following user(s) said Thank You: tommylight
Please Log in or Create an account to join the conversation.
Time to create page: 0.357 seconds