On May 6, 2010, at 11:08 AM, Michael Sullivan wrote:
> Well, if you are striping over multiple devices the you I/O should be spread 
> over the devices and you should be reading them all simultaneously rather 
> than just accessing a single device.  Traditional striping would give 1/n 
> performance improvement rather than 1/1 where n is the number of disks the 
> stripe is spread across.

In theory, for bandwidth, yes, striping does improve by N.  For latency, 
striping
adds little, and in some cases is worse.  ZFS dynamic stripe tries to balance 
this 
tradeoff towards latency for HDDs by grouping blocks so that only one 
seek+rotate
is required. More below...

> The round-robin access I am referring to, is the way the L2ARC vdevs appear 
> to be accessed.  

RAID-0 striping is also round-robin.

> So, any given object will be taken from a single device rather than from 
> several devices simultaneously, thereby increasing the I/O throughput.  So, 
> theoretically, a stripe spread over 4 disks would give 4 times the 
> performance as opposed to reading from a single disk.  This also assumes the 
> controller can handle multiple I/O as well or that you are striped over 
> different disk controllers for each disk in the stripe.

All modern controllers handled multiple, concurrent I/O.

> SSD's are fast, but if I can read a block from more devices simultaneously, 
> it will cut the latency of the overall read.

OTOH, if you have to wait for N HDDs to seek+rotate, then the latency is that 
of the
slowest disk.  The classic analogy is: nine women cannot produce a baby in one 
month.
The difference is:

ZFS dynamic stripe:
        latency per I/O = fixed latency of one vdev + (size / min(media 
bandwidth, path bandwidth))

RAID-0:
        latency per I/O = max(fixed latency of devices) + (size / min((media 
bandwidth / N), path bandwidth))

For HDDs, the media bandwidth is around 100 MB/sec for many devices, far less 
than the
path bandwidth on a modern system.  For many SSDs, the media bandwidth is close 
to the 
path bandwidth. Newer SSDs have media bandwidth > 3Gbps, but 6Gbps SAS is 
becoming
readily available. In other words, if the path bandwidth isn't  a problem, and 
the media 
bandwidth of an SSD is 3x that of a HDD, then the bandwidth requirement that 
dictated 
RAID-0 for HDDs is reduced by a factor of 3. Yet another reason why HDDs lost 
the 
performance battle.

This is also why not many folks choose to use HDDs for L2ARC -- the latency 
gain over
the pool is marginal for HDDs.

This is also one reason why there is no concatenation in ZFS.
 -- richard

-- 
ZFS storage and performance consulting at http://www.RichardElling.com










_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to