2019-04-24 16:49:40 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* Run simulations
|
|
|
|
|
|
|
|
|
|
|
|
** Single Run
|
|
|
|
#+BEGIN_SRC bash :noweb yes :results output
|
|
|
|
<<singleRun>>
|
|
|
|
run
|
|
|
|
#+END_SRC
|
|
|
|
|
|
|
|
#+RESULTS:
|
|
|
|
|
|
|
|
|
|
|
|
#+NAME: singleRun
|
|
|
|
#+BEGIN_SRC bash :noweb yes
|
|
|
|
simulator="ns3-simulator/simulator"
|
|
|
|
parseEnergyScript="./parseEnergy.awk"
|
|
|
|
logFolder="logs/"
|
|
|
|
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${NS3_PATH}/build/lib
|
|
|
|
run () {
|
|
|
|
[ -z ${sensorsSendInterval+x} ] && sensorsSendInterval=1
|
|
|
|
[ -z ${sensorsPktSize+x} ] && sensorsPktSize=10
|
|
|
|
[ -z ${sensorsNumber+x} ] && sensorsNumber=2
|
|
|
|
[ -z ${nbHop+x} ] && nbHop=2
|
|
|
|
[ -z ${linksBandwidth+x} ] && linksBandwidth=10
|
|
|
|
[ -z ${linksLatency+x} ] && linksLatency=10
|
|
|
|
logFile="${logFolder}/ns-3_${sensorsSendInterval}SSI_${sensorsPktSize}SPS_${sensorsNumber}SN_${nbHop}NH_${linksBandwidth}LB_${linksLatency}LL.org"
|
|
|
|
simCMD="$simulator --sensorsSendInterval=${sensorsSendInterval} --sensorsPktSize=${sensorsPktSize} --sensorsNumber=${sensorsNumber} --nbHop=${nbHop} --linksBandwidth=${linksBandwidth} --linksLatency=${linksLatency} 2>&1"
|
|
|
|
log=$(bash -c "$simCMD")
|
|
|
|
|
2019-04-25 09:00:11 +02:00
|
|
|
# Compute some metrics
|
|
|
|
energyLog=$(echo "$log" | $parseEnergyScript)
|
|
|
|
totalEnergy=$(echo "$energyLog"| awk 'BEGIN{power=0;FS=","}NR!=1{power+=$2}END{print(power)}')
|
|
|
|
nbPacketCloud=$(echo "$log"|grep -c "CloudSwitch receive")
|
|
|
|
nbNodes=$(echo "$log"|awk '/Starting simul/{print($4)}')
|
2019-04-24 16:49:40 +02:00
|
|
|
|
2019-04-25 09:00:11 +02:00
|
|
|
# Save logs
|
2019-04-24 16:49:40 +02:00
|
|
|
echo -e "#+TITLE: $(date) ns-3 simulation\n" > $logFile
|
|
|
|
echo "* Full Command" >> $logFile
|
|
|
|
echo "$simCMD" >> $logFile
|
|
|
|
echo "* Output" >> $logFile
|
|
|
|
echo "$log" >> $logFile
|
2019-04-25 09:00:11 +02:00
|
|
|
echo "* Energy CSV (negative nodeId = WIFI, 0 = AP (Wireless+Wired), positive nodeId = ECOFEN" >> $logFile
|
|
|
|
echo "$energyLog" >> $logFile
|
2019-04-24 16:49:40 +02:00
|
|
|
echo "* Metrics" >> $logFile
|
2019-04-25 09:00:11 +02:00
|
|
|
echo " sensorsSendInterval:${sensorsSendInterval} sensorsPktSize:${sensorsPktSize} sensorsNumber:${sensorsNumber} nbHop:${nbHop} linksBandwidth:${linksBandwidth} linksLatency:${linksLatency} totalEnergy:$totalEnergy nbPacketCloud:$nbPacketCloud nbNodes:$nbNodes" >> $logFile
|
2019-04-24 16:49:40 +02:00
|
|
|
|
|
|
|
}
|
|
|
|
#+END_SRC
|
|
|
|
|
|
|
|
#+RESULTS:
|
|
|
|
: Processing logs/logs/log.txt
|
|
|
|
: Processing logs/logs/log.txt.csv-energy.csv
|
|
|
|
: Processing logs/logs/log.txt.csv
|
|
|
|
: Processing logs/logs/log.txt-energy.csv
|
|
|
|
|