What? I can't hear you over the sound of the CPU fan!
October 21, 2011 2:54 PM   Subscribe

The target: massive data-sets requiring week-long number crunching. The need: serious desktop processing power with fat memory pipelines. The catch: must be rigged for silent (or near-silent) running.

For my brother, working on his PhD dissertation in economics:

I'm looking to build a stripped-down but potent system for some heavy compute tasks. This machine should have a quad core chip, probably Core i7 to get solid performance and reasonable TDP (thermal design point - the maximum amount of power the cooling system in a computer is required to dissipate.)

I don't need a graphics adapter beyond the onboard, bottom-of-the-line, please-just-let-me-see-my-desktop variety (I'm debating whether to run this machine headless or not). I'm hoping that my compute tasks will not be memory-intensive enough to require paging memory to disk, but there won't be a lot of IO.

The tasks that I'll be running are compute-bound statistical simulations and are likely to run for about a week at a time and peg all four cores for the duration. With that kind of CPU load, I'm guessing keeping air flowing is going to be important.

The trouble is that I live in a small apartment with my wife, and having a machine roaring like a jumbo jet for a week at a go is (dramatic pause) not going to work. So, I need to set up a machine that can run the tasks I need while being as close to whisper-quiet as I can get.

With a CPU that has 95W TDP , and no graphics adapter, this seems like it shouldn't be too difficult, but I've been wrong before.

Also, given the long compute times, is there anything I should be made aware of in regards to the longevity of this system?

Thanks for any ideas.
posted by jpolchlopek to Computers & Internet (24 answers total) 3 users marked this as a favorite
Buy time on Amazon instead.
posted by Leon at 2:57 PM on October 21, 2011 [3 favorites]

Seconding Amazon.

If the software your brother needs can run on Linux, there's the free tier of Amazon EC2.
posted by yodangson at 3:05 PM on October 21, 2011 [1 favorite]

Agreed. Amazon EC2. Cheaper, faster, altogether better than purpose-building a machine.
posted by supercres at 3:05 PM on October 21, 2011 [2 favorites]

Similar suggestion:

Talk to the high-performance computing people at whatever university you're getting your PhD from.

