[Bugs] [Bug 1428052] New: performance/io-threads: Eliminate spinlock contention via fops-per-thread-ratio
bugzilla at redhat.com
bugzilla at redhat.com
Wed Mar 1 19:04:53 UTC 2017
https://bugzilla.redhat.com/show_bug.cgi?id=1428052
Bug ID: 1428052
Summary: performance/io-threads: Eliminate spinlock contention
via fops-per-thread-ratio
Product: GlusterFS
Version: mainline
Component: core
Assignee: bugs at gluster.org
Reporter: vbellur at redhat.com
CC: bugs at gluster.org
performance/io-threads: Eliminate spinlock contention via fops-per-thread-ratio
Summary:
- Background: Frequently spinlock is observed on busy GFS clusters,
which wastes CPU and destroys the performance of the cluster.
Current solutions to this problem involve under-provisioning the thread
pool, but this is problematic as during busy periods there may not be
enough threads to service the queue.
- This patch introduces a technique to avoid the stampeding herd problem with
the io-threads workers. This is done by dynamically tuning the
threads by a ratio of threads to queue depth, there-by keeping
already running threads sufficiently busy by a tunable FOP to thread
ratio. Ratio is controllable by the
performanace.io-threads-fops-per-threads-ratio option.
- More detailed reading on this approach can be found here:
https://h21007.www2.hp.com/portal/download/files/unprot/hpux/MakingConditionVariablesPerform.pdf
- Cherry-pick of D2530504 for 3.8
Test Plan:
- Stress teston my dev server
- shadow testing
Reviewed By: moox, sshreyas
Signed-off-by: Shreyas Siravara <sshreyas at fb.com>
Change-Id: I771ae783aa4ca5a6fd0449db64e07d1f4bff0d04
Reviewed-on: http://review.gluster.org/16080
CentOS-regression: Gluster Build System <jenkins at build.gluster.org>
Tested-by: Shreyas Siravara <sshreyas at fb.com>
NetBSD-regression: NetBSD Build System <jenkins at build.gluster.org>
Smoke: Gluster Build System <jenkins at build.gluster.org>
Reviewed-by: Kevin Vigor <kvigor at fb.com>
--
You are receiving this mail because:
You are on the CC list for the bug.
You are the assignee for the bug.
More information about the Bugs
mailing list