Linux isolcpus versus cgroup approach for isolating busy wait message processing threads

1,789 views
Skip to first unread message

Jean Dagenais

unread,
Feb 15, 2018, 11:17:43 AM2/15/18
to mechanical-sympathy
Hello,

We are investigating the use of isolcpus and/or cgroups to isolate a set of cores where we will run our Java busy wait message processing threads (using a thread affinity library). Other threads will run on "generic cores".

I think that we can achieve the same objective with both isolcpus and cgroups, and I was wondering if there are best approaches/shortcomings related to:

- Using only isolcpus
- Using only cgroups
- Using isolcpus and cgroups

Also, does the latest release of Red Hat 7 provides better support for cgroups versus isolcpus?

Thanks for all your help/advise!
Jean


Georges Gomes

unread,
Feb 15, 2018, 11:31:33 AM2/15/18
to mechanica...@googlegroups.com
Hi
If you are looking for low latency in high percentiles for your thread pickup then I had good results with isolcpu.
How do you plan to setup cgroups to achieve the same “exclusive” core?
Cheers
Georges

--
You received this message because you are subscribed to the Google Groups "mechanical-sympathy" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mechanical-symp...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Jean-Philippe BEMPEL

unread,
Feb 15, 2018, 12:47:12 PM2/15/18
to mechanica...@googlegroups.com
Hello 

More precisely it is cpuset instead of of cgroups 

The issue with isolcpus is that you are completely isolated from the OS scheduler. If you are guaranteed that there will be one and only one thread (with thread affinity) it's ok. 

However if more than one thread will be assigned to this core you will suffer from scheduling issues between the threads because scheduler cannot load balance them effectively. 

Cheers 


On Thursday, February 15, 2018, Georges Gomes <george...@gmail.com> wrote:
Hi
If you are looking for low latency in high percentiles for your thread pickup then I had good results with isolcpu.
How do you plan to setup cgroups to achieve the same “exclusive” core?
Cheers
Georges

On Thu, Feb 15, 2018 at 11:17 AM 'Jean Dagenais' via mechanical-sympathy <mechanical-sympathy@googlegroups.com> wrote:
Hello,

We are investigating the use of isolcpus and/or cgroups to isolate a set of cores where we will run our Java busy wait message processing threads (using a thread affinity library). Other threads will run on "generic cores".

I think that we can achieve the same objective with both isolcpus and cgroups, and I was wondering if there are best approaches/shortcomings related to:

- Using only isolcpus
- Using only cgroups
- Using isolcpus and cgroups

Also, does the latest release of Red Hat 7 provides better support for cgroups versus isolcpus?

Thanks for all your help/advise!
Jean


--
You received this message because you are subscribed to the Google Groups "mechanical-sympathy" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mechanical-sympathy+unsub...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "mechanical-sympathy" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mechanical-sympathy+unsub...@googlegroups.com.

NeT MonK

unread,
Feb 20, 2018, 1:54:55 PM2/20/18
to mechanical-sympathy
I dont know if it's gonna help you, but last year Steve Rostedt gaves a very interesting talk about realtime kernel with this https://youtu.be/w3yT8zJe0Uw?t=40m38s presenting better way to do cpu isolation.  
Reply all
Reply to author
Forward
0 new messages