Messages in this thread | | | Subject | Re: [PATCH 0/3] timer: Improve itimers scalability | From | Jason Low <> | Date | Wed, 26 Aug 2015 09:33:24 -0700 |
| |
Hi Andrew,
On Tue, 2015-08-25 at 20:27 -0700, Andrew Morton wrote: > On Tue, 25 Aug 2015 20:17:45 -0700 Jason Low <jason.low2@hp.com> wrote: > > > When running a database workload on a 16 socket machine, there were > > scalability issues related to itimers. > > > > Commit 1018016c706f addressed the issue with the thread_group_cputimer > > spinlock taking up a significant portion of total run time. > > > > This patch series address the other issue where a lot of time is spent > > trying to acquire the sighand lock. It was found in some cases that > > 200+ threads were simultaneously contending for the same sighand lock, > > reducing throughput by more than 30%. > > Does this imply that the patchset increased the throughput of this > workload by 30%? > > And is this test case realistic? If not, what are the benefits on a > real-world workload?
Yes, the test case with the database workload is realistic. We did write a simple micro-benchmark that just generates the contention in this code path to quickly test experimental patches, since the database takes longer to set up and run. However, the performance issues and numbers mentioned here are for the database workload.
These patches should also be beneficial for other multi-threaded applications which uses process-wide timers particularly on systems with a lot of cores.
| |