[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