[mpich-commits] [mpich] MPICH primary repository branch, master, updated. v3.1b1-85-g4a13e98

mysql vizuser noreply at mpich.org
Mon Oct 7 09:25:59 CDT 2013


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "MPICH primary repository".

The branch, master has been updated
       via  4a13e98629fd3bd8d2004ab5f5ea7c6e851bce57 (commit)
       via  f8901ffe8923a9a1a9e155593e79a2dc7a6ec209 (commit)
      from  0590d5431bb3b5976491f476a07f5533c8e36f5d (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://git.mpich.org/mpich.git/commitdiff/4a13e98629fd3bd8d2004ab5f5ea7c6e851bce57

commit 4a13e98629fd3bd8d2004ab5f5ea7c6e851bce57
Author: Rob Latham <robl at mcs.anl.gov>
Date:   Fri Oct 4 16:18:38 2013 -0500

    compile error

diff --git a/src/mpi/romio/adio/ad_bg/ad_bg_hints.c b/src/mpi/romio/adio/ad_bg/ad_bg_hints.c
index 47a0e77..1866df5 100644
--- a/src/mpi/romio/adio/ad_bg/ad_bg_hints.c
+++ b/src/mpi/romio/adio/ad_bg/ad_bg_hints.c
@@ -258,7 +258,6 @@ void ADIOI_BG_SetInfo(ADIO_File fd, MPI_Info users_info, int *error_code)
      process hints for it. */
 	ADIOI_Info_check_and_install_int(fd, users_info, "striping_unit", 
 		&(fd->hints->striping_unit), myname, error_code);
-	}
 
 	memset( value, 0, MPI_MAX_INFO_VAL+1 );
         ADIOI_Info_get(users_info, ADIOI_BG_NAGG_IN_PSET_HINT_NAME, MPI_MAX_INFO_VAL,

http://git.mpich.org/mpich.git/commitdiff/f8901ffe8923a9a1a9e155593e79a2dc7a6ec209

commit f8901ffe8923a9a1a9e155593e79a2dc7a6ec209
Author: Rob Latham <robl at mcs.anl.gov>
Date:   Wed Oct 2 16:39:40 2013 -0500

    improve comments, formatting on some tricky code
    
    I end up looking at this code only about once every six months.  Add
    more comments so the next time I'm here, I don't have to re-learn the
    teeny-tiny details.

diff --git a/src/mpi/romio/adio/ad_bg/ad_bg_aggrs.c b/src/mpi/romio/adio/ad_bg/ad_bg_aggrs.c
index 0d6ab5b..d8b42ef 100644
--- a/src/mpi/romio/adio/ad_bg/ad_bg_aggrs.c
+++ b/src/mpi/romio/adio/ad_bg/ad_bg_aggrs.c
@@ -520,14 +520,43 @@ void ADIOI_BG_GPFS_Calc_file_domains(ADIO_Offset *st_offsets,
     fd_start             = *fd_start_ptr;
     fd_end               = *fd_end_ptr;
 
+    /* each process will have a file domain of some number of gpfs blocks, but
+     * the division of blocks is not likely to be even.  Some file domains will
+     * be "large" and others "small"
+     *
+     * Example: consider  17 blocks distributed over 3 aggregators.
+     * nb_cn_small = 17/3 = 5
+     * naggs_large = 17 - 3*(17/3) = 17 - 15  = 2
+     * naggs_small = 3 - 2 = 1
+     *
+     * and you end up with file domains of {5-blocks, 6-blocks, 6-blocks}
+     *
+     * what about (relatively) small files?  say, a file of 1000 blocks
+     * distributed over 2064 aggregators:
+     * nb_cn_small = 1000/2064 = 0
+     * naggs_large = 1000 - 2064*(1000/2064) = 1000
+     * naggs_small = 2064 - 1000 = 1064
+     * and you end up with domains of {0, 0, 0, ... 1, 1, 1 ...}
+     *
+     * it might be a good idea instead of having all the zeros up front, to
+     * "mix" those zeros into the fd_size array.  that way, no pset/bridge-set
+     * is left with zero work.  In fact, even if the small file domains aren't
+     * zero, it's probably still a good idea to mix the "small" file domains
+     * across the fd_size array to keep the io nodes in balance */
+
+
     ADIO_Offset n_gpfs_blk    = fd_gpfs_range / blksize;
     ADIO_Offset nb_cn_small   = n_gpfs_blk/naggs;
     ADIO_Offset naggs_large   = n_gpfs_blk - naggs * (n_gpfs_blk/naggs);
     ADIO_Offset naggs_small   = naggs - naggs_large;
 
-    for (i=0; i<naggs; i++)
-        if (i < naggs_small) fd_size[i] = nb_cn_small     * blksize;
-                        else fd_size[i] = (nb_cn_small+1) * blksize;
+    for (i=0; i<naggs; i++) {
+	if (i < naggs_small) {
+	    fd_size[i] = nb_cn_small     * blksize;
+	} else {
+	    fd_size[i] = (nb_cn_small+1) * blksize;
+	}
+    }
 
 #   if AGG_DEBUG
      DBG_FPRINTF(stderr,"%s(%d): "

-----------------------------------------------------------------------

Summary of changes:
 src/mpi/romio/adio/ad_bg/ad_bg_aggrs.c |   35 +++++++++++++++++++++++++++++--
 src/mpi/romio/adio/ad_bg/ad_bg_hints.c |    1 -
 2 files changed, 32 insertions(+), 4 deletions(-)


hooks/post-receive
-- 
MPICH primary repository


More information about the commits mailing list