Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Warning
titleIME and metadata

IME performance for directory/metadata operations is slower than /scratch (it is not the place to extract or copy millions of files).  Do those operations (rsync, tar, etc) in /scratch.

To get additional benefit performance from the IME software features without changing IO routines, use the posix2ime library by ld preload(LD_PRELOAD'd), to intercept standard Posix IO calls with IME API calls.  We have included a module "posix2ime" that  that does this for you (read more about posix2ime below).

...

The posix2ime module is available and loading it will LD_PRELOAD the library for your shell or batch script and all subsequent commands.  The library is described at: DDNStorage/posix_2_ime: POSIX to IME Native API (github.com)

Info
titleposix2ime requires dedicated nodes
At this time, use of the posix2ime library requires dedicated ( #SBATCH --exclusive ) nodes for your job script or srun command.


Code Block
titleposix2ime work in progress
linenumberstrue
#!/bin/bash 
#SBATCH --mem=64g
#SBATCH --nodes=4
#SBATCH --ntasks-per-node=4
#SBATCH --exclusive
#SBATCH --cpus-per-task=16
#SBATCH --partition=cpu
#SBATCH --account=bbka-delta-cpu
#SBATCH --time=00:15:00
#SBATCH --job-name=posix2ime-ior-dedicated
 
BFS_DIR=/scratch/bbka/arnoldg/ime_example
IME_DIR=/ime/bbka/arnoldg/ime_example
SAMPLE_INPUT_FILE=myinputfile
 
# do many-files operations in /scratch before 
# using ime: cd $BFS_DIR; tar xvf inputbundle.tar ...

# bring the scratch directory into IME
ime-ctl --recursive --block --prestage $IME_DIR

# run the job/workflow in IME
# do serialized commands (avoiding many-files types of operations)
cd $IME_DIR
stat $SAMPLE_INPUT_FILE

# Use posix2ime for large block and/or parallel i/o 
module load posix2ime
time srun /u/arnoldg/ior/src/ior -F -b64m
# turn off posix2ime
unset LD_PRELOAD  # turns off posix2ime module

# synchronize IME back out to the Scratch directory ( $BFS_DIR )
ime-ctl --recursive --block --sync $IME_DIR

exit

...