<div class="gmail_quote">If you are using Gigabit Ethernet with jumbo frames (9000 bytes for example): <br>A will send 3 packets with 4000 bytes and <br>B will send one of 9000 bytes and one of 7000 bytes.<br><br>For the cpu B is better, because will generate one system call and A will generate three and<br>
as many high speed interconnects today need large packets to fully utilize their bandwidth, I think that B should be faster.<br>But the only way to be sure is testing.<br><br><br>2009/5/18  <span dir="ltr"><<a href="mailto:tribur@vision.ee.ethz.ch">tribur@vision.ee.ethz.ch</a>></span><br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Hi all,<br>
<br>
is there anyone who can tell me if A) or B) is probably faster?<br>
<br>
A)<br>
process 0 sends 3x500 elements, e.g. doubles, to 3 different processors using something like<br>
if(rank==0){<br>
MPI_Send(sendbuf, 500, MPI_DOUBLE, 1, 1, MPI_COMM_WORLD);<br>
MPI_Send(sendbuf, 500, MPI_DOUBLE, 2, 2, MPI_COMM_WORLD);<br>
MPI_Send(sendbuf, 500, MPI_DOUBLE, 3, 3, MPI_COMM_WORLD);<br>
}<br>
else<br>
MPI_Recv(recvbuf, 500, MPI_DOUBLE, 0, rank, MPI_COMM_WORLD, status);<br>
<br>
<br>
B)<br>
process 0 sends 2000 elements to process 1 using<br>
if(rank==0)<br>
MPI_Send(sendbuf, 2000, MPI_DOUBLE, 1, 1, MPI_COMM_WORLD);<br>
else<br>
MPI_Recv(recvbuf, 2000, MPI_DOUBLE, 0, rank, MPI_COMM_WORLD, status);<br>
<br>
<br>
_______________________________________________<br>
Beowulf mailing list, <a href="mailto:Beowulf@beowulf.org" target="_blank">Beowulf@beowulf.org</a> sponsored by Penguin Computing<br>
To change your subscription (digest mode or unsubscribe) visit <a href="http://www.beowulf.org/mailman/listinfo/beowulf" target="_blank">http://www.beowulf.org/mailman/listinfo/beowulf</a><br>
</blockquote></div><br>