Live data from Hacker News

Should I buy ECC memory? (2015)

danluu.com

41–50 of 237 posts

Re: Should I buy ECC memory? (2015)

#41

While I was at Google, someone asked one of the very early Googlers (I think it was Craig Silverstein, but it may've been Jeff Dean) what was the biggest mistake in their Google career, and they said "Not using ECC memory on early servers." If you look through the source code & postmortems from that era of Google, there are all sorts of nasty hacks and system design constraints that arose from the fact that you could…

> If you look through the source code & postmortems from that era of Google, there are all sorts of nasty hacks and system design constraints that arose from the fact that you couldn't trust the bits that your RAM gave back to you. Details of this would be very interesting, but obviously I understand if you cannot provide such details due to NDAs, etc. I mean, I can imagine a few mitigations (pervasive checksumming,…

Pervasive checksumming is going to cost a lot of CPU and touch a lot of memory. The data could be right, the checksum wrong as well. ECC double bit errors are recognized and you can handle them how you'd like, including killing the affected process.

Re: Should I buy ECC memory? (2015)

#42
post #26

Can people here please stop posting that ZFS needs ECC memory. Every filesystem, with any name like FAT, NTFS, EXT4 runs more safe with ECC memory. ZFS is actually one of the few that can still be safer if you don't run with ECC memory. Source: Matthew Ahrens himself: https://arstechnica.com/civis/viewtopic.php?f=2&t=1235679&p=...

I'm so glad to see this comment high up.

Re: Should I buy ECC memory? (2015)

#43
post #41

Earlier quoted context omitted.

> If you look through the source code & postmortems from that era of Google, there are all sorts of nasty hacks and system design constraints that arose from the fact that you couldn't trust the bits that your RAM gave back to you. Details of this would be very interesting, but obviously I understand if you cannot provide such details due to NDAs, etc. I mean, I can imagine a few mitigations (pervasive checksumming,…

Pervasive checksumming is going to cost a lot of CPU and touch a lot of memory. The data could be right, the checksum wrong as well. ECC double bit errors are recognized and you can handle them how you'd like, including killing the affected process.

I agree, which is why I used the word "mitigation", as in: not a solution.

Probabilistic programming is a theoretical possibility, but not really practical.

Re: Should I buy ECC memory? (2015)

#45
post #13

Earlier quoted context omitted.

There is a hidden cost of ECC with regards to the chipset. None of the cheap chipsets support it, so on any home build, it's going to be expensive.

Not true with Ryzen, as long as you find unregistered ECC acceptable. Somewhat not true with Intel, as some of the lower end Xeons now support it.

AFAIK all of the Xeon chips support ECC, every Xeon E3 chip (which uses the desktop socket) I've looked at includes it.

Re: Should I buy ECC memory? (2015)

#46
post #34
post #19

Earlier quoted context omitted.

I agree on gaming, but e-mail often contains important information that I wouldn't want to suffer from random corruption.

I don't understand why anyone would run their own email server. Cloud offerings work so well and are cheap.

If you are using the cloud for email they can usually see all of your activity. Email is also how you typically reset passwords. It can expose corporate secrets.

In practice, nobody encrypts their email. And even if they do, the cloud still gets all the metadata.

Running your own trades the above issues for other issues, but depending on your priorities and fears it might be worth doing.

Re: Should I buy ECC memory? (2015)

#47
post #34
post #19

Earlier quoted context omitted.

I agree on gaming, but e-mail often contains important information that I wouldn't want to suffer from random corruption.

I don't understand why anyone would run their own email server. Cloud offerings work so well and are cheap.

So your email is in your home?

Re: Should I buy ECC memory? (2015)

#48
post #34
post #19

Earlier quoted context omitted.

I agree on gaming, but e-mail often contains important information that I wouldn't want to suffer from random corruption.

I don't understand why anyone would run their own email server. Cloud offerings work so well and are cheap.

Maybe they are under contract not to pass information to third parties or maybe the company policy is to not let internal email off the network.

That you don't understand it is likely from the perspective of an individual, possibly a private user. For those applications you can't beat the cloud. For business use every business needs to weigh their own needs.

Even then though, many business think they need to have their own server when they really don't and vice-versa.

Re: Should I buy ECC memory? (2015)

#49
post #13
post #9

Depends on what you are doing. ZFS storage servers: Hell yes High-value data in my DB? Hell yes email server: Nope super cool gaming rig: Nope * Cluster: Hell yes General office workstation: maybe. I don't have the budget for 20 redundant copies. I do have the budget for slightly more expensive RAM. Especially on my ZFS storage arrays. ECC memory is like Insurance. You hope you never need it. One real downside that I…

There is a hidden cost of ECC with regards to the chipset. None of the cheap chipsets support it, so on any home build, it's going to be expensive.

No chipset has supported ECC for quite a while: Flipping some configuration bits depending on the chipset used is purely an Intel money extraction-engine (Intel ME technology®©™).

Server / workstation class boards normally all do support ECC, though, so no real issue in practice.

Re: Should I buy ECC memory? (2015)

#50
post #33
post #24

Earlier quoted context omitted.

I don't get this association between ZFS and ECC. The recommendation to use ECC with ZFS basically comes down to "all that fancy data integrity checking that ZFS does won't protect you from memory errors, so you'll effectively lose that feature." Are you OK with silent data corruption? If so, don't bother with ECC. If not, use it.

History. The ZFS folks, back when, were the only folks making much noise about the association between non-ECC RAM and corrupt data landing on disk. The truth is, if you care about the notion that your disk should return the same data that software thought it was writing, you should use ECC with any file system. But The ZFS folks made noise about the issue, I think lots of people assumed the reason was that there was…

> should return the same data that software thought it was writing

Hint: In an OS using a page cache (=every OS) I/O errors are not reliably propagated to applications unless they explicitly sync their dirty pages.

Post reply on HN