From: Mike Snitzer <snitzer@redhat.com>
To: dm-devel@redhat.com
Cc: j-nomura@ce.jp.nec.com, tgill@redhat.com
Subject: Re: [RFC PATCH] dm service time: measure service time rather than approximate it
Date: Fri, 8 Apr 2016 15:53:14 -0400 [thread overview]
Message-ID: <20160408195314.GA8678@redhat.com> (raw)
In-Reply-To: <20160408190349.GA8453@redhat.com>
On Fri, Apr 08 2016 at 3:03pm -0400,
Mike Snitzer <snitzer@redhat.com> wrote:
> On Fri, Apr 08 2016 at 2:58pm -0400,
> Mike Snitzer <snitzer@redhat.com> wrote:
>
> > The DM multipath service-time path-selector has historically tracked the
> > amount of outstanding IO per path and used that to approximate the
> > service-time of each path. In practice this has shown itself to work
> > fairly well but we can do better by measuring the actual service-time
> > during IO completion and using it as the basis for path selection.
> >
> > Measuring the actual service-time is still prone to inaccuracies given
> > that service-times vary with IO size. But to counter any potential for
> > drawing incorrect conclusions about the service-times of a given path
> > the measured service-times are reset periodically.
> >
> > This approach has provided a 10% increase in the selection of a path
> > that was forcibly made to be less loaded than the alternative path.
> >
> > Reported-by: Todd Gill <tgill@redhat.com>
> > Signed-off-by: Mike Snitzer <snitzer@redhat.com>
>
> It should be noted that I have not looked at the implications on actual
> throughput or system load. But I wanted to get this RFC out to see what
> others thought about making dm-service-time more intuitive in its
> implementation.
I have notice fio's total and completion latency ('lat' and 'clat') go
up on this simple SAS testbed:
before:
write: io=345920KB, bw=34379KB/s, iops=537, runt= 10062msec
slat (usec): min=10, max=47, avg=22.51, stdev= 3.71
clat (msec): min=1, max=146, avg=59.50, stdev=11.84
lat (msec): min=1, max=146, avg=59.52, stdev=11.84
after:
write: io=347456KB, bw=34545KB/s, iops=539, runt= 10058msec
slat (usec): min=6, max=46, avg=20.50, stdev= 3.68
clat (usec): min=385, max=146556, avg=59219.94, stdev=11580.00
lat (usec): min=403, max=146573, avg=59240.87, stdev=11580.57
Which obviously isn't what we want (might speak to why Junichi decided
to approximate service-time)...
prev parent reply other threads:[~2016-04-08 19:53 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-04-08 18:58 [RFC PATCH] dm service time: measure service time rather than approximate it Mike Snitzer
2016-04-08 19:03 ` Mike Snitzer
2016-04-08 19:53 ` Mike Snitzer [this message]
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=20160408195314.GA8678@redhat.com \
--to=snitzer@redhat.com \
--cc=dm-devel@redhat.com \
--cc=j-nomura@ce.jp.nec.com \
--cc=tgill@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.