Commit Graph

48 Commits (36d13d3b972766780e9d7e4c172bb85e756b7c88)

Author SHA1 Message Date
Petros Koutoupis 36d13d3b97 Enable global default dir layout for subdirs in Lustre 2019-09-02 22:26:12 -07:00
Mohamad Chaarawi e9dd5fe15e Merge branch 'master' into daos-devel
Signed-off-by: Mohamad Chaarawi <mohamad.chaarawi@intel.com>

Conflicts:
	configure.ac
	src/Makefile.am
	src/aiori-MPIIO.c
	src/aiori.c
	src/aiori.h
	src/ior.c
	src/mdtest.c
	src/option.c
2019-09-09 19:55:56 +00:00
Osamu Tatebe a822363ee0 style fix 2019-06-22 10:48:41 +09:00
Osamu Tatebe 6cae44b512 abstract I/O interface for Gfarm file system 2019-06-21 21:05:41 +09:00
Mohamad Chaarawi 4a788a0c23 re-write the DAOS IOR driver to use the Array API
Signed-off-by: Mohamad Chaarawi <mohamad.chaarawi@intel.com>
2019-03-30 19:11:44 +00:00
Mohamad Chaarawi 2c87b5e0f5 Merge remote-tracking branch 'upstream/master' into daos
Signed-off-by: Mohamad Chaarawi <mohamad.chaarawi@intel.com>

Conflicts:
	src/aiori.c
	src/aiori.h
	src/ior.c
	src/mdtest-main.c
	src/mdtest.c
	src/option.c
2019-01-24 00:31:12 +00:00
Andreas Dilger 1f217ae48c lustre: fix checks for lustre_user.h header
Fix the configure check if --with-lustre is specified, but
the linux/lustre/lustre_user.h header is not present.  Only
one of the headers needs to be included if both are found.

In some cases, FASYNC is not defined, but forms part of the
O_LOV_DELAY_CREATE value, add a #define in that case.

Fixes #115.

Fixes: cb88c4c19a831d94b864c49a162e2635730540e5
Signed-off-by: Andreas Dilger <adilger@dilger.ca>
2018-12-14 16:45:43 -07:00
Julian M. Kunkel 5a8071fbd8 GNU99 extracted _XOPEN_SOURCE to config.h. 2018-10-28 18:34:22 +00:00
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
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
Mohamad Chaarawi 46ff4e26be Merge remote branch 'daos-stack/daos'
Signed-off-by: Mohamad Chaarawi <mohamad.chaarawi@intel.com>

Conflicts:
	configure.ac
	src/Makefile.am
	src/aiori.c
	src/aiori.h
	src/ior.c
	src/mdtest.c
	src/parse_options.c
2018-08-29 21:14:19 +00: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
Mohamad Chaarawi f4b03efd72 Add the DAOS ior driver.
Signed-off-by: Mohamad Chaarawi <mohamad.chaarawi@intel.com>
2018-08-27 17:22:38 +00:00
Jean-Yves VET 44ce8e5aaf Add backend for DDN's Infinite Memory Engine (IME)
This patch adds the support of IME Native interface
as a new AIORI backend.
2018-08-07 11:41:07 +01:00
Julian M. Kunkel bd253cf058 Added compilation test for HDF5. 2018-07-14 11:23:43 +01:00
Julian M. Kunkel ac7600d662 Unit-test with automake for library version. Minor fix for library version. 2018-07-14 10:27:31 +01:00
Julian M. Kunkel 19a0102181 Silencing makefile by default. 2018-07-14 06:50:55 +01:00
Julian Kunkel 060c47e80a
Merge branch 'testing' into rados-hacks 2018-07-12 15:53:04 +01:00
Shane Snyder 7981691a63 add a new AIORI backend for RADOS
inform aiori interface about RADOS backend

stubbed out aiori backend for rados

additions to get RADOS backend compiling/linking

first cut at rados create/open patha

make sure to return RADOS oid on open/create

implement rados xfer path for WRITE

refactor + implement getfilesize and close

remember to use read_op interface for stat

