3 ms·
What kinds of workloads are out there that people are willing to run on machines without ECC?
by thrownaway2424 12y ago
What kinds of workloads are out there that people are willing to run on machines without ECC?
- krzyk 12y agoYou mean RAM with error correction? If so, I don't think many home users have such memory, it is mostly used on servers.
- monstermonster 12y ago* and workstations. It's one of the reasons I do a lot of my work on a proper machine with ECC and SAS disks. Due to some duff RAM a few years ago I lost a week of work. It silently corrupted filesystem buffers.
- thrownaway2424 12y agoWe are talking about servers here, are we not? The site is called "macminicolo.net" and is a commercial operator of macs mini as servers.
- JohnBooty 12y agoEven for a lot of server workloads, ECC is just not that crucial. Let's say you're building the next Twitter. It just doesn't matter that much if one out of every million tweets gets a bit flipped now and then. A lot of (most? nearly all?) online services are like that. Would you notice if Twitter flipped a bit in one or two of your tweets a year? Or if YouTube flipped a bit in a few of the videos you watch every year? I know, I know, it's gross. We're engineers. Thinking about bits getting flipped on us gives us the chills.
- thrownaway2424 12y agoWhat if twitter flipped the high bit in your advertising bill? I bet you'd notice that. Anyway, that's not really how memory errors work. In aggregate, if you consider all of the memory on the planet as a whole, the bit error rate is extremely low. However, any given chip that's prone to bit errors will have them very frequently. Without ECC you have no way to detect this, and with OEM-provided, soldered-to-motherboard memory chips you also have no way to qualify your memory, either. You'd have to qualify and reject the entire box using something like a periodic memtest86+.
- JohnBooty 12y agoHowever, any given chip that's prone to bit errors will have them very frequently. Yes, but ECC is not going to help you much with this kind of memory issue. That's not the purpose of ECC. It's not "RAID for memory"; it's not designed to keep you up and running when your memory is physically failing. ECC "can detect and correct errors of a single bit per 64-bit 'word' (the unit of bus transfer), and detect (but not correct) errors of two bits per 64-bit word." ref: http://en.wikipedia.org/wiki/ECC_memory#Pros_and_cons_of_ECC http://en.wikipedia.org/wiki/ECC_memory#Pros_and_cons_of_ECC (yeah, I know... Wikipedia) A failing ECC memory chip's errors are going to overwhelm the ability of ECC to correct it - they're almost always going to be more than 2 bits per 64 bit word. Where ECC shines is, as I said, correcting the occasional flipped bit. Which happens way more than any of us would really like to think about - cosmic rays, electrical interference... it happens. Soft errors. with OEM-provided, soldered-to-motherboard memory chips you also have no way to qualify your memory, either. You'd have to qualify and reject the entire box using something like a periodic memtest86+. Yes. Soldered-on memory sucks, aside from the fact that it can offer form factor benefits. (Which is a really dubious benefit when it comes to the Mac Mini. The 2012 Minis used replaceable DIMMs in the same form factor as the 2014 models)
- thrownaway2424 12y agoYour understanding of this topic seems to stem from something other than operating servers at large scale. Single bit errors are extremely common in the absence of multiple bit errors. One of the reasons that memtest86+ is so thorough and weird is because these marginal bits are access-pattern-dependent. With the right access pattern certain defective drams will always yield SBEs without ever causing an MBE.
- JohnBooty 12y agoThat's interesting to know; thanks for posting that. I've never seen failing RAM give SBEs but not MBEs but, like you said, I have not operated servers at large scale. It's good to know that can happen!