Another reason Apple misses ZFS

Apple recently announced a new iMac model — in itself, only as notable as the seasons — but with an interesting option: users can choose to have both an HDD and an SSD. Their use of these two is absolutely pedestrian, as noted on the Apple store:

If you configure your iMac with both the solid-state drive and a Serial ATA hard drive, it will come preformatted with Mac OS X and all your applications on the solid-state drive. Then you can use the hard drive for videos, photos, and other files.

Fantastic. This is hierarchical storage management (HSM) as it was conceived by Alan Turing himself as he toiled against the German war machine (if I remember my history correctly). The onus of choosing the right medium for given data is completely on the user. I guess the user who forks over $500 for this fancy storage probably is savvy enough to copy files to and fro, but aren’t computers pretty good at automating stuff like that?

Back at Sun, we built the ZFS Hybrid Storage Pool (HSP), a system that combines disk, DRAM, and, yes, flash. A significant part of this is the L2ARC implemented by Brendan Gregg that uses SSDs as a cache for often-used data. Hey Apple, does this sound useful?

Curiously, the new iMacs contain the Intel Z68 chipset which provides support for SSD caching. Similar to what ZFS does in software, the Intel chipset stores a subset of the data from the HDD on the SSD. By the time the hardware sees the data, it’s stripped of all semantic meaning — it’s just offsets and sizes. In ZFS, however, the L2ARC knows more about the data so can do a better job about retaining data that’s relevant. But iMac users suffer a more fundamental problem: the SSD caching feature of the Z68 doesn’t appear to be used.

It’s a shame that Apple abandoned the port of ZFS they had completed ostensibly due to “licensing issues” (DTrace in Mac OS X uses the same license — perhaps a subject for another blog post). Fortunately, Ten’s Complement has picked up the reins. Apple systems with HDDs and SSDs could be the ideal use case ZFS in the consumer environment.

Posted on May 20, 2011 at 8:02 am by ahl · Permalink
In: ZFS · Tagged with: , , ,

5 Responses

Subscribe to comments via RSS

  1. Written by Rich Teer
    on May 20, 2011 at 5:06 pm
    Permalink

    It is indeed a crying shame–a crime even–that Apple decided to ditch ZFS. Their reasons were no doubt idiotic (and I’m typing this on my iMac, which I quite like).

  2. Written by ahl
    on May 21, 2011 at 12:25 am
    Permalink

    I hope the reasons come to light at some point, but in both Apple and Oracle there’s a real culture of secrecy…

  3. Written by Fazal Majid
    on May 21, 2011 at 2:30 pm
    Permalink

    I agree dropping ZFS was a crying shame, but to be fair to Apple, no one sued Sun for DTrace, but NetApp did for ZFS. Thus Apple had some grounds to worry about indemnification, and they probably don’t have as extensive a patent portfolio as Sun in server-side technology to be able to countersue NetApp.

  4. Written by rektide
    on May 24, 2011 at 9:05 pm
    Permalink

    Just to name one more player in this space, DragonflyBSD has a swapcache. From the man page:
    “swapcache is a system capability which allows a solid state disk (SSD) in a swap space configuration to be used to cache clean filesystem data and meta-data in addition to its normal function of backing anonymous memory.”

  5. Written by Martin Englund
    on June 5, 2011 at 5:32 pm
    Permalink

    It looks like Ten’s Complement (http://tenscomplement.com/) is going to release ZFS for Mac OS X:
    http://www.zdnet.com/blog/storage/zfsmac-coming-soon/1316

Subscribe to comments via RSS