[mvapich-discuss] ROMIO bug in ADIOI_LUSTRE_Get_striping_info

Mark Dixon m.c.dixon at leeds.ac.uk
Fri Apr 1 09:56:40 EDT 2011


Thanks for all the work on MVAPICH2 - it's really a great MPI.

However, I've been looking at a problem one of my users is having with 
MVAPICH2 1.6. His code fails because an MPI-IO routine attempts to 
allocate a 4Gb buffer for every process.

I've traced the problem ADIOI_LUSTRE_Get_striping_info, in file 
mvapich2-1.6/src/mpi/romio/adio/ad_lustre/ad_lustre_aggregate.c, where it 
contains this (from line 304):

     if (avail_cb_nodes ==  CO_nodes) {
         do {
             /* find the divisor of CO_nodes */
             divisor = 1;
             do {
                 divisor ++;
             } while (CO_nodes % divisor);
             CO_nodes = CO_nodes / divisor;
             /* if stripe_count*CO is a prime number, change nothing */
             if ((CO_nodes <= avail_cb_nodes) && (CO_nodes != 1)) {
                 avail_cb_nodes = CO_nodes;
                 break;
             }
         } while (CO_nodes != 1);
     }

When his program enters this segment, both avail_cb_nodes and CO_nodes 
equal 1. Very bad things then happen in the innermost while loop, as it 
attempts and fails to count to infinity.

This code seems to have been replaced in the mpich2 codebase (I think this 
is the upstream?) in r6323 by Pascal Deveze. I don't know what 
avail_cb_nodes *should* be set to, but a quick check shows that "1" looks 
a whole lot more sensible than the "4294967295" I'm getting now.

Is anyone looking at refreshing the lustre ROMIO driver in MVAPICH2?

How does the upstream/downstream business work with ROMIO anyway? From the 
outside, it looks like MPICH2, MVAPICH2 and OpenMPI (for example), 
maintain their own separate copies.

Thanks,

Mark
-- 
-----------------------------------------------------------------
Mark Dixon                       Email    : m.c.dixon at leeds.ac.uk
HPC/Grid Systems Support         Tel (int): 35429
Information Systems Services     Tel (ext): +44(0)113 343 5429
University of Leeds, LS2 9JT, UK
-----------------------------------------------------------------


More information about the mvapich-discuss mailing list