On Aug 1, 2006, at 14:18, Torrey McMahon wrote:

(I hate when I hit the Send button when trying to change windows....)

Eric Schrock wrote:
On Tue, Aug 01, 2006 at 01:31:22PM -0400, Torrey McMahon wrote:

The correct comparison is done when all the factors are taken into account. Making blanket statements like, "ZFS & JBODs are always ideal" or "ZFS on top of a raid controller is a bad idea" or "SATA drives are good enough" without taking into account the amount of data, access patterns, numbers of hosts, price, performance, data retention policies, audit requirements ... is where I take issue.



Then how are blanket statements like:

        "That said a 3510 with a raid controller is going to blow the
        door, drive brackets, and skin off a JBOD in raw performance."

Not offensive as well?




Who said anything about offensive? I just said I take issue such statements in the general sense of trying to compare boxes to boxes or when making blanket statements such as "X always works better on Y".

The specific question was around a 3510JBOD having better performance then a 3510 with a raid controller. Thats where I said the raid controller performance was going to be better.

just to be clear .. we're talking about a 3510 JBOD with ZFS (i guess you could run pass through on the controller or just fail the batteries on the cache) vs a 3510 with the raid controller turned on .. I'd tend to agree with Torrey, mainly since well designed RAID controllers will generally do a better job with their own back-end on aligning I/O for efficient full-stripe commits .. without battery backed memory on the host, CoW is still going to need synchronous I/O somewhere for guaranteed writes - and there's a fraction of your gain.

Don't get me wrong .. CoW is key for a lot of the cool features and amazing functionality in ZFS and I like it .. it's just not generally considered a high performance I/O technique for many cases when we're talking about committing bits to spinning rust. And while it may be great for asynchronous behaviour, unless we want to reveal some amazing discovery that reverses years of I/O development - it seems to me that when we fall to synchronous behaviour the invalidation of the filesystem's page cache will always play a factor in the overall reduction of throughput. OK .. I can see that we can eliminate the read/modify/write penalty and write hole problem at the storage layer .. but so does "battery backed" array cache with the real limiting factor ultimately being the latency between the cache through the back-end loops to the spinning disk. (I would argue that low cache latency and under-saturated drive channels matter more than the sheer amount of coherent cache)

Speaking in high generalities, the problem almost always works it's way down to how well an array solution balances properly aligned I/O with the response time between cache across the back-end loops to the spindles and any inherent latency there or in between. OK .. I can see that ZFS is a nice arbitrator and is working it's way into some of the drive mechanics, but there is still some reliance on the driver stack for determining the proper transport saturation and back- off. And great - we're making more inroads with transaction groups and an intent log that's wonderful .. and we've done a lot of cool things along the way .. maybe by the time we're done we can move the code to a minimized Solaris build on dedicated hardware .. and build an array solution (with a built in filesystem) .. that's big .. and round .. and rolls fast .. and then we can call it .. (thump thump thump) .. the zwheel :)

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

Reply via email to