Re: Propose of enhancement of raid1 driver

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

 



On Tuesday October 17, mirek@xxxxxxxxxxxxxxxx wrote:
> I would like to propose an enhancement of raid 1 driver in linux kernel.
> The enhancement would be speedup of data reading on mirrored partitions.
> The idea is easy.
> If we have mirrored partition over 2 disks, and these disk are in sync, there is
> possibility of simultaneous reading of the data from both disks on the same way
> as in raid 0. So it would be chunk1 read from master, chunk2 read from slave at
> the same time. 
> As result it would give significant speedup of read operation (comparable with
> speed of raid 0 disks).

This is not as easy as it sounds.
Skipping over blocks within a track is no faster than reading blocks
in the track, so you would need to make sure that your chunk size is
larger than one track - probably it would need to be several tracks.

Raid1 already does some read-balancing, though it is possible (even
likely) that it doesn't balance very effectively.  Working out how
best to do the balancing in general in a non-trivial task, but would
be worth spending time on.

The raid10 module in linux supports a layout described as 'far=2'.
In this layout, with two drives, the first half of the drives is used
for a raid0, and the second half is used for a mirrored raid0 with the
data on the other disk.
In this layout reads should certainly go at raid0 speeds, though
there is cost in the speed of writes.

Maybe you would like to experiment.  Write a program that reads from
two drives in parallel, reading all the 'odd' chunks from one drive
and the 'even' chunks from the other, and find out how fast it is.
Maybe you could get it to try lots of different chunk sizes and see
which is the fastest.

That might be quite helpful in understanding how to get read-balancing
working well.

NeilBrown
-
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[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