Advice for "enthusiast" developer workstation

I am no stranger to do-it-yourself system builds. Been literally building for 25 years. This time is different.

I recently left my job at (insert big CPU manufacturer) here to start my own business. I am using an old gaming computer for development work and it works really well, well somewhat. The current system is an i4790k, Samsung SSD, 16 GB RAM. Nothing too fancy.

Here is my use case:

  • I write code in Scala and C++.
  • I periodically clone, compile, and regress large source code repos (e.g., GCC or Linux)
  • I use either IntelliJ (application that runs on JVM) or gvim for development work, also Chrome (many tabs)
  • No gaming, no multimedia (in fact, I disable the sound card on my current system)
  • I occasionally run VMs
  • OS is Centos 7 (but thinking of changing to Ubuntu)

Here are my wants:

  • Want this to CRUSH GCC compiler benchmarks
  • Rock stable GPU and drivers for running X.org. 2580x1080 is all I need. (I’ve tried 4K, but doesn’t bring me productivity benefits)
  • Three different ties of filesystems, I don’t need an obscene amount of disk space, dealing with text files, no audio or video!:
  1. for OS, with daily snapshots
  2. for managed data, with hourly (or better) snapshots
  3. for unmanaged or scratch data, no snapshots needed, only performance here
  4. a bulk data drive (raid 1 HDD) to backup snapshots (is this possible?)
  • Open to overclocking, but not at the expense of stability.

Here are my questions:

  • Do I really (I mean really) need ECC
  • What about buying a handful of smaller PC and set them up as a cluster?
  • What file systems should I use? Any pointers on how to configure?

Anyone up to the challenge?

Let’s say $3,500 for the budget (no monitor). But, can go higher if there’s a good reason, just not to burn money.

2 Likes

Sounds like threadripper or an r7 system is going to be your bang for buck system.

@wendell made a workstation for a similar workload about a year back. He may have some input.

1 Like

Bang for the buck isn’t my main consideration. More like, I’m happy to pay a premium, so far at the premium yields actual results.

My challenge isn’t really to decide between an i9 or Threadripper, that’s the easy part. The storage component is what’s most interests me.

If I had to go the dual or quad (!) CPU route - and it had measurable value - I’d consider that as well (well, sub-10k)

So no you don’t really, really need ECC RAM, but if this is a machine that will run 24/7 and your living will rely upon it, then you really should consider it. I think AMD provides more flexibility here, ECC on Intel really means Xeon CPU’s.

I would consider building a kick arse workstation and having a well specced laptop. That way I can leave stuff compiling on the workstation whilst working on something else on the laptop. Two machines would also provide a fail-safe and a laptop with a modern i7 is still a decent performing machine if you do need to compile some code on it.

1 Like

Do you intend to do any gaming or anything gpu intensive?

If your only gpu requirement is that it stably displays your desktop and not much else, then you could use intel integrated graphics.

And if that is possible, then why not go for the i7 8700K? It would be 2 extra cores and 4 extra threads, plus it is clocked a fair bit higher.


Or you could approach this problem from a totally different angle. Instead of having 1 machine do all this crazy bull crap, why not simplify the problem and have two machines?

Have a fast and lean enthusiast machine for day to day stuff, and then have a compiler work horse machine do all the heavy lifting.

You could get a nice low power super high core count machine with multiple processors in like a 1u form factor. Get a nice home network going and then you could just send your project over to that computer, compile it in like half a second, and then have it sent back to you.

This is also nice because now any computer in your house can be used to develop. You could develop on a laptop in bed, a tablet from the couch, the computer at your desk, it doesn’t matter. Not to mention that if there is an issue with your main computer, it wouldn’t adversely affect your work horse machine.

3 Likes

for the second point I was thinking something simlar to that where he can code on a laptop and use syncthing or something to sync the files over and have it compiled

Yeup, that could work too. There are a few ways to approach it so that the work flow is practically seamless.

1 Like

I feel my idea would be best if they were on a budget but they dont seem like it and its nice they are just using text files and nothing major which saves alot of time moving it

Everyone speaks highly of Threadripper. Go with that.

Honestly, I’m surprised the rig you have now isn’t sufficient. Looking at deals around, you can get a Threadripper, 960 Pro, TBs of storage drives, 32GB of RAM, and a decent graphics card and come under budget.

Why CentOS as a workstation/dev OS? Bleh, man. Go Ubuntu or Fedora.

I previously researched this system/enclosure and filling it with lower-end 6 or 8 core CPUs.

http://www.buildablade.com/bb-atx98.htm

It’d be a gamble though. It includes 300W P/S, so should be able to power most CPUs, but thermals remain a mystery… It would suck if CPUs wouldn’t hit turbo speeds.

Threadripper is an option, but it comes across as a “value part” vs. I9. I don’t need to save $500 or so. And the ~10% IPC boost, probably worth it for my use cases.

The storage is probably sufficient, but BRTFS and snapshotting is proving to be a real PITA. I probably don’t know how to configure properly. My system “locks up” with high IO load.

And, yeah. Ubuntu or Fedora. I agree with your Bleh, but learned the hard way :slight_smile:

I the past I have setup every PC on my local network with the icecream distc (icecc) daemon for distributed C compiling of large code bases giving me a total of 18 cores to compile with, for the time (5 years ago) was crazy fast. If you’re on a budget and have spare machines around (even the wife’s laptop :stuck_out_tongue:) it is a sound solution.

1 Like

Turbo clocks? Where we are going we don’t need turbo clocks. :sunglasses:

https://pcpartpicker.com/list/7TzQtJ

2 Likes

I know most people will say you don’t need ECC on a workstation but at a 20 core machine with 32 GB RAM on a machine that will work on something as important as GCC, I think it is worth it even if it avoids one error a month.

1 Like

Can you elaborate on why clock speed doesn’t matter?

Interesting choice the E5-2660… thanks for bringing to my attention

Its not that clock speed doesn’t matter. Its just that core count is more important.

More slower cores > fewer faster cores.

A 20 core machine running at a lower clock speed will outperform a 16 core processor running at a faster clock speed.

However the core count has to be a good bit higher in order to make up the difference. So for instance if you had a 20 core machines running at 2ghz and a 18 core machine running at 4ghz, well then the 18 core machine will win.

So its all about finding the right balance.

2 Likes