[mvapich-discuss] Performance issue

Masahiro Nakao mnakao at ccs.tsukuba.ac.jp
Sun Jun 5 07:03:42 EDT 2011


Dear all,

I use mvapich2-1.7a.
I tried to measure a troughtput performance,
but the value of performance I don't understand.

The source code is as below.
---
double tmp[SIZE];
  :
MPI_Barrier(MPI_COMM_WORLD);
t1 = gettimeofday_sec();
if(rank==0)   MPI_Send(tmp, SIZE, MPI_DOUBLE, 1, 999, MPI_COMM_WORLD );
else  MPI_Recv(tmp, SIZE, MPI_DOUBLE, 0, 999, MPI_COMM_WORLD, &status );
MPI_Barrier(MPI_COMM_WORLD);
t2 = gettimeofday_sec();

printf("%d Byte:%.1f MByte/s\n", sizeof(tmp), sizeof(tmp)/(t2-t1)/1000000);
---
This program was run on 2 nodes.

Results are as below. SIZE = 1, 2, 4, ... , 4096
---
    8 Byte:  0.6 MByte/s
   16 Byte:  1.1 MByte/s
   32 Byte:  2.1 MByte/s
   64 Byte:  4.5 MByte/s
  128 Byte:  8.0 MByte/s
  256 Byte: 15.1 MByte/s
  512 Byte: 30.2 MByte/s
 1024 Byte: 68.2 MByte/s
 2048 Byte:102.3 MByte/s
 4096 Byte:157.6 MByte/s
 8192 Byte:195.2 MByte/s
16384 Byte: 80.8 MByte/s
32768 Byte:142.4 MByte/s
---

Why is the troughtput down, when the value of transfar size is 16384 ?

My environment is as below.
---
- Quad-Core AMD Opteron(tm) Processor 8356
- DDR Infiniband (Mellanox ConnectX)
---

Regard,
-- 
Masahiro NAKAO
Email : mnakao at ccs.tsukuba.ac.jp
Researcher
Center for Computational Sciences
UNIVERSITY OF TSUKUBA


More information about the mvapich-discuss mailing list