2

I have a question related to MPI.

In order to keep track of the communication volume used by my implementation, I would like to get the currently-transferred data amount since the mpi-process' start until the current measure-point.

I checked the specification as well as the mpi.h header file of mpich and did not find a matching function to call or variable that keeps track of the network transfer costs. It would, of course, be possible to implement a small traffic registry or define a macro for tracking communication sizes, but maybe it can be read out from somewhere.

Do you know a method to gain the current transfer size, maybe it is also possible to get this number using a system call to get the network traffic size of the process?

Is it maybe possible to access the proc information of the current process, maybe the /proc/net is maintained per process as well, such as /proc/self/net?

Thank you in advance, Martin

mogli4fun
  • 21
  • 2
  • Since MPI use the network, maybe you can use a simple network monitor? – moeryn Apr 17 '13 at 07:48
  • Yes, that would be an opportunity, but I did not want to use a monitoring tool, such as netstat, but rather get it from within the program, especially to check the current transfer volume for different program states at defined points. – mogli4fun Apr 17 '13 at 07:53
  • 2
    A similar question: http://stackoverflow.com/questions/10607750/tools-to-measure-mpi-communication-costs – Kadir May 19 '13 at 11:56
  • Since this question's been open for almost three years and @Kadir's suggested similar question provides plenty of information that would help answer this, I'm voting to close as a duplicate. – Richard Feb 24 '16 at 23:41

1 Answers1

0

I think it is a better way to monitor the volume by a tracing tool like bpf. Depending on the data channel the mpi use, you can monitor the user_space library function or kernel function.

  • Your answer could be improved with additional supporting information. Please [edit] to add further details, such as citations or documentation, so that others can confirm that your answer is correct. You can find more information on how to write good answers [in the help center](/help/how-to-answer). – Community Apr 03 '23 at 17:45