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