Live data from Hacker News

Should I buy ECC memory? (2015)

danluu.com

211–220 of 237 posts

Re: Should I buy ECC memory? (2015)

#211

Earlier quoted context omitted.

How much more expensive is ECC ram? I don't have it and I've never experienced obvious issues, if it's a lot more expensive it's not really worth it for the once or twice the desktop will likely experience an actual issue

Should be about 1/8th more since it's just a 72-bit bus for carrying 64-bits data and 8-bits check. Or rather, your dimm will have 9 chips instead of 8. How they get you is Intel will sell you a xeon which is the exact same die as an i5 in a different package for more money.

Some i3s support ECC: 7th gen: http://ark.intel.com/products/97125/Intel-Core-i3-7101TE-Pro... 6th gen: http://ark.intel.com/products/90731/Intel-Core-i3-6300-Proce...

Re: Should I buy ECC memory? (2015)

#212
post #161

Earlier quoted context omitted.

Ryzen ECC support is a mess, no AM4 motherboard currently on the market has implemented ECC support fully and properly (not even Asrock). It's better than nothing but you would be a fool to rely on it. Ryzen motherboard support is what is agreeably a "mess", not the processor itself, but at least it's functional on ASRock and select Gigabyte boards. As for "a fool to rely on it", not sure what you mean by that. The e…

> Also, no offense, but I'm not going to rely on hardwarecanucks as an authority on this subject. Fine then. AMD says it's unvalidated and unsupported, is that good enough for you? > I'm well aware that this isn't the full grade of ECC support offered by higher-end Xeons and chipset combos, but it's better than nothing and it's affordable. So would you be OK with running Xeon engineering samples then? After all - the…

Fine then. AMD says it's unvalidated and unsupported, is that good enough for you?

No, that's not what AMD said, they said it isn't validated by motherboard partners. The functionality is there, it's up to their partners to use it.

So would you be OK with running Xeon engineering samples then? After all - they certainly pass the same "best effort" test. Personally since these are server ES hardware - I'd tend to trust it more than consumer hardware like Ryzen, especially given their comparative age/maturity.

That's not even a remotely accurate comparison.

What it comes down to: if you want everything in one box then be prepared to shell out. Everyone has this market segmented out, including AMD (after all they won't stand behind Ryzen's ECC either). If you feel you need ECC, that's really not a valid solution.

Sorry, but so far all of your proposed "solutions" are summed up as: "If you give up significant performance, functionality, buy second-hand, or completely ignore official support statements, X competitor is the better deal!"

If a Xeon doesn't cut it for you - sounds like you might be in the market for two boxes here. A server/workstation with ECC and good multi-thread performance, and a gaming machine that you can overclock and get the best single-thread performance out of.

No, the goal is to have one system, and at this point, Ryzen looks like the best option. If a competitor decides to release something equivalent, I'll consider them too.

Re: Should I buy ECC memory? (2015)

#213
post #172

Earlier quoted context omitted.

a common network topology is to have a load balancer distribute load to a number of cheap Http servers which internally connect to a centralized and powerful database server. In this case only the database server really needs ECC ram. The system is designed to be fault tolerant for any individual HTTP server node so the increased cost vs the problem it solves doesn't make sense. I guess you could argue that a random…

> In this case only the database server really needs ECC ram. That's only true if the database is read only. Otherwise, you will still insert corrupt data into it.

Assuming you dont do any input validation checking which is foolish for a database server particularly one dealing with SQL

Re: Should I buy ECC memory? (2015)

#214

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…

Given that cosmic radiation is one source of memory errors, shouldn't just better computer cases reduce memory errors?

Basically a tin-foil (or plumb-foil) hat over my computer?

Re: Should I buy ECC memory? (2015)

#215

Earlier quoted context omitted.

Wait so when someone typoes cnn.com as con.com, that is ipso facto a memory error? I guess I could see that if the characters are radically far apart on the keyboard? But doesn't a simpler explanation like "one person out of billions with Internet access typed the wrong thing" seem a lot more likely?

