Re: RAID6 - RMW logic

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 30 Jul 2014 20:24:30 +0000 Markus Stockhausen
<stockhausen@xxxxxxxxxxx> wrote:

> Hi,
> 
> the last days I tried to understand the RAID6 logic when recalculating
> P/Q parity (or syndrome) if only parts of a stripe are updated. As far
> as I get the current implementation right it will always read the whole
> stripe and build parities from scratch. E.g. updating a single chunk
> on a 10 disk RAID6 will read the other 7 data blocks to write the block
> plus 2 P/Q parities afterwards. Compared to the best case 3 read plus
> 3 write operations this can be quite a heavy impact. RAID5 at least
> has a shortcut for that.
> 
> Being no specialist at all - but having some ideas - I would like to
> get some feedback about the following way to improve the scenario.
> 
> 1) Write a modified gen_syndrome function (call it xor_syndrome)
> like in lib/raid6/xxx.c that allows to XOR an existing P/Q parity
> without overwriting it. The cost of that function would be the same
> as it only changes a few assembler commands.
> 
> 2) Enhance the ops_run_prexor to call this xor_syndrome function
> for an RAID6. Fill the not relevant pages (R5_wantdrain) with an
> empty page or NULL. So the gen_syndrome will only find zeroes.
> With this call P/Q will have a pre-xored version.
> 
> 3) Enhance ops_run_reconstruct6 to allow processing of changed
> blocks only. We will call xor_snydrome from there too, to XOR
> the prexored P/Q once again.
> 
> 4) Enhance handle_stripe_dirtying so it will allow calculation of
> RCW versus RMW costs for the RAID6 case.
> 
> Did I miss something? And if not: Will the doubled CPU consumption 
> for P/Q calculation justify that way of implementation? At least
> we can avoid IOs on slow disks.
> 
> Maybe it has been discussed before but I did not find it on the
> mailing list.
> 
> Thanks in advance.
> 
> Markus

Please see
  http://comments.gmane.org/gmane.linux.raid/42559

Yes, this is something we probably want.
The previous effort stalled somehow.  Maybe it just needs someone to start
pushing again.

NeilBrown

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Linux RAID Wiki]     [ATA RAID]     [Linux SCSI Target Infrastructure]     [Linux Block]     [Linux IDE]     [Linux SCSI]     [Linux Hams]     [Device Mapper]     [Device Mapper Cryptographics]     [Kernel]     [Linux Admin]     [Linux Net]     [GFS]     [RPM]     [git]     [Yosemite Forum]


  Powered by Linux