Updates to run microbenchmarks against S3 us-west.
[bluesky.git] / microbench / run2.sh
1 #!/bin/bash
2
3 PARAMS="BLUESKY_CACHE_SIZE BLUESKY_TARGET BENCH_DURATION BENCH_FILESIZE BENCH_FILECOUNT BENCH_WRITERATIO BENCH_THREADS BENCH_OPS BENCH_INTERVALS BENCH_DIRSIZE BENCH_BLOCKSIZE NFS_BLOCKSIZE"
4
5 BENCHER=c09-44.sysnet.ucsd.edu
6 PROXY=c09-45.sysnet.ucsd.edu
7
8 SSH_ARGS=""
9
10 get_params() {
11     for p in $PARAMS; do
12         if [ -n "${!p}" ]; then
13             echo "$p=${!p}"
14         fi
15     done
16 }
17
18 run_cmd() {
19     host="$1"; shift
20     cmd="$1"; shift
21     echo "EXECUTE($host):" "$cmd" "$@" 1>&2
22     ssh $SSH_ARGS -l root $host /scratch/bluesky.git/microbench/setup/$cmd "$@" $(get_params)
23 }
24
25 BLUESKY_CACHE_SIZE=$((512 * 1024))
26 BENCH_FILESIZE=$((1024 * 1024))
27 BENCH_BLOCKSIZE=0
28 BENCH_FILECOUNT=$((62))
29 BENCH_WRITERATIO=0.5
30 BENCH_THREADS=4
31 BENCH_DURATION=120
32 BENCH_INTERVALS=10
33 BENCH_DIRSIZE=128
34 NFS_BLOCKSIZE=1048576
35
36 sizes="128 512 1024 2048 8192"
37 ops_list="2000 1000 500 200 100 50 20 10"
38
39 run_one() {
40     PREFIX=$1
41
42     $HOME/bin/s3-cleanup.py mvrable-bluesky
43     $HOME/bin/s3-cleanup.py mvrable-bluesky-west
44     run_cmd $PROXY cleanup-proxy
45     run_cmd $PROXY run-proxy >$PREFIX.proxy 2>&1 &
46     proxy_pid=$!
47     sleep 10
48     run_cmd $BENCHER prepare-benchmark
49
50     for BENCH_OPS in $ops_list; do
51         sleep 10
52         echo "SETTINGS:" $(get_params)
53         get_params >$PREFIX-$BENCH_OPS.settings
54         run_cmd $BENCHER run-benchmark | tee $PREFIX-$BENCH_OPS.results
55     done
56
57     run_cmd $PROXY stop-proxy
58     echo "Waiting for proxy to stop..."
59     wait $proxy_pid
60 }
61
62 #for size in 128 256 512 768 1024 1536 2048; do
63 #    for filesize in 4 32 256 2048; do
64 run_experiments() {
65 for size in $sizes; do
66     BENCH_FILECOUNT=$(($size * 1024 / ($BENCH_FILESIZE / 1024)))
67
68     BENCH_BLOCKSIZE=32768
69     run_one $BLUESKY_TARGET-$BENCH_WRITERATIO-${size}M-32k
70
71     BENCH_BLOCKSIZE=0
72     run_one $BLUESKY_TARGET-$BENCH_WRITERATIO-${size}M-1024k
73 done
74 }
75
76 BLUESKY_TARGET=s3:mvrable-bluesky-west
77 BENCH_THREADS=4
78
79 for BENCH_WRITERATIO in 0.0 1.0 0.5; do
80     run_experiments
81 done