My work focus on analysis of genomes (including human) to discover new motifs and clustering them. The clustering step alone takes a huge amount processing power. I estimate that clustering step, alone, will take approximately 2 **months** using my current computer (all 4 cores loaded, i5 4670K@4.1Ghz with 8 GB Ram). 

Because it is such a long time to lock my computer down I couldnt actually complete it yet. I will also need more RAM but I can not estimate the peak memory requirement until I actually complete it.

Fortunately I recieved approx. 4K dollars of funding for building a workstation. And that is why I need some help.

I rather go with faster and multiple core cpus and the new AMD chip 1950X is within an acceptible price range. Also supports 8 quad-channel Ram sticks with up to 3600 MHz speed.

However, I hear so much about ECC (Error Correcting Code) Ram and how it is essential for workstations. On the other hand, unfortunately, ECC Rams are more expensive and slower than non-ECC Ram. There are UDIMM ECCs and LRDIMM ECCs both with only up to 2133 MHz speed and only dual-channel capability (at least according to what I read). 1950X will support only UDIMM ECCs according to the manufacturer and max ECC UDIMM I can get my hands on is 16 GB versions.

 If I insist to go with ECC, then 
(1) either I have to get ECC UDIMMs at 2133 MHz speed with dual channel capacity and use it with 1950X.

(2) Or I can decide to get a server CPU such as Intel E5-2630v4 or AMD EPYC 7301, which are in my price range. However, according to the product details the aggregate CPU frequency (cpu frequency x core count) of these cpus will be significantly lower than 1950X.

 (E5-2630v4= 20coresx3.1Ghz vs Epyc 7301= 32x2.7GHz vs 1950X= 32x4GHz)

On the other hand, a dual-socket server motherboard will have the potential for upgrade with a second CPU and additional Ram sticks in the future. 

(3) If I choose to let go of ECC, then I can get Ram sticks with more capacity and higher speed. 

So my questions are,

Is ECC so crucial for type of bioinformatics I do? If so which route should I take (1), or (2)...or any other suggestions?
> I estimate that clustering step, alone, will take approximately 2
> months using my current computer (all 4 cores loaded, i5 4670K@4.1Ghz
> with 8 GB Ram).

Sounds like you have plenty of time to make the algorithm faster, then... :)

Looks like Threadripper (1950X) motherboards can have 8 RAM slots, so that's 128 GB (which is the amount we have on most of our compute nodes).  And you probably want to populate all 8 channels for max performance, though that's hard to say until reviews are out.

I can't really say much about ECC support in general since I never know if some computer problem I have is related to memory errors (and all of the heavy-duty computing I run is on ECC machines anyway).  However, it would really be disappointing for a program to crash after 20 days due to a ram error...  or worse yet, silently give you the wrong answer.  I think, in this situation, I would go with ECC RAM since you will be doing long-running jobs involving large amounts of memory, and the chance of a memory error causing a problem is proportional to (amount of memory used)*(length of job).  Try to get single-rank memory modules; those seem to work better with Ryzen.

I'm really not sure about the exact difference between Threadripper and EPYC; I think EPYC supports some extra features that you won't use.  In this case I don't see much reason to get an EPYC.  Note that EPYC 7301 is actually 2.2GHz, not 2.7 (that's it's peak turbo which won't be used when all cores are running) so everything would take 50% longer.  There are also some 24-core EPYCs, though, which seem more interesting.  Substantially more expensive than Threadripper for slightly less performance, but leaves open the option of 2-socket.  I think the main reason professional CPUs have lower clocks than consumer CPUs is simply to maximize flops/watt, as power dissipation is much more important in rack-mounted computers than standalone workstations, and power use scales nonlinearly with clock-rate so lower clocks are more efficient.  Here's a nice picture: 

 ![https://i.stack.imgur.com/daciI.png][1]

It's funny that AMD is positioning Threadripper for gaming/enthusiasts, because in my opinion it's really a much better fit in bioinformatics!


  [1]: https://i.stack.imgur.com/daciI.png