implement RADOS delete function

don't error in RADOS_Delete for now

implement RADOS set_version

handle open/create flags appropriately

cleanup RADOS error handling

implement read/readcheck/writecheck for RADOS

rados doesn't support directio

implement unsupported aiori ops for RADOS

implement RADOS access call

define rados types if no rados support
2018-07-12 09:36:49 -05:00
Julian M. Kunkel bcaea2a39f Replaced getopt with an alternative version (on some machines optind was broken). 2018-07-07 08:41:33 +01:00
Julian M. Kunkel 2148f68d36 Allow to use README.md instead of README. 2018-07-06 22:42:46 +01:00
Mohamad Chaarawi 1768eff552 update DFS plugin
Signed-off-by: Mohamad Chaarawi <mohamad.chaarawi@intel.com>
2018-06-20 21:25:22 +00:00
Mohamad Chaarawi 8d0cddd21e Add DFS ior/mdtest driver
Signed-off-by: Mohamad Chaarawi <mohamad.chaarawi@intel.com>
2018-06-13 18:37:37 +00:00
Li Dongyang 6ba22a19e4 Add mmap as a new AIORI backend
It shares the create/open/delete/set_version/get_file_size
functions with POSIX backend.
The mmap backend also supports fsync and fsyncPerWrite options,
and it will use msync() instead and fsync().

Signed-off-by: Li Dongyang <dongyangli@ddn.com>
2018-05-11 12:13:42 +10:00
Ian Kirker 1dce7ffdb6 Hardens test for MPI
Previously, the configure script could fail to find an MPI
implementation but continue regardless. This alters the behaviour so
that the configure script fails if the check for MPI does.
2017-11-22 20:13:53 +00:00
Glenn K. Lockwood b0bffa0d0e fix for ac < 2.67; untested, but doesn't break newer autoconfs 2017-11-22 11:27:18 -08:00
Nathan Hjelm 0c9921dc0d aiori: remove support for plfs
Remove support for plfs by recommendation of its original author.

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2017-10-19 15:29:18 -06:00
Nathan Hjelm 4dc0081628 First cut at using the IOR backends for mdtest
This commit makes changes to the AIORI backends to add support for
abstacting statfs, mkdir, rmdir, stat, and access. These new
abstractions are used by a modified mdtest. Some changes:

 - Require C99. Its 2017 and most compilers now support C11. The
   benefits of using C99 include subobject naming (for aiori backend
   structs), and fixed size integers (uint64_t). There is no reason to
   use the non-standard long long type.

 - Moved some of the aiori code into aiori.c so it can be used by both
   mdtest and ior.

 - Code cleanup of mdtest. This is mostly due to the usage of the IOR
   backends rather than a mess of #if code.

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2017-10-19 15:29:12 -06:00
Nathan Hjelm 77590f4e50 modernize configure
This commit modernizes the configury and ensures make dist
works.

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
2017-10-19 15:18:39 -06:00
Oliver Steffen 738190bd79 add support for tuning BeeGFS parameters 2017-10-04 14:14:36 +02:00
Glenn K. Lockwood 86c9ab7d1c add an explicit --without-gpfs for environments with incomplete libgpfs support 2017-04-28 09:12:41 -07:00
Rob Latham efac1520c3 Add gpfs libraries if needed
Commit aa604c1d38 introduced gpfs_fcntl
operations, depending if gpfs.h and gpfs_fcntl.h were found.  These
routines need the GPFS client library.  This configure check will bring
in libgpfs -- you will still need to set LDFLAGS and CPPFLAGS if gpfs is
installed in some non-default locaiton (as it is on Blue Gene).

