diff options
| author | Loic Guegan <manzerberdes@gmx.com> | 2019-05-16 14:32:18 +0200 |
|---|---|---|
| committer | Loic Guegan <manzerberdes@gmx.com> | 2019-05-16 14:32:18 +0200 |
| commit | 026a84902cdc22f64b53aea3678d576bc29f479b (patch) | |
| tree | 5b0cb6540533337c6c331f1333ac37979ad49ae4 /ns3-simulations/g5k-root.sh | |
| parent | 9305e544d3c3b3ad49a47587616f2bde1dd8d323 (diff) | |
Update simulators
Diffstat (limited to 'ns3-simulations/g5k-root.sh')
| -rwxr-xr-x | ns3-simulations/g5k-root.sh | 135 |
1 files changed, 43 insertions, 92 deletions
diff --git a/ns3-simulations/g5k-root.sh b/ns3-simulations/g5k-root.sh index db6bc0f..bc11142 100755 --- a/ns3-simulations/g5k-root.sh +++ b/ns3-simulations/g5k-root.sh @@ -1,8 +1,8 @@ #!/bin/bash ##### Arguments ##### -nHost=15 -nProcesses=8 # Max number of parrallel simulations -nHours=3 # Reservation duration +nHost=20 # At least 20 host x) +nProcesses=3 # Max number of parrallel simulations (don't go too high, your process will be killed (arround 8)) +nHours=4 # Reservation duration simArgsLoc=~/args/ # Don't change this path witouth changing it in workder scripts finishedFile="$simArgsLoc/finished-microBenchmarks.txt" logsFinalDst=~/logs/ @@ -31,6 +31,7 @@ handleSim () { echo "linksLatency=${linksLatency}" >> $outF echo "sensorsNumber=${sensorsNumber}" >> $outF echo "linksBandwidth=${linksBandwidth}" >> $outF + echo "positionSeed=${positionSeed}" >> $outF } @@ -64,27 +65,30 @@ then export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${NS3_PATH}/build/lib # Default Parameters - sensorsSendInterval=10 + sensorsSendInterval=10 # DON'T GO BELOW 1 SECONDS !!!!!!! Simulator will stay stuck sensorsPktSize=5 # 1 byte temperature (-128 à +128 °C) and 4Byte sensorsId sensorsNumber=10 nbHop=10 # Cf paper AC/Yunbo linksBandwidth=10 linksLatency=2 + positionSeed=5 simKey="NOKEY" run () { # If another function want to handle simulation (tipically used on g5k) type -t handleSim > /dev/null && { handleSim; return; } - logFile="${logFolder}/${simKey}_${sensorsSendInterval}SSI_${sensorsPktSize}SPS_${sensorsNumber}SN_${nbHop}NH_${linksBandwidth}LB_${linksLatency}LL.org" + local logFile="${logFolder}/${simKey}_${sensorsSendInterval}SSI_${sensorsPktSize}SPS_${sensorsNumber}SN_${nbHop}NH_${linksBandwidth}LB_${linksLatency}LL_${positionSeed}PS.org" [ -f "$logFile" ] && return - simCMD="$simulator --sensorsSendInterval=${sensorsSendInterval} --sensorsPktSize=${sensorsPktSize} --sensorsNumber=${sensorsNumber} --nbHop=${nbHop} --linksBandwidth=${linksBandwidth} --linksLatency=${linksLatency} 2>&1" - log=$(bash -c "$simCMD") + local simCMD="$simulator --sensorsSendInterval=${sensorsSendInterval} --sensorsPktSize=${sensorsPktSize} --sensorsNumber=${sensorsNumber} --nbHop=${nbHop} --linksBandwidth=${linksBandwidth} --linksLatency=${linksLatency} --positionSeed=${positionSeed} 2>&1" + local log=$(bash -c "$simCMD") # Compute some metrics energyLog=$(echo "$log" | $parseEnergyScript) avgDelay=$(echo "$log" | $parseDelayScript) - totalEnergy=$(echo "$energyLog"| awk 'BEGIN{power=0;FS=","}NR!=1{power+=$2}END{print(power)}') + totalEnergy=$(echo "$energyLog" | awk 'BEGIN{power=0;FS=","}NR!=1{power+=$2}END{print(power)}') + sensorsEnergy=$(echo "$energyLog" |awk -F',' 'BEGIN{sumW=0}$1<0{sumW+=$2}END{print sumW}') + networkEnergy=$(echo "$energyLog" |awk -F',' 'BEGIN{sumN=0}$1>=0{sumN+=$2}END{print sumN}') nbPacketCloud=$(echo "$log"|grep -c "CloudSwitch receive") nbNodes=$(echo "$log"|awk '/Simulation used/{print($3)}') ns3Version=$(echo "$log"|awk '/NS-3 Version/{print($3)}') @@ -100,18 +104,14 @@ then echo "* Energy CSV (negative nodeId = WIFI, 0 = AP (Wireless+Wired), positive nodeId = ECOFEN" >> $logFile echo "$energyLog" >> $logFile echo "* Metrics" >> $logFile - echo "-METRICSLINE- sensorsSendInterval:${sensorsSendInterval} sensorsPktSize:${sensorsPktSize} sensorsNumber:${sensorsNumber} nbHop:${nbHop} linksBandwidth:${linksBandwidth} linksLatency:${linksLatency} totalEnergy:$totalEnergy nbPacketCloud:$nbPacketCloud nbNodes:$nbNodes avgDelay:${avgDelay} ns3Version:${ns3Version} simKey:${simKey}" >> $logFile - + echo "-METRICSLINE- sensorsSendInterval:${sensorsSendInterval} sensorsPktSize:${sensorsPktSize} sensorsNumber:${sensorsNumber} nbHop:${nbHop} linksBandwidth:${linksBandwidth} linksLatency:${linksLatency} totalEnergy:$totalEnergy nbPacketCloud:$nbPacketCloud nbNodes:$nbNodes avgDelay:${avgDelay} ns3Version:${ns3Version} simKey:${simKey} positionSeed:${positionSeed} sensorsEnergy:${sensorsEnergy} networkEnergy:${networkEnergy}" >> $logFile } - simKey="NBHOP" - for sensorsNumber in $(seq 1 15) + simKey="NBSENSORS" + for sensorsNumber in $(seq 1 10) do - for nbHop in $(seq 1 10) - do - run - done - done + run + done simulator="simulator/simulator" parseEnergyScript="./parseEnergy.awk" parseDelayScript="./parseDelay.awk" @@ -119,27 +119,30 @@ then export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${NS3_PATH}/build/lib # Default Parameters - sensorsSendInterval=10 + sensorsSendInterval=10 # DON'T GO BELOW 1 SECONDS !!!!!!! Simulator will stay stuck sensorsPktSize=5 # 1 byte temperature (-128 à +128 °C) and 4Byte sensorsId sensorsNumber=10 nbHop=10 # Cf paper AC/Yunbo linksBandwidth=10 linksLatency=2 + positionSeed=5 simKey="NOKEY" run () { # If another function want to handle simulation (tipically used on g5k) type -t handleSim > /dev/null && { handleSim; return; } - logFile="${logFolder}/${simKey}_${sensorsSendInterval}SSI_${sensorsPktSize}SPS_${sensorsNumber}SN_${nbHop}NH_${linksBandwidth}LB_${linksLatency}LL.org" + local logFile="${logFolder}/${simKey}_${sensorsSendInterval}SSI_${sensorsPktSize}SPS_${sensorsNumber}SN_${nbHop}NH_${linksBandwidth}LB_${linksLatency}LL_${positionSeed}PS.org" [ -f "$logFile" ] && return - simCMD="$simulator --sensorsSendInterval=${sensorsSendInterval} --sensorsPktSize=${sensorsPktSize} --sensorsNumber=${sensorsNumber} --nbHop=${nbHop} --linksBandwidth=${linksBandwidth} --linksLatency=${linksLatency} 2>&1" - log=$(bash -c "$simCMD") + local simCMD="$simulator --sensorsSendInterval=${sensorsSendInterval} --sensorsPktSize=${sensorsPktSize} --sensorsNumber=${sensorsNumber} --nbHop=${nbHop} --linksBandwidth=${linksBandwidth} --linksLatency=${linksLatency} --positionSeed=${positionSeed} 2>&1" + local log=$(bash -c "$simCMD") # Compute some metrics energyLog=$(echo "$log" | $parseEnergyScript) avgDelay=$(echo "$log" | $parseDelayScript) - totalEnergy=$(echo "$energyLog"| awk 'BEGIN{power=0;FS=","}NR!=1{power+=$2}END{print(power)}') + totalEnergy=$(echo "$energyLog" | awk 'BEGIN{power=0;FS=","}NR!=1{power+=$2}END{print(power)}') + sensorsEnergy=$(echo "$energyLog" |awk -F',' 'BEGIN{sumW=0}$1<0{sumW+=$2}END{print sumW}') + networkEnergy=$(echo "$energyLog" |awk -F',' 'BEGIN{sumN=0}$1>=0{sumN+=$2}END{print sumN}') nbPacketCloud=$(echo "$log"|grep -c "CloudSwitch receive") nbNodes=$(echo "$log"|awk '/Simulation used/{print($3)}') ns3Version=$(echo "$log"|awk '/NS-3 Version/{print($3)}') @@ -155,14 +158,13 @@ then echo "* Energy CSV (negative nodeId = WIFI, 0 = AP (Wireless+Wired), positive nodeId = ECOFEN" >> $logFile echo "$energyLog" >> $logFile echo "* Metrics" >> $logFile - echo "-METRICSLINE- sensorsSendInterval:${sensorsSendInterval} sensorsPktSize:${sensorsPktSize} sensorsNumber:${sensorsNumber} nbHop:${nbHop} linksBandwidth:${linksBandwidth} linksLatency:${linksLatency} totalEnergy:$totalEnergy nbPacketCloud:$nbPacketCloud nbNodes:$nbNodes avgDelay:${avgDelay} ns3Version:${ns3Version} simKey:${simKey}" >> $logFile - + echo "-METRICSLINE- sensorsSendInterval:${sensorsSendInterval} sensorsPktSize:${sensorsPktSize} sensorsNumber:${sensorsNumber} nbHop:${nbHop} linksBandwidth:${linksBandwidth} linksLatency:${linksLatency} totalEnergy:$totalEnergy nbPacketCloud:$nbPacketCloud nbNodes:$nbNodes avgDelay:${avgDelay} ns3Version:${ns3Version} simKey:${simKey} positionSeed:${positionSeed} sensorsEnergy:${sensorsEnergy} networkEnergy:${networkEnergy}" >> $logFile } - simKey="BW" - for sensorsNumber in $(seq 1 15) + simKey="SENDINTERVAL" + for sensorsNumber in $(seq 5 5 20) do - for linksBandwidth in $(seq 10 20 100) + for sensorsSendInterval in $(seq 10 10 100) do run done @@ -174,27 +176,30 @@ then export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${NS3_PATH}/build/lib # Default Parameters - sensorsSendInterval=10 + sensorsSendInterval=10 # DON'T GO BELOW 1 SECONDS !!!!!!! Simulator will stay stuck sensorsPktSize=5 # 1 byte temperature (-128 à +128 °C) and 4Byte sensorsId sensorsNumber=10 nbHop=10 # Cf paper AC/Yunbo linksBandwidth=10 linksLatency=2 + positionSeed=5 simKey="NOKEY" run () { # If another function want to handle simulation (tipically used on g5k) type -t handleSim > /dev/null && { handleSim; return; } - logFile="${logFolder}/${simKey}_${sensorsSendInterval}SSI_${sensorsPktSize}SPS_${sensorsNumber}SN_${nbHop}NH_${linksBandwidth}LB_${linksLatency}LL.org" + local logFile="${logFolder}/${simKey}_${sensorsSendInterval}SSI_${sensorsPktSize}SPS_${sensorsNumber}SN_${nbHop}NH_${linksBandwidth}LB_${linksLatency}LL_${positionSeed}PS.org" [ -f "$logFile" ] && return - simCMD="$simulator --sensorsSendInterval=${sensorsSendInterval} --sensorsPktSize=${sensorsPktSize} --sensorsNumber=${sensorsNumber} --nbHop=${nbHop} --linksBandwidth=${linksBandwidth} --linksLatency=${linksLatency} 2>&1" - log=$(bash -c "$simCMD") + local simCMD="$simulator --sensorsSendInterval=${sensorsSendInterval} --sensorsPktSize=${sensorsPktSize} --sensorsNumber=${sensorsNumber} --nbHop=${nbHop} --linksBandwidth=${linksBandwidth} --linksLatency=${linksLatency} --positionSeed=${positionSeed} 2>&1" + local log=$(bash -c "$simCMD") # Compute some metrics energyLog=$(echo "$log" | $parseEnergyScript) avgDelay=$(echo "$log" | $parseDelayScript) - totalEnergy=$(echo "$energyLog"| awk 'BEGIN{power=0;FS=","}NR!=1{power+=$2}END{print(power)}') + totalEnergy=$(echo "$energyLog" | awk 'BEGIN{power=0;FS=","}NR!=1{power+=$2}END{print(power)}') + sensorsEnergy=$(echo "$energyLog" |awk -F',' 'BEGIN{sumW=0}$1<0{sumW+=$2}END{print sumW}') + networkEnergy=$(echo "$energyLog" |awk -F',' 'BEGIN{sumN=0}$1>=0{sumN+=$2}END{print sumN}') nbPacketCloud=$(echo "$log"|grep -c "CloudSwitch receive") nbNodes=$(echo "$log"|awk '/Simulation used/{print($3)}') ns3Version=$(echo "$log"|awk '/NS-3 Version/{print($3)}') @@ -210,71 +215,17 @@ then echo "* Energy CSV (negative nodeId = WIFI, 0 = AP (Wireless+Wired), positive nodeId = ECOFEN" >> $logFile echo "$energyLog" >> $logFile echo "* Metrics" >> $logFile - echo "-METRICSLINE- sensorsSendInterval:${sensorsSendInterval} sensorsPktSize:${sensorsPktSize} sensorsNumber:${sensorsNumber} nbHop:${nbHop} linksBandwidth:${linksBandwidth} linksLatency:${linksLatency} totalEnergy:$totalEnergy nbPacketCloud:$nbPacketCloud nbNodes:$nbNodes avgDelay:${avgDelay} ns3Version:${ns3Version} simKey:${simKey}" >> $logFile - + echo "-METRICSLINE- sensorsSendInterval:${sensorsSendInterval} sensorsPktSize:${sensorsPktSize} sensorsNumber:${sensorsNumber} nbHop:${nbHop} linksBandwidth:${linksBandwidth} linksLatency:${linksLatency} totalEnergy:$totalEnergy nbPacketCloud:$nbPacketCloud nbNodes:$nbNodes avgDelay:${avgDelay} ns3Version:${ns3Version} simKey:${simKey} positionSeed:${positionSeed} sensorsEnergy:${sensorsEnergy} networkEnergy:${networkEnergy}" >> $logFile } - simKey="LATENCY" - for sensorsNumber in $(seq 1 15) + simKey="SENSORSPOS" + for sensorsNumber in $(seq 5 5 20) do - for linksLatency in $(seq 1 1 10) + for positionSeed in $(seq 1 10) do run done done - - simulator="simulator/simulator" - parseEnergyScript="./parseEnergy.awk" - parseDelayScript="./parseDelay.awk" - logFolder="logs/" - export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${NS3_PATH}/build/lib - - # Default Parameters - sensorsSendInterval=10 - sensorsPktSize=5 # 1 byte temperature (-128 à +128 °C) and 4Byte sensorsId - sensorsNumber=10 - nbHop=10 # Cf paper AC/Yunbo - linksBandwidth=10 - linksLatency=2 - simKey="NOKEY" - - run () { - # If another function want to handle simulation (tipically used on g5k) - type -t handleSim > /dev/null && { handleSim; return; } - - logFile="${logFolder}/${simKey}_${sensorsSendInterval}SSI_${sensorsPktSize}SPS_${sensorsNumber}SN_${nbHop}NH_${linksBandwidth}LB_${linksLatency}LL.org" - [ -f "$logFile" ] && return - simCMD="$simulator --sensorsSendInterval=${sensorsSendInterval} --sensorsPktSize=${sensorsPktSize} --sensorsNumber=${sensorsNumber} --nbHop=${nbHop} --linksBandwidth=${linksBandwidth} --linksLatency=${linksLatency} 2>&1" - log=$(bash -c "$simCMD") - - # Compute some metrics - energyLog=$(echo "$log" | $parseEnergyScript) - avgDelay=$(echo "$log" | $parseDelayScript) - 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 '/Simulation used/{print($3)}') - ns3Version=$(echo "$log"|awk '/NS-3 Version/{print($3)}') - - # Save logs - echo -e "#+TITLE: $(date) ns-3 (version ${ns3Version}) simulation\n" > $logFile - echo "* Environment Variables" >> $logFile - env >> $logFile - echo "* Full Command" >> $logFile - echo "$simCMD" >> $logFile - echo "* Output" >> $logFile - echo "$log" >> $logFile - echo "* Energy CSV (negative nodeId = WIFI, 0 = AP (Wireless+Wired), positive nodeId = ECOFEN" >> $logFile - echo "$energyLog" >> $logFile - echo "* Metrics" >> $logFile - echo "-METRICSLINE- sensorsSendInterval:${sensorsSendInterval} sensorsPktSize:${sensorsPktSize} sensorsNumber:${sensorsNumber} nbHop:${nbHop} linksBandwidth:${linksBandwidth} linksLatency:${linksLatency} totalEnergy:$totalEnergy nbPacketCloud:$nbPacketCloud nbNodes:$nbNodes avgDelay:${avgDelay} ns3Version:${ns3Version} simKey:${simKey}" >> $logFile - - } - - simKey="NBSENSORS" - for sensorsNumber in $(seq 1 5) - do - run - done # Distribute argument according to subsribed nodes cd $simArgsLoc @@ -292,8 +243,8 @@ then echo "Host who finished their work:" > $finishedFile for host in ${hostList[@]} do - #oarsh lguegan@$host bash g5k-worker.sh & - echo "$host" + echo "Start simulations on node $host" + oarsh lguegan@$host bash g5k-worker.sh & done exit 0 |
