External Email - Use Caution
Hello Sotiris, My understanding is that ECC memory gives you something like a parity check across memory writes/reads. Or there is some extra bit(s) in hardware that contribute to being able to determine if the value in memory to be read actually matches what was written there. So for number crunching on Wall Street, suppose there was a RAM failure that manifests itself by resulting in a *wrong* financial calculation that a human being would not detect from monitoring the results. If that error was from a bit mistakenly flipping in memory, than ECC can help. ECC can detect a memory error in 2 bits but can only fix 1 bit of whatever is in memory. Depending upon what bit(s) have mistakenly flipped, it could be a very small or very large error.
For this to work, I think the (hardware) memory controller and the CPU need to support ECC as well. So if the motherboard you are spec'ing out does not explicitly say it supports ECC, then I would assume it does not. ECC memory is 2X to 3X more expensive than non-ECC memory. I don't know how motherboard prices compare that do/do not support ECC. Users who are building machines for supper fast gaming, or audio/video production and streaming typically won't spend extra money on ECC as they want to max out on the CPU, memory, and buss/bandwidth.
I have seen unsubtle RAM and chip failures cause blatant problems, e.g., the kernel running on an idle server that is on 24/7 all of a sudden starts to panic because of a RAM failure. I have seen the sign bit mistakenly flip on an ALU chip because it was too close to the heat sink of another chip such that every positive number became negative inside the ALU. This was obvious after the motherboard heated up (and ECC would not have fixed this). The BIOS you can run on motherboards have various diagnostics which I think include memory tests, e.g., writing and reading a repeating pattern in/out of memory multiple times to check for consistency. You could look for what diagnostics are provided in the BIOS program supported by the motherboard you choose.
Some RAM manufacturers have fixed warranties or limited lifetime warranties. I've always had good experience with Crucial memory (who make both non-ECC and ECC RAM). As Matt said, you should run some diagnostic test on the RAM when it is new - and then periodically. Once the warranty expires, you are stuck with any defective RAM no matter why it failed..
I don't think ECC memory is going to have much effect upon how efficiently a program utilizes multiple cores and threads. I have not compared the clock speeds, but I could imagine ECC memory might be a bit slower than non-ECC memory. If you have the budget to spec out a machine with a motherboard and CPU you like that supports ECC memory, then I would try it. It's also good to look online to see who else has already built a machine with the motherboard and CPU you want to use.
- R.
Glasser, Matthew October 6, 2019 at 16:04
External Email - Use Caution
If you use non-ECC memory, it is a good idea to run something like memtest86 to ensure that it is error free (and return any sticks with errors to the manufacturer). ECC and non-ECC RAM should be similar assuming the non-ECC RAM doesn’t have errors 😉 Matt.
From: <freesurfer-bounces@nmr.mgh.harvard.edu> on behalf of Sotiris Michos <sotmihos@gmail.com>
Reply-To: Freesurfer support list <freesurfer@nmr.mgh.harvard.edu>
Date: Sunday, October 6, 2019 at 3:01 PM
To: "freesurfer@nmr.mgh.harvard.edu" <freesurfer@nmr.mgh.harvard.edu>
Subject: [Freesurfer] ECC or non-ECC Memory?
External Email - Use Caution
Dear Freesurfer community,
I am interested in building a PC with the goal of running Freesurfer (about 2000-2500 Euros). I have carefully read this very informative webpage. However, I still have some questions and I would be glad if some assistance could be provided.
I suspect that a proper PC would be placed towards the workstation side of the spectrum, since from what I read in the above webpage, Freesurfer can utilize multiple cores and is quite demanding in RAM memory per instance.
What I would like to ask is whether ECC Memory is critical for this application or if the corruption coming from a non-ECC module has any significant effect on the end result. Also, any advice or suggestions about the system's buildup would be more than welcome.
Best Regards,
Sotiris Michos
The materials in this message are private and may contain Protected Healthcare Information or other information of a sensitive nature. If you are not the intended recipient, be advised that any unauthorized use, disclosure, copying or the taking of any action in reliance on the contents of this information is strictly prohibited. If you have received this email in error, please immediately notify the sender via telephone or return mail. _______________________________________________ Freesurfer mailing list Freesurfer@nmr.mgh.harvard.edu https://mail.nmr.mgh.harvard.edu/mailman/listinfo/freesurfer Sotiris Michos October 6, 2019 at 16:01 External Email - Use Caution Dear Freesurfer community, I am interested in building a PC with the goal of running Freesurfer (about 2000-2500 Euros). I have carefully read this very informative webpage. However, I still have some questions and I would be glad if some assistance could be provided. I suspect that a proper PC would be placed towards the workstation side of the spectrum, since from what I read in the above webpage, Freesurfer can utilize multiple cores and is quite demanding in RAM memory per instance. What I would like to ask is whether ECC Memory is critical for this application or if the corruption coming from a non-ECC module has any significant effect on the end result. Also, any advice or suggestions about the system's buildup would be more than welcome. Best Regards,Sotiris Michos _______________________________________________ Freesurfer mailing list Freesurfer@nmr.mgh.harvard.edu https://mail.nmr.mgh.harvard.edu/mailman/listinfo/freesurfer
External Email - Use Caution
On Mon, 7 Oct 2019 at 02:41, fsbuild fsbuild@contbay.com wrote:
For this to work, I think the (hardware) memory controller and the CPU need to support ECC as well. So if the motherboard you are spec'ing out does not explicitly say it supports ECC, then I would assume it does not. ECC memory is 2X to 3X more expensive than non-ECC memory. I don't know how motherboard prices compare that do/do not support ECC. Users who are building machines for supper fast gaming, or audio/video production and streaming typically won't spend extra money on ECC as they want to max out on the CPU, memory, and buss/bandwidth.
I'm not sure about the AMD side, but for Intel you generally have to go to Xeon chips and motherboards to get ECC support. See the "memory" section under: https://www.intel.com/content/www/us/en/support/articles/000006778/processor... ECC will in general be (slightly) slower than 'regular' RAM due to the extra parity bits.
HTH,
Richard
External Email - Use Caution
Dear Richard, Matt, fsbuild,
First of all I would like to thank you all for your quite informative answers. I am aware of the way ECC memory works, but your answers provided new and interesting information.
However, my question is about the criticality of ECC memory specifically for Freesurfer. I know for example that for financial computations where high precision is required one should use ECC memory while for video encoding tasks non-ECC is the memory of choice since the lack of computational accuracy coming from non-ECC memory has a minimal (if at all) effect on the end result.
Given that Freesurfer is used for medical-oriented research, is ECC memory something that should be required of a system running Freesurfer or its effects are not significant according to the experts of the field and your experience?
Regards, Sotiris Michos
On Tue, 8 Oct 2019 at 02:19, R Edgar freesurfer.rge@gmail.com wrote:
On Mon, 7 Oct 2019 at 02:41, fsbuild fsbuild@contbay.com wrote:
For this to work, I think the (hardware) memory controller and the CPU
need to support ECC as well. So if the motherboard you are spec'ing out does not explicitly say it supports ECC, then I would assume it does not. ECC memory is 2X to 3X more expensive than non-ECC memory. I don't know how motherboard prices compare that do/do not support ECC. Users who are building machines for supper fast gaming, or audio/video production and streaming typically won't spend extra money on ECC as they want to max out on the CPU, memory, and buss/bandwidth.
I'm not sure about the AMD side, but for Intel you generally have to go to Xeon chips and motherboards to get ECC support. See the "memory" section under:
https://www.intel.com/content/www/us/en/support/articles/000006778/processor... ECC will in general be (slightly) slower than 'regular' RAM due to the extra parity bits.
HTH,
Richard
External Email - Use Caution
Test your non-ECC memory or use ECC.
Matt.
From: freesurfer-bounces@nmr.mgh.harvard.edu on behalf of Sotiris Michos sotmihos@gmail.com Reply-To: Freesurfer support list freesurfer@nmr.mgh.harvard.edu Date: Tuesday, October 8, 2019 at 1:48 PM To: R Edgar freesurfer.rge@gmail.com Cc: Freesurfer support list freesurfer@nmr.mgh.harvard.edu Subject: Re: [Freesurfer] ECC or non-ECC Memory?
External Email - Use Caution Dear Richard, Matt, fsbuild,
First of all I would like to thank you all for your quite informative answers. I am aware of the way ECC memory works, but your answers provided new and interesting information.
However, my question is about the criticality of ECC memory specifically for Freesurfer. I know for example that for financial computations where high precision is required one should use ECC memory while for video encoding tasks non-ECC is the memory of choice since the lack of computational accuracy coming from non-ECC memory has a minimal (if at all) effect on the end result.
Given that Freesurfer is used for medical-oriented research, is ECC memory something that should be required of a system running Freesurfer or its effects are not significant according to the experts of the field and your experience?
Regards, Sotiris Michos
On Tue, 8 Oct 2019 at 02:19, R Edgar <freesurfer.rge@gmail.commailto:freesurfer.rge@gmail.com> wrote: On Mon, 7 Oct 2019 at 02:41, fsbuild <fsbuild@contbay.commailto:fsbuild@contbay.com> wrote:
For this to work, I think the (hardware) memory controller and the CPU need to support ECC as well. So if the motherboard you are spec'ing out does not explicitly say it supports ECC, then I would assume it does not. ECC memory is 2X to 3X more expensive than non-ECC memory. I don't know how motherboard prices compare that do/do not support ECC. Users who are building machines for supper fast gaming, or audio/video production and streaming typically won't spend extra money on ECC as they want to max out on the CPU, memory, and buss/bandwidth.
I'm not sure about the AMD side, but for Intel you generally have to go to Xeon chips and motherboards to get ECC support. See the "memory" section under: https://www.intel.com/content/www/us/en/support/articles/000006778/processor... ECC will in general be (slightly) slower than 'regular' RAM due to the extra parity bits.
HTH,
Richard
________________________________ The materials in this message are private and may contain Protected Healthcare Information or other information of a sensitive nature. If you are not the intended recipient, be advised that any unauthorized use, disclosure, copying or the taking of any action in reliance on the contents of this information is strictly prohibited. If you have received this email in error, please immediately notify the sender via telephone or return mail.
freesurfer@nmr.mgh.harvard.edu