Improve scenarios and analysis

This commit is contained in:
Loic Guegan 2021-05-10 10:33:11 +02:00
parent 51d0c256a3
commit bf8117d3aa
7 changed files with 2033 additions and 475 deletions

View file

@ -8,68 +8,102 @@ inputs="${wai}/../inputs.json"
simulator="make -C ${wai}/../ run"
parser="${wai}/../parser.awk"
results="${wai}/results.csv"
nseed=20
aheaders="simkey,wireless,wakeupfor"
avalues="none,none,none"
run-simulation () {
# Generate inputs
$scenarios $seed $simtime $wakeupsd $wakeupevery $wakeupfor $n_nodes $extended $hint $poff $pon $prx $ptx $datasize $simkey > "$inputs"
$scenarios $seed $simtime $wakeupevery $wakeupfor $n_nodes $extended $hint $poff $pon $prx $ptx $datasize $bitrate > "$inputs"
# Run simulations
[ -e "$results" ] && { $simulator 2>&1 | $parser | sed 1d >> "$results"; } || { $simulator 2>&1 | $parser > "$results"; }
if [ -e "$results" ]
then
$simulator 2>&1 | $parser | sed 1d | sed "s/$/,${avalues}/" >> "$results"
else
$simulator 2>&1 | $parser | sed "1 s/$/,${aheaders}/g" | sed "2,\$s/$/,${avalues}/" > "$results"
fi
}
# Default Parameters
seed=0
simtime=7200
wakeupsd=180
wakeupevery=600
simtime=86400 # One day
wakeupevery=3600
wakeupfor=180
n_nodes=5
n_nodes=12
extended="false"
hint="false"
poff=0
pon=0.4
prx=0.16
ptx=0.16
datasize=1000000
simkey=0
datasize=1000000 # MB
bitrate="100kbps"
# Baseline
echo "Baseline..."
run-scenarios() {
# Configure number of seed per scenarios
nseed=10
# Baseline
echo "Baseline..."
avalues="baseline,$wireless,$wakeupfor"
for seed in $(seq 1 $nseed)
do
run-simulation
done
# Hint
echo "Hint..."
hint="true"
avalues="hint,$wireless,$wakeupfor"
for seed in $(seq 1 $nseed)
do
run-simulation
done
hint="false"
# Extended
echo "Extended..."
extended="true"
avalues="extended,$wireless,$wakeupfor"
for seed in $(seq 1 $nseed)
do
run-simulation
done
extended="false"
# Hint+Extended
echo "Hint + Extended..."
extended="true"
hint="true"
avalues="hintandextended,$wireless,$wakeupfor"
for seed in $(seq 1 $nseed)
do
run-simulation
done
extended="false"
hint="false"
}
# Clean previous runs
[ -e "${results}" ] && rm "${results}"
simkey="baseline"
for seed in $(seq 1 $nseed)
do
run-simulation
done
# Hint
echo "Hint..."
hint="true"
simkey="hint"
for seed in $(seq 1 $nseed)
for wakeupfor in 60 180
do
run-simulation
done
hint="false"
# Extended
echo "Extended..."
extended="true"
simkey="extended"
for seed in $(seq 1 $nseed)
do
run-simulation
done
extended="false"
# Lora
echo "----- Run Lora ($wakeupfor) -----"
wireless="lora"
bitrate="50kbps"
pon=0.4
prx=0.16
ptx=0.16
run-scenarios
# Hint+Extended
echo "Hint + Extended..."
extended="true"
hint="true"
simkey="hintandextended"
for seed in $(seq 1 $nseed)
do
run-simulation
done
extended="false"
hint="false"
# NbIot
echo "----- Run NbIoT ($wakeupfor) -----"
wireless="nbiot"
bitrate="200kbps"
pon=0.4
prx=0.65
ptx=0.65
run-scenarios
done