IOR Tests

Streaming
mpirun -np {NP} -wd {Working Dir} -machinefile {Machine File} {IOR Pathname}/IOR -v -a POSIX -i5 -g -e -w -r -b {FileSize}g -T 10 -F -C -t 4m

Random I/O
mpirun -np {NP} -wd {Working Dir} -machinefile {Machine File} {IOR Pathname}/IOR -v -a POSIX -i5 -g -e -w -r -b {FileSize}g -T 10 -F -z -t 4k

Where: {NP} is Total number of threads in the test {Working Dir} is the directory where files get created {Machine File} is a list of clients involved in the test, this is either created by hand, or by a scheduler {IOR Pathname} The full path to IOR, this must be accessible on all clients {FileSize} The size of the file each thread will use. This should be a multiple of client memory, to prevent cache effects.

A List of IOR Options
-A N testNum -- test number for reference in some output -a S api --  API for I/O [POSIX|MPIIO|HDF5|NCMPI] -b N blockSize -- contiguous bytes to write per task  (e.g.: 8, 4k, 2m, 1g) -B   use O_DIRECT -- uses O_DIRECT for POSIX, bypassing I/O buffers -c   collective -- collective I/O -C   reorderTasks -- changes task ordering to n+1 ordering for readback -Q N taskPerNodeOffset for read tests use with -C & -Z options (-C constant N, -Z at least N) [!HDF5] -Z   reorderTasksRandom -- changes task ordering to random ordering for readback -X N reorderTasksRandomSeed -- random seed for -Z option -d N interTestDelay -- delay between reps in seconds -D N deadlineForStonewalling -- seconds before stopping write or read phase -Y   fsyncPerWrite -- perform fsync after each POSIX write -e   fsync -- perform fsync upon POSIX write close -E   useExistingTestFile -- do not remove test file before write access -f S scriptFile -- test script name -F   filePerProc -- file-per-process -g   intraTestBarriers -- use barriers between open, write/read, and close -G N setTimeStampSignature -- set value for time stamp signature -h   showHelp -- displays options and help -H   showHints -- show hints -i N repetitions -- number of repetitions of test -I   individualDataSets -- datasets not shared by all procs [not working] -j N outlierThreshold -- warn on outlier N seconds from mean -J N setAlignment -- HDF5 alignment in bytes (e.g.: 8, 4k, 2m, 1g) -k   keepFile -- don't remove the test file(s) on program exit -K   keepFileWithError  -- keep error-filled file(s) after data-checking -l   storeFileOffset -- use file offset as stored signature -m   multiFile -- use number of reps (-i) for multiple file count -n   noFill -- no fill in HDF5 file creation -N N numTasks -- number of tasks that should participate in the test -o S testFile -- full name for test -O S string of IOR directives (e.g. -O checkRead=1,lustreStripeCount=32) -p   preallocate -- preallocate file size -P   useSharedFilePointer -- use shared file pointer [not working] -q   quitOnError -- during file error-checking, abort on error -r   readFile -- read existing file -R   checkRead -- check read after read -s N segmentCount -- number of segments -S   useStridedDatatype -- put strided access into datatype [not working] -t N transferSize -- size of transfer in bytes (e.g.: 8, 4k, 2m, 1g) -T N maxTimeDuration -- max time in minutes to run tests -u   uniqueDir -- use unique directory name for each file-per-process -U S hintsFileName -- full name for hints file -v   verbose -- output information (repeating flag increases level) -V   useFileView -- use MPI_File_set_view -w   writeFile -- write file -W   checkWrite -- check read after write -x   singleXferAttempt -- do not retry transfer if incomplete -z   randomOffset -- access is to random, not sequential, offsets within a file