ddn-ime-evaluation/run.sh

105 lines
2.4 KiB
Bash
Raw Normal View History

2018-10-19 15:15:42 +00:00
#!/bin/bash
function force_exit {
echo "Committing suicide (PID $$)"
exit
}
trap force_exit SIGINT
2018-10-21 16:22:48 +00:00
# HOST_LIST=( \
##isc17-c01 \
#isc17-c02 \
#isc17-c03 \
#isc17-c04 \
#isc17-c05 \
#isc17-c06 \
#isc17-c07 \
#isc17-c09 \
#isc17-c11 \
#isc17-c12 \
##isc17-c13 \
##isc17-c14 \
##isc17-c15 \
##isc17-c18 \
##isc17-c20 \
##isc17-c22 \
##isc17-c23 \
#)
# isc17-c19 offline
# isc17-c10 offline
# isc17-c08 MPI problems
2018-10-19 15:15:42 +00:00
# Provides a list of good hosts (that contains QDR connection)
function hosts() {
num="$1"
2018-10-21 16:22:48 +00:00
HOST_LIST=( isc17-c02 isc17-c04 isc17-c03 isc17-c05 isc17-c06 isc17-c07 isc17-c08 isc17-c09 isc17-c11 isc17-c12 isc17-c13 isc17-c14 isc17-c15 isc17-c18 isc17-c22 isc17-c01)
2018-10-19 15:43:07 +00:00
hlist=${HOST_LIST[0]}
for POS in $(seq 1 $(($num - 1))) ; do
2018-10-19 15:15:42 +00:00
hlist="$hlist,${HOST_LIST[$POS]}"
done
echo $hlist
}
2018-10-21 16:22:48 +00:00
#export MODULEPATH=/gsfs/betke/software/modules:$MODULEPATH
export MODULEPATH=/esfs/jtacquaviva/software/modules:$MODULEPATH
2018-10-19 15:15:42 +00:00
module purge
module load betke/hdf5/1.8.20-ddn
module load betke/ior/git-ddn
module list
2018-10-21 16:22:48 +00:00
LUSTRE_TESTFILE="/esfs/jtacquaviva/iorperf/file2"
2018-10-19 15:15:42 +00:00
ITERATIONS=3
IOR="$(which ior)"
MPIEXEC="/opt/ddn/mvapich/bin/mpiexec"
2018-10-21 16:22:48 +00:00
NN_ARR=(2)
PPN_ARR=( 1 8 6 4 2 )
#T_ARR=( $((16*1024)) $((100*1024)) $((1024*1024)) $((10240*1024)) )
T_ARR=( $((1024*1024)) $((10240*1024)) )
2018-10-19 15:15:42 +00:00
API_ARR=("MPIIO" "POSIX")
2018-10-19 15:57:40 +00:00
for COUNT in $(seq 1); do
2018-10-19 15:15:42 +00:00
for NN in ${NN_ARR[@]}; do
for PPN in ${PPN_ARR[@]}; do
for T in ${T_ARR[@]}; do
for API in ${API_ARR[@]}; do
BENCHFILE="./output/COUNT:$COUNT#NN:$NN#PPN:$PPN#API:$API#T:$T.txt"
if [ ! -e "${BENCHFILE}" ]; then
OUTDIR="$(dirname $BENCHFILE)"
if [ ! -d $OUTDIR ]; then
mkdir $OUTDIR
fi
touch $BENCHFILE
2018-10-21 16:22:48 +00:00
IOR_PARAMS="-i $ITERATIONS -s 1 -t $T -b $((132 * 1024 * 1024 * 1020 / $PPN)) -o $LUSTRE_TESTFILE -a $API -e -g -z -k"
MPIEXEC_PARAMS=" -ppn $PPN -np $(($NN * $PPN)) --hosts $(hosts $NN)"
2018-10-19 15:15:42 +00:00
TESTDIR="$(dirname $LUSTRE_TESTFILE)"
if [ -d $TESTDIR ]; then
2018-10-21 16:22:48 +00:00
rm -r $TESTDIR
2018-10-19 15:15:42 +00:00
fi
mkdir -p $TESTDIR
lfs setstripe -c $((2 * $NN)) $TESTDIR
2018-10-19 15:43:07 +00:00
set -x
2018-10-19 15:15:42 +00:00
$MPIEXEC $MPIEXEC_PARAMS $IOR $IOR_PARAMS -w | tee -a $BENCHFILE
$MPIEXEC $MPIEXEC_PARAMS $IOR $IOR_PARAMS -r -D $((5*60)) | tee -a $BENCHFILE
2018-10-19 15:43:07 +00:00
set +x
2018-10-19 15:15:42 +00:00
rm $LUSTRE_TESTFILE
lfs getstripe $TESTDIR | tee -a $BENCHFILE
else
echo "skip $(readlink -f $BENCHFILE), already exists"
fi
done
done
done
done
done