My new Linux office workstation for fall 2017
My past two generations of office Linux desktops have been identical to my home machines, and when I wrote up my planned new home machine I expected that to be the case for my next work machine as well (we have some spare money and my work machine is six years old, so replacing it was always in the plans). It turns out that this is not going to be the case this time around; to my surprise and for reasons beyond the scope of this entry, my next office machine is going to be AMD Ryzen based.
The definitive parts list for this machine is as follows. Much of it is based on my planned new home machine, but obviously the switch from Intel to AMD required some other changes, some of which are irritating ones.
- AMD Ryzen 1800X
- Even though we're not going to overclock it, this
is still the best Ryzen CPU. I figure that I can live with the 95W
TDP and the cooling it requires, since that's what my current
desktop has (and this time I'm getting a better CPU cooler than the
stock Intel one, so it should run both cooler and quieter).
- ASUS Prime X370-Pro motherboard
- We recently got another
Ryzen-based machine with this motherboard and it seems fine (as
a CPU/GPU compute server). The motherboard has a decent assortment
of SATA ports, USB, and so on, and really there's not much to say
about it. I also looked at the slightly less expensive X370-A,
but the X370-Pro has more than enough improvements to strongly
prefer it (including two more SATA ports and onboard Intel-based
networking instead of Realtek-based).
It does come with built in colourful LED lighting, which looks a bit odd in the machine in our server room. I'll live with it.
(This motherboard is mostly an improvement on the Intel version since it has more SATA ports, although I believe it has one less M.2 NVME port. But with two x16 PCIE slots, you can fix that with an add-on card.)
- 2x16 GB DDR4-2400 Kingston ECC ValueRAM
- Two DIMMs is what you
want on Ryzens today. We're using
ECC RAM basically because we can; it's available and is only a
bit more expensive than non-ECC RAM, runs fast enough, and is
supported to at least some degree by the motherboard. We don't know
if it will correct any errors, but probably it will.
(You can't get single-rank 16GB DIMMs, so that this ECC RAM is double-rank is not a drawback.)
The RAM speed issues with Ryzen is one of the irritations of building this machine around an AMD CPU instead of an Intel one. It may never be upgraded to 64 GB RAM over its lifetime (which will probably be at least five years).
- Noctua NH-U12-SE-AM4 CPU cooler
- We need some cooler for the
Ryzen 1800X (since it doesn't come with one). These are well
reviewed as both effective and quiet, and the first Ryzen machine
we got has a Noctua cooler as well (although a different one).
- Gigabyte Radeon RX 550 2GB video card
- That I need a graphics
card is one of the irritations of Ryzens. Needing a discrete
graphics card means an AMD/ATI card right now, and I wanted one
with a reasonably modern graphics architecture (and I needed one
with at least two digital video outputs, since I have dual
monitors). I sort of threw darts here, but reviewers seem to say
that this card should be quiet under normal use.
As a Linux user I don't normally stress my graphics, but I expect to have to run Wayland by the end of the lifetime of this machine and I suspect that it will want something better than a vintage 2011 chipset. A modern Intel integrated GPU would likely have been fine, but Ryzens don't have integrated graphics so I have to go with a separate card.
(The Prime X370-Pro has onboard HDMI and DisplayPort connectors, but a footnote in the specifications notes that they only do anything if you have an Athlon CPU with integrated graphics. This disappointed me when I read it carefully, because at first I thought I was going to get to skip a separate video card.)
- EVGA SuperNOVA G3 550W PSU
- Commentary on my planned home
machine pushed me to a better PSU than I
initially put in that machine's parts list. Going to 550W
buys me some margin for increased power needs for things
like a more powerful GPU, if I ever need it.
(There are vaguely plausible reasons I might want to temporarily put in a GPU capable of running things like CUDA or Tensorflow. Some day we may need to know more about them than we currently do, since our researchers are increasingly interested in GPU computing.)
- Fractal Design Define R5 case
- All of the reasons I originally
had for my home machine apply just as much for
my work machine. I'm actively looking forward to having enough
drive bays (and SATA ports) to temporarily throw hard drives into
my case for testing purposes.
- LG GH24NSC0 DVD/CD Writer
- This is an indulgence, but it's an inexpensive one, I do actually burn DVDs at work every so often, and the motherboard has 8 SATA ports so I can actually connect this up all the time.
Unlike my still-theoretical new home machine (which is now unlikely to materialize before the start of next year at the earliest), the parts for my new office machine have all been ordered, so this is final. We're going to assemble it ourselves (by which I mean that I'm going to, possibly with some assistance from my co-workers if I run into problems).
On the bright side of not doing anything about a new home machine, now I'm going to get experience with a bunch of the parts I was planning to use in it (and with assembling a modern PC). If I decide I dislike the case or whatever for some reason, well, now I can look for another one.
(However, there's not much chance that I'll change my mind on using an Intel CPU in my new home machine even if this AMD-based one goes well. The 1800X is a more expensive CPU, although not as much so as I was expecting, and then there's the need for a GPU and the whole issues with memory and so on. Plus I remain more interested in single-thread CPU performance in my home usage. Still, I could wind up surprising myself here, especially if ECC turns out to be genuinely useful. Genuinely useful ECC would be a bit disturbing, of course, since that implies that I'd be seeing single-bit RAM errors far more than I think I should be.)