Hacker News new | ask | show | jobs
by aarongough 3244 days ago
If you have a look through some of the Google datacenter tours you'll see they actually implement this idea on a massive scale, though I believe they use lead-acid batteries... Every motherboard in the datacenter has a small battery capable of powering it for a long enough period of time for the backup generators to kick on and take over.

It's definitely a clever idea! Makes maintenance much less risky as it's distributed, and also reduces the chance of having a single large UPS fail when it takes over the load!

1 comments

I guess the hardware does exist, but I was thinking of a different use-case for it: not for fault-tolerance per se (i.e. waiting for the power to come back on or the generator to kick in), but rather for giving the disk cache up to 30 minutes (after the rest of the machine is well-and-truly cut from power) to flush to the disk itself before finally shutting off, rather than a few seconds to empty its pending writes and park the disk head.

You could, therefore, have a really, really big disk cache, and a relatively slow-to-flush disk. With such an architecture, you could build systems that use disk+cache the way Optane NVMe is being used, without having even needed to invent Flash memory to get fast, highly-parallel writes first.

This is how battery-backed RAID cards used to work. An on-card rechargeable battery could keep the write buffers alive for about 24-48 hrs to flush to disk after you restored power in your datacenter.

Now, they use super-capacitors and a flash memory device to flush the volatile RAM buffers to flash memory, then on next power up the firmware can flush the flash buffers to disk. This all happens within the RAID controller so the host OS just thinks it already got write confirmation back when the PCIe transactions finished and the data blocks landed in the controller's RAM.