On Nov 24, 2011, at 3:56 PM, Jed Brown wrote:

> On Thu, Nov 24, 2011 at 15:44, Barry Smith <bsmith at mcs.anl.gov> wrote:
>   I totally agree with you on this.  Where we disagree is thatI don't believe 
> that MPI or pthreads have what is needed. For example since pthreads 
> sequentializes the waking up threads it cannot be used in a way scalable to 
> hundreds of threads.
> 
> Can't the threads all be live and poll on a shared variable?

   Yes, but they can only get access to that shared variable one at a time: 
first get's it, then second get's it, then third gets, .... Ok for a couple of 
cores but not for dozens.

   Take a look at src/sys/objects/pthread.c for the various ways we have coded 
for "waking" the threads. Maybe I am missing something but this is the best 
Kerry and I could figure out.



   Barry

> Or do you need a kernel-level primitive to activate a bunch of threads in one 
> call? (I think this depends whether you want to have more threads than 
> cores.) In any case, wouldn't that just be pthreads+1?


Reply via email to