If your problem is memory bound and if you don't use the whole memory capacity of one node, it means that you are limited by your memory bandwidth. In this case oversubscribing the number of processes will lead to worse behavior, as all processes will fight for the same memory bandwidth.
Just my opinion.
We are running a PDE solver which is memory bound. Due to
cache related issue, smaller number of grid point per core leads to
better performance for this code. Thus, though available memory per
core is more than 2 GB, we are able to good performance by using
less than 1 GB per core.
I want to know whether oversubscribing the cores can potentially
improve performance of such a code. My thinking is that if I
oversubscribe the cores, each thread will be using less than 1 GB so
cache related problems will be less severe. Is this logic correct or
due to cache conflict performance will deteriorate further?
In case, over-subscription can help, how shall I modify
submission file (using sun grid engine) to enable over-subscription of
my current submission file is written as follows
#$ -N first
#$ -S /bin/bash
#$ -e $JOB_ID.$JOB_NAME.ERROR
#$ -o $JOB_ID.$JOB_NAME.OUTPUT
#$ -P faculty_prj
#$ -p 0
#$ -pe orte 8
/opt/mpi/openmpi/1.3.3/gnu/bin/mpirun -np $NSLOTS ./test_vel.out
Is it possible to allow over-subscription by modifying submission file
itself? Or do I need to change hostfiles somehow?
Thanks for your help!
Engineering Mechanics Unit
Jawaharlal Nehru Centre for Advanced Scientific Research (JNCASR)
Jakkur, Bangalore-560 064, India
Tel: + 91 80 22082938
users mailing list