Commit Graph

298 Commits (87c5c9ef0463e1288059b5f7bfc7dd4100cee2e9)

Author SHA1 Message Date
Glenn K. Lockwood 87c5c9ef04 compile correctly with -std=c99
This patch enables correct compilation on both MacOS and Linux using only
POSIX.1-2008-compliant C with XSI extensions.

Specifically, POSIX.1-2008 is the minimum version because we use strdup(3);
explicit XSI is required to expose putenv from glibc.
2018-10-08 13:47:28 -07:00
Glenn K. Lockwood bd53ce959d update known issues of 3.2.0 release 2018-10-06 09:31:53 -07:00
Julian M. Kunkel 7045295a86 Replaced usleep to nanosleep. 2018-10-06 17:30:00 +01:00
Glenn K. Lockwood 9f56d8b8dd
Merge pull request #89 from DDNStorage/fixwritecheck
Make write verification work even without read test
2018-10-06 09:03:32 -07:00
Julian Kunkel 4f1be703b1
Merge pull request #97 from glennklockwood/issue96
fixes #96
2018-10-06 16:55:05 +01:00
Julian Kunkel c6580dc93b
Merge pull request #99 from glennklockwood/issue87
fixes #87
2018-10-06 16:54:23 +01:00
Julian Kunkel 86726030d3
Merge pull request #100 from glennklockwood/issue95
stop the segfault when an invalid api is specified in configfile
2018-10-06 16:50:55 +01:00
Glenn K. Lockwood a0ef65e61f stop the segfault when an invalid api is specified in configfile 2018-10-05 23:29:21 -07:00
Glenn K. Lockwood d8d4742523 fixes #87
Leading whitespace is stripped from each line of the ior input file.  This
allows indented comments to be treated as comments.  However it does NOT allow
one to specify excessive whitespace inside of the `ior start` and `ior stop`
magic phrases.

Also added a test to catch regressions in this functionality.
2018-10-05 22:50:34 -07:00
Glenn K. Lockwood 3aa3ff10f5 fixes #96
Call MPI_Abort() if MPI is initialized; otherwise just exit()
2018-10-05 22:20:18 -07:00
Julian Kunkel acee84bedc
Merge pull request #88 from roblatham00/hdf5-coll-md
HDF5: option to enable collective metadata
2018-10-02 16:13:05 +01:00
Glenn K. Lockwood 60820da874
Merge pull request #91 from glennklockwood/makedist-fix
fix various issues related to release packages
2018-10-01 21:30:58 -07:00
Julian M. Kunkel 1f1e56c363 Usleep feature added according to Nathan's suggestions. 2018-09-30 10:01:21 +01:00
Julian Kunkel 0a103147ab
Merge pull request #92 from DDNStorage/backend-legacy
Support old legacy name in backends
2018-09-24 11:38:13 +01:00
Jean-Yves VET f472162784 Support old legacy name in backends
Context: Some backends may have used different names in
the past (like IME backend use to be IM). Legacy scripts
may break.

This patch adds a legacy name option in the aiori structure.
Both name and legacy name work to select the interface.
But the following warning is printed if the legacy name is used:

ior WARNING: [legacy name] backend is deprecated use [name] instead.
2018-09-24 11:51:00 +02:00
Glenn K. Lockwood e448ff266d fix various issues related to release packages
- travis now tests the packaged source to detect missing source/headers
- basic tests are less sensitive to the directory from where they are run
- fixed some missing files from the `make dist` manifest
- updated the format of NEWS to work with `make dist`
2018-09-21 18:35:48 -04:00
Julian Kunkel 78fd92267c
Merge pull request #90 from DDNStorage/fixstonewalling
Fix erroneous reported write bandwidth with stonewalling.
2018-09-21 13:20:55 +01:00
Jean-Yves VET 7a7655e959 Fix erroneous write bandwidth with stonewalling
Context: write and read results from the same iteration
use the same length value in Bytes. When stonewalling is
used the size variates depending on the performance of
the access. This leads to wrong max bandwidths reported
for writes as shown in the following example:

    write     10052      ...
    read      9910       ...
    write     10022      ...
    read      9880       ...
    write     10052      ...
    read      9894       ...
    Max Write: 9371.43 MiB/sec (9826.66 MB/sec)
    Max Read:  9910.48 MiB/sec (10391.89 MB/sec)

This patch makes IOR separate variables used for read
and write tests.
2018-09-21 11:43:33 +02:00
Jean-Yves VET 8c727fa99c Simplify and factorize a few functions
This patch factorizes some duplicated code. It also
simplifies the way times are stored to prepare next
patch.
2018-09-21 11:38:44 +02:00
Glenn K. Lockwood 87091dde4c updated metadata for 3.2 2018-09-20 20:38:34 -04:00
Jean-Yves VET f03e7c6778 Make write verification work even without read test
Context: IOR outputs errors when the '-w -W' flags are used
without '-r'. Write a file using with check write option
should be possible even without setting read.

This patch fixes a condition which was introduced for
HDFS to remove RDWR flag in some particular cases.
Write check was set with the write only flag but it
requieres the read flag.
2018-09-20 18:18:48 +02:00
Rob Latham 7d2464f733 HDF5: option to enable collective metadata
In HDF5-1.10 the library has an option to read and write the metadata of a file collectively.  One has to opt-in to this optimization with a property list but particularly at large scale it can have tremendous performance implications.

