From: Bob Peterson <rpeterso@redhat.com>
To: cluster-devel.redhat.com
Subject: [Cluster-devel] [PATCH 0/2] GFS2: inplace_reserve performance improvements
Date: Thu, 20 Sep 2018 13:17:49 -0400 (EDT) [thread overview]
Message-ID: <77971123.14918571.1537463869960.JavaMail.zimbra@redhat.com> (raw)
In-Reply-To: <1537455133-48589-1-git-send-email-mark.syms@citrix.com>
----- Original Message -----
> While testing GFS2 as a storage repository for virtual machines we
> discovered a number of scenarios where the performance was being
> pathologically poor.
>
> The scenarios are simplfied to the following -
>
> * On a single host in the cluster grow a number of files to a
> significant proportion of the filesystems LUN size, exceeding the
> hosts preferred resource group allocation. This can be replicated
> by using fio and writing to 20 different files with a script like
Hi Mark, Tim and all,
The performance problems with rgrp contention are well known, and have
been for a very long time.
In rhel6 it's not as big of a problem because rhel6 gfs2 uses "try locks"
which distributes different processes to unique rgrps, thus keeping
them from contending. However, it results in file system fragmentation
that tends to catch up with you later.
I posted a different patch set to solve the problem a different way
by trying to keep track of both Inter-node and Intra-node contention,
and redistributed rgrps accordingly. It was similar to your first patch,
but used a more predictable distribution, whereas yours is random.
It worked very well, but it ultimately got rejected by Steve Whitehouse
in favor of a better approach:
Our current plan is to allow rgrps to be shared among many processes on
a single node. This alleviates the contention, improves throughput
and performance, and fixes the "favoritism" problems gfs2 has today.
In other words, it's better than just redistributing the rgrps.
I did a proof-of-concept set of patches and saw pretty good performance
numbers and "fairness" among simultaneous writers. I posted that a few
months ago.
Your patch would certainly work, and random distribution of rgrps
would definitely gain performance, just as the Orlov algorithm does,
however, I still want to pursue what Steve suggested.
My patch set for this still needs some work because I found some
bugs with how things are done, so it'll take time to get working
properly.
Regards,
Bob Peterson
Red Hat File Systems
next prev parent reply other threads:[~2018-09-20 17:17 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-09-20 14:52 [Cluster-devel] [PATCH 0/2] GFS2: inplace_reserve performance improvements Mark Syms
2018-09-20 14:52 ` [Cluster-devel] [PATCH 1/2] Add some randomisation to the GFS2 resource group allocator Mark Syms
2018-09-20 14:52 ` [Cluster-devel] [PATCH 2/2] GFS2: Avoid recently demoted rgrps Mark Syms
2018-09-20 17:17 ` Bob Peterson [this message]
2018-09-20 17:47 ` [Cluster-devel] [PATCH 0/2] GFS2: inplace_reserve performance improvements Mark Syms
2018-09-20 18:16 ` Steven Whitehouse
2018-09-28 12:23 ` Bob Peterson
2018-09-28 12:36 ` Mark Syms
2018-09-28 12:50 ` Mark Syms
2018-09-28 13:18 ` Steven Whitehouse
2018-09-28 13:43 ` Tim Smith
2018-09-28 13:59 ` Bob Peterson
2018-09-28 14:11 ` Mark Syms
2018-09-28 15:09 ` Tim Smith
2018-09-28 15:09 ` Steven Whitehouse
2018-09-28 12:55 ` Bob Peterson
2018-09-28 13:56 ` Mark Syms
2018-10-02 13:50 ` Mark Syms
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=77971123.14918571.1537463869960.JavaMail.zimbra@redhat.com \
--to=rpeterso@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).