News for hackers. Stuff that matters.
Re:ECC matters by loeg on Sunday January 03, 2021 @11:18AM (#25622631)
Yeah, it's real obnoxious of Intel to silo ECC support off into the Xeon line, isn't it? I switched to ECC memory in 2013 or 2014 with a Xeon E3 (fundamentally a Core i7 without the ECC support fused off) and of course a Xeon-supporting motherboard (with weird "server board" quirks: e.g., no on-board sound device).

I love that AMD doesn't intentionally break ECC on its consumer desktop platforms and upgraded to the Threadripper in 2017.

Re:ECC matters by defanor on Sunday January 03, 2021 @11:39AM (#25622798)
I've considered using an AMD CPU instead of Intel's Xeon on the primary desktop computer, but even low-end Ryzen Threadripper CPUs have TDP of 180W, which is a bit higher than I'd like. And though ECC is not disabled in Ryzen CPUs, AFAIK it's not tested in (or advertised for) those, so one won't be able to return/replace a CPU if it doesn't work with ECC memory, AIUI, making it risky. Though I don't know how common it is for ECC to not be handled properly in an otherwise functioning CPU; are there any statistics or estimates around?
Re:ECC matters by CydeWeys on Sunday January 03, 2021 @11:48AM (#25622859)
> but even low-end Ryzen Threadripper CPUs have TDP of 180W, which is a bit higher than I'd like.

Why does it matter? It doesn't idle that high; it only goes that high of you're using it flat out, in which case the extra power usage is justified because it's giving that much more performance over a 100 W TDP CPU. Now I totally get it if you don't want to go Threadripper just for ECC because it's more expensive, but max power draw, which you don't even have to use? I've never seen anyone shop a desktop CPU by TDP, rather than by performance and price.

Re:ECC matters by phkahler on Sunday January 03, 2021 @12:12PM (#25623080)
>> I've never seen anyone shop a desktop CPU by TDP, rather than by performance and price.

Oh oh, me! Back in the day I bought a 65W CPU for a system that could handle a 90W. I wanted quiet and figured that would keep fan noise down at a modest performance penalty. It should also last longer, being the same design but running cooler. I ran that from 2005 until a few years ago (it still run fine but is in storage).

Planning to continue this strategy. I suspect it's common among SFF enthusiasts.

Re:ECC matters by mlyle on Sunday January 03, 2021 @12:54PM (#25623435)
On AMD, with Ryzen Master, you can set the TDP-envelope of the processor to what you want. Then the boost/frequency/voltage envelope it chooses to operate in under sustained load is different.

IMO, shopping by performance/watt makes sense. Shopping by TDP doesn't. (Especially since there is no comparing the AMD and Intel TDP numbers as they're defined differently; neither is the maximum the processor can draw, and Intel significantly exceeds the specified TDP on normal workloads).

Re:ECC matters by vvanders on Sunday January 03, 2021 @01:01PM (#25623503)
TDP matters a fair bit in SFF(Small Form Factor) PCs. For instance the 3700x is a fantastic little CPU since it has a 65W TDP but pretty solid performance.

In a sandwich style case you're usually limited to low profile coolers like Noctua L9i/L9a since vertical height is pretty limited.

Re:ECC matters by mlyle on Sunday January 03, 2021 @01:08PM (#25623568)
Performance/watt matters. You can just set TDP to what you want with throttling choices.

If you want a 45W TDP from the 3700X, you can just pop into Ryzen Master and ask for a 45W TDP. Boom, you're running in that envelope.

I think shopping based on TDP is not the best, because it's not comparable between manufacturers and because it's something you can effectively "choose".

Re:ECC matters by mongol on Sunday January 03, 2021 @01:42PM (#25623908)
How do you do that? Is it a setting in the bios? Or can it be done runtime? If so, how? It sounds interesting if I can run a beefy rig as a power efficient device, for always-on scenarios, and then boost it when I need.
Re:ECC matters by mlyle on Sunday January 03, 2021 @01:55PM (#25624029)
> How do you do that? Is it a setting in the bios? Or can it be done runtime?

On AMD, it's a utility you run. I believe you may require a reboot to apply it. On some Intel platforms, it's been settings in the BIOS.

> It sounds interesting if I can run a beefy rig as a power efficient device, for always-on scenarios, and then boost it when I need.

This is what the processor is doing internally anyways. It throttles voltage and frequency and gates cores based on demanded usage. Changing the TDP doesn't change the performance under a light-to-moderate workload scenario at all.

Ryzen Master lets you change some of the tuning for the choices it makes about when and how aggressively to boost, though, too.

Re:ECC matters by Cloudef on Sunday January 03, 2021 @02:17PM (#25624243)
Ryzen Master doesnt seem to be available for linux so you end up with bunch of unnofficial hacks that may or may not work. I run sff setup myself, originally wanted to get 3600 but it was out of stock, and the next tdp friendly processor was 3700x.
Re:ECC matters by mlyle on Sunday January 03, 2021 @02:22PM (#25624308)
That's an annoyance, but on Linux you have infinite more control of thermal throttling and you can get whatever thermal behavior you want. Thermald has been really good on Intel, and now that Google contributed RAPL support you can get the same benefits on AMD-- pick exactly your power envelope and thermal limits.
Re:ECC matters by vvanders on Sunday January 03, 2021 @03:08PM (#25624775)
Yeah but can I get a metric ton of benchmarks at that 45w setpoint?

I don't really see the reason in paying for a 100w TDP premium if I'm just going to scale it down to 65w.

Re:ECC matters by mlyle on Sunday January 03, 2021 @06:02PM (#25626109)
> Yeah but can I get a metric ton of benchmarks at that 45w setpoint?

Yup, they're out there.

> I don't really see the reason in paying for a 100w TDP premium if I'm just going to scale it down to 65w.

You might want the core count or peak performance for the very short term. When I was looking, running 65W parts in the 45W envelope was only about a 7% penalty, so you get a bunch more performance/watt.

Re:ECC matters by phkahler on Monday January 04, 2021 @10:31AM (#25632547)
I'm running a 2400G in a Mellori-ITX. Another issue is sizing the power supply.
Re:ECC matters by ReactiveJelly on Sunday January 03, 2021 @01:23PM (#25623693)
Back when my daily driver was a Core 2 laptop, someone told me that capping the clock frequency would make it unusable.

As a petty "Take that", I dropped the max frequency from 2.0 GHz to 1.0 GHz. I ran a couple benchmarks to prove the cap was working, and then just kept it at 1.0 for a few months, to prove my point.

It made a bigger difference on my ARM SBC, where I tried capping the 1,000 MHz chip to 200 or 400 MHz. That chip was already CPU-bound for many tasks and could barely even run Firefox. Amdahl's Law kicked in - Halving the frequency made _everything_ twice as slow, because almost everything was waiting on the CPU.

Re:ECC matters by mlyle on Sunday January 03, 2021 @01:32PM (#25623792)
The funny thing is, on modern processors-- throttling TDP only affects when running flat out all-core workloads. A subset of cores can still boost aggressively, and you can run all-core max-boost for short intervals.

And the relationship between power and performance isn't linear as processor voltages climb trying to squeeze out the last bit of performance.

So if you want to take a 105W CPU and ask it to operate in a 65W envelope, you're not giving up even 1/3rd of peak performance, and much less than that of typical performance.

Re:ECC matters by lynguist on Monday January 04, 2021 @07:19AM (#25630387)
You’re giving up 0 of peak single thread performance. A single core in turbo across Intel and AMD, mobile and desktop uses max 50W.
Re:ECC matters by chrismorgan on Monday January 04, 2021 @09:11AM (#25631523)
Here are some numbers on single core power consumption, ⅌ https://www.anandtech.com/show/16214/amd-zen-3-ryzen-deep-di...:

AMD Ryzen 9 5950X: 20.6W for a single core at 5050MHz, 49W for the whole package. (And it’s generally the package figure that you care about.)

AMD Ryzen 9 5900X: 17.9W/54W at 4875MHz.

AMD Ryzen 7 5800X: 17.3W/37W at 4825MHz.

AMD Ryzen 5 5600X: 11.8W/28W at 4650MHz (though the highest core reading is 13W, at three cores loaded).

You’re both correct: by simply restricting that power envelope by 40%, you shed a lot less multi-threaded performance than people realise, and no single-threaded performance.

Look at the 5950X figures, and you observe that at about 120W, it can run 6 cores at 4,650MHz (27,900 core–MHz), or 16 cores at 3,775MHz (60,400 core–MHz).

Expressed one way: by dropping the frequency by 20%, power per watt increased by around 2.7×.

Expressed another way: let’s skip a 65W envelope—put this particular 105W chip in a 40W envelope and you lose only 20% of your six-cores performance. Seriously. But I’m not sure what the curve would look like if you load all 16 cores at a 40W envelope, what speed they’d be going at.

(But do remember that “TDP” is a bit of a mess as a concept, and that we’re depending on non-core power consumption being generally fairly consistent regardless of load.)

Re:ECC matters by sam_lowry_ on Sunday January 03, 2021 @12:22PM (#25623156)
Hm... My 2013 NUC in fanless Akasa enclosure runs 24/7 on a 6W CPU, I recently looked at the options, and the 2019 6W offering changes little in performance. Yes, memory got faster, but that's it.

My passive-cooled desktop is also running a slightly trottled down 65W CPU.

So yes, there are people who choose there hardware by TDP.

Re:ECC matters by francis-io on Sunday January 03, 2021 @12:44PM (#25623344)
When looking for a CPU for a server that sits in my living room, I went down the thought process of getting a low tdp. I don't have a quote, but I seem to remember coming to the conclusion that tdp is the max temp threshold, not the consistent power draw. If you have a computer idling I believe you won't see a difference in temp between cpus, but you will have the performance when you need it.

These days, a quiet, pwm fan with good thermal paste (and maybe some linux CPU throttling) more than achieves my needs for a "silent" pc 99% of the time.

I would love to be told my above assumptions are wrong if they are.

Re:ECC matters by mlyle on Sunday January 03, 2021 @01:11PM (#25623597)
Yah-- one should look at performance within a given power envelope. Being able to dissipate more and then either end up with the fan running or the processor throttling back somewhat is good, IMO.

The worst bit is, AMD and Intel define TDP differently-- neither is the maximum power the processor can draw-- though Intel is far more optimistic.

Re:ECC matters by koolba on Sunday January 03, 2021 @12:19PM (#25623128)
SFF?
Re:ECC matters by oconnor663 on Sunday January 03, 2021 @12:24PM (#25623179)
"small form factor" as far as I can tell
Re:ECC matters by lostlogin on Sunday January 03, 2021 @04:03PM (#25625227)
The Intel Nuc and Mac mini are good examples of this - however the Nuc doesn’t have its psu inside, it’s a brick. Great for fixing failures, horrible in general as a built in psu is so much tidier.
Re:ECC matters by srtjstjsj on Sunday January 03, 2021 @11:50PM (#25628018)
Internal PSU adds heat that is noisy or expensive to dissipate or is avoided by throttling performance.
Re:ECC matters by ClumsyPilot on Monday January 04, 2021 @01:07AM (#25628320)
If the concern is about heat and noise, the cooling system is the most important factor, oddly I don't see it even mentioned.

Get a huge cooler like Noctua d14, and you pc becomes silent. It lasts forever, requires no maintenance, a good investment.

If you are adventurous, watercooling is even better, but its a can of worms I decided I'd rather live without - possibility of leaks and cost make it harder to justify

Re:ECC matters by defanor on Sunday January 03, 2021 @12:12PM (#25623079)
I prefer to pick PSU and fans (for both CPU and chassis) that can handle it comfortably (preferably while staying silent and with some reserve) with maximum TDP in mind, and given that I don't need that many cores or high clock speed either, a powerful CPU with high TDP is undesirable because it just makes picking other parts harder. I've mentioned TDP explicitly because I wouldn't mind if it was a (possibly even high-end) Threadripper that somehow didn't produce as much heat. Although price also matters, indeed.
Re:ECC matters by bayindirh on Sunday January 03, 2021 @12:33PM (#25623251)
> I've never seen anyone shop a desktop CPU by TDP, rather than by performance and price.

That's me. When I start to plan for a new system, I select the processor first and read its thermal design guidelines (Intel used to have nice load vs. max temp graphs in their docs) and select every component around it for sustained max load.

This results in a more silent system for idle and peace of mind for loading it for extended duration.

Re:ECC matters by 411111111111111 on Sunday January 03, 2021 @12:38PM (#25623302)
That's not necessarily correct.

You can passively cool threadrippers if you underclock them enough and have good ventilation in case.

Re:ECC matters by bayindirh on Sunday January 03, 2021 @12:46PM (#25623360)
If my only interest would be ECC, I might do that but, I develop scientific software for research purposes. I need every bit of performance from my system.

In my case loading means maxing out all cores and extended period of time can be anything from five minutes to hours.

Re:ECC matters by mlyle on Sunday January 03, 2021 @12:57PM (#25623467)
The problem is-- you can't compare the TDP nor even the system cooling design guidelines between AMD and Intel.

Both are optimistic lies, but-- if you look at the documents it looks like currently AMD needs more cooling, but actually dissipates less power in most cases and definitely has higher performance/watt.

Re:ECC matters by bayindirh on Sunday January 03, 2021 @01:09PM (#25623579)
> The problem is-- you can't compare the TDP nor even the system cooling design guidelines between AMD and Intel.

Doesn't matter for me since I'm not interested in comparing them.

> Both are optimistic lies, but-- if you look at the documents it looks like currently AMD needs more cooling, but actually dissipates less power in most cases and definitely has higher performance/watt.

I'm aware of the situation, and I always inflate the numbers 10-15% to increase headroom in my systems. The code I'm running is not a most case code. A FPU heavy, "I will abuse all your cores and memory bandwidth" type, heavily optimized scientific software. I can sometimes hear that my system is swearing at me for repeatedly running for tests.

I don't like to add this paragraph but, I'm one of the administrators of one of the biggest HPC clusters in my country. I know how a system can surpass its TDP or how can CPU manufacturers skew this TDP numbers to fit in envelopes. We make these servers blow flames from their exhausts.

Re:ECC matters by ethanpil on Sunday January 03, 2021 @01:29PM (#25623759)
Built a NAS. My #1 concern for choosing CPU was TDP. This machine is on 24/7 and power use is a primary concern where I live because electricity is NOT cheap.
Re:ECC matters by mlyle on Sunday January 03, 2021 @01:38PM (#25623870)
This is a poor way to make the choice. TDP is supposed to specify the highest power you can get the processor to dissipate, not typical or idle use. And since different manufacturers specify TDP differently, you can't even compare the number.

Performance/watt metrics and idle consumption would have been a far better way to make this choice.

If you have a choice between A) something that can dissipate 65W peak for 100 units of performance, but would dissipate 4W average under your workload, and B) something that can dissipate 45W peak for 60 units of performance, but would dissipate 4.5W under your workload... I'm not sure why you'd ever pick B.

Re:ECC matters by mongol on Sunday January 03, 2021 @02:16PM (#25624225)
Is there a metric to look for to understand what power consumption is at "idle" or something close to that? That is what confuses me. I don't want to spend a lot of money on something that will be always on, and usually idling, and finding that its power usage is way higher than I thought. But perhaps there is a metric that tells that. I have not looked closely at it.

Also, even though the CPU may draw less, can still the power supply waste more, just because it is beefy? Comparing with a sports car, they have great performance, but also use more gas in ordinary traffic? Can a computer be compared with that?

Re:ECC matters by mlyle on Sunday January 03, 2021 @02:30PM (#25624380)
> Is there a metric to look for to understand what power consumption is at "idle" or something close to that? That is what confuses me. I don't want to spend a lot of money on something that will be always on, and usually idling, and finding that its power usage is way higher than I thought.

Community benchmarks, from Tom's Hardware, etc.

The vendor numbers are make believe-- you can't use them for power supply sizing or for thermal path sizing. If you look at the cited TDP numbers today-- it can be misleading-- e.g. often Intel 45W TDP parts use more power at peak than AMD 65W parts.

On modern systems, almost none of the idle consumption is the processor. The power supply's idle use and motherboard functions dominate.

> Also, even though the CPU may draw less, can still the power supply waste more, just because it is beefy?

Yes, having to select a larger power supply can result in more idle consumption, though this is more of a problem on the very low end.

Re:ECC matters by theevilsharpie on Sunday January 03, 2021 @12:56PM (#25623454)
> And though ECC is not disabled in Ryzen CPUs, AFAIK it's not tested in (or advertised for) those

ECC isn't validated by AMD for AM4 Ryzen models, but it's present and supported if the motherboard also supports it. Many motherboards have ECC support (the manual will say for sure), and a handful of models even explicitly advertise it as a feature.

I have a Ryzen 9 3900X on an ASRock B450M Pro4 and 64 GB of ECC DRAM, and ECC functionality is active and working.

Re:ECC matters by colejohnson66 on Sunday January 03, 2021 @02:35PM (#25624425)
What do you mean by “validated”? There’s the silicon, but they don’t test it?
Re:ECC matters by loeg on Sunday January 03, 2021 @05:27PM (#25625817)
IMO, "validated" is intentionally wishy-washy and mostly means that AMD would prefer it if enterprises paid them more money by buying EPYC (or Ryzen Pro) parts instead of consumer Ryzen parts. Much like how Intel prefers selling higher-margin Xeons over Core i5. It's market segmentation, but friendlier to consumers than Intel's approach.
Re:ECC matters by Laforet on Sunday January 03, 2021 @02:59PM (#25624671)
More like "The feature is present in silicon but motherboard makers are not required to turn it on". At the end of the day, ECC support does require extra copper traces in the PCB and some low end models may deliberately choose to skip them, thus the expectation has to be managed.
Re:ECC matters by jsmith45 on Monday January 04, 2021 @09:22AM (#25631649)
My (largely unfounded) understanding is that this means they don't don't run the consumer chip configurations though a battery of compatibility tests with with various memory modules on a reference motherboard. My understanding is that they run these steps for each stepping or significant process change for their.

Secondly, it probably also means that they do not include tests for this functionality when they perform the final tests against each fully assembled chip. I'd expect that a jtag boundary scan does verify that the bond wires are in place and work, but no functional tests of ECC are run on each processor in the consumer configuration.

The net result is that with a compatible motherboard and memory, ECC almost certainly works (since the memory controller is the same as in the supported model) but AMD does not officially guarantee it. It is much like overclocking. The functionality is present, and it should work, and most likely does, but AMD accepts no responsibility if it does not, since they don't formally test for it.

Re:ECC matters by cturner on Sunday January 03, 2021 @12:34PM (#25623259)
I went through this about a year ago, to build a low-TDP ECC workstation. I do not have stats on failure rates, just this anecdotal experience. Asrock and Asus seem to be the boards to get. For RAM, I got two sticks of Samsung M391A4G43MB1, and verified. The advice I remember from the forums was to stick to unbuffered ram (UDIMMS).
Re:ECC matters by everybodyknows on Sunday January 03, 2021 @02:38PM (#25624454)
Did you consider any off-the-shelf ECC boxes?

Found some here -- bottom of the EPYC product line starts at $2849 ...!

https://www.velocitymicro.com/wizard.php?iid=337

Re:ECC matters by cturner on Sunday January 03, 2021 @06:01PM (#25626100)
The TDP on EPYC chips is a lot higher. I think of Threadripper as mid-tier, and EPYC as the high-end. Ryzen is remarkable because you can buy new equipment with ECC, at consumer prices. I am hazy, but don't think that has been possible since the 386 era ('parity ram').
Re:ECC matters by loeg on Sunday January 03, 2021 @08:17PM (#25626962)
> The TDP on EPYC chips is a lot higher.

EPYC TDP ranges from "a lot lower" (35W embedded, 120W regular) up to "comparable with" (180-240W, a single 280W model) relative to Threadripper (180-250W last gen; current gen is all 280W). It's definitely not a lot higher on the Epyc side.

> I think of Threadripper as mid-tier, and EPYC as the high-end.

This oversimplifies to the point of not being a useful intuition (or is arguably even incorrect). Threadripper is a SKU with a moderate number of cores at relatively high clocks; (high-power) EPYC SKUs have a lot of very efficient cores running at lower clocks. They both have a niche, but Threadripper has unambiguously better single-core performance due to the ~20% higher clocks. And single-core IPC still matters in many applications (to oversimplify: Amdahl's law; but also, latency-sensitive applications).

Re:ECC matters by sitkack on Thursday January 07, 2021 @01:30AM (#25667919)
AMD is more accurate in their TDP specs than Intel is, they can't really be compared.
Re:ECC matters by loeg on Friday January 08, 2021 @10:35AM (#25685680)
This is not responsive to he comment you're replying to, which is comparing AMD to AMD.
Re:ECC matters by sitkack on Saturday January 09, 2021 @01:09AM (#25697853)
My comment was corrupted by rowhammer. Not only was it misdirected, the content is also probably wrong.
Re:ECC matters by loeg on Sunday January 03, 2021 @05:28PM (#25625825)
Yes, the consumer parts only support UDIMMs. If you want RDIMMs, you have to pay for EPYC.
Re:ECC matters by vvanders on Sunday January 03, 2021 @11:49AM (#25622869)
I don't think Threadripper is a hard requirement for ECC. There's some pretty reasonable TDP processors if you step down from Threadripper.
Re:ECC matters by cuu508 on Sunday January 03, 2021 @12:03PM (#25623001)
I haven't seen definite details and test results on these (but haven't looked recently).

What specific configurations (CPU, MB, RAM) are known to work?

Let's say I have a Ryzen system, how can I check if ECC really works? Like, can I see how many bit flips got corrected in, say, last 24h?

Re:ECC matters by adrian_b on Sunday January 03, 2021 @02:10PM (#25624163)
All desktop Ryzen CPUs without integrated GPU, i.e. with the exception of APUs, support ECC.

You must check the specifications of the motherboard to see if ECC memory is supported.

As a rule, all ASRock MBs support ECC and also some ASUS MBs support ECC, e.g. all ASUS workstation motherboards.

I have no experience with Windows and Ryzen, but I assume that ECC should work also there.

With Linux, you must use a kernel with all the relevant EDAC options enabled, including CONFIG_EDAC_AMD64.

For the new Zen 3 CPUs, i.e. Ryzen 5xxx, you must use a kernel 5.10 or later, for ECC support.

On Linux, there are various programs, e.g. edac-utils, to monitor the ECC errors.

To be more certain that the ECC error reporting really works, the easiest way is to change the BIOS settings to overclock the memory, until memory errors appear.

Re:ECC matters by cturner on Sunday January 03, 2021 @12:45PM (#25623355)
Regarding verification. There is a debian package called edac-utils. As I recall you overclock your RAM and run your system at load in order to generate failures.

Looking back at my notes, the output of journalctl -b tells should say something like, "Node 0: DRAM ECC enabled."

Then 'edac-ctl --status' should tell you that drivers are loaded.

Then you run 'edac-util -v' to report on what it has seen,

    mc0: 0 Uncorrected Errors with no DIMM info
    mc0: 0 Corrected Errors with no DIMM info
    mc0: csrow2: 0 Uncorrected Errors
    mc0: csrow2: mc#0csrow#2channel#0: 0 Corrected Errors
    mc0: csrow2: mc#0csrow#2channel#1: 0 Corrected Errors
    mc0: csrow3: 0 Uncorrected Errors
    mc0: csrow3: mc#0csrow#3channel#0: 0 Corrected Errors
    mc0: csrow3: mc#0csrow#3channel#1: 0 Corrected Errors
    edac-util: No errors to report.
Re:ECC matters by a1369209993 on Sunday January 03, 2021 @02:42PM (#25624489)
> As I recall you overclock your RAM and run your system at load in order to generate failures.

You can also use memtest86+ for this, although I don't recall if it requires specific configuration for ECC testing.

Re:ECC matters by p_l on Sunday January 03, 2021 @12:46PM (#25623363)
All AMD CPUs with integrated memory controllers support ECC. The CPU also exposes an interface usable by the operating system to verify ECC works - the same interface is used to provide monitoring of memory fault data provided by ECC.

They aren't tested on it, so it's possible to get a dud, but it's minuscule chance that isn't worth bothering.

Now, to actual issues you can encounter: motherboards

The problem is that ECC means you need to have, iirc, 8 more data lines between CPU and memory module, which of course mean more physical connections (don't remember how many right now). Those also need to be properly done and tested, and you might encounter a motherboard where it wasn't done. Not sure how common, unfortunately.

Another issue is motherboard firmware. Even though AMD supplies the memory init code, the configuration can be tweaked by motherboard vendor, and they might simply break ECC support accidentally (even by something as simple as making a toggle default to false then forgot to expose it in configuration menu).

Those are the two issues you can encounter.

The difference with AFAIK Threadripper PRO, and EPYC, is that AMD includes ECC in its test and certification programs for it, which kind of enforces support.

Re:ECC matters by jtl999 on Sunday January 03, 2021 @01:42PM (#25623901)
> Another issue is motherboard firmware. Even though AMD supplies the memory init code, the configuration can be tweaked by motherboard vendor, and they might simply break ECC support accidentally (even by something as simple as making a toggle default to false then forgot to expose it in configuration menu).

I think some Gigabyte boards are infamous for this in certain circle

OTOH: Gigabyte might have a Threadripper PRO motherboard (WRX80 chipset) coming out in the future

Re:ECC matters by p_l on Sunday January 03, 2021 @03:21PM (#25624869)
Gigabyte is also infamous for trying to claim that they implemented UEFI by dropping a build of DUET (UEFI that boots on top of BIOS, used for early development) into BIOS image...
Re:ECC matters by theevilsharpie on Sunday January 03, 2021 @01:05PM (#25623542)
On Windows, to check if ECC is working, run the command 'wmic memphysical get memoryerrorcorrection':

    PC C:\> wmic memphysical get memoryerrorcorrection
    MemoryErrorCorrection
    6
SuperUser has a convenient decoder[1], but modern systems will report "6" here if ECC is working.

When Windows detects a memory error, it will record it in the system event log, under the WHEA source. As a side note, this is also how memory errors within the CPU's caches are reported under Windows.

[1] https://superuser.com/questions/893560/how-do-i-tell-if-my-m...

Re:ECC matters by xxs on Sunday January 03, 2021 @12:08PM (#25623050)
Every Ryzen (non APU) supports it* Check the montherboard of your choice, they would declare it in big bold letters, e.g.[0]

*not officially, and the memory controller provides no report for 'fixed' errors.

0: http://www.asrock.com/mb/AMD/X570%20Taichi/

Re:ECC matters by usefulcat on Sunday January 03, 2021 @12:09PM (#25623057)
It’s not. I have a low end Epyc machine with ECC. It has a TDP of something like 30 watts.
Re:ECC matters by defanor on Sunday January 03, 2021 @12:20PM (#25623135)
I didn't consider embedded CPUs (I guess that's about an embedded EPYC, not a server one), those look neat. But there's no official ECC support (i.e., it's similar to Ryzen CPUs), is there?

Edit: as detaro mentioned in the reply, there is, and here's the source [0] -- that's what they mean by "RAS" on promotional pages [1]. That indeed looks like a nice option.

[0] https://www.amd.com/system/files/documents/updated-3000-fami...

[1] https://www.amd.com/en/products/embedded-epyc-3000-series

Re:ECC matters by adrian_b on Sunday January 03, 2021 @02:19PM (#25624263)
For embedded applications, there is official ECC support for all CPUs named Epyc or Ryzen Vxxxx or Ryzen Rxxxx.

There are computers in the Intel NUC form factor, with ECC support (e.g. with Ryzen V2718), e.g from ASRock Industrial.

Re:ECC matters by detaro on Sunday January 03, 2021 @12:23PM (#25623166)
All EPYC, including the embedded ones, do officially have ECC support
Re:ECC matters by loeg on Sunday January 03, 2021 @05:33PM (#25625861)
RAS covers more than just DRAM, but yes. Historically, the reporting interface is called MCA (Machine Check Architecture) / MCE. I think both AMD and Intel have extensions with other names, but MCA/MCE points you in the right direction.
Re:ECC matters by detaro on Sunday January 03, 2021 @12:24PM (#25623173)
what kind of machine is that? Been vaguely looking for one a while back, and everything seemed difficult to get (since the main target is large-volume customers I guess)
Re:ECC matters by usefulcat on Thursday January 14, 2021 @10:26AM (#25777417)
Sorry, I didn't see this earlier. It's Supermicro board with an Epyc 3201 (8c/8t), base frequency is ~1.5 Ghz. There's no CPU fan, so it can get quite hot. It throttles at 94 degrees celcius, and it will hit that if more than around 4-6 cores are being fully used. However there are options in the bios to disable some of the cores. In my case I've disabled 4 of the cores and the temperature is much more reasonable now.
Re:ECC matters by stefan_ on Sunday January 03, 2021 @12:49PM (#25623390)
I don't understand. Whatever the TDP of Intel processors, you are straight up getting less bang for watt given their ancient process. Same reason smartphones burst to high clocks and power; getting the task done faster is on average much more efficient.
Re:ECC matters by BlueTemplar on Sunday January 03, 2021 @01:36PM (#25623845)
> one won't be able to return/replace a CPU if it doesn't work with ECC memory

I don't know where you live, but around here, (if you buy new?), the vendor MUST take back items up to 15 days after they were delivered, for ANY reason.

So, as long as you synchronize your buying of CPU, RAM, (motherboard), you should be fine.

Re:ECC matters by dannyw on Monday January 04, 2021 @03:09AM (#25628785)
You can use BIOS settings to change the TDP to whatever you like, with substantially higher efficiency if you are under-powering and substantially lower efficiency if you are over-powering.
Re:ECC matters by loeg on Sunday January 03, 2021 @12:53PM (#25623430)
> I've considered using an AMD CPU instead of Intel's Xeon on the primary desktop computer, but even low-end Ryzen Threadripper CPUs have TDP of 180W, which is a bit higher than I'd like.

Any apples-to-apples comparable Intel CPU will have comparable power use. The difficulty is that Intel didn't really have anything like Threadripper — their i9 series was the most comparable (high clocks and moderate core counts), but i9 explicitly did not support ECC memory, nullifying the comparison.

You're looking at 2950X, probably? That's a Zen+ (previous gen) model. 16 core / 32 thread, 3.5 GHz base clock, launched August 2018.

Comparable Intel Xeon timeline is Coffee Lake at the latest, Kaby lake before that. As far as I can tell, no Kaby Lake nor Coffee Lake Xeons even have 16 cores.

The closest Skylake I've found is an (OEM) Xeon Gold 6149: 16/32 core/thread, 3.1 GHz base clock, 205W nominal TDP (and it's a special OEM part, not available for you). The closest buyable part is probably Xeon Gold 6154 with 18/36 core/threads, 3GHz clock, and 200W nominal TDP.

Looking at i9 from around that time, you had Skylake-X and a single Coffe Lake-S (i9-9900K). 9900K only has 8 cores. The Skylake i9-9960X part has 16/32 cores/threads, base clock of 3.1GHz, and a nominal TDP of 165W. That's somewhat comparable to the AMD 2950X, ignoring ECC support.

Another note that might interest you: you could run the Threadripper part at substantially lower power by sacrificing a small amount of performance, if thermals are the most important factor and you are unwilling to trust Ryzen ECC: http://apollo.backplane.com/DFlyMisc/threadripper.txt

Or just buy an Epyc, if you want a low-TDP ECC-definitely-supported part: EPYC 7302P has 16/32 cores, 3GHz base clock, and 155W nominal TDP. EPYC 7282 has 16/32 cores, 2.8 GHz base, and 120W nominal TDP. These are all zen2 (vs 2950X's zen+) and will outperform zen+ on a clock-for-clock basis.

> And though ECC is not disabled in Ryzen CPUs, AFAIK it's not tested in (or advertised for) those, so one won't be able to return/replace a CPU if it doesn't work with ECC memory, AIUI, making it risky.

If your vendor won't accept defective CPU returns, buy somewhere else.

> Though I don't know how common it is for ECC to not be handled properly in an otherwise functioning CPU; are there any statistics or estimates around?

ECC support requires motherboard support; that's the main thing to be aware of shopping for Ryzen ECC setups. If the board doesn't have the traces, there's nothing the CPU can do.

Re:ECC matters by marcosdumay on Sunday January 03, 2021 @11:43AM (#25622824)
Keep in mind that Intel lies about its TDP.
Re:ECC matters by magila on Sunday January 03, 2021 @04:54PM (#25625605)
There's been a lot of misinformation spread about what TDP means for modern CPUs. In Intel's case TDP is the steady state power consumption of the CPU in its default configuration while executing a long running workload. Long meaning more than a minute or two. The CPU implements this by keeping an exponentially weighted moving average (EWMA) of the CPU's power consumption. The CPU will modulate its frequency to keep this moving average at-or-below the TDP.

One consequence of using a moving average is that if the CPU has been idle for a long time then starts running a high power workload instantaneous power consumption can momentarily exceed the TDP while the average catches up. This is often misleadingly referred to as "turbo mode" by hardware review sites. It's not a mode, there's no state machine at work here, it's just a natural result of using a moving average. The use of EWMA is meant to model the heat capacity of the cooling solution. When the CPU has been idle for a while and the heatsink is cool, the CPU can afford to use more power while the heatsink warms up.

Another factor which confuses things is motherboard firmware disabling power limits without the user's knowledge. Motherboards marketed to enthusiasts often do this to make the boards look better in review benchmarks. This is where a lot of the "Intel is lying" comes from, but it's really the motherboard manufacturers being underhanded.

The situation on the AMD side is of course a bit different. AMD's power and frequency scaling is both more complex and much less documented than Intel's so it's hard to say exactly what the CPU is doing. What is known is that none of the actual power limits programmed into the CPU align with the TDP listed in the spec. In practice the steady state power consumption of AMD CPUs under load is typically about 1.35x the TDP.

Unlike Intel, firmware for AMD motherboards does not mess with the CPU's power limit settings unless the user does so explicitly. Presumably this is because AMD's CPU warranty is voided by changing those settings, while Intel's is not.

Re:ECC matters by vel0city on Monday January 04, 2021 @12:28AM (#25628169)
Intel and AMD absolutely have "turbo mode" and market such features using the term "turbo". It might just be a result of the weighted moving average, but the term "turbo" isn't something reviewers just made up out of nowhere.

https://www.intel.com/content/www/us/en/architecture-and-tec...

https://www.amd.com/en/technologies/turbo-core

Re:ECC matters by xxs on Sunday January 03, 2021 @11:48AM (#25622864)
Intel measures TDP at base frequency... that's disingenuous.
Re:ECC matters by colejohnson66 on Sunday January 03, 2021 @02:38PM (#25624450)
They don’t. They just measure it differently than AMD. Intel measures at base clock, but AMD measures at sustained max clock IIRC. It’s definitely deceptive, but it’s not a lie as long as Intel tells you (which they do).
Re:ECC matters by wtallis on Sunday January 03, 2021 @04:30PM (#25625435)
Intel's TDP numbers are at best an indicator of which product segment a chip falls into. They are wildly inaccurate and unreliable indicators of power draw under any circumstance. For example, here's a "58W" TDP Celeron that can't seem to get above 20W: https://twitter.com/IanCutress/status/1345656830907789312

And on the flip side, if you're building a desktop PC with a more high-end Intel processor, you will usually have to change a lot of motherboard firmware settings to get the behavior to resemble Intel's own recommendations that their TDP numbers are supposedly based on. Without those changes, lots of consumer retail motherboards default to having most or all of the power limits effectively disabled. So out of the box, a "65W" i7-10700 and a "125W" i7-10700K will both hit 190-200W when all 8 cores/16 threads are loaded.

If a metric can in practice be off by a factor of three in either direction, it's really quite useless and should not be quantified with a scientific unit like Watts.

Re:ECC matters by ksec on Sunday January 03, 2021 @04:05PM (#25625236)
It is a lie when they change the definition of TDP without telling you first and later redefined the word to different thing once they got caught.

May be we should use a new term for it, something like iTDP.

Re:ECC matters by marcosdumay on Sunday January 03, 2021 @03:35PM (#25624974)
Well, it's a power measurement that isn't total and can't be used for design... So, it's a lie.

If they gave it some other name, it would be only misleading. Calling it TDP is a lie.

Re:ECC matters by mlyle on Sunday January 03, 2021 @12:58PM (#25623475)
They both lie, but Intel lies worse :D
Re:ECC matters by paulmd on Sunday January 03, 2021 @05:56PM (#25626059)
Nah. Both brands pull more than TDP when boosting at max, AMD desktop processors will pull up to 30% above the specified TDP for an indefinite period of time (they call this number the "PPT" instead, but they need to go higher than TDP to hit full boost, and PPT is the number that governs that).

Intel mobile processors actually obey TDP better than AMD processors do - Tiger Lake has a hard limit, when you configure a 15W TDP then it really is 15W steady-state once boost expires, while AMD mobile products will pull up to 50% more than configured in steady-state operation. (the gap is larger than desktop)

https://images.anandtech.com/doci/16084/Power%20-%2015W%20Co...

"the brands measure it differently" is sort of theoretically true but not in the sense people think, and in practice it is not true.

On AMD it is literally just a number they pick that goes into the boost algorithm. Robert Hallock did some dumb handwavy shit about how it's measured with some delta-t above ambient with a reference cooler but the fact is that the chip itself basically determines how high it'll boost based on the number they configure, so that is a self-fulfilling prophecy, the delta-t above ambient is dependent on the number they configure the chip to run at.

In practice: what's the difference between a 3600 and a 3600X? One is configured with a TDP of 65W and one is configured with a TDP of 95W, the latter lets you boost higher and therefore it clocks higher. Configure them both to a 65W PPT limit and they will boost to pretty much the same place.

Intel nominally states that it's measured as a worst-case load at base clocks, something like Prime95 that absolutely nukes the processor (and even then many processors do not actually hit it). But really it is also just a number that they pick. The number has shifted over time, previously they used to undershoot a lot, now they tend to match the official TDP. It's not an actual measurement, it's just a "power category" that they classify the processors as, it's informed by real numbers but it's ultimately a human decision which tier they put them in.

So in practice, for both brands, it is just a number they pick. They have different theoretical methods for getting there but ultimately the marketing department looks at where the clocks would put them and pick a power number that they think represents that. It is not, in practice, a pure measurement from either brand, it is just a "category" they use.

Real-world you will always boost above base clocks on both brands at stock TDP, at least on real-world loads. You won't hit full boost on either brand without exceeding TDP, the "AMD measures at full boost" is categorically false despite the fact that it's commonly repeated. AMD PPT lets them boost above the official TDP for an unlimited period of time, they cannot run full boost when limited to official TDP.

Re:ECC matters by numlock86 on Sunday January 03, 2021 @01:01PM (#25623514)
Can you cite something? Sounds interesting.
Re:ECC matters by colejohnson66 on Sunday January 03, 2021 @02:39PM (#25624469)
It’s not true. Sortove. Intel measures at base clock while AMD does at sustained peak clock. Deceptive? Yes. Lie? No.
Re:ECC matters by CalChris on Sunday January 03, 2021 @01:46PM (#25623947)
Yeah, the iMac Pro has the Xeon W and ECC. T'would be nice if the Apple Silicon MacBook Pro had it. There's not much of a reason to pay for the Pro over the Air. But like Linus, I'm going to blame Intel for this situation in the market. Maybe Apple will strike out on its own with Apple Silicon but since their dominant use case is phones, I'll not hold my breath.
Re:ECC matters by DCKing on Sunday January 03, 2021 @02:40PM (#25624472)
Unless something weird happens, the next generation of the Apple M-line will use LPDDR5 memory instead of the LPDDR4X used in the Apple M1. While it probably won't support error correction monitoring, LPDDR5 has built in error correction that silently corrects single bit flips. That alone should be a huge reliability improvement.

LPDDR5 will enable some much needed level of error correction in a metric ton of other future SoC designs too. I look forward to the future Raspberry Pi with built in error correction capabilities.

Re:ECC matters by dannyw on Monday January 04, 2021 @03:10AM (#25628789)
Will this also exist for consumer DDR5?
Re:ECC matters by DCKing on Monday January 04, 2021 @10:25AM (#25632455)
Yes, this applies to both DDR5 and LPDDR5. Leaks indicate that DDR5 CPUs and motherboards by Intel and AMD are not going to be out this year though, at least not on the desktop.
Re:ECC matters by CalChris on Sunday January 03, 2021 @08:58PM (#25627208)
Well then, maybe I'll wait for the rumored 14.1 MacBook Pro. MacRumors says second half of 2021.
Re:ECC matters by fortran77 on Sunday January 03, 2021 @12:27PM (#25623206)
While it's true that Intel only has ECC support on Xeon (and several other chips targeted at the embedded market) it's not true that ECC is supported well on AMD.

We only use Xeons on developer desktops and production machines here precisely because of ECC. It's about 1 bit flip/month/gigabyte. That's too much risk when doing something critical for a client.

Re:ECC matters by theevilsharpie on Sunday January 03, 2021 @01:14PM (#25623610)
> it's not true that ECC is supported well on AMD

ECC is supported on most Ryzen models[1], as long as the motherboard supports it. In fact, ASUS and ASRock (possibly others) have Ryzen motherboards designed for workstation/server use where ECC support is specifically advertised.

[1] The only exception is the Ryzen CPUs with integrated graphics.

Re:ECC matters by js2 on Sunday January 03, 2021 @01:28PM (#25623751)
Depends what you mean by supported. Semi-offically:

ECC is not disabled. It works, but not validated for our consumer client platform.

Validated means run it through server/workstation grade testing. For the first Ryzen processors, focused on the prosumer / gaming market, this feature is enabled and working but not validated by AMD. You should not have issues creating a whitebox homelab or NAS with ECC memory enabled.

https://old.reddit.com/r/Amd/comments/5x4hxu/we_are_amd_crea...

Re:ECC matters by theevilsharpie on Sunday January 03, 2021 @01:41PM (#25623896)
AMD may claim not to validate ECC on Ryzen, but it's working well enough for major motherboard vendors to market Ryzen motherboards with ECC advertised as a feature.

ECC support not being "validated," for all practical purposes, simply means that board vendors can advertise a board lacking ECC support as compatible with AMD's AM4 platform, without getting a nasty letter from AMD's lawyers.

Re:ECC matters by adrian_b on Sunday January 03, 2021 @02:30PM (#25624379)
Yes there is a risk to buy a Ryzen CPU with non-functional ECC.

However, I use only computers with ECC, previously only Xeons, but in the last years I have replaced many of them with Ryzens, all of which work OK with ECC memory.

When having to choose between a very small risk of losing the price of a CPU and having to use for sure, during many years, an Intel CPU with half of the AMD speed, the choice was very obvious for me.

Re:ECC matters by loeg on Sunday January 03, 2021 @05:36PM (#25625885)
Your quote is for consumer platforms (Ryzen) only; GP's statement was that ECC is not well-supported on AMD at all, which is obviously false (EPYC, Threadripper).
Re:ECC matters by paulmd on Sunday January 03, 2021 @06:03PM (#25626126)
It's an unsupported configuration and it's not tested.

The latter is a big problem, one of the extreme-OC guys (Buildzoid) who interacts frequently with the OEMs (as he is pushing their stuff to the limit and he frequently needs their help) has commented that AMD has a really bad problem with their BIOS teams. The AGESA firmware (the low-level code that the processor actually runs) is buggy as all hell at a firmware level and the OEMs are forced to patch around it in BIOS, but the AGESA firmware also has a massive problem with code churn, so these BIOS fixups basically stop working all the time. And the driver teams at a lot of OEMs are literally one person, so there isn't enough staffing there to test everything all the time. Long and short of it is: stuff breaks in AMD BIOSs, constantly, and they don't notice it.

This is obviously a huge problem when ECC is not an officially supported feature, because it means nobody is testing it! You might update your BIOS (as you frequently have to do with AMD machines) and suddenly ECC stops working, it might be running ECC in non-ECC mode and no longer correcting errors. Or it might have screwed up reporting them to the OS.

The server/workstation boards are the only ones you should be trusting Ryzen with ECC usage on.

Re:ECC matters by jeffbee on Sunday January 03, 2021 @12:57PM (#25623464)
> While it's true that Intel only has ECC support on Xeon

That's not true. There are Core i3, Atom, Celeron, and Pentium SKUs with ECC. E.g. the Core i3-9300

https://en.wikichip.org/wiki/intel/core_i3/i3-9300

Re:ECC matters by loeg on Sunday January 03, 2021 @01:08PM (#25623578)
> it's not true that ECC is supported well on AMD.

That's an extreme claim. Why do you say so?

Re:ECC matters by rhn_mk1 on Sunday January 03, 2021 @11:23AM (#25622678)
Doesn't intel make ECC available on the i3 line of CPUs?
Re:ECC matters by minot on Sunday January 03, 2021 @11:29AM (#25622732)
I was going to say no but I just checked and at least ONE latest generation i3 processor supports ECC

https://ark.intel.com/content/www/us/en/ark/compare.html?pro...

https://ark.intel.com/content/www/us/en/ark/products/208074/...

Problem is this processor is an Embedded processor so probably not for us

> Industrial Extended Temp, Embedded Broad Market Extended Temp

My understanding is Intel does not support ECC on the desktop unless you pay extra.

Re:ECC matters by makomk on Sunday January 03, 2021 @11:33AM (#25622765)
Yeah, that appears to be a BGA-packaged processor designed to be permanently soldered to the board of some embedded device, not something that you can install in your desktop at all. I'm not sure why Intel decided to brand their embedded processors with ECC as i3, though I suspect the reason this range exists at all is because companies were going with competitors like AMD instead due to their across-the-board ECC support.
Re:ECC matters by hollerith on Sunday January 03, 2021 @01:00PM (#25623493)
That i3 is for file servers.
Re:ECC matters by opencl on Sunday January 03, 2021 @11:32AM (#25622754)
They used to support ECC in the desktop i3 lineup, current gen does not have ECC except in some embedded SKUs.

https://ark.intel.com/content/www/us/en/ark/products/199280/...

Re:ECC matters by xxs on Sunday January 03, 2021 @11:42AM (#25622820)
Re:ECC matters by vbezhenar on Sunday January 03, 2021 @01:49PM (#25623970)
You can find non-Xeons with ECC support. But they are rare and usually suitable for some kinds of micro servers.