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