First CFD Machine: Some questions
I'm specifying a machine for CFD work as part of my research: I'm investigating combusting/reacting flows and CFD is going to form a large part of my work. At this point I'm still a relative novice at CFD, so any advice is welcomed. Initially I'm working with Star-CCM+, though I may investigate other codes.
Because of the university's purchasing policies, I'm restricted to buying from Dell. I'm looking at either a Precision T3600 or T5600. Budget is €2000-€3000, and being a university, I'm probably going to be pushed hard towards the low end of that range :rolleyes:
From reading around here and elsewhere, it seems memory speed and bandwidth are crucial for CFD performance, and disk I/O speed is not.
The main question I have is whether it's better to go for one or two processors? E.G. 2 Xeon E5-2609 @ 2.4 GHz cost a lot less than a single E5-2665 @ 2.4 GHz. Both offer 8 processing cores, but the 8-core processor has higher memory speed, and more cache. If it's a tradeoff between clock speed, memory speed, and cache, which is best to compromise on? I'd presume that data transfer between physical processors is going to be slower than between cores inside a processor too?
One of the things I can't find any clear information on is how Star-CCM+ licencing works on multiple cores: is it one licence per core, or per physical processor, or some combination of the two? Or perhaps some scenario I haven't considered? If it's per processing core, then I would be inclined to go for fewer cores with higher clock speed. If it's per physical processor, then multiple physical processors might make more sense.
AFAIK, our licencing setup allows additional cores to be checked out for each client licence in use i.e. 1 client licence can run 8 processing nodes but I'm not 100% sure if this is for all clients, or only clients running on the high performance cluster. (And maybe I'm not explaining this too well either :D)
I have access to 2 high performance clusters so this machine doesn't need to be the last word in performance, but I'd like a machine that can do useful work nonetheless. It's also very likely that this machine has to suffice for the next three years of my research, so I'm building with some level of future-proofing in mind (Moore's Law be damned!). There'll probably be money available for upgrades down the line too.
So, coming to some sort of point, I'm thinking of the following general setup:
Precision T5600 (2 processor board)
Single E5-2620 Processor
16 GB ECC RAM (4x4)
SATA HDD (cheaper than SAS or SSD and disk I/O not so important)
1GB NVidia Quadro 600
Sorry for the long and meandering first post - trying to cover as many bases as possible here. Any advice/ideas appreciated.
edit: Also, do you know how many cells you are looking at meshing/running?
I think it may be a variant of the Power Session licence that we have - I need to contact our licence admin about it.
As for how many cells - no idea!! The bigger challenge I face is what's happening within the cells: 6 reactants being sprayed into a combustion chamber where the mixture ignites and reacts producing powder and gaseous products.
Forget the power session on a workstation.
A ccmpsuite license allows you to run a simulation on a single core. For every additional core, you need either a hpcsuite license or another ccmpsuite.
On a simple workstation, no matter wheter it's a 8-core one or has 12 cores, a power session will be way too much! It would allow you to run on an INFINITE number of cores and is therefore designed to be used on clusters - the pricing is reasonable for a really high core count only.
I wouldn't bother too much about the performance of your machine. When you need to solve 6 reactants, it will be slow for sure. So most likely you will stick to the cluster whenever it's possible (except it is a very very small mesh).
You're right, cores within one processor can communicate directly using the cache while cores from independent processors can't. But you should also consider the memory bandwidth. Two processors will have two memory controllers and should be able to access twice the memory at the same time. When your domain is split up in an efficient way, that might be faster than having twice the cores per cpu but a lower memory bandwidth per core.
|All times are GMT -4. The time now is 14:12.|