On 18 Sep 2002, Nathan Parker wrote:
> Ahh, that explains the high CPU usage. I had assumed usysv's
> "spin-locking" was merely locking to protect the consistency of data
> structures, and not for waiting on queues.
>
> I've recompiled my LAM installation to use TCP, and now the CPU
> utilization on this one process is down to 2% (from 99%). Thanks for
> your help.
>
> As for the sysv version, shouldn't it be possible to wait on sockets and
> semaphores at the same time, with the use of an additional thread? The
> thread could block in a select() on all required sockets, and then set a
> semaphore when a socket is ready for reading or writing.
What you describe is possible for a multi-threaded MPI implementation.
However, LAM/MPI is currently a single-threaded MPI implementation, which
kind of eliminates the possibility of using threads to prevent polling :(.
There are plans to implement more thread support for LAM/MPI, and this is
one of the things we will at least look at when we are working on the RPI.
Brian
--
Brian Barrett
LAM/MPI developer and all around nice guy
Have a LAM/MPI day: http://www.lam-mpi.org/
_______________________________________________
This list is archived at http://www.lam-mpi.org/MailArchives/lam/
|