I am trying to do parallelization for a computing intensive problem.
I am working on a Linux cluster where each node is a multicore processor.
e.g. 2 or 4 quad-core processor per node.
I want to reduce latency and improve performance as much as possible.
I plan to use multiprocessing and multithreading at the same.
Each process run on a distinct node and each process spawn many threads
on each node. This is a 2 level parallelism.
For multiprocessing, I would like to choose MPI.
For multithreading, I have two choices: openMP or boost::thread (pthread).
Which one has lower latency and higher performance ?
It seems that openMP coding is easier (without touching low level thread managing manually).
But, it seems that openMP has higher overhead than boost::thread (pthread).
Any help is really appreciated.