aboutsummaryrefslogtreecommitdiff
path: root/results/paper_.sh
diff options
context:
space:
mode:
authorLoic Guegan <manzerbredes@mailbox.org>2021-05-31 08:16:09 +0200
committerLoic Guegan <manzerbredes@mailbox.org>2021-05-31 08:16:09 +0200
commit84d9ce59ae5a3d759a3fc018ede1b80a26c16ea2 (patch)
treed13120dfb9ebbd998d21d67b48b5624755d4d45c /results/paper_.sh
parent7f83a84d2d753ab8b74c7ef24eb61127b4ddd9b1 (diff)
Add CCGrid results and debug
Diffstat (limited to 'results/paper_.sh')
-rwxr-xr-xresults/paper_.sh139
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