#!/bin/bash #=======================================# # Author: Moreno 'baro' Baricevic # # # # File: bonnie.sh # # Date: 08-10-2003 # #---------------------------------------# Prev_Modified='08-10-2003' # Prev_Modified='13-10-2003' # Last_Modified='14-10-2003' # #=======================================# VERSION=$Last_Modified BONNIE="bonnie++" FORCE_MIG=0 NUM_NODES=5 let MAX_JOBS=$NUM_NODES*2 function Usage() { echo >&2 "$0: EXP_NAME N_JOBS" echo >&2 "(N_JOBS <= $MAX_JOBS)" exit -1 } function check() { PRG="$1" while true do clear oM_info.sh $PRG sleep 1 done } test -z "$1" -o -z "$2" && Usage test ! -z "$(echo "$2" | sed 's/[0-9]//g' )" && Usage test $2 -gt $MAX_JOBS && Usage EXP_NAME="$(echo $1 | sed "s/[^a-zA-Z0-9\-_\+,\.]/_/g")" [ "`id -u`" = 0 ] && FLAG="-u nobody:nogroup" || FLAG="" trap '{ echo >&2 "CTRL-C, killing $BONNIE" ; killall $BONNIE ; exit -1 ; }' 2 nodo=0 for i in `seq 1 $2` do if [ $2 -gt 5 ] then let nodo=($i+1)/2 else nodo=$i fi echo run.$i, nodo $nodo CMD="./bin/$BONNIE -d /mfs/$nodo/local_scratch/ -s 2000 -r1000 -b $FLAG" if [ "$FORCE_MIG" = "1" ] then mosrun -$nodo $CMD >out/$EXP_NAME.$i 2>&1 & else $CMD >out/$EXP_NAME.$i 2>&1 & fi done sleep 1 check $BONNIE echo -n "Waiting children..." wait echo #EOF