Building a machine for research codes, several questions
|Feb25-09, 03:49 PM||#1|
Building a machine for research codes, several questions
I'm fairly experienced with computer hardware and software, but I've been out of the game for awhile in terms of buying new machines. I'm looking to buy/build a computer for academic work (computational astrophysics). I have about $2000 to spend, and I really want to maximize the power that this machine has. Secondly, several of my codes produce GBs of data at a time, while the largest runs will be submitted to another beowulf cluster, I will need at least a TB of HD space in order to do small simulations on this rig.
If there is a good company that caters to academic needs (fast/large HDs), I could go that way and buy a rig directly from them, otherwise I will probably be looking to build my own to get the right components in. I will be running some variant of Linux on this machine.
1.) My first thought is to get plenty of hd speed and size into this machine, because in common experience hd slowdowns are where you get the majority of second to minute pauses that slow you down during the day. Thus I've thought about working a two prong approach where I set up a raid 0 array of two solid state HDs as the internal HDs for the system, and then have a raid 1 array (for data security), on two large drives as an external attachment.
obviously, that's throwing away a lot of money there, but, as i said, my simulations drop a lot of data, and who cares what processor you have if it's always waiting to write the results to a disk.
I've never worked with raid arrays though, it appears that most high end motherboards nowadays support RAID setups natively. Does that mean that I won't need an additional raid controller for the internal setup? Or does that simply mean that the motherboard supports the addition of a raid controller?
2.) What are the best CPUs in terms of processing ability right now? It looks like Intels are back on top....and there are both Duo and quad processors out there for consumption.
I assume most codes I run (personal C/C++ codes) aren't going to be optimized for multiprocessors, but this should allow me to run 3 of them at the same time without noticing too much of a performance kill when i'm using my computer right (the scheduler would have them all running 100% on one CPU, which should still let the system be usable for me, depending on how gunked up the memory gets, correct?) The question is, would I be better off getting a faster 2 core system like this:
I will probably also put 8GBs of RAM on this thing for now, but might look for a system which is upgradeable to 16 GB in the future. However, I don't see many systems which support 16GBs with DDR3....which I think would also be a boost for a system like this.
4.) Lastly, I've never done anything with graphics card programming (and know almost nothing about it), but I might like to leave that option open in the future. What types of graphics cards are good for graphics card programming, and what are their cost compared to normal user end graphics cards. I will probably also be using two monitors at some point (I already have a monitor, so I won't be including it in the $2000), so the graphics card has to support that...
Thanks for your help, It's really been a couple years since I've looked at building a system of this magnitude, so any advice would be appreciated
|Mar1-09, 02:49 PM||#2|
To preface my answers, I'm not sure what level of experience you have with programming or hardware and how that matches mine. I'm relatively new to both fields (2 years and about 5 months respectively).
I recently upgraded to a new machine with a Intel Q9550 (2.83 Ghz) and an ok video card. I also have a raid applicable mother board and 4 GB of ram (expandable to 8 GB :-(). I'm not doing the same type of stuff you are with your apps running on your machine, I write my apps to run on a server.
Now my take of the answers:
1) Well, you are concerned about read and writes on to the HDD, yet the SSD have a write of 90 MB/s while a normal HDD can have a read and write of ~100 MB/s and be $20 cheaper. Now if you've chosen the SSD because it's SSD, then go for it. But this HDD has a read/write speed faster and larger capacity for $20 less.
Since you're worried about data drop, why would you be running 3 applications at the same time? Unless you're 100% sure that each application is writing onto a different platter then you're going to have data loss. Or you can have 3 separate drives (not just partitions) for the applications to write to then you should be ok with writing to them without data loss. Note: My applications don't have data drop since they deal with relational database updating which puts the write problem onto the server side sql manager. So I'm not worried about data loss when I write my apps.
Outside of server raiding, I've never done it, but plan to when I get out of school, hence the purpose of getting a mobo that can. I've read that there are pros and cons to have the mobo handling the raid, unfortunately I can find the sources right now. Server guys would say use a card, non-technical folks would say use the mobo. Sorry I can't really help with this.
2) As mentioned above I bought the slower version of the linked processor. You can consider server chips as they are made to handle processing a lot better and longer (several years more than desktop since servers aren't meant to be upgraded) but unfortunately they're a little bit slower. From what I understand the slowness is really less than you'd be able to notice.
Another thing is to consider over clocking and application affinity. If you're willing to overclock you can turn your Q9650 into a beast of upwards to 4.0+GHZ. I've been able to get mine to run stable at 4.1 for at least 24 hours. The worry with overclocking is the lifetime shortened by increased voltage.
If you can get each application running only on 1 processor at 100% then you'd be flying compared to running on a dual core or single core chip. I know that when you create a thread in VB.Net you can explicitly state what processor for that thread to run on. I'm not quite sure how to have the entire application run on that thread, but I'm sure there's a way to do it.
Have you looked at the Core i7? It had just come out when I bought my computer and I like being familiar with the hardware rather than going out on a limb.
From what I understand and the differences I've expierenced (dual core at work, quad at home) there is a noticble difference between the two chips. In most cases people will say a slower quad core is better than a faster dual core.
Is the operating system your using capable of using 8/16 GB? The list of MS OS's and there's a way to change the Linux max memory used (search Google).
4) I don't know anything about programming for video cards, sorry. :-(
Lastly, I would say post this question at Tom's Hardware New System Build forum and see what they say. I simply told them I have $1.5k max to spend on a computer to last me a few years, with an Intel chip and a decent video card. Then someone replied with in 24 hours with a general build which I ended up purchasing from Newegg.com. Another thing about NewEgg is that it doesn't always have the best prices or best deals. Make sure you're getting exactly what you want that it's the price you're willing to deal with. Tigerdirect.com had a machine for sale this past week that blew my machine out of the water for $400 less.
Another thing to consider is who's going to be putting the machine together? You or someone else? I would buy a static strap with your shipment to ensure that you're not damaging any hardware while you're putting it together. I did on mine and it didn't cost as much as yours. Buy a $5 item and not worry about destroying $2k machine. :-)
Hope that helps, any more questions, I hope I can help. :-)
|Similar discussions for: Building a machine for research codes, several questions|
|Building a Kirlian Machine||Electrical Engineering||2|
|Faraday Cage Concept and Building Questions||General Physics||0|
|Questions about research||Academic Guidance||10|
|Help Building Rube Goldberg Machine||General Engineering||3|
|Building a telescope mount and have some questions...||General Astronomy||4|