On 05/20/2011 06:08 AM, Pedro Gonnet wrote:
Hi guys, I'm currently working on a shared-memory parallel Molecular Dynamics simulation library (http://mdcore.sourceforge.net/) geared towards multi-core systems. The library uses pthreads (plus some OpenMP for some simple loops) and uses pthread_cond_wait and pthread_cond_signal to coordinate a group of worker threads. I've been profiling the library on different machines and kernels and have noticed that in many cases there are significant (several ms, measured with Intel's Vtune-thing) lags between calls to pthread_cond_signal and the waiting thread actually getting back to work. I've tried the Ubuntu -rt and -preempt kernels, and the whole simulation runs twice as slowly, despite following the advice given here: https://rt.wiki.kernel.org/index.php/HOWTO:_Build_an_RT-application My question is the following: which kernel (or set of configuration options) will minimize these latencies? And if linux-rt is the answer, in what ways do I have to be careful when porting the simulation for this kernel?
Are you saying several ms latency from pthread_cond_signal to waking up a thread in pthread_cond_wait?
Mark -- To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html