This commit is contained in:
Loic Guegan 2019-05-17 09:53:09 +02:00
parent 026a84902c
commit 1ab4a6a97a
19 changed files with 95601 additions and 4 deletions

24
g5k/energyFromLogs.sh Executable file
View file

@ -0,0 +1,24 @@
#!/bin/bash
logFile="$(dirname $(readlink -f $0))"/simLogs.txt
getValue () {
line=$(echo "$1" | grep "Simulation para"|sed "s/Simulation parameters: //g")
key=$2
echo "$line"|awk 'BEGIN{RS=" ";FS=":"}"'$key'"==$1{gsub("\n","",$0);print $2}'
}
IFS=$'\n'
for cmd in $(cat $logFile|grep "Simulation parameters")
do
nodeName=$(getValue $cmd serverNodeName)
from=$(getValue $cmd startSim)
to=$(getValue $cmd endSim)
vmSize=$(getValue $cmd vmSize)
nbSensors=$(getValue $cmd nbSensors)
simKey=$(getValue $cmd simKey)
./recordEnergy.sh nova $nodeName $from $to nova $nodeName $from $to "${simKey}_${vmSize}VMSIZE_${nbSensors}NBSENSORS_${from}${to}.csv"
done

View file

@ -77,6 +77,7 @@ then
done
log "Installing mysql on $serverIp"
serverNodeName=$(echo $serverNode|grep -o ^.*[-][0-9]*) # For logging
onNode="ssh -q root@$serverIp" # For convenience
##### Server #####
@ -105,8 +106,8 @@ then
echo "---------- Simulation (key=${simKey}) start at $simStart ($(date -d @${simStart}))" >> $logFile
$onNode python /tmp/clients.py $serverIp $nbSensors $nbSensorsFactor $requestPerSensor $sensorsSendInterval
simEnd=$(date "+%s")
echo "Simulation parameters: serverNode:$serverNode serverIp:$serverIp serverMac:$serverMac clientNode:$clientNode clientNode:$clientNode clientMac:$clientMac delay:$delay nbSensors:$nbSensors nbSensorsFactor:$nbSensorsFactor requestPerSensors:$requestPerSensor sensorsRequestPerSec:$sensorsRequestPerSec simKey:${simKey} duration:$(( simEnd - simStart ))" >> $logFile
echo "./recordEnergy.sh nova $serverNode $simStart $simEnd energy_${simStart}_${simEnd}.csv" >> $logFile
echo "Simulation parameters: serverNode:$serverNode serverIp:$serverIp serverMac:$serverMac clientNode:$clientNode clientNode:$clientNode clientMac:$clientMac delay:$delay nbSensors:$nbSensors nbSensorsFactor:$nbSensorsFactor requestPerSensors:$requestPerSensor sensorsRequestPerSec:$sensorsRequestPerSec simKey:${simKey} simStart:${simStart} simEnd:${simEnd} duration:$(( simEnd - simStart )) serverNodeName:${serverNodeName} vmSize:${vmSize}" >> $logFile
echo "./recordEnergy.sh nova $serverNodeName $simStart $simEnd energy_${simKey}_${nbSensors}NS_${vmSize}vmSize_${simStart}_${simEnd}.csv" >> $logFile
echo -e "---------- Simulation (key=${simKey}) end at ${simEnd} ($(date -d @${simEnd}))\n" >> $logFile
log "Simulation end ! Please see $logFile for more infos"
##### End Simulation #####

View file

@ -9,11 +9,12 @@ nodeName="$2"
outputFile="$5"
wattmeter=$(curl -s https://api.grid5000.fr/stable/sites/lyon/clusters/${clusterName}/nodes/${nodeName}.json | jq -r '.sensors.power.via.pdu[0].uid')
port=$(curl -s https://api.grid5000.fr/stable/sites/lyon/pdus/${wattmeter}.json | jq -r '.ports|to_entries|map(select(.value=="'${nodeName}'"))[0].key')
energyEntry=$(expr 5 + $port) # Define the entry in the CSV that correspond to the correct energy value
energyEntry=$(( 5 + port) # Define the entry in the CSV that correspond to the correct energy value
if [ -z $wattmeter ] || [ -z $port ]
then
echo -ne "\nCannot find energy informations (wattmeter/port) for node $nodeName\n"
echo -ne "\nCheck the node name (do not use hostname! only node name ex: nova-7)\n"
exit 1
fi

View file

@ -21,7 +21,7 @@ initNodes () {
##### Test VM RAM #####
simKey="vmSize"
for vmSize in $(echo 128 1024 2048)
for vmSize in $(echo 1024 2048 4096)
do
initNodes deploy
initNodes kill # Kill all vms (do not forget :D)

15
g5k/simLogs.txt Normal file
View file

@ -0,0 +1,15 @@
---------- Simulation (key=vmSize) start at 1558010372 (Thu May 16 14:39:32 CEST 2019)
Simulation parameters: serverNode:nova-7.lyon.grid5000.fr serverIp:10.140.16.1 serverMac:00:16:3E:8C:10:01 clientNode:nova-8.lyon.grid5000.fr clientNode:nova-8.lyon.grid5000.fr clientMac:00:16:3E:8C:10:02 delay:60 nbSensors:20 nbSensorsFactor:3 requestPerSensors:30 sensorsRequestPerSec: simKey:vmSize duration:308
./recordEnergy.sh nova nova-7.lyon.grid5000.fr 1558010372 1558010680 energy_1558010372_1558010680.csv
---------- Simulation (key=vmSize) end at 1558010680 (Thu May 16 14:44:40 CEST 2019)
---------- Simulation (key=vmSize) start at 1558010868 (Thu May 16 14:47:48 CEST 2019)
Simulation parameters: serverNode:nova-7.lyon.grid5000.fr serverIp:10.140.16.1 serverMac:00:16:3E:8C:10:01 clientNode:nova-8.lyon.grid5000.fr clientNode:nova-8.lyon.grid5000.fr clientMac:00:16:3E:8C:10:02 delay:60 nbSensors:20 nbSensorsFactor:3 requestPerSensors:30 sensorsRequestPerSec: simKey:vmSize duration:308
./recordEnergy.sh nova nova-7.lyon.grid5000.fr 1558010868 1558011176 energy_1558010868_1558011176.csv
---------- Simulation (key=vmSize) end at 1558011176 (Thu May 16 14:52:56 CEST 2019)
---------- Simulation (key=vmSize) start at 1558011366 (Thu May 16 14:56:06 CEST 2019)
Simulation parameters: serverNode:nova-7.lyon.grid5000.fr serverIp:10.140.16.1 serverMac:00:16:3E:8C:10:01 clientNode:nova-8.lyon.grid5000.fr clientNode:nova-8.lyon.grid5000.fr clientMac:00:16:3E:8C:10:02 delay:60 nbSensors:20 nbSensorsFactor:3 requestPerSensors:30 sensorsRequestPerSec: simKey:vmSize duration:308
./recordEnergy.sh nova nova-7.lyon.grid5000.fr 1558011366 1558011674 energy_1558011366_1558011674.csv
---------- Simulation (key=vmSize) end at 1558011674 (Thu May 16 15:01:14 CEST 2019)