Hi All,
I made some tests with a dummy "ping" application. Some memory problems
occurred. On these tests I obtained the following results:
1) OpenMPI (without FT):
- delaying 1 second to send token to other node: orted and
application size stable;
- delaying 0 seconds to send token to other node: orted and
application size stable.
2) OpenMPI (with CRCP FT):
- delaying 1 second to send token to other node: orted stable and
application size grow in the first seconds and establish;
- delaying 0 seconds to send token to other node: orted stable and
application size growing all the time.
I think that it is something in the CRCP module/component...
Thanks,
--
Leonardo Fialho
Computer Architecture and Operating Systems Department - CAOS
Universidad Autonoma de Barcelona - UAB
ETSE, Edifcio Q, QC/3088
http://www.caos.uab.es
Phone: +34-93-581-2888
Fax: +34-93-581-2478
#include </softs/openmpi/include/mpi.h>
#include <stdio.h>
#include <stdlib.h>
int main (int argc, char *argv[]) {
double time_end, time_start;
int count, rank, fim, x;
char buffer[5] = "test!";
MPI_Status status;
if (3 > argc) {
printf("\n Insuficient arguments (%d)\n\n ping <times>
<delay>\n\n", argc);
exit(1);
}
if (MPI_Init(&argc, &argv) == MPI_SUCCESS) {
time_start = MPI_Wtime();
MPI_Comm_size (MPI_COMM_WORLD, &count);
MPI_Comm_rank (MPI_COMM_WORLD, &rank );
for (fim = 1; fim <= atoi(argv[1]); fim++) {
if (rank == 0) {
printf("(%d) sent token to (%d)\n", rank, rank+1);
fflush(stdout);
sleep(atoi(argv[2]));
MPI_Send(buffer, 5, MPI_CHAR, 1, 1, MPI_COMM_WORLD);
MPI_Recv(buffer, 5, MPI_CHAR, count-1, 1, MPI_COMM_WORLD,
&status);
} else {
MPI_Recv(buffer, 5, MPI_CHAR, rank-1, 1, MPI_COMM_WORLD,
&status);
printf("(%d) sent token to (%d)\n", rank, (rank==(count-1) ? 0
: rank+1));
fflush(stdout);
sleep(atoi(argv[2]));
MPI_Send(buffer, 5, MPI_CHAR, (rank==(count-1) ? 0 : rank+1),
1, MPI_COMM_WORLD);
}
}
}
time_end = MPI_Wtime();
MPI_Finalize();
if (rank == 0) {
printf("%f\n", time_end - time_start);
}
return 0;
}