In general, what you said is "right"... for some definition of "right". :-)
Usually, benchmarking programs start a timer, do the round trip sends N times, stop the timer, and then divide the total time by N (to get a smoother definition of "average").
But keep in mind that there are many, many factors involved here. For example, it is also common to do "warmup" round trip communications -- do, say, 100 round-trip communications before you start the timer. This allows MPI to establish connections and do any other startup processing that isn't a factor during steady-state communications.
More specifically, the definitions of "right" and "wrong" very much depend on what is in your professor's head. Every benchmark is different; there are many similar-but-slightly-different benchmark definitions out there. You'll need to figure out exactly what he is looking for; sorry.
On Oct 8, 2012, at 10:59 PM, huydanlin wrote:
> I'm currently doing MPI project in NUS University. My professor require me make a monitoring tool to check the connection among processes in Cluster. And also measure communication round-trip time.
> My solution is :
> 1. At the source process : start MPI_Send
> 2. At the destination process : start MPI_Recv to receive the message from source
> 3. At the destination process : start MPI_Send to send immediately the same message to source
> 4. At the source process : start MPI_Recv to receive the message from destination
> I start timer( before (1) - t1=MPI_Wtime & after (4) - t2=MPI_Wtime )
> then t2 - t1 is time for communication. I also do (1) to (4) for N times. then i calculate the avg round-trip time by (t2-t1)/N.
> So is it right? Because he tells it 's wrong. And what exactly is the communication round-trip time ?
> Regards and hope to see your reply soon.
> users mailing list
For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/