Source: Quadrivio Blog

Quadrivio Blog Personal Linux R Server in a Mini-ITX Gaming Case (Part I)

div.pre { overflow: auto; } pre { background-color: #FFFACD; padding: 5px; display: inline-block; margin-left: 10px; } blockquote { background-color: #EEFFEE; } div.side-comment { background-color: #EEEEFF; padding: 5px; display: inline-block; margin-left: 10px; font-size: 90%; } It's been two years since I last used my mid-2010 Mac Pro as the workhorse for my entries in the data-mining/statistics competitions sponsored byKaggle. The contests can involve crunching through tens or hundreds of gigabytes of data multiple times, with the goal of tuning a predictive model that works better than everyone else's. Victory in these contests is supposed to lead to fame, fortune, lucrative consulting contracts and massive geek-credibility among one's data scientist peers.An interest in participating again led me to think about upgrading my computing resources. A five-year-old Mac is absolutely fine for everyday use, but it would be nice to work with something with more power when doing analysis. I put a small SSD into the old machine, but like it felt like feeding a few carrots to a retired racehorse: it made me feel good, briefly, but it didn't miraculously create a winner again. A new "Darth Vader" Mac Pro was not in my budget.But I didn't need a new Macintosh just to get a better platform for running R, my current language of choice for data analysis. At a recent gig at a "big data" company in San Francisco, everyone was issued laptops, and the quantitative analysts and software engineers who needed to run R code did so on a few big in-house systems running RStudio Server. That seeemed to work well. I thought I might try for a setup like that at home.I've always used fairly stock computers and I'm not a big computer gamer. Maybe every few years I'll give some simple game a try; I'll get absorbed for a few hours, and then set it aside. So I was only peripherally aware of the subculture of building high-end gaming systems and overclocking. I consulted the internet. The good news is that this subculture is big enough to drive the availability of lots of fast and inexpensive components for assembling a high-perfoming system. It's also fun to look at the boxes the parts come in; they seem to be aimed at a demographic that loves science fiction and would like to have the ability to be transformed into a superhero through the use of brain-power rather that doing lots of pushups. Which (ahem) could be me, at least a few decades ago.So I decided to try it. I describe below my experiences a first-time "builder" (assembler, really) of a computer system.This part describes the selection of components and assembly of the first trial version with an inexpensive Celeron G1840 processor.Part II covers the initial software setup of the Linux system, including drivers and benchmarks.Part III describes the upgrade to the higher performance i7-4790K processor and improved cooling system.Part IV discusses the selection and installation of the graphics processor, an AMD Radeon R9 280.The internet contains mistaken ideas, out-of-date instructions, dangerous suggestions, and stuff that is just plain wrong - and this blog might be more of the same. So be careful and use your own judgement.The Goodies ArriveI ordered parts in batches, figuring I would get my feet wet before going all in. Here's the first batch, which was about $700:Corsair 250D computer caseCorsair RM550 power supplyAsus Z97i-Plus motherboardCeleron G1840 Intel processorCrucial Ballistix Sport 16GB memory kitWD Black 2TB hard driveI should have included this in the first batch, too:Speaker for motherboardHow did I choose these components?True to my Apple-fan heritage, I began with esthetics. I didn't want some big computer tower taking up yet more of my limited workspace. I decided to look for the smallest form factor that could still take a big graphics card. The Mini-ITX standard seemed appropriate, and this video review, among others, led me to the good-looking Corsair 250D case. (A "Corsair" is a pirate or pirate ship, so we're getting into the hacker gestalt as well.)High-end gamers apparently care a lot about the power of their graphics cards, so as to be able to run the newest games with fancy animations at full frame rate; this is another instance where consumer-demand drives the availability of inexpensive GFLOPS. I didn't care much about animations; I planned on running my server "headless" in normal use (without keyboard, monitor, mouse), and when I did need to hook up an old monitor for setup or debugging, the motherboard I picked had an entirely serviceable VGA port. I was, however, interested in playing with a fast graphics card for general-purpose parallel-processing (GPGPU), so I wanted room for one in the case.I concluded early on that I would not go for 100% server-quality parts such as ECC memory. ECC is generally required for mission-critical systems but it would limit my choices for other components. I also didn't plan to endulge in enthusiast-level overclocking that would require heftier power supplies and fancy cooling systems and pose a threat to system stability. The sweet spot in terms of price, performance, stability, and wide availabilty of component choices seemed to be at the level of high-end gaming components run at stock specifications.Not using ECC memory bothered me, though. The Mac Pro has it, and some of my data runs might go for a few days. In the end I rationalized that the vast majority of my memory use will be for data, not program instructions, so the result of an occasional bit flip would at worst lead to a few more outliers in what is already noisy/dirty data. My work pattern is to use long data runs for exploratory data analysis and hypothesis-testing with lots of different sets of parameters. I'd generally re-confirm any particular result that looked good, though; I could check it on my Mac, or repeat the run on the server.The PCPartPicker site is great for playing around with different build options. You can save links to different configurations, get price estimates from different vendors, and keep track of the estimated power consumption of your components to help you pick the right power supply unit.After picking the form factor, the next decision was which processor family to use: Intel or AMD. There are lots of opinions The general impression I got was that the budget choice was AMD and the quality choice was Intel, so I went with Intel. If it's good enough for Apple, it's good enough for me. As a check, I found that searching for "AMD is way better than Intel" had about 2500 hits, while "Intel is way better than AMD" yielded almost 8000 hits, so if you're a Bayesian maybe that helps too.Every review I read had nice things to say about the Asus Z97i-Plus motherboard. It includes wifi and bluetooth, multiple connectors for on-board graphics (including VGA, which some boards skip), lots of USB connectivity, 3 fan connectors (some Mini-ITX boards only have 2), and even a connector for the relatively new M.2 format for SSD drives.I may want to put an SSD in the box eventually (maybe I'll pull the one out of my Mac Pro - sigh) but to get started I just needed a regular 3.5 inch hard drive. Western Digital's WD Black series is the more reliable of their desktop line, with a 5-year warranty.The choice of power supply unit (PSU) seemed to be the least difficult step. PSUs can be modular, semi-modular, or non-modular. Modular means every power cable can be individually connected to the PSU or not. Non-modular means all the power cables are permanently connected to the PSU at one end, and dangle out unpleasantly like some kind of squid-like object. Modular is neater, somewhat more expensive, and more convenient in a compact case where there's less room for unused cables. I opted for fully modular.PSUs have various efficiency ratings like "gold," and "bronze," and "platinum." I decided I liked gold, since "bronze" would mean I was a cheapskate practicing false economy, and Platinum would mean I was status-seeking hipster with no sense of the proper value of money. I have a Ph.D. in Physics, but you wouldn't know it from the way I buy electronics.As for PSU brand, I picked Corsair again, since they made the case, so why not, even though PSUs come in standard sizes and I didn't actually have to worry about another brand not fitting. I did use a little bit of math in picking the power rating. My method was to put the most-desired list of components I could think of into a PCPartPicker list, then add 100 watts and round up.I was surprised to find out how much some people care about buying RAM that looks good. It's a style choice! There's RAM with LEDs that light up in awesome blinking patterns when the computer is thinking hard!There's RAM with terrific goth-looking heatsinks!I wasn't ready for such a radical makeover, however, so I just picked something plain from PCPartPicker. The motherboard has a 16GB limit (2 slots with 8GB in each) so that's what I got.The one item I missed in my initial order was that little beep speaker ($5) that plugs into the motherboard. At first, I figured an internal speaker was an extravagance, but it's actually useful during initial testing to have one that can make a beep when the BIOS starts. The board also produces beep codes for various error conditions. The sound quality is quite awful for anything musical, but for sine waves it's just fine.OK, I later learned that I shouldn't have called it "the BIOS" because although that's what everybody calls it, everybody is wrong. In modern motherboards, UEFI, not BIOS, is probably the correct name for the firmware in the board that starts things up. You, know, just like the BIOS does. I'll leave it as BIOS, however, because then I'll get comments from people who are smarter than me, instead of comments from people who say, "what is that UEFI thing you're talking about? Didn't you mean to say BIOS?"By the way, the startup screen from the Asus motherboard says "UEF

Read full article »
Est. Annual Revenue
$25-100M
Est. Employees
100-250
CEO Avatar

CEO

Update CEO

CEO Approval Rating

- -/100



Quadrivio is headquartered in Albany, California. Quadrivio has a revenue of $35.4M, and 152 employees. Quadrivio has 2 followers on Owler.