forked from ls4154/YCSB-cpp
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtest.sh
executable file
·79 lines (74 loc) · 4.19 KB
/
test.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
#!/bin/bash
# Download and compile the origin rocksdb
if [ ! -e ../rocksdb-8.9.1/librocksdb.so.8.9 ]; then
./download_and_compile_default_rocksdb.sh
fi
# Compile the Mnemosyne
if [ ! -e ../skew-aware-rocksdb-8.9.1/librocksdb.so.8.9 ]; then
cd ../skew-aware-rocksdb-8.9.1
make clean && make -j 32
cd -
fi
workload_types=("a" "b" "c" "d" "f")
runs=3
fieldlength=9
field_len_dist="uniform"
operationcount=3000000
recordcount=30000000
#operationcount=100000
#recordcount=100000
dynamic_cmpct="true"
#block_cache_size=419430400
block_cache_size=209715200
#block_cache_size=104857600
#block_cache_size=536870912
#block_cache_size=2684354560
bpk=4
threads=16
methods=("mnemosyne-plus" "mnemosyne" "default")
#methods=("default")
# Remember to specify your database path here to use a dedicated storage device
DB_HOME="/data/ycsb_working_home/"
#DB_HOME="./"
DB_HOME="/scratchNVM1/zczhu/test_db_dir2/ycsb_working_home"
cp rocksdb/rocksdb.properties rocksdb/rocksdb.origin_properties
sed -i "s|rocksdb\.dbname=.*|rocksdb.dbname=${DB_HOME}|g" rocksdb/rocksdb.properties
mkdir -p "exp"
for i in `seq 1 ${runs}`
do
mkdir -p "exp/run${i}"
for method in ${methods[@]}
do
cp rocksdb/options.ini rocksdb/origin_options.ini
cp rocksdb/options-exp-${method}.ini rocksdb/options.ini
sed -i "s|block_cache={capacity=33554432}|block_cache={capacity=${block_cache_size}}|g" rocksdb/options.ini
sed -i "s|level_compaction_dynamic_level_bytes=true|level_compaction_dynamic_level_bytes=${dynamic_cmpct}|g" rocksdb/options.ini
for workload_type in ${workload_types[@]}
do
cp workloads/workload${workload_type} workloads/workload-temp
echo "fieldlength=${fieldlength}" >> workloads/workload-temp
echo "field_len_dist=${field_len_dist}" >> workloads/workload-temp
sed -i "s/operationcount=100000/operationcount=${operationcount}/g" workloads/workload-temp
sed -i "s/recordcount=100000/recordcount=${recordcount}/g" workloads/workload-temp
sed -i "s/bloomfilter:5:false/bloomfilter:${bpk}:false/g" rocksdb/options.ini
if [ ${method} == "default" ]; then
make clean && make EXTRA_CXXFLAGS="-I../rocksdb-8.9.1/include" EXTRA_LDFLAGS="-L../rocksdb-8.9.1 -ldl -lz -lsnappy -lzstd -lbz2 -llz4"
echo "LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../rocksdb-8.9.1 ./ycsb -load -run -db rocksdb -threads ${threads} -P workloads/workload-temp -P rocksdb/rocksdb.properties -s -p status.interval=120 | tee "exp/run${i}/${method}_workload${workload_type}_ycsb_result.txt""
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../rocksdb-8.9.1 ./ycsb -load -run -db rocksdb -threads ${threads} -P workloads/workload-temp -P rocksdb/rocksdb.properties -s -p status.interval=120 > "exp/run${i}/${method}_workload${workload_type}_ycsb_result.txt"
make clean && make EXTRA_CXXFLAGS="-I../skew-aware-rocksdb-8.9.1/include" EXTRA_LDFLAGS="-L../skew-aware-rocksdb-8.9.1 -ldl -lz -lsnappy -lzstd -lbz2 -llz4"
else
sed -i "s|max_bits_per_key_granularity=5|max_bits_per_key_granularity=${bpk}|g" rocksdb/options.ini
echo "LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../skew-aware-rocksdb-8.9.1 ./ycsb -load -run -db rocksdb -threads ${threads} -P workloads/workload-temp -P rocksdb/rocksdb.properties -s -p status.interval=120 > "exp/run${i}/${method}_workload${workload_type}_ycsb_result.txt""
#LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../skew-aware-rocksdb-8.9.1 ./ycsb -load -db rocksdb -threads ${threads} -P workloads/workload-temp -P rocksdb/rocksdb.properties -s -p status.interval=120 > "exp/run${i}/${method}_workload${workload_type}_ycsb_result.txt"
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../skew-aware-rocksdb-8.9.1 ./ycsb -load -run -db rocksdb -threads ${threads} -P workloads/workload-temp -P rocksdb/rocksdb.properties -s -p status.interval=120 > "exp/run${i}/${method}_workload${workload_type}_ycsb_result.txt"
fi
grep -A60 "DUMPING STATS" ${DB_HOME}/LOG > exp/run${i}/${method}_workload${workload_type}_ycsb_dumped_stats.txt
mv ${DB_HOME}/LOG exp/run${i}/${method}_workload${workload_type}_ycsb_LOG.txt
cat workloads/workload-temp > "exp/run${i}/workload${workload_type}.txt"
rm workloads/workload-temp
rm ${DB_HOME}/*
done
mv rocksdb/origin_options.ini rocksdb/options.ini
done
done
mv rocksdb/rocksdb.origin_properties rocksdb/rocksdb.properties