Further information:
- https://support.hdfgroup.org/HDF5/docNewFeatures/CollMDataIO/RFC-CollectiveMetadataReads.pdf
- https://support.hdfgroup.org/HDF5/doc/RM/RM_H5P.html#Property-SetAllCollMetadataOps
2018-09-20 11:12:08 -05:00
Julian Kunkel e5c8a11769
Merge pull request #83 from DDNStorage/initbackends
Initialize only the required backends
2018-09-19 10:27:11 +01:00
Julian Kunkel 6881138edb
Merge pull request #84 from DDNStorage/fixshortsummary
Fix bug in computing max write and read bandwidths
2018-09-19 10:25:29 +01:00
Jean-Yves VET 2bcaea564e Initialize only the required backends
Context: IOR initializes all available backends. If one
backend fails to initialize IOR cannot be used.

This patch makes IOR initialize only the backends
which will be used. The initialization is done after
that the parameters are checked so that the help message
can still be dispayed is something goes wrong.
2018-09-18 19:24:29 +02:00
Jean-Yves VET 44e8f03917 Fix bug in computing max write and read bandwidths
This patch fixes a bug when computing the maximum
bandwidths in short summary output.
2018-09-18 19:23:36 +02:00
Julian M. Kunkel fd34b08e05 Added patch fix O_DIRECT again. 2018-09-18 16:48:59 +01:00
Julian Kunkel 4c1c121fab
Merge pull request #82 from DDNStorage/backend-issue
Check provided IO API is valid
2018-09-11 09:26:21 +01:00
Jean-Yves VET 151a9daa52 Check provided IO API is valid
Context: IOR gets a segfault if an unsupported API string
is provided.

This patch checks that the I/O backend is supported, otherwise
IOR stops with an error.
2018-09-10 19:16:28 +02:00
Julian M. Kunkel 1a4fd7d095 Fix -i option #81 2018-09-05 09:14:22 +01:00
Julian M. Kunkel 2d42c25f69 Fix issue #79 for the last run in a configuration file. 2018-08-30 15:10:38 +01:00
Julian Kunkel ba2f0330b7
Merge pull request #80 from roblatham00/more-fixes
We are getting there ^-^
2018-08-29 21:09:31 +01:00
Julian M. Kunkel c1f3f485ec Bugfix #79 2018-08-29 21:07:34 +01:00
Rob Latham cb88c4c19a including lustre_user now deprecated
put in a configure test (same one used in ROMIO) in case someone's using
old Lustre client headers
2018-08-28 16:27:21 -05:00
Rob Latham 4a32a2cbb3 fix "number of arguments doesn’t match prototype" error 2018-08-28 16:24:34 -05:00
Julian Kunkel c8e0ebf816
Merge pull request #78 from roblatham00/pnetcdf-fixes
Pnetcdf fixes
2018-08-28 21:09:38 +01:00
Rob Latham 6b782226c7 fix pnetcdf build issues
It does not look like anyone has built the pnetcdf driver in a long time
2018-08-28 14:29:36 -05:00
Rob Latham 982f266a73 clean up hints in HDF5 error cases 2018-08-28 13:30:51 -05:00
Glenn K. Lockwood c9bb4bb7d2
Merge pull request #75 from hpc/testing
Merge testing back into master.  This is a massive diff, so things are bound to have been missed, but most of the substantive changes have been discussed and documented.
2018-08-16 13:28:27 -07:00
Julian M. Kunkel be0b840ddd First attempt to describe new backend options. 2018-08-15 17:13:59 +01:00
Julian M. Kunkel 4dcf36c1a4 Help text now outputs *compiled* APIs. 2018-08-15 17:07:17 +01:00
Julian Kunkel 990a6ccf32
Merge pull request #76 from shanedsnyder/aiori-rados-cleanup
various cleanups for RADOS backend
2018-08-15 16:57:51 +01:00
Shane Snyder bdf8e61dd1 add notes ob how to run IOR against ceph/demo 2018-08-14 17:52:04 -05:00
Shane Snyder fefefa002d make sure to allow fsyncs in RADOS 2018-08-14 17:08:04 -05:00
Shane Snyder dfc86b60b8 add RADOS backend options for pool, config file 2018-08-14 16:56:19 -05:00
Shane Snyder 0ca5f26e84 cleanup RADOS func names and docs 2018-08-14 16:18:35 -05:00
Julian Kunkel dc7187794c
Merge pull request #70 from DDNStorage/fix-ime-backend
Fix compilation of some aiori backends and add new function calls in IME backend
2018-08-10 18:00:37 +01:00
Glenn K. Lockwood 13b885ce21
Merge pull request #71 from DDNStorage/fixwarnings
Fix warnings reported at compilation time
2018-08-09 09:46:24 -07:00
Jean-Yves VET 490a912e6e Add support for new function calls in the IME backend
This patch adds initialize, finalize and stat calls to
the IME backend. statfs, mkdir and rmdir are currently
not supported. This patch also fixes the IME_GetVersion
call.
2018-08-09 13:08:43 +02:00
Jean-Yves VET 9596b4bbe0 Fix compilation of aiori backends requiring external libraries
This patchs makes a few adjustements in the automake file
in order to properly add include and library directories.
Those are required to be able to compile some aiori backends.
2018-08-09 13:08:36 +02:00