On 4/7/08 7:45 AM, "Gleb Natapov" <gl...@voltaire.com> wrote:

> On Mon, Apr 07, 2008 at 07:28:07AM -0600, Ralph H Castain wrote:
>>> Also can you explain how
>>> allgather is implemented in orte (sorry if you already explained this once
>>> and I missed it).
>> 
>> The default method is for each proc to send its modex data to its local
>> daemon. The local daemon collects the messages until all of its local procs
>> have contributed, then sends the collected data to the rank=0 application
>> proc. One rank=0 has received a message from every daemon, it xcasts the
>> collected result to all procs in its job.
>> 
> Only collected result is compressed or messages from each proc to local
> daemon and messages from local daemon to rank=0 are compressed too?

The individual inbound messages are not currently compressed prior to
sending - too small to bother

> And, may be a stupid question, but I have to ask :) When rank=0 xcast
> collected modex it compress it once or for each rank separately.

No, it only compresses the total message

So there is only one compress being done - the total modex message collected
"raw" and then is compressed just prior to xcast. Each proc then
uncompresses the result it receives from rank=0 before processing it.


> Also I think if rank=0 will compress each modex message during
> receive it can save some work during xcast.

Seems to me like one compress of the entire message has to be a great deal
faster than N compressions of N small messages...

> 
> --
> Gleb.


Reply via email to