ZFS. Sounds innocuous, doesn’t it? But when Daring Fireball reported that Apple’s OS X 10.5, code-named Leopard, would include support the new file system, I had to do some poking around. Turns out that this method of storing your computer files will bring about Armageddon.
Don’t believe me? Just look:
ZFS is a 128-bit file system, which means it can store 18 billion billion (18.4 × 1018) times more data than current 64-bit systems. The limitations of ZFS are designed to be so large that they will never be encountered in practice. Project leader Bonwick said, “Populating 128-bit file systems would exceed the quantum limits of earth-based storage. You couldn’t fill a 128-bit storage pool without boiling the oceans.”
Boiling the oceans? Holy crap! That’s got to be hyperbole, right? Just an off the cuff remark? Nope. Turns out it’s more like a British-style understatement. Bonwick later elaborated:
Although we’d all like Moore’s Law to continue forever, quantum mechanics imposes some fundamental limits on the computation rate and information capacity of any physical device. In particular, it has been shown that 1 kilogram of matter confined to 1 liter of space can perform at most 1051 operations per second on at most 1031 bits of information [see Seth Lloyd, “Ultimate physical limits to computation.” Nature 406, 1047-1054 (2000)]. A fully populated 128-bit storage pool would contain 2128 blocks = 2137 bytes = 2140 bits; therefore the minimum mass required to hold the bits would be (2140 bits) / (1031 bits/kg) = 136 billion kg.
To operate at the 1031 bits/kg limit, however, the entire mass of the computer must be in the form of pure energy. By E=mc², the rest energy of 136 billion kg is 1.2×1028 J. The mass of the oceans is about 1.4×1021 kg. It takes about 4,000 J to raise the temperature of 1 kg of water by 1 degree Celsius, and thus about 400,000 J to heat 1 kg of water from freezing to boiling. The latent heat of vaporization adds another 2 million J/kg. Thus the energy required to boil the oceans is about 2.4×106 J/kg * 1.4×1021 kg = 3.4×1027 J. Thus, fully populating a 128-bit storage pool would, literally, require more energy than boiling the oceans.
Look, math is the reason I went to law school instead of doing anything that requires real brains. But this guy is saying that stuffing too much information in this file system will not only boil the oceans, it will leave us with plenty of leftover heat to spare.
Break out the marshmallows – it’s time for a great big ‘Smore!