[mpich-discuss] Need help on some basic questions

Dave Goodell goodell at mcs.anl.gov
Thu Jan 19 15:51:35 CST 2012


On Jan 19, 2012, at 11:38 AM CST, Dr. C. B. Basak wrote:

> Dear MPICH users,
> 
> I have been using MPICH for almost last 2 years and now I think I have
> to upgrade my system. Before doing that I had some basic questions in
> my mind (I do not know much about computer hardware) and I would
> appreciate your help very much in this regards.
> 
> Info:
> 
> I run simulation program that is processor intensive rather than data intensive.
> 
> Questions:
> 
> 1. 4 CPUs in same motherboard vs. 4 x (1 CPU in 1 motherboard)
> connected via switch/ infiband etc. which one would be faster for
> processing intensive application?

Probably 4 CPUs in the same host will be faster than 4 single-CPU hosts, because the communication performance will generally be better within a node than between nodes.  However, this assumes that the amount and configuration of the cache is very similar between the two scenarios.

> 2. If there are 2 no. of six core processors; then what does "fully
> parallel processing" mean? 2 parallel processes (2 processors) or 12
> parallel processes (12 cores)? (if there are 2 threads for each core,
> then does that mean 24 parallel processes?). What I mean is that what
> would be optimum no. of parallel process (-n ) for such 2 no. of six
> core processors.

Most people would run 12 processes in this situation.

> 3. In parallel processing should the hyper-threading of processor be on or off?

For MPICH2 with nemesis (the default build of MPICH2), you it doesn't matter too much whether hyper threading is enabled/disabled.  However I would recommend not running more processes than the number of actual cores that you have in your machine.  If you enable HT then Linux will show the additional hardware threads as "cores" in /proc/cpuinfo, effectively doubling the apparent number of cores on your machine.  So if you have the two socket, 6 core processors from your previous example, and hyper threading doubles the number of hardware threads per core, then you would still only want to run 12 processes on such a machine.

-Dave



More information about the mpich-discuss mailing list