Spread test files for mixedbench across multiple subdirectories.
[bluesky.git] / microbench / setup / run-benchmark
1 #!/bin/bash
2 #
3 # Start up the NFS server.
4
5
6 # Defaults
7 SERVER=c09-45.sysnet.ucsd.edu
8 MNTDIR=/mnt/bluesky
9
10 BENCH_FILESIZE=$((1 << 12))
11 BENCH_FILECOUNT=$((8))
12 BENCH_WRITERATIO=1.0
13 BENCH_THREADS=8
14 BENCH_DURATION=120
15 BENCH_OPS=100
16 BENCH_INTERVALS=4
17 BENCH_LOCKEDMEM=$((4096 - 256))
18
19 lock_memory() {
20     MEM=$1
21     while [ $MEM -gt 512 ]; do
22         /scratch/bluesky.git/microbench/lockmem 512 &
23         MEM=$(($MEM - 512))
24     done
25     if [ $MEM -gt 0 ]; then
26         /scratch/bluesky.git/microbench/lockmem $MEM &
27     fi
28 }
29
30 # Export any environment variables specified on the command line
31 for e in "$@"; do
32     echo "$e" 1>&2
33     if echo "$e" | grep = >/dev/null; then
34         eval "$e"
35         export ${e%=*}
36     fi
37 done
38
39 # Prepare to run the benchmark
40 lock_memory $BENCH_LOCKEDMEM
41
42 mount -t nfs -o vers=3,tcp,rw,soft,intr $SERVER:/export $MNTDIR
43
44 pushd $MNTDIR >/dev/null
45
46 /scratch/bluesky.git/microbench/mixedbench \
47     $BENCH_FILESIZE \
48     $BENCH_FILECOUNT \
49     $BENCH_WRITERATIO \
50     $BENCH_THREADS \
51     $BENCH_DURATION \
52     $BENCH_OPS \
53     $BENCH_INTERVALS \
54     $BENCH_DIRSIZE
55
56 pkill -TERM lockmem
57
58 popd >/dev/null
59
60 umount -f $MNTDIR