I just shipped cvs-fast-export 1.21 much improved and immensely faster than it was two weeks ago. Thus ends one of the most intense sieges of down-and-dirty frenzied hacking that I’ve enjoyed in years.
Now it comes time to think about what to do with the Help Stamp Out CVS In Your Lifetime fund, which started with John D. Bell snarking epically about my (admittedly) rather antiquated desktop machine and mushroomed into an unexpected pile of donations.
I said I intend to use this machine wandering around the net and hunting CVS repositories to extinction, and I meant it. If not for the demands of the large data sets this involves (like the 11 gigabytes of NetBSD CVS I just rsynced) I could have poked along with my existing machine for a good while longer.
For several reasons, including wanting those who generously donated to be in on the fun, I’m now going to open a discussion on how to best spend that money. A&D regular Susan Sons (aka HedgeMage) built herself a super-powerful machine this last February, and I think her hardware configuration is sound in essentials, so that build (“Tyro”) will be a starting point. But that was eight months ago – it might be some of the choices could be improved now, and if so I trust the regulars here will have clues to that.
I’ll start by talking about design goals and budget.
First I’ll point at some of my priorities:
* Serious crunching power for surgery on large repositories. The full Emacs conversion runs I’ve been doing take eight hours – goal #1 is to reduce that kind of friction.
* High reliability for a long time. I’d rather have stable than showy.
* Minimized noise and vibration.
Now some anti-priorities: Not interested in overclocking, not interested in fancy gamer cases with superfluous LEDs and Lambo vents, fuck all that noise. I’m not even particularly interested in 3D graphics. Don’t need to buy a keyboard or mouse or speakers and I have a dual-port graphics card I intend to keep using.
Budget: There’s $710 in the Help Stamp Out CVS In Your Lifetime fund. I’m willing to match that, so the ceiling is $1420. The objective here isn’t really economy, it’s power and buying parts that will last a long time. It’d be nice to go four or five years without another upgrade.
OK, with those points clear, let’s look at some hardware.
First, this case from NZXT. How do I love thee? Let me count the ways: 200mm low-velocity case fans for minimal noise, toolless assembly/disassembly, no sharp edges on the insides (oh boy do my too-frequently-skinned knuckles like that idea). USB and speaker ports mounted near the top right corner so they’ll be convenient to reach when it sits on the floor on the left side of my desk. Removable cleanable filters in the air vents.
To anyone who’s ever tinkered with PCs and cursed the thoughtless, ugly design of most cases, the interior images of this thing are sheer porn. Over on G+ someone pointed me at a boutique case design from Sweden called a Define R4 that moves in the same direction, but this goes further. And I want those 200mm fans badly – larger diameter means they can move enough air with a lower turning rate, which means less noise generated at the rotor tips.
Doubtless some of you are going to want to talk up Antec and Lian Li cases. Not without reason; I’ve built systems into Antecs and know Lian Li by reputation. But the NZXT (and the Define R4) go to a level of thoughtfulness in design that I’ve never seen before. (In truth, the way they’re marketed suggests that this is what happens when people who design gamer cases grow up and get serious.) Suggest alternatives if you like, but be aware that I will almost certainly consider not being able to mount those 200mm fans a dealbreaker.
Processor: AMD FX-8350 8-Core 4.0GHz. The main goal here is raw serial-processing power. Repository surgery generally doesn’t parallelize well; it turned out that multithreading wasn’t a significant win for cvs-fast export (though the code changes I made to support it turned out to be a very good thing).
So high clock speed is a big deal, but I want stable performance and reliability. That means I’d much rather pay extra for a higher rated speed on a chip with a locked clock than go anywhere near the overclocking thing. I would consider an Intel chip of similar or greater rated clock speed, like one of the new Haswells. Of course that would require a change in motherboard.
Speaking of motherboards: Tyro uses an MSI 990FXA-GD80. Susan says this is actually a gamer board but (a) that’s OK, the superfluous blinkenlights are hidden by the case walls, and (b) having it designed for overclocking is good because it means the power management and performance at its rated speed are rock solid. OK, so maybe market pressure from the gamers isn’t so bad in this instance.
RAM: DDR3 2133. 2133 is high speed even today; I think the job load I’m going to put on this thing, which involves massive data shuffling, well justifies a premium buy here.
Susan recommends the Seagate SV35 as a main (spinning) drive – 3TB, 8.5msec seek time. It’s an interesting call, selected for high long-term reliability rather than bleeding-edge speed on the assumption that an SSD will be handling the fast traffic. I approve of that choice of priorities but wonder if going for something in the Constellation line might be a way to push them further.
Susan recommends an Intel 530 120GB SSD, commenting “only buy Intel SSDs, they don’t suck”. I’m thinking its 480GB big brother might be a better choice.
Susan says “Cheap, reliable optical drive”; these days they’re all pretty good.
The PSU Tyro used has been discontinued; open to suggestions on that one.
Here’s how it prices out as described: NZXT = $191.97, mobo $169.09, CPU $179.99, 32GB RAM = 2x $169.99, SSD = $79.99, HDD = $130.00. Total system cost $1092.02 without PSU. Well under my ceiling, so there’s room for an upgrade of the SSD or more RAM.
Let the optimization begin…
UPDATE: The SeaSonic SS-750KM3 is looking good as a PSU candidate – I’m told it doesn’t even turn on its fan at under 30% load. At $139.99 that brings the bill to $1232.01.