IOR Tests

From OpenSFS Wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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