Hello everybody.
I'm exploring performance of various communication patterns on
Linux-cluster with LAM-7.1.1 over GM. A simple example with nonblocking
communication produced strange results.
Proc0: Isend; Some computation; Wait;
Proc1: Recv;
In case of buf_size <= 16KB that's OK. Execution time of Recv is stable
~100us. for 4KB and any communication mode of send (Isend, Issend,
Ibsend, Irsend). But if buf_size > 16KB, execution time of Recv depends
on weight of computation in Proc0, i.e. the more computations Proc0
does, the longer Recv goes on.
Is it correct behavior?
Does LAM change protocol for nonblocking sends, if buf_size more than 16K?
How can I get the same behavior for large buffer?
Maybe my code isn't right (i use pselect for modeling delay between
Isend and Wait)?
WBR, Vartan Padaryan.
|