Hi all, this is a long post, so I apologize, but I've found it's best to explain everything at the beginning. I'm a Mac guy but am considering building a PC for work purposes really to run four specific software applications.
1. ArcGIS -- A large and expensive software package that I use to display large datasets (multi-GB raster and vector data) and "draw" in. Arc 10 claims to be multithreaded but it is not for the tools I use. I believe it only reads into memory what it needs for immediate display and editing. I have an e-mail to them about GPU usage. It is only 32-bit but can address 4 GB of RAM. I don't use any of the 3-D analysis in Arc (if any of you are familiar with that software).
2. [url="http://www.wavemetrics.com/"]Igor Pro[/url] -- Graphing, data visualization, and programming suite. Their techs say there is no offloading of processing to the GPU. It has a 64-bit Windows version that I have not tested (as I'm a Mac guy). The files I've made require the display of several hundred million datapoints and there is a several-second lag in updating the display (if need-be, I may just end up splitting these into even more than the 100 files I have); it is single-threaded for the most part. The code I've written to do my analysis once I've annotated data is about half-single and half-multithreaded, and I am working on multi-threading more of it. On the Mac, it reads everything into RAM and when it gets to its limit, it says it can't do anything else, so RAM speed may be a bottleneck.
3. [url="http://isis.astrogeology.usgs.gov/"]ISIS[/url] -- Command-line software from USGS that I will need to run in a Linux environment (either virtual or other boot disk?). Single-threaded though they claim they will upgrade at some point but lack the NASA grant money to do so. I use this to process multi-gigabyte image files; it reads from disk and writes temp files to disk (up to several GB), reads the temps, writes more, etc. until it outputs the final file. Based on the RAM profile, I don't think it stores too much in the RAM. I could run multiple instances of it if I'm doing several images in a batch, but based on what I just wrote, I think disk I/O will be a bottleneck.
4. Custom crater detection software -- Command-line, written in the late 1990s, though still maintained for modern platforms. I'll need to run this in a Linux environment, too. This is a RAM hog
. On a 40 megapixel image on my Mac, it took up 8.5 GB of RAM and 9 hours to run. I need to run it on images up to about 1 gigapixel, though I could chop up the images they need to be chopped as little as possible. I think there is little disk I/O -- it's all RAM and CPU.
With all that in mind, I am trying to spec out a good computer that's better than my 2008 Mac Pro and 2011 MacBook Pro that I've been using so far (Arc is Windows-only, I've been using Parallels to run it). I've done a lot of research in the last two days, posted and gotten advice on some other forums, but I'm at a point where I need advice from hard-core people who know what they're doing and the subtle differences in things. Here is what I'm considering or have questions on for a system. I'll get the basics out of the way first (and note I already have a monitor/keyboard/mouse). My goal is to do this for under $2k; I'm doing this out of my pocket but will write it off on next year's taxes as a business expense since this is for work.Optical Drive:
LG WH12LS39 - Blu-ray support, etc. Bought this last night 'cause the deal on NewEgg was ending. I can always put it in my Mac.Sound Card:
Been told I don't need this at all.Power Supply (PSU):
I'm looking at the CORSAIR TX850 (~$130). Let me know if I need more or less based on the other stuff.CPU Fan/Heatsink:
about this other than supposedly I need one in addition to what'd be in the case.Case:
Looking at the Cooler Master 932 - either the red ("Advanced") or blue. I like the color blue more than red and only really saw a slight difference in price and the blue has 4 USB3 and 2 USB2 external ports while the red has them reversed. (~$135-150) Is this size case needed, though?RAM:
Maxing out to 32 GB if I go with an LGA 1155, 64 GB if I go with LGA 2011 (see CPU, below).
Start to get questions:GPU:
Other than my query still out to the ArcGIS people, the other programs will make almost no use of the GPU, esp. the two command-line ones. The Igor tech said, "If the bottleneck is truly in the display of the image itself, I think you'll see the biggest performance gains by getting a faster processor and possibly by getting increased memory. I don't think any of the image display code itself is multithreaded, so you may not see improvements by getting additional cores/processors. ... Based on what you've told me so far, my guess is that your bottleneck is either memory related or processor (CPU) related." So I think that a medium-of-the-line GPU would be fine, unless I hear differently from the ArcGIS folks.Hard Drives:
Based on my needs above, it has been suggested to me that I should RAID the disks. It was initially suggested I get a small SSD for the OS and software and get a HDD for data (1 TB should be okay for that at the moment). But, if I RAID, and it was suggested I RAID 10, then I'd need 4 drives for the RAID 10 plus whatever I do for OS/System (such as RAID 1, needing 2 drives). The reason I went into detail in the applications in terms of disk I/O is maybe you folks have an idea of whether the SSD would really shine here or RAID would be sufficient or even if RAID would be "needed." If I were to go with a RAID 10 HDD and RAID 1 SSD, though, we're talking around $850 which is almost half of what I want to spend on the entire system. If I don't do RAID, I'll get an external drive on which to do backups.
The drives I'm looking at are WD Caviar Black 1TB, and Crucial M4 128GB. Though NewEgg seems to have a deal every few days on other SSDs -- there's a 120GB on sale right now for $1/GB that expires in 24 hrs.
And the big questions:CPU:
At the moment, I'm looking at either the Intel i7-3770K (Ivy Bridge, to be released at the end of the month), or the i7-3820. Both would allow full usage of DDR3 RAM @1600 MHz. On the former, I was initially going to go with the i7-2600K, but for $10 more could eek out the performance increase of the Ivy Bridge. On the latter, the benefit I see is the ability to use a motherboard that can have 64 GB of RAM, and it addresses the RAM with a quad-channel memory controller as opposed to a dual-channel. However, the benchmarks I've seen with the 2600K versus the 3820 seem to be mixed. But maybe that means that the 3770K will thus be better than the 3820. But then of course, within a year or so, Intel should release an LGA 2011 version of the Ivy Bridge chip that'll be the successor to the 3820 and be better than the 3770K and will have the benefits of the 64 GB RAM addressing, quad-channel controller, etc. But on the other hand, I don't know how much the software that's not designed specifically to take advantage of such architecture could take advantage of it.
The cost for the two is comparable, and of course less than the i7-3930K ... which would be nice, but I don't think my code can really take advantage of the extra cores for the double price of the 3930K.
It's a pain that this is dependent upon the CPU type, but 'tis. IF I go with an LGA 1155 chip (such as the i7-3770K), then I've been looking at the Asus Maximumus IV Extreme or the ASRock Z68 Extreme7 Gen3. These seem to offer the most expandability. If I go with an LGA 2011 chip, for roughly the same prices, I'm looking at the Asus P9X79 Pro (only one that offers SSD caching), ASRock X79 Extreme6/GB, or possibly the ASRock X79 Extreme9. From my understanding, the main differences motherboard-wise between the 1155 and 2011 are dual- vs quad-channel memory controllers, support of 32 GB vs 64 GB of RAM, native PCIe2 vs PCIe3, and theoretically more SATA expandability with the 2011 but that hasn't really been realized with what's on the market in this price range. Ideas on this one?Summed Up:
Need advice for specific applications. The main questions have to do with CPU and motherboard, as well as suggestions for how to deal with the hard drives while keeping costs down. I also want the ability to expand and upgrade into the future if needed; a second monitor at some point would be nice (that shouldn't be an issue, though, with any of the modern GPUs). Also ... is there any other equipment that I left out? I was just thinking that a wireless card may be nice?
Advice is appreciated, and since I learned all this in the last day, I won't take anything personally if you tell me I'm way wrong on something