mdtest with fsync
 
 
 
 
Go to file
Julian Kunkel 4a3e4806bd
Merge pull request #281 from hpc/fix-mdtest-iter
Bugfix MDTest calculation of multiple iterations was incorrect.

Fix the bug reported by Rick to increase clarity. The previous offset calculation when using multiple iterations was:
for (i = start; i < stop; i++) // i = table position == test number
for (k=0; k < size; k++)
for (j = 0; j < iterations; j++)
value = all[(k * tableSize * iterations) + (j*tableSize) + i];

Note that the mean and min/max was then computed over these values.
But as the values were stored in memory in the order: iteration, rank, table
the correct term is: value = all[j * tableSize * size + k * tableSize + i];

Assume iterations = 2 and size = 3, the value for the test i=0 was computed from:
all[0 * 2 *tbl + 0 * tbl] = 0tbl
all[0 * 2 *tbl + 1 * tbl] = 1tbl
all[1 * 2 *tbl + 0 * tbl] = 2tbl
all[1 * 2 *tbl + 1 * tbl] = 3tbl
all[2 * 2 *tbl + 0 * tbl] = 4tbl
all[2 * 2 *tbl + 1 * tbl] = 5tbl

A more clear traversal would have been:
all[0 * 3 *tbl + 0 * tbl] = 0tbl
all[0 * 3 *tbl + 1 * tbl] = 1tbl
all[0 * 3 *tbl + 2 * tbl] = 2tbl
all[1 * 3 *tbl + 0 * tbl] = 3tbl
all[1 * 3 *tbl + 1 * tbl] = 4tbl
all[1 * 3 *tbl + 2 * tbl] = 5tbl

In that sense, it wasn't a functional bug but it decreased readability and now that we want to print the performance of the individual ranks, it is useful to fix this.
2020-11-30 14:17:42 +00:00
config modernize configure 2017-10-19 15:18:39 -06:00
contrib Update cbif.c 2017-11-19 15:27:34 -06:00
doc Add missing options to mdtest man page 2020-11-25 01:28:07 -07:00
src Merge branch 'master' into fix-mdtest-iter 2020-11-30 14:16:41 +00:00
testing Merge branch 'feature-cleanup-aiori' 2020-07-21 09:26:03 +01:00
.gitignore Enable global default dir layout for subdirs in Lustre 2019-09-02 22:26:12 -07:00
.travis.yml Spelling fixes (found by codespell) 2020-07-03 09:16:30 +02:00
AUTHORS modernize configure 2017-10-19 15:18:39 -06:00
COPYRIGHT Numerous changes to file-modes, small build-tweaks, and a tweak to aiori-S3.c 2015-05-19 09:36:28 -06:00
META Increased version number in preparation of a new release. 2020-06-24 09:23:01 +01:00
Makefile.am fix various issues related to release packages 2018-09-21 18:35:48 -04:00
NEWS Spelling fixes (found by codespell) 2020-07-03 09:16:30 +02:00
README.md Spelling fixes (found by codespell) 2020-07-03 09:16:30 +02:00
README_DAOS DAOS backend cleanup (#266) 2020-11-03 10:01:09 +00:00
README_S3 Numerous changes to file-modes, small build-tweaks, and a tweak to aiori-S3.c 2015-05-19 09:36:28 -06:00
bootstrap modernize configure 2017-10-19 15:18:39 -06:00
configure.ac DAOS backend cleanup (#266) 2020-11-03 10:01:09 +00:00
travis-build.sh fix various issues related to release packages 2018-09-21 18:35:48 -04:00
travis-test.sh compile correctly with -std=c99 2018-10-08 13:47:28 -07:00

README.md

HPC IO Benchmark Repository Build Status

This repository contains the IOR and mdtest parallel I/O benchmarks. The official IOR/mdtest documentation can be found in the docs/ subdirectory or on Read the Docs.

Building

  1. If configure is missing from the top level directory, you probably retrieved this code directly from the repository. Run ./bootstrap to generate the configure script. Alternatively, download an official IOR release which includes the configure script.

  2. Run ./configure. For a full list of configuration options, use ./configure --help.

  3. Run make

  4. Optionally, run make install. The installation prefix can be changed via ./configure --prefix=....

Testing

  • Run make check to invoke the unit tests.
  • More comprehensive functionality tests are included in testing/. These scripts will launch IOR and mdtest via MPI.
  • Docker scripts are also provided in testing/docker/ to test various distributions at once.