IOR Tests
Jump to navigation
Jump to search
IOR Performance 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