Performance of ricc2 in a multicore case

Started by evgeniy, July 01, 2009, 04:40:57 PM

Previous topic - Next topic

evgeniy

Hello,

I am wondering regarding the performance of ricc2
in a multicore case, i.e. running ricc2 in parallel on
several nodes each with several cores. As I noticed
the performance drops down if more than one core
is used, i.e. a ricc2 job running on "nodes=2,ppn=2" will
be slower than the same job on "nodes=2,ppn=1".
My question is can this be somehow improved? Thanks!

Best regards,
Evgeniy

christof.haettig

We have never seen that a calculation with 4 processes using 2 cores of 2 nodes is slower than a calculation with 2 processes using 1 core of 2 nodes.... If this happens, your molecule is either too small, or there is a bottleneck as e.g. insufficient physical memory or extremely slow discs.

Typically, an ricc2 calculation with 4 processes which use 2 cores of 2 nodes is slightly slower than the same calculation
would be if the 4 processes are distributed on 4 different nodes (assuming that no competing jobs are running). On a
multicore system the cores share certain hardware resources as e.g. hard discs, physical memory, network card and (often
most important) cache memory. All of this leads to the fact that a on multicore machine you don't get from every core the
performance of single core/single processor machine. Apart from cache (and to a certain extent memory bandwith) you
have this limitations already on a multiprocessor machine with single core processors.

For a good performance of parallel ricc2 calculations it is in particular important that
a) all large integral files are redirected to local discs (not nfs filesystems) using the $tmpdir option
b) you have fast local discs, preferentially several physical discs combined to a raid

Christof