SLODUG and SLOWUG members don’t forget that today is the picnic day!
Here are the slides used in my Parallel programming in .net 4.0/Visual Studio 2010 presentation (Slovene language) on NT Konference 2009. I hope you had good time during the presentation.
I’ll be talking about parallel computing in Visual Studio 2010/.net 4.0 on both forthcoming “Študent je car” events in Maribor (9.4.) and Ljubljana (20.4.).
See you there.
The last ingredient is the chassis. Likewise PSU it looks like you don’t need to be careful when picking one. Wrong. Chassis are very different and details are important. Let’s go by features in no significant order.
Cheaper chassis are mostly build from steel (at best the front cover is made by aluminum but they are mostly from steel) while the more expensive are built from aluminum. Which means lower price and more weight. I am not sure how much the material affects cooling – aluminum chassis should perform better. Since my chassis will sit under my desk and I will (hopefully) rarely move it I am not concerned with weight. The cooling difference should be minimal. Thus steel for me, aluminum is an option.
Classic or tool-less
Tool-less design means that you won’t have to toy with screws to mount drives and add-in cards. Instead you’ll easily use custom made plastic gizmos to fix them. Otherwise you’ll have to use a screwdriver (not that fixing a motherboard is still a screwing experience nevertheless). Not a big deal but this is a good feature. I’ll go for this, not at all costs though (I’ll install hardware only once).
Drives mounting direction
Some chassis support drive mounting from side. This makes mounting and even more important, changing, drives much easier. In classic way you have to push the drive towards wire-filled motherboard to get it in or out. But if you have a side mounting option the drive replacement and mounting is much easier. A must.
Mid-tower for me. No need for big tower.
Front side connectors and their placement
I like to have them on the top of the chassis and I am looking for: 2 (at least) x USB and Firewire. e-Sata is a welcome option.
Front side buttons placement
Having power on and reset buttons located at front side is not a very good idea. They are easily involuntarily kicked when the chassis is positioned under the desk (on the floor) and when the access to them is too easy. Which is something you want try to avoid, otherwise you (or your kids) might reset your computer in middle of the work and data will be lost. Pay attention to buttons accessibility to avoid such unpleasant surprises.
Once more the keywords here are 12cm fan and a slow rotation to avoid making too much noise. I like to have two of them, one on the front side and the other on the back side. Front side fan should be an intake while the back side one should be an outtake. So the air moves through and cools entire chassis content. Furthermore the front side one should be placed right in the front of hard driver to provide an adequate air flow. If the chassis doesn’t come with built-in fans it should have at least adequate holes.
I don’t care. It will sit under my desk and I won’t look at it often.
PSU is usually located at the top of the back side of the chassis. However the recent trend seems to favor putting it on the bottom to improve the temperature reduction inside the PSU itself. I thought this is a nice idea and why not – cooler PSU means lower noise. But later, when I was building the computer I’ve found that it isn’t such a good idea after all for various reasons (details in next post).
That’s it more or less. There are plenty of different chassis out there from many different manufacturers and picking a good one might take quite some time. Usually I buy chassis made by Cooler Master and this time is no different. At my price range they are good enough.
I’ve bought a Cooler Master RC-690-KKN1-GP from AGT.si for 83 Euros. Note: this chassis has PSU located on the bottom of the chassis. The delivery process from AGT took more than a month because the chassis wasn’t in stock and distributer took quite a long time to deliver.
See other relevant posts:
Next, I define what I expect from my motherboard. Here is the list:
- passive cooling (heat pipes rules)
- it should have a built-in Intel Matrix RAID controller (it goes by name ICH10R)
- it should support at least 4 SATA2 drives (have at least 4 adequate ports)
- it should have two PCI-E 2.0 16x ports (one goes to graphic card, the other might go to an additional graphic card (perhaps for running CUDA or for running more than two screens at once) or some other card requiring high bandwidth). Note, I don’t care about nVidia SLI or ATI Crossfire.
- it should support three memory channels (the number of memory slots should be 3 or 6 – 6 is preferred) as Core i7 works with three channels natively (read my CPU article)
- it should support QPI up to 6.4 GT/s (bus speed)
- it should support at least 6GB DDR3 1600GHz (or faster) RAM
- it should have as many USB 2 ports as possible (they are never enough, trust me)
- it should have at least one Gb LAN adapter (two is better but not obligatory)
- it should have dual BIOS (this feature is useful if something goes wrong when BIOS is flashed to a newer version. If the motherboard doesn’t have dual BIOS or some similar solution then the only solution is to send it in for a repair)
- it should support 5.1 sound output
- it should have at least one PCI slot
- it should support IEEE 1394 aka Firewire (useful for transferring videos from video camera)
- it should have PS/2 ports for both keyboard and mouse (more USB ports are left for other devices)
- built with quality components is a bonus
- eSata support is a bonus
- misc features that I take for granted
I don’t care about motherboard performance since it doesn’t vary a lot between similar motherboards. After looking Gigabyte’s line of X58 motherboards I’ve finally picked a Gigabyte EX58-UD4 model. It has more or less everything I listed except for eSata connector (which is really useful only for connecting external hard disks). It also features a single LAN adapter but I don’t care since I have a spare PCI network card hanging around.
The most interesting aspect of this motherboard is perhaps Intel Matrix ICH10R built-in RAID controller. It is some sort of a hybrid because it doesn’t have a dedicated CPU – instead it steals a bunch of CPU cycles from the main CPU. As long as one uses RAID 0, 1 or 0+1 it doesn’t matter much because the utilization is really marginal. RAID 5 is a different story – don’t use RAID 5, specially with built-in controllers if you care about performance – I won’t use it on this workstation thus I don’t care. The controller doesn’t have its own cache as well. Again, this isn’t much of an issue unless you are in the RAID 5 or higher. The backup electricity is provided by an UPS for me (there is no option for a backup battery).
On the positive side Intel Matrix is fast enough (again, for RAID 0, 1 and 0+1) and has a clear advantage on compatibility field. Imagine the situation your non-Intel RAID controller card fails. You have to buy a new one. Here is a big problem: you have to buy the same model unless you are searching for troubles. The thing is that RAID controllers, even from the same company aren’t very much compatible as they write data to disk a bit differently – IOW you might loose all the data if you don’t find an adequate one because it won’t be able to read the data. Ouch. If the original controller is an old one then double ouch. Here Intel Matrix shines, at least judging from tests performed by online web sites (can’t remember where I’ve read them) – most chances are that if you change your motherboard for another one that has an ICH10R RAID controller it will just work. Furthermore it is probably compatible with older RAID controller models as well (ICH9R, ICH8R, etc.) – on the negative side you have to change your motherboard if built-in controller fails which might be even cheaper than changing a separate controller.
See other relevant posts:
This one is a relatively easy choice.
The main criteria for me is the silence. Fortunately there are passively cooled mid-range graphics cards out there based on the GPUs from both nVidia and ATI. They are not amazingly fast, but hey, one needs amazing speed only when playing games or for some really specialized tasks. There is really no need for top performances for me.
The other important feature I am looking for is a double DVI output because I am currently using two LCD screens.
Next, I’ll have to choose between nVidia and ATI. This is a difficult choice because the two companies are more or less equally good. The deciding factor for me is CUDA (which is only supported by nVidia and I might play with it) and the fact that nVidia passively cooled cards are more powerful than ATI ones.
The last criteria is performance. I’ve picked the fastest passively cooled graphics card from nVidia on the market: card based on a 9600GT GPU. The bus supported is PCI-E 2.0 which is a mainstream bus (AGP and PCI are legacy buses and should be avoided). The card is manufactured by Gigabyte, a company I consider a good one and I never had problems with.
That’s it. I’m not interested in other features. Perhaps having a HDMI converter (which my card has) might be important in future if/when I decide to buy a new LCD screen. I don’t think that it will happen anytime soon though.
Note: The graphics card I’ve bought occupies two slots (see the pictures below) on the chassis due to the massive heat-pipe cooler.
I’ve bought a GIGABYTE GV-NX96T512HP 9600GT 512MB PCIe (rev 3.0) from Mlacom for 111 Euros.
See other relevant posts:
What to look for in a CPU? For me, I look for a good performance before anything else, yet it shouldn’t be too expensive. You have always watch for a performance bottleneck in a computer – it doesn’t help to have a fastest CPU on the world if other components are slower. In other words, I am looking for a sweet spot. I look for a technology that will last for few years. I’d like to see a solution with a passive heat sink but those don’t exist anymore even for a relatively slow CPUs.
First step is to pick a manufacturer. It is either Intel or AMD. I’ve been a fan of AMD (before Intel come out with Core 2 line of processors) as AMD Athlons at the time were more advanced, faster and they run much cooler (passive heat sinks were an option then) than Intel’s Pentiums. Unfortunately for AMD, due to problem in their manufacturing of newer CPUs, this is no more true. Intel wiped out the competition first with Core 2 and now with Core i7. So, Intel is my choice.
I will chose between two Intel’s models: Core 2 and Core i7.
- is cheaper
- uses cheaper DDR2 or more expensive DDR3 RAM
- motherboards are cheaper
- plenty of different motherboard chipsets
- 2 or 4 cores
- might consume less power (TDP), depends on a model (ranges from 65W to 150W)
- 65nm (older) to 45nm (newer)
- more expensive
- it uses more expensive DDR3 RAM only
- motherboards are more expensive
- there is only one chipset – X58
- 4 cores only
- consumes more power than slower Core 2 but less than the top Core 2 (130W)
- faster than Core 2
- 45nm technology
If I want a system that will last for some time then I should stick with a faster and newer Core i7 platform and DDR3 memory. Furthermore the slowest Core i7 920 is more or less faster than the fastest Core 2 model even though it runs on a slower frequency (at least judging from the online reviews) and it comes at lower price. There are various technology improvements for Core i7 line as well.
One can’t pick between 2 or 4 cores when it comes to Core i7. It might surprise you but having less cores at same performance rating is better. The reason: multi core CPUs exist only because manufacturers can’t raise the CPU frequency easily and it is more convenient (cheaper) for them to stuff more cores at lower frequencies into the CPU. IOW a single core CPU operating at 3GHz is a better choice than a dual core operating at 1.5GHz performance wise. The multi core technology has other side effects such as forcing developers to program for multi core CPUs which means somewhat more demanding development. Due to manufactures and physics laws the CPUs are heading into more and more cores stuffed on the same chip instead of the higher frequencies (as before, at the time of single cores) and we have to adapt to the situation.
The power consumption for Core i7 920 is rated at 130W max but I think it should consume less power because all three Core i7 models (920, 940 and the faster 965) have the same max. rating. So, the slower model should consume less. I am not happy with such high power consumption but this isn’t a decisive factor for me at this time, because I don’t have choice once I’ve decided for Core i7 (or better, at this performance one don’t have a choice anyway). Note, that more power consumption means more heat and more heat means more cooling which means more noise. I hope that my Sycthe Mugen 2will still run quiet nevertheless (that’s why I’ve chosen a good CPU cooler). The best way to keep down power consumption at same performance is to enhance the building process to use “smaller” technology which is 45nm for Core i7 but that’s something I can’t change.
Upgrades, such as adding more memory or changing the CPU, will be easier in the future because the Core i7 line will be mainstream (and faster) while Core 2 line will be slowly abandoned. The same goes for DDR3 vs DDR2 RAM. Just look at your DDR memory (I won’t even mention SDRAM) if you still have it – it is pretty useless except if you have very old computers.
I’ll pick the slowest of the Core i7 line: 920. The faster 940 is almost twice as expensive yet it won’t give me significant increase of speed (nor any other advantage – but it will me higher power consumption) for my daily work.
There are two SKUs on the market: a boxed version and a non-boxed version. The first comes with bundled stock CPU cooler while the other is a bit cheaper and it comes without the cooler. I’d buy the non-boxed because I don’t need the stock CPU cooler but it is almost impossible to find it (and the price difference is really a minimal one).
Here is couple of photos of the 920 and its stock CPU cooler compared to Sycthe Mugen 2(CD case is there for size comparison):
See other relevant posts:
Disks fail more often than one can imagine. Because my data is the most important part of my computer my main objective is data safety so I’ll go for RAID 1 – disk mirroring that guarantees data integrity even if one of the two disks fails. Heck, I wouldn’t even miss a working day in such case – I’d just work with one disk until the damaged one gets replaced. RAID 1 is expensive because it mirrors the data – you’ll need two disks for the same data, however, the data will be redundant and furthermore RAID 1 reads data almost as twice faster than a single disk solution, write process is a bit slower compared to the single disk solution though. Another benefit of RAID 1 is possibility of using a motherboard-integrated RAID controller (which uses few CPU cycles, yet one won’t notice it on 4-core CPU) without any performance loss. RAID 5 is out of question because of really slow writes and requirements for an (expensive) add-on controller (although there are integrated controllers that handle RAID 5 but they will make it even slower). Add-on controllers have additional features such as memory cache (I’ll just use cheaper OS caching) and an option for batteries that will save the data in case of power failure (I will use an UPS to power my computer anyway – no need for those batteries).
Secondary objective is performance/price ratio. These days storage devices are the main performance bottleneck because they are relatively slow and computer often accesses them. They are even more important when you ran out of RAM (hope not, but it can happen) – then the page file swapping party begins. So the main goal is to get as good price/performance ratio as possible.
First, there are two choices: hard disk (HD) or solid state drive (SSD). I’ll pick HD option because SSDs are:
- unproven new technology (in the long term)
- usually slow for writing operations (they are improving though)
- very pricey
So, I have three choices with HD technology:
- SATA (mainstream)
SAS drives are very expensive, relatively small and I am not sure whether their faster speed would bring enough benefits in the performance/price sense. Furthermore they require additional SAS controller which isn’t cheap either. I think that SATA technology is far better for me. Every motherboard has an integrated SATA controller, better motherboards support RAID 1. But which drive? I’ll go for WD Velociraptors because, albeit they are more expensive, they are considerably faster than standard 7.200 RPM disks. Interestingly, Velociraptors are 2.5” disks packed in 3.5” chassis (no, they can’t be mounted in a laptop).
See other relevant posts:
Core i7 requires DDR3 memory. The more cheaper and slower DDR2 isn’t an option. But beware that not every DDR3 memory is good for Core i7. Oh no, they have to have a lower voltage than usual, that’s max 1.65V (1.5V recommended). Lookout for memory modules that are “build/optimized/etc. for Core i7”. Read this article to learn more about differences between DDR2 and DDR3.
Another innovation in memory access is that Core i7 is capable of using three channels to read/write from/to memory. Previous Intel and AMD CPUs could utilize only two channels at most. Thus the necessity for a triple channel modules. IOW you get the best performance by using three (or a multiplier of) physical modules. You are not constrained by the multiplier of three (the number of modules depends on motherboard as well – not every motherboard accepts many modules) but then you’ll get lower performances.
So, I’ll go for three DDR3 modules.
The final two aspects of interests to me where I can choose:
I’ve chosen the size of 6GB (3x2GB) because I think it will be enough for my usage. Note that you shouldn’t go below your requirements (you should know how much memory on average your applications consume and what applications you are going to run at the same time) – if you run out of physical memory then your computer will start swapping memory to disk like crazy and performance will go down the drain. So, the size matters after all. No need for exaggeration though. Having more memory than required doesn’t help a lot.
Another word of caution: 32 bit operating systems can’t use more than, at most, 3.5GB of RAM (there are ways for servers to get around this limitation but for special use). This is a hardware limitation. Which means that if you want to use more than 3.5GB of RAM you’ll have to install a 64 bit OS which doesn’t have such a limitation. In fact I am planning to install either Windows 7 x64 or Vista x64.
- performance/price and performance
The faster the memory is, the faster can CPU access it and thus your applications will run faster.
There are two factors affecting memory performance: frequency and latency. The former should be as high as possible (1333 is the lowest and cheapest frequency for DDR3 that I’ve found on the net – note: allowed max and min frequency depends on the motherboard as well) but then again, not too high because of a non-linear increase of performance/price – you don’t gain that much performance if you increase the frequency insanely. Also beware that there are two frequency labels out there: one is the frequency itself (i.e. 1600Mhz) while the other is a PC3 rating that depends on the frequency (PC3 12700 for 1600Mhz).
The other factor is latency. It is marked by a single number (i.e. CL9) or by a group of numbers where first number is CL (i.e. 9-9-9-27). The number(s) should be as low as possible because latency (simplified) states how much time is required for memory module to do an operation.
Memory frequency is far more important than latency (look at the benchmark tests on the web). Thus invest in higher frequencies rather than lower latency. Or better, both, but the most important is frequency.
After a while I concluded that I’ll go for a 1600Mhz/CL9 modules, partially because of price and partially because of the lack of the availability of lower latency 1600Mhz modules – I was shooting for CL7 but I couldn’t find any (OCZ has nice modules for a great price – but those can’t be found these days).
See other relevant posts:
If you think that power supply unit (PSU) seems like a non-important piece of the computer think again. It is the heart of the computer as it delivers the blood to the brains and other parts. The blood in this context is the electricity of course.
The PSU aspects that are important to me:
- the quality of the components/build
If you want to start a fire or have an instable computer then a no-name PSU is a good choice. They are cheap but they use low quality components and 220V (or other input voltages, i.e. 110V in the US) and a bunch of amperes can make some smoke at least if not start a huge fire. As it happened once to me. Luckily, I was at home at the time. I didn’t see smoke yet but I smelled that something is burning. After some “find that smell” exercise with my nose it turned out to be the low-quality PSU of my computer. Again, I was lucky that it happened while I was at home. The moral of the story is that you shouldn’t but a cheap junk PSU. Instead go with a branded one at least.
As usual, the bigger the cooling fan the better. There are some passively cooled PSUs out there however I wouldn’t use them since… well the point above and the fact that you might require additional fans on the chassis to cool them and they are not very powerful either. A heat controlled fan is a bonus – it would spin as fast as it is required and produce less noise when the temperature is low.
- output power distribution
Isn’t a 500W PSU equal to another 500W PSU? No, it isn’t. A PSU delivers various voltages to various computer components through various rails (wires). The declared power is distributed between these voltages. It is good as long every voltage has enough power. Even if PSU is rated at 1kW (yes, they do exist) and it lacks power even on only one rail then computer might behave oddly or it won’t turn on at all. PSU might even damage the computer components in such case.
- energy efficiency
The higher the better. It should be at least 80% (meaning that 20% is a waste). The higher the efficiency is the less energy gets wasted and your electricity bill is lower. Not to mention that the world benefits from it as well. Note also that efficiency varies with operating power. Check out 80plus website for more info on PSU energy efficiency.
I’ve been using Super Flower as manufacturer of my PSUs for some time now and I am happy with them although they are not a very well known manufacturer. Nevertheless web reviews are praising their PSUs in all the aspects mentioned above.
I’ve chosen the Aurora 600W (SF-600R14A) model (you won’t find it on their web site – which is a poor web site btw). It is rated at 82% efficiency though I don’t think it has been certified for (yet). It uses a huge 14cm cooling fan that is supposed to be very silent, furthermore it is heat-driven – it will adapt its speed to the actual conditions. 600W should be more than enough for my configuration. It should be enough for the most configurations, except for the dual graphic card ones (nVidia SLI, ATI CrossFire) (additional graphic card might draw a lot of additional power, i.e. 200W – depends on the card). So do calculate the power required in such case and buy an adequate PSU (again, check out the railings power).
Another bonus for Aurora is the usage of round cable connectors toward PSU. The round shape facilitates the air movement in the chassis and thus the cooling of the components. Another good thing is that cables are attached with connectors – you can attach and detach them if you don’t need them (as opposite to fixed cables on cheaper PSU). Less cables means better air movement and again, better cooling of the chassis interior. And less clutter in the chassis.
Bought it from CoolPC for 109,54€.
See other relevant posts: