VI4IO / io500-app

Development version of the new IO-500 Application
MIT License
18 stars 11 forks source link

posix.odirect option is infecting all sections of test for script #25

Closed carlilek closed 4 years ago

carlilek commented 4 years ago

Having posix.odirect=True in the [ior_hard] section of the ini file results in the --posix.odirect flag being applied to ior_easy and mdtest_easy tests as well, but only in the Bash script run, not the C script.

Evidence: config.ini:

  2 # The directory where the IO500 runs
  3 datadir = ./datadir
  4 # The data directory is suffixed by a timestamp. Useful for running several IO500 tests concurrently.
  5 timestamp-datadir = TRUE
  6 # The result directory.
  7 resultdir = ./results
  8 # The result directory is suffixed by a timestamp. Useful for running several IO500 tests concurrently.
  9 timestamp-resultdir = TRUE
 10 # The API to create/delete the datadir
 11 api = POSIX
 12 # Purge the caches, this is useful for testing and needed for single node runs
 13 drop-caches = FALSE
 14 # Cache purging command, invoked before each I/O phase
 15 drop-caches-cmd = sudo -n bash -c "echo 3 > /proc/sys/vm/drop_caches"
 16 # The verbosity level between 1 and 10
 17 verbosity = 1
 18 
 19 [debug]
 20 # The stonewall timer, set to a smaller value for testing
 21 stonewall-time = 300
 22 
 23 [ior-easy]
 24 # Transfer size
 25 transferSize = 1m
 26 # Block size; must be a multiple of transferSize
 27 blockSize = 50000m
 28 # Create one file per process
 29 filePerProc = TRUE
 30 
 31 [ior-easy-write]
 32 
 33 [mdtest-easy]
 34 # Files per proc
 35 n = 200000
 36 
 37 [mdtest-easy-write]
 38 
 39 [timestamp]
 40 
 41 [ior-hard]
 42 # Number of segments
 43 segmentCount = 1000000
 44 # Use ODirect
 45 posix.odirect = TRUE
 46 
 47 [ior-hard-write]
 48 
 49 [mdtest-hard]
 50 # Files per proc
 51 n = 100000
 52 
 53 [mdtest-hard-write]

ior_easy_write (C app): Command line : ./ior -C -Q 1 -g -G 271 -k -e -o ./datadir/2020.06.25-19.20.40-app/ior-easy/ior_file_easy -O stoneWallingStatusFile=./datadir/2020.06.25-19.20.40-app/ior-easy/stonewall -t 1m -b 50000m -F -w -D 300 -O stoneWallingWearOut=1 -a POSIX

ior_easy_write (BASH script): Command line : /io500/io500-isc20v2/io500-app/bin/ior -w -a POSIX -t 1m --posix.odirect -v -b 50000m -F -i 1 -C -Q 1 -g -G 27 -k -e -o ./datadir/2020.06.25-19.20.40-scr/ior_easy/ior_file_easy -O stone WallingStatusFile=./datadir/2020.06.25-19.20.40-scr/ior_easy/stonewall -O stoneWallingWearOut=1 -D 300

JulianKunkel commented 4 years ago

Thanks for reporting. One solution while the script is used is well to add the option directly to the respective API. you could have: [ior-hard] api = POSIX --posix.odirect

That should work.

jbd commented 4 years ago

That should work.

Indeed !

adilger commented 4 years ago

The SC'20 version (at IO500/io500) is no longer using the bash script, so this problem is no longer relevant.