diff options
Diffstat (limited to 'results/paper_.sh')
| -rwxr-xr-x | results/paper_.sh | 139 |
1 files changed, 139 insertions, 0 deletions
diff --git a/results/paper_.sh b/results/paper_.sh new file mode 100755 index 0000000..c87543a --- /dev/null +++ b/results/paper_.sh @@ -0,0 +1,139 @@ +#!/usr/bin/env bash + +set -e + +wai=$(dirname $(readlink -f "$0")) +scenarios="${wai}/../scenarios" +inputs="${wai}/../inputs.json" +simulator="make -C ${wai}/../ run" +parser="${wai}/../parser.awk" +results="${wai}/results_.csv" +aheaders="simkey,wireless,wakeupfor" +avalues="none,none,none" +log_file="${wai}/logs/$(date +%s)_.org" && mkdir -p "${wai}/logs/" +gen_log=1 # Should we generate logs ? + +run-simulation () { + # Generate inputs + $scenarios $seed $simtime $wakeupevery $wakeupfor $n_nodes $extended $hint $poff $pon $prx $ptx $datasize $bitrate $hintsize $latency > "$inputs" + + # Init logs + [ $gen_log -eq 1 ] && echo -e "* seed=$seed simtime=$simtime wakeupevery=$wakeupevery wakeupfor=$wakeupfor n_nodes=$n_nodes extended=$extended hint=$hint poff=$poff pon=$pon prx=$prx ptx=$ptx datasize=$datasize bitrate=$bitrate \n" >> "${log_file}" + + # Run simulations + if [ -e "$results" ] + then + # Create new result file + if [ $gen_log -eq 1 ] + then + $simulator 2>&1 | tee -a "${log_file}" | $parser | sed 1d | sed "s/$/,${avalues}/" >> "$results" + else + $simulator 2>&1 | $parser | sed 1d | sed "s/$/,${avalues}/" >> "$results" + fi + else + # Use existing result file + if [ $gen_log -eq 1 ] + then + $simulator 2>&1 | tee -a "${log_file}" | $parser | sed "1 s/$/,${aheaders}/g" | sed "2,\$s/$/,${avalues}/" > "$results" + else + $simulator 2>&1 | $parser | sed "1 s/$/,${aheaders}/g" | sed "2,\$s/$/,${avalues}/" > "$results" + fi + fi +} + +# Default Parameters +seed=1 +simtime=86400 # One day +wakeupevery=3600 +wakeupfor=60 +n_nodes=12 +extended="false" +hint="false" +poff=0 +pon=0.4 +prx=0.16 +ptx=0.16 +datasize=1000000 # 1Mb +hintsize=8 # Integer +latency=0 # in Seconds +bitrate="100kbps" + + + +run-scenarios() { + # Configure number of seed per scenarios + nseed=1 + + # Baseline + avalues="baseline,$wireless,$wakeupfor" + for seed in $(seq 1 $nseed) + do + printf "\rBaseline...${seed}" + #run-simulation + done + echo + + # Hint + hint="true" + avalues="hint,$wireless,$wakeupfor" + for seed in $(seq 1 $nseed) + do + printf "\rHint...${seed}" + run-simulation + done + hint="false" + echo + + # Extended + extended="true" + avalues="extended,$wireless,$wakeupfor" + for seed in $(seq 1 $nseed) + do + printf "\rExtended...${seed}" + #run-simulation + done + extended="false" + echo + + # Hint+Extended + extended="true" + hint="true" + avalues="hintandextended,$wireless,$wakeupfor" + for seed in $(seq 1 $nseed) + do + printf "\rHint + Extended...${seed}" + #run-simulation + done + extended="false" + hint="false" + echo +} + +# Clean previous runs +[ -e "${results}" ] && rm "${results}" + +for wakeupfor in 60 +do + + # Lora + echo "----- Run Lora (wakeupfor=$wakeupfor) -----" + wireless="lora" + bitrate="50kbps" + pon=0.4 + prx=0.16 + ptx=0.16 + latency=0 + #run-scenarios + + # NbIot + echo "----- Run NbIoT (wakeupfor=$wakeupfor) -----" + wireless="nbiot" + bitrate="200kbps" + pon=0.4 + prx=0.65 + ptx=0.65 + latency=0.01 + run-scenarios +done + +echo "Logs: $log_file"
\ No newline at end of file |