Domains that are only used as CDNs, like cloudfront.com, are almost never typed into an address bar. Errors in the domain name are more frequently the result of a bit-flip error.

Also, these typos are typically not easy ones since flipping a bit changes the letter in ways that are unlikely typos. With cloudfront.net an negligible number of people would be typing them at all. Close to 100% of the errors that I saw were loading either images, css or javascript files that some other page depended on.

Re: Should I buy ECC memory? (2015)

#216
post #123

Altitude also plays a factor in random memory corruption. From the wikipedia article on ECC Ram, "Hence, the error rates increase rapidly with rising altitude; for example, compared to the sea level, the rate of neutron flux is 3.5 times higher at 1.5 km and 300 times higher at 10–12 km (the cruising altitude of commercial airplanes).[3] As a result, systems operating at high altitudes require special provision for r…

Can adequate shielding help?

Shielding against high-energy radiation is heavy, no matter what you use. The tenth-thickness (ie, the thickness to attenuate the radiation flux by a factor of 10) of lead is 2 inches. For water and other light materials, its about a foot. Commercial power reactors use lots of concrete, just because its cheaper to make, form, etc.

So to go from "rare" to "almost never" you need maybe three or four tenth-thicknesses of shielding material. That's an impractical amount of mass to suspend around your datacenter (rack isles, whatever).

Remember too, that you've already got ~30 feet of water equivalent in shielding (the atmosphere).

Re: Should I buy ECC memory? (2015)

#217
post #172

Earlier quoted context omitted.

> In this case only the database server really needs ECC ram. That's only true if the database is read only. Otherwise, you will still insert corrupt data into it.

Assuming you dont do any input validation checking which is foolish for a database server particularly one dealing with SQL

So, I've sent an int32 representing a payment amount. One of the low order bits gets flipped. Can you explain to me how I'd validate it?

Re: Should I buy ECC memory? (2015)

#218
post #205
post #203

Earlier quoted context omitted.

I use NAS Harddrives which are built for hotswapping. I have no idea why anybody would use a consumer harddrive in a RAID Array, the price difference is 10€ at best AFAIK.

For a home server what's the benefit you're paying for though? I don't need max performance (I use RAID for redundancy rather than anything else), and a little downtime when I replace a disk isn't an issue.

You want NAS drives for TLER and vibration tolerance.

Re: Should I buy ECC memory? (2015)

#219
post #217

Earlier quoted context omitted.

Assuming you dont do any input validation checking which is foolish for a database server particularly one dealing with SQL

So, I've sent an int32 representing a payment amount. One of the low order bits gets flipped. Can you explain to me how I'd validate it?

Compare the cost of the transaction to the price paid. First parse the payment amount from the client and store in in a bad region of memory. Then compare that variable with the transaction amount. When you read from the variable it will be corrupt and not match. Log the Error as High Priority because it shouldn't occur. Just saved you a ton with a simple if statement.

Re: Should I buy ECC memory? (2015)

#220

Earlier quoted context omitted.

a common network topology is to have a load balancer distribute load to a number of cheap Http servers which internally connect to a centralized and powerful database server. In this case only the database server really needs ECC ram. The system is designed to be fault tolerant for any individual HTTP server node so the increased cost vs the problem it solves doesn't make sense. I guess you could argue that a random…

What about memory-error corrupted application data (or application logic) where the corruption occurred on load balancers or web application servers? There's more to data integrity than security holes.

If you write code that detects stack smashing and illegal dereferences then you can terminate the webservice and either have a watchdog restart it or if it crashes multiple times have it taken out of service by the load balancer. There are plenty of ways to handle hardware errors without throwing out the hardware and getting "better" hardware. Technically, You could have a faulty component somewhere between the Ram and CPU and then what is your expensive ram going to do? What if the CPU cache has errors? For many small businesses often the difference between success and failure is their ability to make things work without throwing cash at the problem.
Post reply on HN