fixes https://github.com/chaos/ior/issues/15
2015-12-07 15:30:58 -06:00
Jeff Inman 37738dab26 Numerous changes to file-modes, small build-tweaks, and a tweak to aiori-S3.c
(Only rank-0 should create the bucket, if it doesn't already exist.)

Prepping this for a push (as an experimental S3 build) to github.
2015-05-19 09:36:28 -06:00
Jeffrey Thornton Inman 2f066624f0 S3 with Multi-Part Upload for N:1 is working.
Testing on our EMC ViPR installation.  Therefore, we also have available
some EMC extensions.  For example, EMC supports a special "byte-range"
header-option ("Range: bytes=-1-") which allows appending to an object.
This is not needed for N:1 (where every write creates an independent part),
but is vital for N:N (where every write is considered an append, unless
"transfer-size" is the same as "block-size").

We also use a LANL-extended implementation of aws4c 0.5, which provides
some special features, and allows greater efficiency.  That is included in
this commit as a tarball.  Untar it somewhere else and build it, to produce
a library, which is linked with IOR.  (configure with --with-S3).

TBD: EMC also supports a simpler alternative to Multi-Part Upload, which
appears to have several advantages.  We'll add that in next, but wanted to
capture this as is, before I break it.
2014-10-27 13:29:44 -06:00
Jeff Inman 0be8973c0e Initial commit of the new aiori-HDFS module.
This provides an HDFS back-end, allowing IOR to exercise a Hadoop
Distributed File-System, plus corresponding changes throughout, to
integrate the new module into the build.  The commit compiles at LANL, but
hasn't been run yet.  We're currently waiting for some configuration on
machines that will eventually provide HDFS.  By default, configure ignores
the HDFS module.  You have to explicitly add --with-hdfs.
2014-08-13 17:02:43 -06:00
Rob Latham aa604c1d38 Teach IOR about GPFS hints (gpfs_fcntl)
GPFS supports a "gpfs_fcntl" method for hinting various things,
including "i'm about to write this block of data".  Let's see if, for
the cost of a few system calls, we can wrangle the GPFS locking system
into allowing concurrent access with less overhead. (new IOR parameter
gpfsHintAccess)

Also, drop all locks on a file immediately after open/creation in the
shared file case, since we know all processes will touch unique regions
of the file.  It may or may not be a good idea to release all file locks
after opening.  Processes will then have to re-acquire locks already
held.   (new IOR parameter gpfsReleaseToken)
2013-10-03 18:07:49 -07:00
Christopher J. Morrone 84264657fb Remove AC_FUNC_MALLOC from configure.ac
Removing AC_FUNC_MALLOC from configure.ac, to allow compilation
on BG/P systems.  This check can fail in cross-compilation environments,
which unnecessarily forces autoconf to require an rpl_malloc()
replacement for malloc().  We could implement the conditional addition
of rpl_malloc(), but removing AC_FUNC_MALLOC is a quite work-around.

fixes #4
2012-09-12 14:43:16 -07:00
Christopher J. Morrone 253941fc6c Fix "make dist" 2012-01-08 20:31:01 -08:00
Christopher J. Morrone edd3d1a038 Add autoconf version requirement 2011-11-29 13:09:54 -08:00
Christopher J. Morrone 7cbdd75e6c Add an --enable-caps configure option.
If you must have the binary named "IOR" in all caps, use
the --enable-caps configure option.
2011-11-09 17:38:34 -08:00
Christopher J. Morrone 3b250633cc Use autoconf to check for lustre 2011-11-09 14:14:14 -08:00
Christopher J. Morrone 29457fac9f Use autoconf to link against the math library. 2011-11-02 17:49:43 -07:00
Christopher J. Morrone 44dfa2d95c Move cbif to the contrib directory.
Also mark it "noinst" in automake.
2011-11-02 17:36:32 -07:00
Christopher J. Morrone ea7f987d80 Include the docs as "DATA" 2011-10-27 19:07:59 -07:00
Christopher J. Morrone 01c91e45d3 Make IOR get its version from a META file. 2011-10-27 18:46:30 -07:00
Christopher J. Morrone 08d5629302 Rename IOR.[ch] to ior.[ch]. I don't like CAPS. 2011-10-27 18:46:29 -07:00
Christopher J. Morrone ca832bb46e Give ior a more reasonable plugin system. 2011-10-27 18:46:18 -07:00
Christopher J. Morrone 02fda88fd0 Begin conversion to autoconf 2011-10-27 17:45:09 -07:00