mirror of
https://gitlab.com/manzerbredes/loosely-coupled-dss.git
synced 2025-04-19 04:09:43 +00:00
Improve scenarios and analysis
This commit is contained in:
parent
51d0c256a3
commit
bf8117d3aa
7 changed files with 2033 additions and 475 deletions
|
@ -1,10 +1,17 @@
|
|||
library("tidyverse")
|
||||
|
||||
library("knitr")
|
||||
|
||||
data=read_csv("results.csv")
|
||||
|
||||
final=data%>%group_by(simkey)%>%summarize(energy=mean(energy),sd=sd(energy))
|
||||
final=data%>%group_by(simkey,wireless,wakeupfor)%>%summarize(energy=mean(energy),wireless=first(wireless),sd=sd(energy),wakeupfor=first(wakeupfor))
|
||||
|
||||
ggplot(final,aes(x=simkey,y=energy))+geom_bar(stat="identity")+
|
||||
xlab("Scenario")+ylab("Energy (J)")+
|
||||
geom_errorbar(aes(ymin=energy-sd, ymax=energy+sd),width=.2,size=1.5)
|
||||
ggplot(final,aes(x=simkey,y=energy))+
|
||||
geom_bar(stat="identity",aes(fill=wireless),position=position_dodge())+
|
||||
xlab("Scenarios")+ylab("Energy (J)")+
|
||||
geom_errorbar(aes(ymin=energy-sd, ymax=energy+sd),width=.2,size=1.5) +
|
||||
facet_wrap(~ wakeupfor)
|
||||
|
||||
for(wake in unique(data$wakeupfor)){
|
||||
print(kable(final%>%filter(wireless=="lora",wakeupfor==wake)))
|
||||
print(kable(final%>%filter(wireless!="lora",wakeupfor==wake)))
|
||||
}
|
||||
|
|
122
results/paper.sh
122
results/paper.sh
|
@ -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
|
2322
results/results.csv
2322
results/results.csv
File diff suppressed because it is too large
Load diff
Loading…
Add table
Add a link
Reference in a new issue