All of lore.kernel.org
 help / color / mirror / Atom feed
From: Phil Turmel <philip@turmel.org>
To: Peter Rabbitson <rabbit+list@rabbit.us>
Cc: linux-raid@vger.kernel.org
Subject: Re: Suboptimal raid6 linear read speed
Date: Tue, 15 Jan 2013 18:17:16 -0500	[thread overview]
Message-ID: <50F5E37C.3060103@turmel.org> (raw)
In-Reply-To: <20130115125507.GA12184@rabbit.us>

On 01/15/2013 07:55 AM, Peter Rabbitson wrote:
> On Tue, Jan 15, 2013 at 07:49:10AM -0500, Phil Turmel wrote:
>> You are neglecting each drive's need to skip over parity blocks.  If the
>> array's chunk size is small, the drives won't have to seek, just wait
>> for the platter spin.  Larger chunks might need a seek.
> 
>> Either way, you
>> won't get better than (single drive rate) * (n-2) where "n" is the
>> number of drives in your array. (Large sequential reads.)
> 
> This can't be right. As far as I know the md layer is smarter than that, and
> includes various anticipatory codepaths specifically to leverage multiple
> drives in this fashion. Fwiw raid5 does give me the near-expected speed
> (n * single drive).

Please look at the chunk layout for raid6.  There's parity P and Q
chunks evenly distributed amongst all drives.

http://en.wikipedia.org/wiki/Standard_RAID_levels

When not degraded, reading many chunks worth of sequential data from the
array, MD's requests to the drives will omit those parity blocks.  The
drive, if it was reading ahead, will have to discard that data, or if
not reading ahead, will have to seek past it.  This happens every N-2
chunks per drive.

Your test reads from the individual disks read contiguous sequential
blocks.  Sequential reads from a raid6 array will generate short
sequential reads on each drive, separated by skips over the unneeded
parity chunks.  This is true for raid5 as well, but only skipping one
chunk instead of two.

MD doesn't have any secret sauce that'll let it magically avoid those
skips.  If you can't see that, I can't help you further.

Phil

  parent reply	other threads:[~2013-01-15 23:17 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-01-15 12:33 Suboptimal raid6 linear read speed Peter Rabbitson
2013-01-15 12:45 ` Mikael Abrahamsson
2013-01-15 12:56   ` Peter Rabbitson
2013-01-15 16:13     ` Mikael Abrahamsson
2013-01-15 12:49 ` Phil Turmel
2013-01-15 12:55   ` Peter Rabbitson
2013-01-15 17:09     ` Charles Polisher
2013-01-15 19:57       ` keld
2013-01-16  4:43         ` Charles Polisher
2013-01-16  6:37           ` Tommy Apel Hansen
2013-01-16  9:36           ` keld
2013-01-16 16:09             ` Charles Polisher
2013-01-16 20:40               ` EJ Vincent
2013-01-15 23:17     ` Phil Turmel [this message]
2013-01-16  2:48     ` Stan Hoeppner
2013-01-16  2:58       ` Peter Rabbitson
2013-01-16 20:29         ` Stan Hoeppner
2013-01-16 21:20           ` Roy Sigurd Karlsbakk
2013-01-17 15:51           ` Mikael Abrahamsson
2013-01-18  8:31             ` Stan Hoeppner
2013-01-18  9:18               ` Mikael Abrahamsson
2013-01-18 22:56                 ` Stan Hoeppner
2013-01-19  7:43                   ` Mikael Abrahamsson
2013-01-19 22:48                     ` Stan Hoeppner
2013-01-19 23:51                       ` Maarten
2013-01-20  0:16                         ` Chris Murphy
2013-01-20  0:49                           ` Maarten
2013-01-20  1:37                             ` Phil Turmel
2013-01-20  9:44                             ` Chris Murphy
2013-01-20  6:26                           ` Mikael Abrahamsson
2013-01-20  9:39                             ` Chris Murphy
2013-01-20 16:55                               ` Mikael Abrahamsson
2013-01-20 17:15                                 ` Chris Murphy
2013-01-20 17:17                                   ` Mikael Abrahamsson
2013-01-20 17:20                                     ` Chris Murphy
2013-01-19 23:53                       ` Phil Turmel
2013-01-20  9:04                     ` Wolfgang Denk
2013-01-20 19:28                     ` Peter Grandi
2013-01-20 21:09                       ` Mikael Abrahamsson
2013-01-20 21:50                         ` Peter Grandi
2013-01-21  5:24                           ` Mikael Abrahamsson
2013-01-21 14:40                       ` Peter Rabbitson
2013-01-21 20:32                         ` Peter Grandi
2013-01-21 20:55                           ` Peter Grandi
2013-01-21 22:00                         ` Peter Grandi
2013-01-19 13:21                   ` Roy Sigurd Karlsbakk

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=50F5E37C.3060103@turmel.org \
    --to=philip@turmel.org \
    --cc=linux-raid@vger.kernel.org \
    --cc=rabbit+list@rabbit.us \
    /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.