On Sat, 2011-05-21 at 16:48 -0400, Mark Hounschell wrote: > 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? > Yes. Or at least, this is what Vtune says. It could also be a fluke in Vtune, but I would still be interested in knowing what kernel or what kernel options can make these operations as fast as possible. Cheers, Pedro -- 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