The latest IO500 source code is available from Github:
$ git clone https://github.com/IO500/io500.git -b io500-isc21
$ cd io500
A video with the installation procedure is here.
Modify the existing io500.sh script to
include the information necessary for your scheduler. Provide
enough execution time (typically, 2h is enough for a full run) and
adjust the reserved resources if needed:
- The variables io500_mpirun and io500_mpiargs should be set according to your system and test case.
- The setup() section may optionally contain commands to create only the top-level test directories under $workdir for the ior-hard/easy and mdtest-hard/easy test phases.
- You can add system-specific information to the script, otherwise you can provide this when uploading the results. The info-creator helps to create the required output.
Create a new .ini file.
- The existing template config-minimal.ini provides the minimum options that you need to change.
- We recommend to test your configuration first, the config-debug-run.ini shows how to setup a 1 second run. Note that the results will be invalid but it is useful to see that everything works as intended.
- You can create a new file with all available options using e.g. ./io500 --list > myconfig.ini.
- [global] datadir (directory where test files will be created)
- [global] resultdir (directory where result files will be written)
- [global] api (storage interface to use, if not POSIX)
- [ior-easy] blocksize (maximum data written per rank to a separate file)
- [ior-hard] segmentCount (maximum segments written per rank)
- [mdtest-easy] n (maximum number of files created per rank)
- [mdtest-hard] n (maximum number of files created per rank)
- Any modifications to runtime tunables may only be made according to the IO500 Submission Rules.
- Execute "io500.sh myconfig.ini" directly or via a batch job submission.
- Check the resulting output, and verify that none of the results in $resultdir/result_summary.txt are marked [INVALID] (e.g. because of a runtime below 300s, or other error). There must also be a SCORE line at the end, and it cannot be marked [INVALID] (e.g. due to to a failed or missing required test phase).
- At any time, you many create a description for your hardware and software environment and save it using the info-creator tool. You will be asked at submission time to provide the information and can make any final changes.
- We are testing scripts to automatically capture information from your live system and integrate it into the system description. After you run ./prepare.sh you will find in the directory schema-tools all the available scripts. These can be run on your json, for example: ./schema-tools/cdcl_add_osinfo.py system-information.json will add the information about your operating system to the system-information.json that you may want to submit. You can upload/download the JSON to the info creator anytime, verifying the changes you make. A script may support to configure a specific file system or node, useful particularly if you have multiple different node configurations.
- Submit your results, see the submission page.
A video with the execution and tuning procedure is here.