The only caveat I can think of is that they might not like a week-long process (I think ours has a 72 hour limit), and (if it's feasible) might ask you to parallelize it further to use more cores for a shorter time.
posted by ROU_Xenophobe at 3:08 PM on October 21, 2011

yes to Amazon also. I've done exactly this. Much easier, quieter, and more stable.
posted by chbrooks at 3:08 PM on October 21, 2011

I think that a single Core i7 95W TDP processor with no graphics card is not that hard to cool. There's some heat from the RAM and the power supply, but mostly you just have to dissipate the 95W from the processor. I bet that if you get a quiet, well-ventilated case with some quiet 120 mm fans and replace the stock heat sink with a big quiet heat sink (although the stock heat sinks are pretty quiet), the whole thing will not be particularly noisy. After all, a 4-core core i7 is pretty standard for a desktop PC now, so without much effort you should be able to make it about the same noise level as a standard PC. For details on specific fans, power supplies, etc., http://www.silentpcreview.com/ is your friend.
posted by pombe at 3:09 PM on October 21, 2011

Amazon is probably the best idea.

Is there no way this could be hosted, or at least stored within the university? I know at my uni it's quite simple to have a machine added to the cs departments closet. It might just be a bias coming from cs, but thre should be routes open where you don't have to keep a jet engine next to your bed.
posted by adventureloop at 3:11 PM on October 21, 2011

Not to hijack this thread, but can all the people recommending Amazon EC2 provide some links on how to get started with it? I've wanted to try it out before but always find reading the amazon pages confusing. It sounds like some guidance might be helpful to the poster as well.
posted by pombe at 3:11 PM on October 21, 2011

I have a quad core i7 in my MacBook Pro. It's a laptop. It's not very loud. Especially if you were to just put in some room you're not in (it's not like you'd hear it from the bedroom if it was in the living room).

You are over-thinking this. Any stock quad core i7 machine will run full-bore for a long time with stock cooling, and won't be any louder than a standard PC.

Plus, seriously, your wife won't let you help your brother finish his Ph.D. if it means she has to listen to a PC fan for a couple days?
posted by tylerkaraszewski at 3:50 PM on October 21, 2011

Seconding that he should check resources with his university for getting time on their supercomputer. Almost all major research Us have one of some sort; figure out what department is hosting it, how much it will cost to get time (almost certainly cheaper than Amazon if not free) and what he has to do in terms of parallelizing tasks, etc.
posted by slow graffiti at 4:09 PM on October 21, 2011

To actually answer the question: have a look at the articles on Silent PC Review.
posted by seanmpuckett at 4:11 PM on October 21, 2011

Hey, everyone; update from the brother:

Thanks for the responses so far.

University resources would be nice, but in the college of social and behavioral science, there’s not much. They’s got a single 8-core machine for power users, and you need grant money to buy access for the few who would need such resources. I used to be in CS, in graphics, where we had many machines to run intense processes on, but all I’m left with from those days is a remote login to check email.

Amazon is an idea that briefly crossed my mind, but I assumed it would be an awfully big hammer for my tiny finishing nail of a project and would be a hassle (as in requiring finished code and people to manage the process for me). Is it as simple as getting a UNIX “shell account”, to borrow a term from days of yore? Is this service truly free for a year, or am I signing up to be suddenly and visciously raped at some point in the future? I guess that the 750-hour limit is processor hours; so if I’m blasting away on 6 or 8 processes, I could run out of time for the month in pretty short order, right?

The Amazon website is written in that kind of vague business language that makes me wonder what I’d be getting. I have to assume that “free” isn’t really free.

Anybody with direct experience care to comment on my worries?

Thanks again.
posted by jpolchlopek at 4:32 PM on October 21, 2011

Is there a reason this can't run for 4 weeks on a laptop? Because when you say "massive data sets," that seems to say you're talking Data Intensive Computing but then later you say that you don't expect much swap. If you're not expecting much swapping, that implies that the data set will almost fit in the main memory of the computer, which is a tiny data set. How big, exactly, is the data set, once read into memory? And how is the algorithm organized? Does it run through all the data at once performing one operation on each element, or does it "cluster" and perform lots of computation on one element at a time?

The reason I ask is that while swap will kill your performance, if it's just a single run of maybe a CPU-month, you probably could use a laptop. Buying a system to run it for a week is massive overkill, unless you really want an excuse to buy a system. Actually, I have been looking for an excuse to buy a 2GHz i7 Mac Mini Server... Is it possible to start the run on a system you already own and see how long it's really going to take and how much memory it's really going to use. Because premature optimization is very common, and pointless.

My secondhand impression (from Paul Graham's writings about Y Combinator, maybe?) of Amazon's computing services is that it is much more expensive than buying the equivalent machine for 24x7 running, but for a burst it's much less expensive. They're willing to give away compute time because they hope that once you're hosted on AWS, you'll choose to go with them as you scale up. I found this interesting guide for getting started on Windows with AWS, where it looks like you can just log in to a Windows (Server) desktop and install software, no Unix knowledge required.

How is the computation parallelized? Threaded in the application, code written by your brother? That may also determine whether it would make sense to buy or rent. If it's custom code a little profiling and optimization will probably get you better performance than buying twice the computer.

If you do buy, most computers can run at 100% indefinitely. I know someone with an interest in prime numbers who has been doing this for a decade without problems.
posted by wnissen at 5:00 PM on October 21, 2011

The easiest solution is to set the PC up at school and run it remotely. Or Amazon.

For a DIY home rig, look at cases designed for quiet computing on a site like Central Computer. Get one with enough room for a giant passive (fanless) heatsink. Zalmann makes some that are quite nice. Also look for a quiet power supply with a very high efficiency rating (which means less heat).

A laptop will be inadequate here - laptop components tend to get unhappy with week-long 100% use (I have fried external laptop drives this way).
posted by zippy at 5:17 PM on October 21, 2011

I'm kind of reconsidering my Amazon recommendation. Might be harder to set up than it's worth. And yes, as far as I can tell, it is just shell access, but it has all the software you could ask for.

If it were me (and I didn't have an awesome computing cluster at my disposal), I use it as an excuse to get a new computer. And yeah, I'd probably go with a near-silent Mac Mini, as mentioned upthread. 1k would do the trick, unless upgrading the RAM would allow you to keep your entire data set in memory.
posted by supercres at 5:46 PM on October 21, 2011

A data point: I have a year-old gaming machine and it's nearly silent. I had quietness in mind when selecting the components, but I didn't have to make any sacrifices, really--although if you're trying to do it on a tight budget it gets trickier.

I have an i7 950 processor, a CoGage True Spirit heatsink, ASUS P6X58D motherboard, Corsair HX 850W power supply, six sticks of Corsair Dominator 2GB memory, and an Antec 600 case. Also an SSD and a fancy graphics card, both of which help keep my machine quiet but probably aren't relevant to you.

My point in saying this is that it's definitely possible to build a quiet, powerful i7 machine. For most quiet per dollar, spring for an aftermarket heatsink, a case with a big (200 mm) fan, and an efficient PSU. An SSD may help, too, if you're reading and writing to disk often.

According to my UPS, my machine idles at about 150 W and peaks at about 260 W when gaming (add 50 W for receiver and speakers). I'm impressed at how efficient and quiet hardware is these days, even without any of the sacrifices (e.g. fanless) that often come with ultra-quiet setups.
posted by kprincehouse at 5:48 PM on October 21, 2011

Oh, and if the data set is indeed big enough for meaningful swapping, SSDs will obviously give you way, way, way better performance, especially if the data access pattern is random.
posted by wnissen at 6:45 PM on October 21, 2011

Amazon EC2 pricing is per instance/hour. You pay the price while the instance is up whether it is idle or burning up all available resources. They have a variety of different instance types with different mixes of CPU, memory, interconnect speeds, and even GPU, each has a different hourly price.

The free offering is for a micro instance, which is pretty puny in terms of both available RAM, or CPU.

To replicate the machine you'd like to build you'd probably need to spend ~$0.68/hour. Which, I'd guess, would end up being more expensive than your own box once you pass ~2months of uptime.

If I were you, I probably wouldn't consider EC2 unless 1) your jobs can recover gracefully and efficiently from an unexpected shutdown. 2) they can be easily distributed amongst more than one machine. If both are true, then the big advantage of Amazon isn't that you avoid a noisy machine in your apartment, its that you can run in a day (or less) what would take you a week on a single machine. In that case, the opportunity for much quicker turn-around times might make up for the premium.

If your workload could be distributed over multiple instances pretty easily, and you'd be up for learning enough about EC2 to get the systems going, you should look and see if amazon has any grants you could apply for. A friend was just telling me he got $75,000 worth of EC2 time from Amazon via a grant.

Otherwise, it isn't hard to build a pretty quiet machine without spending too much money. Look at SilentPC review for advice if you need it, but I'm guessing that a case like this, and maybe a 3rd party heatsink/fan would be pretty against the other noise in an apartment building.
posted by Good Brain at 6:49 PM on October 21, 2011

I've run instances on Amazon's cloud for several years 24x7 (excepting a scheduled shut-down). Intensive usage -- pushing/processing/sending all U.S. financial quote and trade data. You can add a disk that will retain data between shutdowns -- though we've never had to rely on it. So I highly recommend you spend the time setting up an instance on the cloud. It is incredibly inexpensive to experiment with.

That said, if you are looking for inexpensive local hardware, I would recommend dell poweredge servers from Dell's factory outlet -- or eBay even. They are practically commodity machines will all the parts available on eBay and other places. The R210, or R410 are probably good candidates. These are rackmount machines -- but you can just set them on the floor (they might be a little noisy when running cpu intensive tasks).
posted by Land Ho at 7:34 PM on October 21, 2011 [1 favorite]

Hey, everyone. Some great responses, from my point of view as an onlooker. Here's my brother:

My brother [ed: that would be me] told me to post up here because this is a no-bullshit kind of place with very knowledgeable users. It’s lived up to that and thensome. You all kick ass.

So many good questions asked by previous posters will go unanswered for the sake of keeping this train on the tracks, but thanks to those who asked them. They got me thinking about what I’m really trying to do, including whether my expectations are in line with reality.

I must say, I didn’t really expect that this would all come down to an Amazon v. DIY battle, but there are some interesting trade-offs to consider. I’ve got a couple months of development and testing time ahead of me before the real computing begins, so I’ll have some time to investigate and determine if the compute resources I’m assuming I need are actually what I need. Either way, I’ll be needing something more robust than my meager core 2 duo.

One question that remains for me is what kind of multiprocessor environment the base-level Amazon service offers (the 68 cents/hr
version). Do we know if it’s shared memory SMP-style, or would I have to be writing MPI code? I assume the former, but speak up if it’s the latter since that’ll make up my mind for me. I suppose it would be pretty straight-forward to set up a free account to test it myself, but doesn’t hurt to ask.
posted by jpolchlopek at 5:21 AM on October 22, 2011

jpolchlopek: "Do we know if it’s shared memory SMP-style, or would I have to be writing MPI code?"

They're shared memory multi-core (virtual) machines.
posted by pharm at 5:40 AM on October 22, 2011

You might also find that RackSpace's virtual cloud services are cheaper for your particular usage & they offer persistent storage when your server is offline without having to faff around with something EBS IIRC.
posted by pharm at 5:45 AM on October 22, 2011

Take my questions with a grain of salt, because I know almost nothing about crunching large datasets like that.

- Are you sure your code will make use of all the cores?

- Will your processes be IO bound, or CPU bound? The reason I ask is that in older times, there was a difference between AMD and Intel multicore processors where the Intel ones shared a memory pathway in a way that was detrimental to things like this. It might not be true any more, or the opposite. But it is something to investigate.

- Another thing to look at is if memory can be interleaved. It used to work that way: where having four 256mb DIMMs was faster than one 1024mb DIMM.

- My gut is to go with as many cores as possible. But if you are CPU bound, you might be better off going with fewer cores, with higher clockrates and more cache. Consider Xeon over Core in that case?

- Have you considered using something like CUDA?

- Can your process be split into multiple machines? You might get better bang for your buck with four cheap dual-core Atom machines quietly humming away, rather than trying to keep one mini-Cray quiet and cool. You can get almost two of these for the price of a single i7 processor.

Anyway, to keep a single machine cool, what you want is a big honking heatsink. You want to be able to take the heat from that tiny little processor and spread it over a lot of surface area. Then, you want a large fan (120mm) that doesn't have to spin very fast to move a lot of air. Also, you'll probably want to mount a fan in the case pointing at the memory and at the chipset heatsink. If you can get a computer case that has a 120mm fan blowing in (onto the memory and chipset) and then another 120mm fan blowing out, you should be good.
posted by gjc at 7:23 AM on October 22, 2011

If you're going to go with a self-built machine, consider the Thermalright HR-02 Macho, which has a very good quietness*cooling/price radio. I think it's quiet enough that you could go with a "non-silent" case, like a cheap Antec One Hundred. Or since you don't need a huge power supply, you might look at the Sonata III with the 500W PSU, which is sometimes sold quite cheap, since it's being replaced by the Sonata IV (make sure your heatsink will fit first, though!).
posted by Monday, stony Monday at 7:57 AM on October 22, 2011

« Older I've been playing electric bas...   |  Did Honey Maid Graham Crackers... Newer »
This thread is closed to new comments.