1. 08 Jan, 2016 1 commit
  2. 18 Sep, 2015 2 commits
  3. 02 Sep, 2015 4 commits
    • Rob Latham's avatar
      address "potentially used uninitialized" warnings · d5ec7f4c
      Rob Latham authored
      No Reviewer
      d5ec7f4c
    • Paul Coffman's avatar
      [PATCH] assorted fixes to ROMIO Collective IO One-sided · e932ab81
      Paul Coffman authored
      
      
      This commit addresses several design deficiencies in the ROMIO one-sided
      collective IO algorithm and fixes several bugs.  Specifically:
      - Re-engineering of one-sided algorithm to more easily support other
        file systems such as lustre, reworking and simplifying how the data in
        the source buffer is tracked, packing non-contiguous source data
        comprising the same contiguous chunk of target data to make just 1
        rdma call instead of several, and providing a framework in which
        multiple file domains within an aggregator can exist.
      - Initial mpi_gather for offsets now includes the total amount of data
        each rank needs to write - this was needed because the one-sided
        algorithm needs to distinguish between ranks with 0 and 1 bytes (those
        that have and don't have data) and the difference in starting and
        ending offsets for 1 byte is 0 the same as 0 bytes so it cannot be
        distiguished --- some corner cases which are implicitly handled by the
        two-phase algorithm need to be explicitly handled by the one-sided
        algorithm.
      - Added env var GPFSMPIO_ONESIDED_ALWAYS_RMW which when set will force
        the one-sided write to always first read the write buffer offset range
        from the disk to pre-fill any holes in the data.
      - In the case where holes are found during the one-sided write and
        GPFSMPIO_ONESIDED_NO_RMW is unset resulting in a read-modify-write
        rewrite, instead of calling the baseline two-phase algorithm recall
        the one-sided algorithm with GPFSMPIO_ONESIDED_ALWAYS_RMW set.
      - Removed the one-sided active synchronization code path since it would
        add significant memory overhead to support the non-contiguous source
        data buffer packing and on blue gene was always slower than passive
        anyhow.
      - Fixed bugs related to loss of precision on calculations involving
        offsets defined as long (ADIO_Offset) and sizes defined as int.
      - Fixed bug with the number of aggregation rounds where in some cases
        not enough rounds were being performed - essentially take the max
        number of rounds needed by any aggregator instead of the average.
      - Fixed bug related to an offset range crossing a file-domain boundary
        where the source buffer data pointer was not advanced properly,
        resulting in incorrect data from the source buffer being written.
      - Replaced the GPFSMPIO_AGGMETHOD env var to specify the aggregation
        method for both read and write with GPFSMPIO_WRITE_AGGMETHOD and
        GPFSMPIO_READ_AGGMETHOD to individually specify them --- on BlueGene
        /Q there are one-sided bugs in pami which are in some cases exposed by
        the mpi_put used by the write and other cases the mpi_get used by the
        read -- the user needs the ability to use what works.
      Signed-off-by: Rob Latham's avatarRob Latham <robl@mcs.anl.gov>
      e932ab81
    • Rob Latham's avatar
      fixup: misspelled variable · 86692e28
      Rob Latham authored
      only found this once trying to compile for gpfs
      86692e28
    • Rob Latham's avatar
      move flattend resolution to a separate function · a9bbc658
      Rob Latham authored
      
      
      if we do this "flatten type, then find it in the global linked list" in
      a separate function, we can make that function thread-safe instead of
      sprinking lock/unlock code through 50 locations in ROMIO
      Signed-off-by: Pavan Balaji's avatarPavan Balaji <balaji@anl.gov>
      a9bbc658
  4. 28 Aug, 2015 1 commit
  5. 03 Aug, 2015 1 commit
  6. 28 Jul, 2015 3 commits
  7. 29 Jun, 2015 7 commits
  8. 27 Jun, 2015 2 commits
  9. 26 Jun, 2015 19 commits