This commit is contained in:
Loic Guegan 2019-05-24 15:54:00 +02:00
parent d960892683
commit 3979a58065
140 changed files with 603394 additions and 1401571 deletions

View file

@ -1 +0,0 @@
loic@lguegan.1106:1558519162

View file

@ -190,10 +190,50 @@ component, formatting, style, styling, insert
consumption. According a report \cite{shehabi_united_2016-1} on United States data center energy consumption. According a report \cite{shehabi_united_2016-1} on United States data center energy
usage, the average Power Usage Effectiveness (PUE) of an hyperscale data center is 1.2. Thus, in usage, the average Power Usage Effectiveness (PUE) of an hyperscale data center is 1.2. Thus, in
our analysis, all energy measurement on cloud server will account for this PUE. our analysis, all energy measurement on cloud server will account for this PUE.
In a first place, we analyse the impact of the VM allocated memory on the server energy
consumption. Figure \ref{fig:vmSize} depict the server energy consumption according to the VM
allocated memory for 20 sensors sending data every 10s. Note that red horizontal line represent
the average energy consumption for sample of energy value. We can see that at each sensing
interval, server face to peaks of energy consumption. However, VM allocated memory do not
influence energy consumption. In fact, simple database requests do not need any particular hudge
memory access. Thus, remaining experiments are based on VM allocated memory of 1024MB.
#+BEGIN_EXPORT latex
\begin{figure}
\centering
\includegraphics[width=0.8\linewidth]{./plots/vmSize-cloud.png}
\caption{VM size impact on the server energy consumption using 20 sensors sending data every 10s}
\label{fig:vmSize}
\end{figure}
#+END_EXPORT
Next, we study the effects of increasing the number of sensors on the server energy consumption.
Figure \ref{fig:sensorsNumber-server} present the results of the average server energy
consumption when varying the number of sensors from 20 to 500 while Figure
\ref{fig:sensorsNumber-WPS} present the average server energy cost per sensors according to the
number of sensors. This Figure shows a clear linear relation between the number of sensors and
the server energy consumption.
#+BEGIN_EXPORT latex
\begin{figure}
\centering
\subfigure[Average server energy consumption]{
\includegraphics[width=0.4\linewidth]{./plots/sensorsNumberLine-cloud.png}
\label{fig:sensorsNumber-server}
}
\hspace{0.5cm}
\subfigure[Average sensors energy cost on server]{
\includegraphics[width=0.4\linewidth]{./plots/WPS-cloud.png}
\label{fig:sensorsNumber-WPS}
}
\caption{Server energy consumption for sensors sending data every 10s}
\label{fig:sensorsNumber-cloud}
\end{figure}
#+END_EXPORT
*** Virtual Machine Size Impact
** End-To-End Consumption ** End-To-End Consumption
* Discussion [1 col] * Discussion [1 col]
* Conclusion [1 col] * Conclusion [1 col]
@ -206,64 +246,36 @@ component, formatting, style, styling, insert
:PROPERTIES: :PROPERTIES:
:header-args: :eval never-export :header-args: :eval never-export
:END: :END:
** Data Analysis ** Data Analysis (R Scripts)
*** NS3 *** Utils
To Generate all the plots, please execute the following line: **** R
#+NAME: runAnalysis
#+CALL: plotToPDF(plots=genAllPlots(data=NS3-logToCSV()))
#+RESULTS: runAnalysis
**** R Scripts
***** Generate all plots script
Available variables:
|---------------------|
| Name |
|---------------------|
| sensorsSendInterval |
| sensorsPktSize |
| sensorsNumber |
| nbHop |
| linksBandwidth |
| linksLatency |
| totalEnergy |
| nbPacketCloud |
| nbNodes |
| avgDelay |
| simKey |
|---------------------|
#+NAME: genAllPlots
#+BEGIN_SRC R :noweb yes :results output
<<NS3-RUtils>>
data=read_csv("logs/ns3/last/data.csv")
# easyPlotGroup("linksLatency","totalEnergy", "LATENCY","sensorsNumber")
# easyPlotGroup("linksBandwidth","totalEnergy", "BW","sensorsNumber")
easyPlot("sensorsNumber","totalEnergy", "NBSENSORS")
easyPlotGroup("positionSeed", "totalEnergy","SENSORSPOS","sensorsNumber")
easyPlotGroup("positionSeed", "avgDelay","SENSORSPOS","sensorsNumber")
easyPlotGroup("sensorsSendInterval","sensorsEnergy","SENDINTERVAL","sensorsNumber")
easyPlotGroup("sensorsSendInterval","networkEnergy","SENDINTERVAL","sensorsNumber")
#+END_SRC
#+RESULTS: genAllPlots
***** R Utils
RUtils is intended to load logs (data.csv) and providing RUtils is intended to load logs (data.csv) and providing
simple plot function for them. simple plot function for them.
#+NAME: NS3-RUtils #+NAME: RUtils
#+BEGIN_SRC R :eval never #+BEGIN_SRC R :eval never
library("tidyverse") library("tidyverse")
# Fell free to update the following # Fell free to update the following
labels=c(nbNodes="Number of nodes",sensorsNumber="Number of sensors",totalEnergy="Total Energy (J)", labels=c(time="Time (s)",sensorsSendInterval="Sensors Send Interval (s)", sensorsNumber="Number of sensors")
nbHop="Number of hop (AP to Cloud)", linksBandwidth="Links Bandwidth (Mbps)", avgDelay="Average Application Delay (s)", PUE=1.2
linksLatency="Links Latency (ms)", sensorsSendInterval="Sensors Send Interval (s)", positionSeed="Position Seed", ns3SimTime=1800
sensorsEnergy="Sensors Wifi Energy Consumption (J)", networkEnergy="Network Energy Consumption (J)") g5kSimTime=300
# Get label according to varName loadData=function(path){
data=read_csv(path)
if("sensorsEnergy"%in%colnames(data)){ # If it is ns3 logs
data=data%>%mutate(sensorsEnergy=sensorsEnergy/ns3SimTime) # Convert to watts
data=data%>%mutate(networkEnergy=networkEnergy/ns3SimTime)
data=data%>%mutate(totalEnergy=totalEnergy/ns3SimTime)
}
else{ # Log from g5k
data=data%>%mutate(energy=energy*PUE) # Take into account PUE
data=data%>%filter(time<=g5kSimTime) # Remove extrats values (theorical sim time != real sim time)
}
}
# Get label according to varName
getLabel=function(varName){ getLabel=function(varName){
if(is.na(labels[varName])){ if(is.na(labels[varName])){
return(varName) return(varName)
@ -271,22 +283,17 @@ component, formatting, style, styling, insert
return(labels[varName]) return(labels[varName])
} }
easyPlot=function(X,Y,KEY){ applyTheme=function(plot,...){
curData=data%>%filter(simKey==KEY) palette<- c("#00AFBB", "#E7B800", "#FC4E07","#0abb00")
stopifnot(NROW(curData)>0) plot=plot+
ggplot(curData,aes_string(x=X,y=Y))+geom_point()+geom_line()+xlab(getLabel(X))+ylab(getLabel(Y)) theme_bw(...)+
ggsave(paste0("plots/",KEY,"-",X,"_",Y,".png")) scale_fill_manual(values=palette)+
} scale_colour_manual(values=palette)
return(plot)
easyPlotGroup=function(X,Y,KEY,GRP){
curData=data%>%filter(simKey==KEY) %>% mutate(!!GRP:=as.character(UQ(rlang::sym(GRP)))) # %>%mutate(sensorsNumber=as.character(sensorsNumber))
stopifnot(NROW(curData)>0)
ggplot(curData,aes_string(x=X,y=Y,color=GRP,group=GRP))+geom_point()+geom_line()+xlab(getLabel(X))+ylab(getLabel(Y)) + labs(color = getLabel(GRP))
ggsave(paste0("plots/",KEY,"-",X,"_",Y,".png"))
} }
#+END_SRC #+END_SRC
**** Bash
**** Plots -> PDF ***** Plots -> PDF
Merge all plots in plots/ folder into a pdf file. Merge all plots in plots/ folder into a pdf file.
#+NAME: plotToPDF #+NAME: plotToPDF
#+BEGIN_SRC bash :results output :noweb yes #+BEGIN_SRC bash :results output :noweb yes
@ -325,61 +332,137 @@ component, formatting, style, styling, insert
emacs $orgFile --batch -f org-latex-export-to-pdf --kill emacs $orgFile --batch -f org-latex-export-to-pdf --kill
#+END_SRC #+END_SRC
#+RESULTS: ***** CSVs -> data.csv (G5K)
Merge all energy file into one (and add additional fields).
**** Log -> CSV #+NAME: G5K-mergeCSV
logToCSV extract usefull data from logs and put them into logs/data.csv. #+BEGIN_SRC sh
#!/bin/bash
#+NAME: NS3-logToCSV whichLog="last"
#+BEGIN_SRC bash :results output
logsFolder="./logs/ns3/last/"
csvOutput="$logsFolder/data.csv"
# First save csv header line logsLocation="logs/g5k"
aLog=$(find $logsFolder -type f -name "*.org"|head -n 1) whichLog="${logsLocation}/${whichLog}"
metrics=$(cat $aLog|grep "\-METRICSLINE\-"|sed "s/-METRICSLINE-//g")
echo $metrics | awk '{for(i=1;i<=NF;i++){split($i,elem,":");printf(elem[1]);if(i<NF)printf(",");else{print("")}}}' > $csvOutput
# Second save all values
for logFile in $(find $logsFolder -type f -name "*.org")
logFile="$(dirname $(readlink -f $0))"/$whichLog/simLogs.txt
dataFile=$(dirname "$logFile")/data.csv
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}'
}
##### Add extract info to energy #####
IFS=$'\n'
for cmd in $(cat $logFile|grep "Simulation parameters")
do do
metrics=$(cat $logFile|grep "\-METRICSLINE\-"|sed "s/-METRICSLINE-//g") nodeName=$(getValue $cmd serverNodeName)
echo $metrics | awk '{for(i=1;i<=NF;i++){split($i,elem,":");printf(elem[2]);if(i<NF)printf(",");else{print("")}}}' >> $csvOutput from=$(getValue $cmd simStart)
to=$(getValue $cmd simEnd)
vmSize=$(getValue $cmd vmSize)
nbSensors=$(getValue $cmd nbSensors)
simKey=$(getValue $cmd simKey)
sendInterval=$(getValue $cmd sensorsSendInterval)
csvFile="$whichLog/${simKey}_${vmSize}VMSIZE_${nbSensors}NBSENSORS_${from}${to}.csv"
csvFileIDLE="$whichLog/${simKey}_${vmSize}VMSIZE_${nbSensors}NBSENSORS_${from}${to}_IDLE.csv"
tmpFile=${csvFile}_tmp
echo ts,energy,simKey,vmSize,nbSensors,time,state,sendInterval > $tmpFile
minTs=$(tail -n+2 $csvFile|awk -F"," 'BEGIN{min=0}$1<min||min==0{min=$1}END{print(min)}') # To compute ts field
minTsIDLE=$(tail -n+2 $csvFileIDLE|awk -F"," 'BEGIN{min=0}$1<min||min==0{min=$1}END{print(min)}') # To compute ts field
tail -n+2 ${csvFile} | awk -F"," '{print $0",'$simKey','$vmSize','$nbSensors',"$1-'$minTs'",sim,"'$sendInterval'}' >> $tmpFile
tail -n+2 ${csvFileIDLE} | awk -F"," '{print $0",'$simKey','$vmSize','$nbSensors',"$1-'$minTsIDLE'",IDLE,"'$sendInterval'}' >> $tmpFile
done
##### Fill dataFile #####
echo ts,energy,simKey,vmSize,nbSensors,time,state,sendInterval > $dataFile
for tmpFile in $(find ${whichLog}/*_tmp -type f)
do
tail -n+2 $tmpFile >> $dataFile
rm $tmpFile # Pay attention to this line :D
done done
#+END_SRC #+END_SRC
#+RESULTS: NS3-logToCSV #+RESULTS: G5K-mergeCSV
#+RESULTS: mergeCSV
***** Log -> data.csv (ns3)
logToCSV extract usefull data from logs and put them into logs/data.csv.
#+NAME: NS3-logToCSV
#+BEGIN_SRC bash :results output
logsFolder="./logs/ns3/last/"
csvOutput="$logsFolder/data.csv"
# First save csv header line
aLog=$(find $logsFolder -type f -name "*.org"|head -n 1)
metrics=$(cat $aLog|grep "\-METRICSLINE\-"|sed "s/-METRICSLINE-//g")
echo $metrics | awk '{for(i=1;i<=NF;i++){split($i,elem,":");printf(elem[1]);if(i<NF)printf(",");else{print("")}}}' > $csvOutput
# Second save all values
for logFile in $(find $logsFolder -type f -name "*.org")
do
metrics=$(cat $logFile|grep "\-METRICSLINE\-"|sed "s/-METRICSLINE-//g")
echo $metrics | awk '{for(i=1;i<=NF;i++){split($i,elem,":");printf(elem[2]);if(i<NF)printf(",");else{print("")}}}' >> $csvOutput
done
#+END_SRC
#+RESULTS: NS3-logToCSV
**** Custom Plots *** Plot Scripts
**** Random R Scripts
Watt per sensor on server
#+BEGIN_SRC R :noweb yes :results output
<<RUtils>>
# Load data
data=loadData("./logs/g5k/last/data.csv")
data=data%>%filter(state=="sim",simKey=="nbSensors")%>%ungroup()
data=data%>%group_by(nbSensors)%>%mutate(avgEnergy=mean(energy))%>%distinct()%>%ungroup()
data=data%>%distinct(nbSensors,.keep_all=TRUE)
data=data%>%mutate(WPS=(avgEnergy/nbSensors))
print(data%>%select(WPS,nbSensors))
#+END_SRC
Impact of vm size
#+BEGIN_SRC R :results graphics :file plots/vmSizeBar-cloud.png
library("tidyverse")
PUE=1.2
# Load data
data=read_csv("./logs/g5k/last/data.csv")
Effect of sensors position on app delay data=data%>%filter(state=="sim",simKey=="vmSize")%>%mutate(energy=PUE*energy)%>%filter(time<=300)
#+BEGIN_SRC R :noweb yes :results graphics :file plots/sensorsPosition-delayenergy.png
<<NS3-RUtils>> data=data%>%group_by(vmSize)%>%mutate(energy=mean(energy))%>%slice(1L)%>%ungroup()
simTime=1800 data=data%>%mutate(vmSize=as.character(vmSize))
ggplot(data) + geom_bar(aes(x=vmSize,y=energy),stat="identity")+expand_limits(y=c(75,100))+ylab("Server Energy Consumption (W)")+
xlab("Simulation Time (s)")+scale_y_log10()
cbPalette <- c("#0000B0", "#E69F00", "#56B4E9", "#009E73", "#F0E442", "#0072B2", "#D55E00", "#CC79A7") ggsave("plots/vmSizeBar-cloud.png",dpi=90,height=3,width=6)
# Load Data
data=read_csv("logs/ns3/last/data.csv")
data=data%>%mutate(sensorsEnergyW=sensorsEnergy/simTime)
data%>%filter(simKey=="SENSORSPOS",sensorsNumber==10) %>% ggplot(aes(y=sensorsEnergyW,x=positionSeed,color="Energy"))+xlab(getLabel("Sensors Position Seed"))+ylab(getLabel("Sensors Energy Consumption (W)"))+
geom_line()+geom_point()+geom_line(aes(y=(avgDelay+5),color="Delay"))+geom_point(aes(y=(avgDelay+5),color="Delay"))+expand_limits(y=c(0,15))+scale_y_continuous(sec.axis = sec_axis(~.-5, name = "Application Delay (s)")) +theme_bw() + scale_fill_manual(values=cbPalette) + scale_colour_manual(values=cbPalette)+guides(color=guide_legend(title="Curves"))
ggsave("plots/sensorsPosition-delayenergy.png",dpi=80, width=4, height=3.2)
#+END_SRC #+END_SRC
#+RESULTS: #+RESULTS:
[[file:plots/sensorsPosition-delayenergy.png]] [[file:plots/vmSizeBar-cloud.png]]
@ -443,215 +526,23 @@ component, formatting, style, styling, insert
ggsave("plot-final.png",dpi=80) ggsave("plot-final.png",dpi=80)
#+END_SRC #+END_SRC
*** Cloud
**** R Scripts
***** Plots script
#+BEGIN_SRC R :results output :noweb yes :file second-final/plot.png
<<RUtils>>
dataOrig=loadData("./second-final/data.csv")
data=dataOrig%>%filter(simKey=="nbSensors")%>%filter(state=="sim",nbSensors==100)
dataIDLE=dataOrig%>%filter(simKey=="nbSensors")%>%filter(state!="sim",nbSensors==100)
data=data%>%mutate(meanEnergy=mean(energy))
dataIDLE=dataIDLE%>%mutate(meanEnergy=mean(energy))
data=rbind(data,dataIDLE)
ggplot(data,aes(x=time,y=energy))+geom_point(position="jitter")+xlab(getLabel("time"))+expand_limits(y=0)+facet_wrap(~state)+geom_hline(aes(color=state,yintercept=mean(meanEnergy)))
ggsave("./second-final/plot.png",dpi=180)
#+END_SRC
#+RESULTS:
#+begin_example
# A tibble: 3,050 x 8
ts energy simKey vmSize nbSensors time state meanEnergy
<dbl> <dbl> <chr> <dbl> <dbl> <dbl> <chr> <dbl>
1 1558429001. 90.2 nbSensors 2048 100 0 IDLE 90.8
2 1558429001. 89 nbSensors 2048 100 0.0199 IDLE 90.8
3 1558429001. 89 nbSensors 2048 100 0.0399 IDLE 90.8
4 1558429001. 90.8 nbSensors 2048 100 0.0599 IDLE 90.8
5 1558429001. 91 nbSensors 2048 100 0.0799 IDLE 90.8
6 1558429001. 90.5 nbSensors 2048 100 0.1000 IDLE 90.8
7 1558429001. 89.9 nbSensors 2048 100 0.120 IDLE 90.8
8 1558429001. 88.6 nbSensors 2048 100 0.140 IDLE 90.8
9 1558429001. 88.6 nbSensors 2048 100 0.160 IDLE 90.8
10 1558429001. 90.5 nbSensors 2048 100 0.180 IDLE 90.8
# … with 3,040 more rows
#+end_example
****** Custom Plots
#+NAME: ssiNet
#+BEGIN_SRC R :noweb yes :results graphics :file plots/sensorsSendInterval-net.png
<<RUtils>>
data%>%filter(simKey=="SENDINTERVAL",sensorsNumber==20) %>% ggplot(aes(x=sensorsSendInterval,y=networkEnergy))+xlab(getLabel("sensorsSendInterval"))+ylab(getLabel("networkEnergy"))+
geom_line()+labs(title="For 20 sensors")
ggsave("plots/sensorsSendInterval-net.png",dpi=80)
#+END_SRC
#+RESULTS:
[[file:plots/sensorsSendInterval-net.png]]
#+NAME: ssiWifi
#+BEGIN_SRC R :noweb yes :results graphics :file plots/sensorsSendInterval-wifi.png
<<RUtils>>
data%>%filter(simKey=="SENDINTERVAL",sensorsNumber==20) %>% ggplot(aes(x=sensorsSendInterval,y=sensorsEnergy))+xlab(getLabel("sensorsSendInterval"))+ylab(getLabel("sensorsEnergy"))+
geom_line() + geom_line()+labs(title="For 20 sensors")
ggsave("plots/sensorsSendInterval-wifi.png",dpi=80)
#+END_SRC
#+RESULTS: ssiWifi
[[file:plots/sensorsSendInterval-wifi.png]]
#+RESULTS:
[[file:plots/sensorsSendInterval.png]]
***** R Utils
RUtils is intended to load logs (data.csv) and providing
simple plot function for them.
#+NAME: G5K-RUtils
#+BEGIN_SRC R :eval never
library("tidyverse")
# Fell free to update the following
labels=c(time="Time (s)")
loadData=function(path){
data=read_csv(path)
}
# Get label according to varName
getLabel=function(varName){
if(is.na(labels[varName])){
return(varName)
}
return(labels[varName])
}
#+END_SRC
**** Plots -> PDF **** Plot In Paper
Merge all plots in plots/ folder into a pdf file.
#+NAME: plotToPDF
#+BEGIN_SRC bash :results output :noweb yes
orgFile="plots/plots.org"
<<singleRun>> # To get all default arguments
# Write helper function
function write {
echo "$1" >> $orgFile
}
echo "#+TITLE: Analysis" > $orgFile
write "#+LATEX_HEADER: \usepackage{fullpage}"
write "#+OPTIONS: toc:nil"
# Default arguments
write '\begin{center}'
write '\begin{tabular}{lr}'
write 'Parameters & Values\\'
write '\hline'
write "sensorsPktSize & ${sensorsPktSize} bytes\\\\"
write "sensorsSendInterval & ${sensorsSendInterval}s\\\\"
write "sensorsNumber & ${sensorsNumber}\\\\"
write "nbHop & ${nbHop}\\\\"
write "linksBandwidth & ${linksBandwidth}Mbps\\\\"
write "linksLatency & ${linksLatency}ms\\\\"
write '\end{tabular}'
write '\newline'
write '\end{center}'
for plot in $(find plots/ -type f -name "*.png")
do
write "\includegraphics[width=0.5\linewidth]{$(basename ${plot})}"
done
# Export to pdf
emacs $orgFile --batch -f org-latex-export-to-pdf --kill
#+END_SRC
**** CSVs -> CSV
Merge all energy file into one (and add additional fields).
#+NAME: G5K-mergeCSV
#+BEGIN_SRC sh
#!/bin/bash
whichLog="last"
logsLocation="logs/g5k"
whichLog="${logsLocation}/${whichLog}"
logFile="$(dirname $(readlink -f $0))"/$whichLog/simLogs.txt
dataFile=$(dirname "$logFile")/data.csv
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}'
}
##### Add extract info to energy #####
IFS=$'\n'
for cmd in $(cat $logFile|grep "Simulation parameters")
do
nodeName=$(getValue $cmd serverNodeName)
from=$(getValue $cmd simStart)
to=$(getValue $cmd simEnd)
vmSize=$(getValue $cmd vmSize)
nbSensors=$(getValue $cmd nbSensors)
simKey=$(getValue $cmd simKey)
csvFile="$whichLog/${simKey}_${vmSize}VMSIZE_${nbSensors}NBSENSORS_${from}${to}.csv"
csvFileIDLE="$whichLog/${simKey}_${vmSize}VMSIZE_${nbSensors}NBSENSORS_${from}${to}_IDLE.csv"
tmpFile=${csvFile}_tmp
echo ts,energy,simKey,vmSize,nbSensors,time,state > $tmpFile
minTs=$(tail -n+2 $csvFile|awk -F"," 'BEGIN{min=0}$1<min||min==0{min=$1}END{print(min)}') # To compute ts field
minTsIDLE=$(tail -n+2 $csvFileIDLE|awk -F"," 'BEGIN{min=0}$1<min||min==0{min=$1}END{print(min)}') # To compute ts field
tail -n+2 ${csvFile} | awk -F"," '{print $0",'$simKey','$vmSize','$nbSensors',"$1-'$minTs'",sim"}' >> $tmpFile
tail -n+2 ${csvFileIDLE} | awk -F"," '{print $0",'$simKey','$vmSize','$nbSensors',"$1-'$minTsIDLE'",IDLE"}' >> $tmpFile
done
##### Fill dataFile #####
echo ts,energy,simKey,vmSize,nbSensors,time,state > $dataFile
for tmpFile in $(find ${whichLog}/*_tmp -type f)
do
tail -n+2 $tmpFile >> $dataFile
rm $tmpFile # Pay attention to this line :D
done
#+END_SRC
#+RESULTS: G5K-mergeCSV
#+RESULTS: mergeCSV
*** Final Plots
Figure Figure
#+BEGIN_SRC R :noweb yes :results graphics :file plots/sendFrequency-energy.png #+BEGIN_SRC R :noweb yes :results graphics :file plots/sendFrequency-energy.png
<<NS3-RUtils>> <<RUtils>>
simTime=1800
tr=171
cbPalette <- c("#00AFBB", "#E7B800", "#FC4E07","#0abb00")
# Load Data
data=read_csv("logs/ns3/last/data.csv")
data=data%>%mutate(energy=totalEnergy/simTime)
data=loadData("logs/ns3/last/data.csv")
data=data%>%filter(simKey=="SENDINTERVAL",sensorsNumber==15) data=data%>%filter(simKey=="SENDINTERVAL",sensorsNumber==15)
ggplot(data,aes(y=energy,x=sensorsSendInterval))+xlab(getLabel("sensorsSendInterval"))+ylab(getLabel("Sensors And Network\nEnergy Consumption (W)"))+ p=ggplot(data,aes(y=totalEnergy,x=sensorsSendInterval))+
geom_line()+geom_point()+expand_limits(y=c(0,50)) +theme_bw() + scale_fill_manual(values=cbPalette) + scale_colour_manual(values=cbPalette)+guides(color=guide_legend(title="Curves"))+ xlab(getLabel("sensorsSendInterval"))+ylab(getLabel("Sensors And Network\nEnergy Consumption (W)"))+
theme(axis.title.y.right = element_text(margin = margin(t = 0, r = -12, b = 0, l = 7))) geom_line()+geom_point()+expand_limits(y=c(0,50))+
guides(color=guide_legend(title="Curves"))+
theme(axis.title.y.right = element_text(margin = margin(t = 0, r = -13, b = 0, l = 7)))
p=applyTheme(p)
ggsave("plots/sendFrequency-energy.png",dpi=100, width=3, height=2.8) ggsave("plots/sendFrequency-energy.png",dpi=100, width=3, height=2.8)
#+END_SRC #+END_SRC
@ -662,21 +553,22 @@ component, formatting, style, styling, insert
Figure Sensors Position ~ Energy/Delay Figure Sensors Position ~ Energy/Delay
#+BEGIN_SRC R :noweb yes :results graphics :file plots/sensorsPosition-delayenergy.png #+BEGIN_SRC R :noweb yes :results graphics :file plots/sensorsPosition-delayenergy.png
<<NS3-RUtils>> <<RUtils>>
simTime=1800 tr=171 # Offset to center delay plot
tr=171 data=loadData("logs/ns3/last/data.csv")
data=data%>%filter(simKey=="SENSORSPOS",sensorsNumber==9)
cbPalette <- c("#00AFBB", "#E7B800", "#FC4E07","#0abb00") p=ggplot(data,aes(y=sensorsEnergy,x=positionSeed,color="Energy"))+xlab(getLabel("Sensors Position Seed"))+ylab(getLabel("Sensors Energy Consumption (W)"))+
# Load Data
data=read_csv("logs/ns3/last/data.csv")
data=data%>%mutate(sensorsEnergyW=sensorsEnergy/simTime)
data%>%filter(simKey=="SENSORSPOS",sensorsNumber==9) %>% ggplot(aes(y=sensorsEnergyW,x=positionSeed,color="Energy"))+xlab(getLabel("Sensors Position Seed"))+ylab(getLabel("Sensors Energy Consumption (W)"))+
geom_line()+geom_point()+geom_line(aes(y=(avgDelay-tr),color="Delay"))+geom_point(aes(y=(avgDelay-tr),color="Delay"))+expand_limits(y=c(0,15))+ geom_line()+geom_point()+geom_line(aes(y=(avgDelay-tr),color="Delay"))+geom_point(aes(y=(avgDelay-tr),color="Delay"))+expand_limits(y=c(0,15))+
scale_y_continuous(sec.axis = sec_axis(~.+tr, name = "Application Delay (s)")) +theme_bw() + scale_fill_manual(values=cbPalette) + scale_colour_manual(values=cbPalette)+guides(color=guide_legend(title="Curves"))+ scale_y_continuous(sec.axis = sec_axis(~.+tr, name = "Application Delay (s)")) +
theme(axis.title.y.right = element_text(margin = margin(t = 0, r = -12, b = 0, l = 7))) guides(color=guide_legend(title="Curves"))
p=applyTheme(p)
p=p+theme(axis.title.y.right = element_text(margin = margin(t = 0, r = -8, b = 0, l = 10)))
ggsave("plots/sensorsPosition-delayenergy.png",dpi=80, width=4, height=3.2) ggsave("plots/sensorsPosition-delayenergy.png",dpi=80, width=4, height=3.2)
#+END_SRC #+END_SRC
@ -687,28 +579,21 @@ component, formatting, style, styling, insert
#+BEGIN_SRC R :noweb yes :results graphics :file plots/numberSensors-WIFINET.png :session *R* #+BEGIN_SRC R :noweb yes :results graphics :file plots/numberSensors-WIFINET.png :session *R*
<<NS3-RUtils>> <<RUtils>>
simTime=1800
data=loadData("logs/ns3/last/data.csv")
cbPalette <- c("#00AFBB", "#E7B800", "#FC4E07","#0abb00")
# Load Data
data=read_csv("logs/ns3/last/data.csv")
data=data%>%filter(simKey=="NBSENSORS") data=data%>%filter(simKey=="NBSENSORS")
dataW=data%>%mutate(energy=sensorsEnergy/simTime)%>% mutate(type="Sensors") %>% select(sensorsNumber,energy,type) dataW=data%>%mutate(energy=sensorsEnergy)%>% mutate(type="Sensors") %>% select(sensorsNumber,energy,type)
dataN=data%>%mutate(energy=networkEnergy/simTime)%>% mutate(type="Network") %>% select(sensorsNumber,energy,type) dataN=data%>%mutate(energy=networkEnergy)%>% mutate(type="Network") %>% select(sensorsNumber,energy,type)
data=rbind(dataN,dataW) data=rbind(dataN,dataW)
data=data%>%mutate(sensorsNumber=as.character(sensorsNumber)) data=data%>%mutate(sensorsNumber=as.character(sensorsNumber))
data=data%>%mutate(sensorsNumber=fct_reorder(sensorsNumber,as.numeric(sensorsNumber))) data=data%>%mutate(sensorsNumber=fct_reorder(sensorsNumber,as.numeric(sensorsNumber)))
data=data%>%filter(sensorsNumber%in%c(2,4,6,8,10)) data=data%>%filter(sensorsNumber%in%c(2,4,6,8,10))
ggplot(data)+geom_bar(aes(x=sensorsNumber,y=energy,fill=type),position="identity",stat="identity")+ p=ggplot(data)+geom_bar(aes(x=sensorsNumber,y=energy,fill=type),position="identity",stat="identity")+
theme_bw()+
theme(text = element_text(size=16))+
scale_fill_manual(values=cbPalette) + scale_colour_manual(values=cbPalette)+
xlab(getLabel("sensorsNumber"))+ ylab("Energy Consumption (W)") + guides(fill=guide_legend(title="")) +coord_flip() xlab(getLabel("sensorsNumber"))+ ylab("Energy Consumption (W)") + guides(fill=guide_legend(title="")) +coord_flip()
p=applyTheme(p)+theme(text = element_text(size=15))
size=5 size=5
ggsave("plots/numberSensors-WIFINET.png",dpi=90,width=size,height=size-1) ggsave("plots/numberSensors-WIFINET.png",dpi=90,width=size,height=size-1)
@ -727,17 +612,14 @@ component, formatting, style, styling, insert
library("tidyverse") library("tidyverse")
# Load data # Load data
data=read_csv("./logs/g5k/last/data.csv") data=loadData("./logs/g5k/last/data.csv")
data=data%>%filter(state=="sim",simKey=="nbSensors") data=data%>%filter(state=="sim",simKey=="nbSensors")
PUE=1.2
# Cloud # Cloud
data10=data%>%filter(nbSensors==20)%>%mutate(energy=mean(energy)) %>% slice(1L) data10=data%>%filter(nbSensors==20)%>%mutate(energy=mean(energy)) %>% slice(1L)
data100=data%>%filter(nbSensors==100)%>%mutate(energy=mean(energy)) %>% slice(1L) data100=data%>%filter(nbSensors==100)%>%mutate(energy=mean(energy)) %>% slice(1L)
data300=data%>%filter(nbSensors==300)%>%mutate(energy=mean(energy)) %>% slice(1L) data300=data%>%filter(nbSensors==300)%>%mutate(energy=mean(energy)) %>% slice(1L)
dataCloud=rbind(data10,data100,data300)%>%mutate(sensorsNumber=nbSensors)%>%mutate(type="Cloud")%>%select(sensorsNumber,energy,type) dataCloud=rbind(data10,data100,data300)%>%mutate(sensorsNumber=nbSensors)%>%mutate(type="Cloud")%>%select(sensorsNumber,energy,type)
dataCloud=dataCloud%>%mutate(energy=energy*PUE)
approx=function(data1, data2,nbSensors){ approx=function(data1, data2,nbSensors){
x1=data1$sensorsNumber x1=data1$sensorsNumber
@ -776,14 +658,12 @@ component, formatting, style, styling, insert
fakeNetS=fakeNetS%>%mutate(sensorsNumber=as.character(sensorsNumber)) fakeNetS=fakeNetS%>%mutate(sensorsNumber=as.character(sensorsNumber))
dataCloud=dataCloud%>%mutate(sensorsNumber=as.character(sensorsNumber)) dataCloud=dataCloud%>%mutate(sensorsNumber=as.character(sensorsNumber))
data=rbind(fakeNetS,dataCloud)%>%mutate(sensorsNumber=as.character(sensorsNumber)) data=rbind(fakeNetS,dataCloud)%>%mutate(sensorsNumber=as.character(sensorsNumber))
data=data%>%mutate(sensorsNumber=fct_reorder(sensorsNumber,as.numeric(sensorsNumber))) data=data%>%mutate(sensorsNumber=fct_reorder(sensorsNumber,as.numeric(sensorsNumber)))
ggplot(data)+geom_bar(position="dodge2",colour="black",aes(x=sensorsNumber,y=energy,fill=type),stat="identity")+ p=ggplot(data)+geom_bar(position="dodge2",colour="black",aes(x=sensorsNumber,y=energy,fill=type),stat="identity")+
xlab("Sensors Number")+ylab("Power Consumption (W)")+guides(fill=guide_legend(title="Part")) xlab("Sensors Number")+ylab("Power Consumption (W)")+guides(fill=guide_legend(title="Part"))
p=applyTheme(p)
ggsave("plots/final.png",dpi=80) ggsave("plots/final.png",dpi=80)
#+END_SRC #+END_SRC
@ -794,34 +674,131 @@ component, formatting, style, styling, insert
#+BEGIN_SRC R :results graphics :file plots/vmSize-cloud.png Impact of vm size
library("tidyverse") #+BEGIN_SRC R :noweb yes :results graphics :noweb yes :file plots/vmSize-cloud.png
<<RUtils>>
# Load data # Load data
data=read_csv("./logs/g5k/last/data.csv") data=loadData("./logs/g5k/last/data.csv")
data=data%>%filter(simKey=="nbSensors")
dataI=data%>%filter(state=="IDLE")%>%group_by(nbSensors)%>%mutate(energy=mean(energy)) data=data%>%filter(state=="sim",simKey=="vmSize")%>%filter(time<=300)
dataS=data%>%filter(state=="sim")%>%group_by(nbSensors)%>%mutate(energy=mean(energy))
data=data%>%mutate(vmSize=paste0(vmSize," MB"))
data=data%>%group_by(vmSize)%>%mutate(avgEnergy=mean(energy))%>%ungroup()
p=ggplot(data,aes(x=time, y=energy)) + geom_line()+facet_wrap(~vmSize)+geom_hline(aes(yintercept=avgEnergy),color="Red",size=1.0)+expand_limits(y=c(0,40))+ylab("Server Energy Consumption (W)")+
xlab("Simulation Time (s)")
data=rbind(dataI,dataS) p=applyTheme(p)
# data1024=data%>%filter(vmSize==1024)%>%mutate(energy=mean(energy))# %>% slice(1L) ggsave("plots/vmSize-cloud.png",dpi=90,height=3,width=6)
# data100=data%>%filter(nbSensors==100)%>%mutate(energy=mean(energy)) %>% slice(1L)
# data300=data%>%filter(nbSensors==300)%>%mutate(energy=mean(energy)) %>% slice(1L)
ggplot(data,aes(x=time, y=energy,color=state)) + geom_point()+facet_wrap(~nbSensors)
ggsave("plots/vmSize-cloud.png",dpi=80)
#+END_SRC #+END_SRC
#+RESULTS: #+RESULTS:
[[file:plots/vmSize-cloud.png]] [[file:plots/vmSize-cloud.png]]
Impact of sensors number
#+BEGIN_SRC R :noweb yes :results graphics :file plots/sensorsNumber-cloud.png
<<RUtils>>
# Load data
data=loadData("./logs/g5k/last/data.csv")
data=data%>%filter(state=="sim",simKey=="nbSensors")%>%ungroup()
data=data%>%mutate(nbSensorsSort=nbSensors)
data=data%>%mutate(nbSensors=paste0(nbSensors," Sensors"))
data$nbSensors=fct_reorder(data$nbSensors, data$nbSensorsSort)
data=data%>%group_by(nbSensors)%>%mutate(avgEnergy=mean(energy))%>%ungroup()
p=ggplot(data,aes(x=time, y=energy)) + geom_line()+facet_wrap(~nbSensors)+expand_limits(y=c(0,40))+ylab("Server Energy Consumption (W)")+
xlab("Simulation Time (s)")+geom_hline(aes(yintercept=avgEnergy),color="Red",size=1.0)
p=applyTheme(p)
ggsave("plots/sensorsNumber-cloud.png",dpi=90,height=3,width=6)
#+END_SRC
#+RESULTS:
[[file:plots/sensorsNumber-cloud.png]]
#+BEGIN_SRC R :noweb yes :results graphics :file plots/sensorsNumberLine-cloud.png :session *R:2*
<<RUtils>>
# Load data
data=loadData("./logs/g5k/last/data.csv")
data=data%>%filter(state=="sim",simKey=="nbSensors")%>%ungroup()
data=data%>%group_by(nbSensors)%>%mutate(avgEnergy=mean(energy))%>%distinct()%>%ungroup()
data=data%>%distinct(nbSensors,.keep_all=TRUE)
data=data%>%mutate(WPS=(avgEnergy/nbSensors))
p=ggplot(data,aes(x=nbSensors, y=avgEnergy)) + geom_point() +geom_line()+
xlab(getLabel("sensorsNumber"))+ylab("Average Server Energy (W)")
p=applyTheme(p)+theme(text = element_text(size=14))+ expand_limits(y=108)
ggsave("plots/sensorsNumberLine-cloud.png",dpi=90,height=4,width=4)
#+END_SRC
#+RESULTS:
[[file:plots/sensorsNumberLine-cloud.png]]
#+BEGIN_SRC R :noweb yes :results graphics :file plots/WPS-cloud.png :session *R:2*
<<RUtils>>
# Load data
data=loadData("./logs/g5k/last/data.csv")
data=data%>%filter(state=="sim",simKey=="nbSensors")%>%ungroup()
data=data%>%group_by(nbSensors)%>%mutate(avgEnergy=mean(energy))%>%distinct()%>%ungroup()
data=data%>%distinct(nbSensors,.keep_all=TRUE)
data=data%>%mutate(WPS=(avgEnergy/nbSensors))
oldNb=data$nbSensors
data=data%>%mutate(nbSensors=as.character(nbSensors))
data$nbSensors=fct_reorder(data$nbSensors,oldNb)
p=ggplot(data,aes(x=nbSensors, y=WPS)) + geom_bar(stat="identity")+
xlab(getLabel("sensorsNumber"))+ylab("Server energy cost per sensors (W)")
p=applyTheme(p)+theme(text = element_text(size=14))
ggsave("plots/WPS-cloud.png",dpi=90,height=4,width=4)
#+END_SRC
#+RESULTS:
[[file:plots/WPS-cloud.png]]
#+BEGIN_SRC R :noweb yes :results graphics :file plots/sendInterval-cloud.png
<<RUtils>>
# Load data
data=loadData("./logs/g5k/last/data.csv")
data=data%>%filter(state=="sim",simKey=="sendInterval")%>%ungroup()
oldSendInterval=data$sendInterval
data=data%>%mutate(sendInterval=paste0(sendInterval,"s"))
data$sendInterval=fct_reorder(data$sendInterval,oldSendInterval)
data=data%>%group_by(sendInterval)%>%mutate(avgEnergy=mean(energy))%>%ungroup()
p=ggplot(data,aes(x=time, y=energy)) + geom_line()+facet_wrap(~sendInterval)+expand_limits(y=c(0,40))+ylab("Server Energy Consumption (W)")+
xlab("Simulation Time (s)")+geom_hline(aes(yintercept=avgEnergy),color="Red",size=1.0)
p=applyTheme(p)
ggsave("plots/sendInterval-cloud.png",dpi=90,height=3,width=6)
#+END_SRC
#+RESULTS:
[[file:plots/sendInterval-cloud.png]]
* Emacs settings :noexport: * Emacs settings :noexport:
# Local Variables: # Local Variables:

Binary file not shown.

Binary file not shown.

View file

@ -1,292 +0,0 @@
* Logs Analysis
** R Scripts
*** Plots script
#+BEGIN_SRC R :results output :noweb yes :file second-final/plot.png
<<RUtils>>
dataOrig=loadData("./second-final/data.csv")
data=dataOrig%>%filter(simKey=="nbSensors")%>%filter(state=="sim",nbSensors==100)
dataIDLE=dataOrig%>%filter(simKey=="nbSensors")%>%filter(state!="sim",nbSensors==100)
data=data%>%mutate(meanEnergy=mean(energy))
dataIDLE=dataIDLE%>%mutate(meanEnergy=mean(energy))
data=rbind(data,dataIDLE)
ggplot(data,aes(x=time,y=energy))+geom_point(position="jitter")+xlab(getLabel("time"))+expand_limits(y=0)+facet_wrap(~state)+geom_hline(aes(color=state,yintercept=mean(meanEnergy)))
ggsave("./second-final/plot.png",dpi=180)
#+END_SRC
#+RESULTS:
#+begin_example
# A tibble: 3,050 x 8
ts energy simKey vmSize nbSensors time state meanEnergy
<dbl> <dbl> <chr> <dbl> <dbl> <dbl> <chr> <dbl>
1 1558429001. 90.2 nbSensors 2048 100 0 IDLE 90.8
2 1558429001. 89 nbSensors 2048 100 0.0199 IDLE 90.8
3 1558429001. 89 nbSensors 2048 100 0.0399 IDLE 90.8
4 1558429001. 90.8 nbSensors 2048 100 0.0599 IDLE 90.8
5 1558429001. 91 nbSensors 2048 100 0.0799 IDLE 90.8
6 1558429001. 90.5 nbSensors 2048 100 0.1000 IDLE 90.8
7 1558429001. 89.9 nbSensors 2048 100 0.120 IDLE 90.8
8 1558429001. 88.6 nbSensors 2048 100 0.140 IDLE 90.8
9 1558429001. 88.6 nbSensors 2048 100 0.160 IDLE 90.8
10 1558429001. 90.5 nbSensors 2048 100 0.180 IDLE 90.8
# … with 3,040 more rows
#+end_example
**** Final plot
#+BEGIN_SRC R :results graphics :noweb yes :file second-final/plot-final.png :session *R*
<<RUtils>>
data=loadData("./second-final/data.csv")
data=data%>%filter(state=="sim",simKey=="nbSensors")
# Cloud
data10=data%>%filter(nbSensors==20)%>%mutate(meanEnergy=mean(energy)) %>% slice(1L)
data100=data%>%filter(nbSensors==100)%>%mutate(meanEnergy=mean(energy)) %>% slice(1L)
data300=data%>%filter(nbSensors==300)%>%mutate(meanEnergy=mean(energy)) %>% slice(1L)
dataCloud=rbind(data10,data100,data300)%>%mutate(nbSensors=as.character(nbSensors))
# Network
dataNet=loadData("../../ns3-simulations/logs/data.csv")
dataNet=dataNet%>%filter(simKey=="NBSENSORS")
data5=dataNet%>%filter(sensorsNumber==5)%>%select(networkEnergy,sensorsNumber)
data10=dataNet%>%filter(sensorsNumber==10)%>%select(networkEnergy,sensorsNumber)
print(data20)
ggplot(dataCloud)+geom_bar(aes(x=nbSensors,y=meanEnergy),stat="identity")+xlab("Sensors Number")+ylab("Power Consumption (W)")
ggsave("./second-final/plot-final.png",dpi=80)
#+END_SRC
#+RESULTS:
#+BEGIN_SRC R :noweb yes :results graphics :file final.png :session *R*
<<RUtils>>
data=loadData("./second-final/data.csv")
data=data%>%filter(state=="sim",simKey=="nbSensors")
# Cloud
data10=data%>%filter(nbSensors==20)%>%mutate(energy=mean(energy)) %>% slice(1L)
data100=data%>%filter(nbSensors==100)%>%mutate(energy=mean(energy)) %>% slice(1L)
data300=data%>%filter(nbSensors==300)%>%mutate(energy=mean(energy)) %>% slice(1L)
dataCloud=rbind(data10,data100,data300)%>%mutate(sensorsNumber=nbSensors)%>%mutate(type="Cloud")%>%select(sensorsNumber,energy,type)
approx=function(data1, data2,nbSensors){
x1=data1$sensorsNumber
y1=data1$energy
x2=data2$sensorsNumber
y2=data2$energy
a=((y2-y1)/(x2-x1))
b=y1-a*x1
return(a*nbSensors+b)
}
simTime=1800
# Network
data=read_csv("../../ns3-simulations/logs/data.csv")
data=data%>%filter(simKey=="NBSENSORS")
dataC5=data%>%filter(sensorsNumber==5)%>% mutate(energy=networkEnergy/simTime) %>%select(energy,sensorsNumber)
dataC10=data%>%filter(sensorsNumber==10)%>%mutate(energy=networkEnergy/simTime) %>%select(energy,sensorsNumber)
dataNet=rbind(dataC5,dataC10)%>%mutate(type="Network")
# Sensors
dataS5=data%>%filter(sensorsNumber==5)%>% mutate(energy=sensorsEnergy/simTime) %>%select(energy,sensorsNumber)
dataS10=data%>%filter(sensorsNumber==10)%>%mutate(energy=sensorsEnergy/simTime) %>%select(energy,sensorsNumber)
dataS=rbind(dataS5,dataS10)%>%mutate(type="Sensors")
fakeNetS=tibble(
sensorsNumber=c(20,100,300,20,100,300),
energy=c(dataC10$energy,approx(dataC5,dataC10,100),approx(dataC5,dataC10,300),dataS10$energy,approx(dataS5,dataS10,100),approx(dataS5,dataS10,300)),
type=c("Network","Network","Network","Sensors","Sensors","Sensors")
)
fakeNetS=fakeNetS%>%mutate(sensorsNumber=as.character(sensorsNumber))
dataCloud=dataCloud%>%mutate(sensorsNumber=as.character(sensorsNumber))
data=rbind(fakeNetS,dataCloud)%>%mutate(sensorsNumber=as.character(sensorsNumber))
data=data%>%mutate(sensorsNumber=fct_reorder(sensorsNumber,as.numeric(sensorsNumber)))
ggplot(data)+geom_bar(position="dodge2",colour="black",aes(x=sensorsNumber,y=energy,fill=type),stat="identity")+
xlab("Sensors Number")+ylab("Power Consumption (W)")+guides(fill=guide_legend(title="Part"))
ggsave("final.png",dpi=80)
#+END_SRC
#+RESULTS:
[[file:final.png]]
*** R Utils
RUtils is intended to load logs (data.csv) and providing
simple plot function for them.
#+NAME: RUtils
#+BEGIN_SRC R :eval never
library("tidyverse")
# Fell free to update the following
labels=c(time="Time (s)")
loadData=function(path){
data=read_csv(path)
}
# Get label according to varName
getLabel=function(varName){
if(is.na(labels[varName])){
return(varName)
}
return(labels[varName])
}
#+END_SRC
** Plots -> PDF
Merge all plots in plots/ folder into a pdf file.
#+NAME: plotToPDF
#+BEGIN_SRC bash :results output :noweb yes
orgFile="plots/plots.org"
<<singleRun>> # To get all default arguments
# Write helper function
function write {
echo "$1" >> $orgFile
}
echo "#+TITLE: Analysis" > $orgFile
write "#+LATEX_HEADER: \usepackage{fullpage}"
write "#+OPTIONS: toc:nil"
# Default arguments
write '\begin{center}'
write '\begin{tabular}{lr}'
write 'Parameters & Values\\'
write '\hline'
write "sensorsPktSize & ${sensorsPktSize} bytes\\\\"
write "sensorsSendInterval & ${sensorsSendInterval}s\\\\"
write "sensorsNumber & ${sensorsNumber}\\\\"
write "nbHop & ${nbHop}\\\\"
write "linksBandwidth & ${linksBandwidth}Mbps\\\\"
write "linksLatency & ${linksLatency}ms\\\\"
write '\end{tabular}'
write '\newline'
write '\end{center}'
for plot in $(find plots/ -type f -name "*.png")
do
write "\includegraphics[width=0.5\linewidth]{$(basename ${plot})}"
done
# Export to pdf
emacs $orgFile --batch -f org-latex-export-to-pdf --kill
#+END_SRC
** CSVs -> CSV
Merge all energy file into one (and add additional fields).
#+NAME: mergeCSV
#+BEGIN_SRC sh
#!/bin/bash
whichLog="second-final"
logFile="$(dirname $(readlink -f $0))"/$whichLog/simLogs.txt
dataFile=$(dirname "$logFile")/data.csv
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}'
}
##### Add extract info to energy #####
IFS=$'\n'
for cmd in $(cat $logFile|grep "Simulation parameters")
do
nodeName=$(getValue $cmd serverNodeName)
from=$(getValue $cmd simStart)
to=$(getValue $cmd simEnd)
vmSize=$(getValue $cmd vmSize)
nbSensors=$(getValue $cmd nbSensors)
simKey=$(getValue $cmd simKey)
csvFile="$whichLog/${simKey}_${vmSize}VMSIZE_${nbSensors}NBSENSORS_${from}${to}.csv"
csvFileIDLE="$whichLog/${simKey}_${vmSize}VMSIZE_${nbSensors}NBSENSORS_${from}${to}_IDLE.csv"
tmpFile=${csvFile}_tmp
echo ts,energy,simKey,vmSize,nbSensors,time,state > $tmpFile
minTs=$(tail -n+2 $csvFile|awk -F"," 'BEGIN{min=0}$1<min||min==0{min=$1}END{print(min)}') # To compute ts field
minTsIDLE=$(tail -n+2 $csvFileIDLE|awk -F"," 'BEGIN{min=0}$1<min||min==0{min=$1}END{print(min)}') # To compute ts field
tail -n+2 ${csvFile} | awk -F"," '{print $0",'$simKey','$vmSize','$nbSensors',"$1-'$minTs'",sim"}' >> $tmpFile
tail -n+2 ${csvFileIDLE} | awk -F"," '{print $0",'$simKey','$vmSize','$nbSensors',"$1-'$minTsIDLE'",IDLE"}' >> $tmpFile
done
##### Fill dataFile #####
echo ts,energy,simKey,vmSize,nbSensors,time,state > $dataFile
for tmpFile in $(find ${whichLog}/*_tmp -type f)
do
tail -n+2 $tmpFile >> $dataFile
rm $tmpFile # Pay attention to this line :D
done
#+END_SRC
#+RESULTS: mergeCSV
** Custom Plots
#+NAME: ssiNet
#+BEGIN_SRC R :noweb yes :results graphics :file plots/sensorsSendInterval-net.png
<<RUtils>>
data%>%filter(simKey=="SENDINTERVAL",sensorsNumber==20) %>% ggplot(aes(x=sensorsSendInterval,y=networkEnergy))+xlab(getLabel("sensorsSendInterval"))+ylab(getLabel("networkEnergy"))+
geom_line()+labs(title="For 20 sensors")
ggsave("plots/sensorsSendInterval-net.png",dpi=80)
#+END_SRC
#+RESULTS:
[[file:plots/sensorsSendInterval-net.png]]
#+NAME: ssiWifi
#+BEGIN_SRC R :noweb yes :results graphics :file plots/sensorsSendInterval-wifi.png
<<RUtils>>
data%>%filter(simKey=="SENDINTERVAL",sensorsNumber==20) %>% ggplot(aes(x=sensorsSendInterval,y=sensorsEnergy))+xlab(getLabel("sensorsSendInterval"))+ylab(getLabel("sensorsEnergy"))+
geom_line() + geom_line()+labs(title="For 20 sensors")
ggsave("plots/sensorsSendInterval-wifi.png",dpi=80)
#+END_SRC
#+RESULTS: ssiWifi
[[file:plots/sensorsSendInterval-wifi.png]]
#+RESULTS:
[[file:plots/sensorsSendInterval.png]]

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

File diff suppressed because it is too large Load diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 130 KiB

View file

@ -1,30 +0,0 @@
---------- Simulation (key=vmSize) start at 1558364539 (Mon May 20 17:02:19 CEST 2019)
Simulation parameters: serverNode:nova-7.lyon.grid5000.fr serverIp:10.140.80.1 serverMac:00:16:3E:8C:50:01 clientNode:nova-5.lyon.grid5000.fr clientNode:nova-5.lyon.grid5000.fr clientMac: delay:60 delayStart:1558364479 nbSensors:20 nbSensorsFactor:3 requestPerSensors:30 sensorsSendInterval:10 simKey:vmSize simStart:1558364539 simEnd:1558364842 duration:303 serverNodeName:nova-7 vmSize:1024
./recordEnergy.sh nova nova-7 1558364539 1558364842 energy_vmSize_20NS_1024vmSize_1558364539_1558364842.csv
---------- Simulation (key=vmSize) end at 1558364842 (Mon May 20 17:07:22 CEST 2019)
---------- Simulation (key=vmSize) start at 1558364978 (Mon May 20 17:09:38 CEST 2019)
Simulation parameters: serverNode:nova-7.lyon.grid5000.fr serverIp:10.140.80.1 serverMac:00:16:3E:8C:50:01 clientNode:nova-5.lyon.grid5000.fr clientNode:nova-5.lyon.grid5000.fr clientMac: delay:60 delayStart:1558364918 nbSensors:20 nbSensorsFactor:3 requestPerSensors:30 sensorsSendInterval:10 simKey:vmSize simStart:1558364978 simEnd:1558365281 duration:303 serverNodeName:nova-7 vmSize:2048
./recordEnergy.sh nova nova-7 1558364978 1558365281 energy_vmSize_20NS_2048vmSize_1558364978_1558365281.csv
---------- Simulation (key=vmSize) end at 1558365281 (Mon May 20 17:14:41 CEST 2019)
---------- Simulation (key=vmSize) start at 1558365418 (Mon May 20 17:16:58 CEST 2019)
Simulation parameters: serverNode:nova-7.lyon.grid5000.fr serverIp:10.140.80.1 serverMac:00:16:3E:8C:50:01 clientNode:nova-5.lyon.grid5000.fr clientNode:nova-5.lyon.grid5000.fr clientMac: delay:60 delayStart:1558365358 nbSensors:20 nbSensorsFactor:3 requestPerSensors:30 sensorsSendInterval:10 simKey:vmSize simStart:1558365418 simEnd:1558365721 duration:303 serverNodeName:nova-7 vmSize:4096
./recordEnergy.sh nova nova-7 1558365418 1558365721 energy_vmSize_20NS_4096vmSize_1558365418_1558365721.csv
---------- Simulation (key=vmSize) end at 1558365721 (Mon May 20 17:22:01 CEST 2019)
---------- Simulation (key=nbSensors) start at 1558365858 (Mon May 20 17:24:18 CEST 2019)
Simulation parameters: serverNode:nova-7.lyon.grid5000.fr serverIp:10.140.80.1 serverMac:00:16:3E:8C:50:01 clientNode:nova-5.lyon.grid5000.fr clientNode:nova-5.lyon.grid5000.fr clientMac: delay:60 delayStart:1558365798 nbSensors:20 nbSensorsFactor:3 requestPerSensors:30 sensorsSendInterval:10 simKey:nbSensors simStart:1558365858 simEnd:1558366161 duration:303 serverNodeName:nova-7 vmSize:2048
./recordEnergy.sh nova nova-7 1558365858 1558366161 energy_nbSensors_20NS_2048vmSize_1558365858_1558366161.csv
---------- Simulation (key=nbSensors) end at 1558366161 (Mon May 20 17:29:21 CEST 2019)
---------- Simulation (key=nbSensors) start at 1558366299 (Mon May 20 17:31:39 CEST 2019)
Simulation parameters: serverNode:nova-7.lyon.grid5000.fr serverIp:10.140.80.1 serverMac:00:16:3E:8C:50:01 clientNode:nova-5.lyon.grid5000.fr clientNode:nova-5.lyon.grid5000.fr clientMac: delay:60 delayStart:1558366239 nbSensors:100 nbSensorsFactor:3 requestPerSensors:30 sensorsSendInterval:10 simKey:nbSensors simStart:1558366299 simEnd:1558366611 duration:312 serverNodeName:nova-7 vmSize:2048
./recordEnergy.sh nova nova-7 1558366299 1558366611 energy_nbSensors_100NS_2048vmSize_1558366299_1558366611.csv
---------- Simulation (key=nbSensors) end at 1558366611 (Mon May 20 17:36:51 CEST 2019)
---------- Simulation (key=nbSensors) start at 1558366748 (Mon May 20 17:39:08 CEST 2019)
Simulation parameters: serverNode:nova-7.lyon.grid5000.fr serverIp:10.140.80.1 serverMac:00:16:3E:8C:50:01 clientNode:nova-5.lyon.grid5000.fr clientNode:nova-5.lyon.grid5000.fr clientMac: delay:60 delayStart:1558366688 nbSensors:300 nbSensorsFactor:3 requestPerSensors:30 sensorsSendInterval:10 simKey:nbSensors simStart:1558366748 simEnd:1558367082 duration:334 serverNodeName:nova-7 vmSize:2048
./recordEnergy.sh nova nova-7 1558366748 1558367082 energy_nbSensors_300NS_2048vmSize_1558366748_1558367082.csv
---------- Simulation (key=nbSensors) end at 1558367082 (Mon May 20 17:44:42 CEST 2019)

File diff suppressed because it is too large Load diff

View file

@ -1,30 +0,0 @@
---------- Simulation (key=vmSize) start at 1558075866 (Fri May 17 08:51:06 CEST 2019)
Simulation parameters: serverNode:nova-20.lyon.grid5000.fr serverIp:10.140.0.1 serverMac:00:16:3E:8C:00:01 clientNode:nova-21.lyon.grid5000.fr clientNode:nova-21.lyon.grid5000.fr clientMac:00:16:3E:8C:00:02 delay:60 nbSensors:20 nbSensorsFactor:3 requestPerSensors:30 sensorsRequestPerSec: simKey:vmSize simStart:1558075866 simEnd:1558076173 duration:307 serverNodeName:nova-20 vmSize:1024
./recordEnergy.sh nova nova-20 1558075866 1558076173 energy_vmSize_20NS_1024vmSize_1558075866_1558076173.csv
---------- Simulation (key=vmSize) end at 1558076173 (Fri May 17 08:56:13 CEST 2019)
---------- Simulation (key=vmSize) start at 1558076362 (Fri May 17 08:59:22 CEST 2019)
Simulation parameters: serverNode:nova-20.lyon.grid5000.fr serverIp:10.140.0.1 serverMac:00:16:3E:8C:00:01 clientNode:nova-21.lyon.grid5000.fr clientNode:nova-21.lyon.grid5000.fr clientMac:00:16:3E:8C:00:02 delay:60 nbSensors:20 nbSensorsFactor:3 requestPerSensors:30 sensorsRequestPerSec: simKey:vmSize simStart:1558076362 simEnd:1558076670 duration:308 serverNodeName:nova-20 vmSize:2048
./recordEnergy.sh nova nova-20 1558076362 1558076670 energy_vmSize_20NS_2048vmSize_1558076362_1558076670.csv
---------- Simulation (key=vmSize) end at 1558076670 (Fri May 17 09:04:30 CEST 2019)
---------- Simulation (key=vmSize) start at 1558076859 (Fri May 17 09:07:39 CEST 2019)
Simulation parameters: serverNode:nova-20.lyon.grid5000.fr serverIp:10.140.0.1 serverMac:00:16:3E:8C:00:01 clientNode:nova-21.lyon.grid5000.fr clientNode:nova-21.lyon.grid5000.fr clientMac:00:16:3E:8C:00:02 delay:60 nbSensors:20 nbSensorsFactor:3 requestPerSensors:30 sensorsRequestPerSec: simKey:vmSize simStart:1558076859 simEnd:1558077167 duration:308 serverNodeName:nova-20 vmSize:4096
./recordEnergy.sh nova nova-20 1558076859 1558077167 energy_vmSize_20NS_4096vmSize_1558076859_1558077167.csv
---------- Simulation (key=vmSize) end at 1558077167 (Fri May 17 09:12:47 CEST 2019)
---------- Simulation (key=nbSensors) start at 1558077356 (Fri May 17 09:15:56 CEST 2019)
Simulation parameters: serverNode:nova-20.lyon.grid5000.fr serverIp:10.140.0.1 serverMac:00:16:3E:8C:00:01 clientNode:nova-21.lyon.grid5000.fr clientNode:nova-21.lyon.grid5000.fr clientMac:00:16:3E:8C:00:02 delay:60 nbSensors:20 nbSensorsFactor:3 requestPerSensors:30 sensorsRequestPerSec: simKey:nbSensors simStart:1558077356 simEnd:1558077664 duration:308 serverNodeName:nova-20 vmSize:2048
./recordEnergy.sh nova nova-20 1558077356 1558077664 energy_nbSensors_20NS_2048vmSize_1558077356_1558077664.csv
---------- Simulation (key=nbSensors) end at 1558077664 (Fri May 17 09:21:04 CEST 2019)
---------- Simulation (key=nbSensors) start at 1558077852 (Fri May 17 09:24:12 CEST 2019)
Simulation parameters: serverNode:nova-20.lyon.grid5000.fr serverIp:10.140.0.1 serverMac:00:16:3E:8C:00:01 clientNode:nova-21.lyon.grid5000.fr clientNode:nova-21.lyon.grid5000.fr clientMac:00:16:3E:8C:00:02 delay:60 nbSensors:100 nbSensorsFactor:3 requestPerSensors:30 sensorsRequestPerSec: simKey:nbSensors simStart:1558077852 simEnd:1558078188 duration:336 serverNodeName:nova-20 vmSize:2048
./recordEnergy.sh nova nova-20 1558077852 1558078188 energy_nbSensors_100NS_2048vmSize_1558077852_1558078188.csv
---------- Simulation (key=nbSensors) end at 1558078188 (Fri May 17 09:29:48 CEST 2019)
---------- Simulation (key=nbSensors) start at 1558078377 (Fri May 17 09:32:57 CEST 2019)
Simulation parameters: serverNode:nova-20.lyon.grid5000.fr serverIp:10.140.0.1 serverMac:00:16:3E:8C:00:01 clientNode:nova-21.lyon.grid5000.fr clientNode:nova-21.lyon.grid5000.fr clientMac:00:16:3E:8C:00:02 delay:60 nbSensors:300 nbSensorsFactor:3 requestPerSensors:30 sensorsRequestPerSec: simKey:nbSensors simStart:1558078377 simEnd:1558078782 duration:405 serverNodeName:nova-20 vmSize:2048
./recordEnergy.sh nova nova-20 1558078377 1558078782 energy_nbSensors_300NS_2048vmSize_1558078377_1558078782.csv
---------- Simulation (key=nbSensors) end at 1558078782 (Fri May 17 09:39:42 CEST 2019)

View file

@ -1,19 +0,0 @@
ts,energy
1 ts energy

File diff suppressed because it is too large Load diff

View file

@ -1,30 +0,0 @@
---------- Simulation (key=vmSize) start at 1558594924 (Thu May 23 09:02:04 CEST 2019)
Simulation parameters: serverNode:nova-9.lyon.grid5000.fr serverIp:10.140.0.1 serverMac:00:16:3E:8C:00:01 clientNode:nova-5.lyon.grid5000.fr clientNode:nova-5.lyon.grid5000.fr clientMac: delay:60 delayStart:1558594864 nbSensors:20 nbSensorsFactor:3 requestPerSensors:30 sensorsSendInterval:10 simKey:vmSize simStart:1558594924 simEnd:1558595227 duration:303 serverNodeName:nova-9 vmSize:1024
./recordEnergy.sh nova nova-9 1558594924 1558595227 energy_vmSize_20NS_1024vmSize_1558594924_1558595227.csv
---------- Simulation (key=vmSize) end at 1558595227 (Thu May 23 09:07:07 CEST 2019)
---------- Simulation (key=vmSize) start at 1558595365 (Thu May 23 09:09:25 CEST 2019)
Simulation parameters: serverNode:nova-9.lyon.grid5000.fr serverIp:10.140.0.1 serverMac:00:16:3E:8C:00:01 clientNode:nova-5.lyon.grid5000.fr clientNode:nova-5.lyon.grid5000.fr clientMac: delay:60 delayStart:1558595305 nbSensors:20 nbSensorsFactor:3 requestPerSensors:30 sensorsSendInterval:10 simKey:vmSize simStart:1558595365 simEnd:1558595668 duration:303 serverNodeName:nova-9 vmSize:2048
./recordEnergy.sh nova nova-9 1558595365 1558595668 energy_vmSize_20NS_2048vmSize_1558595365_1558595668.csv
---------- Simulation (key=vmSize) end at 1558595668 (Thu May 23 09:14:28 CEST 2019)
---------- Simulation (key=vmSize) start at 1558595807 (Thu May 23 09:16:47 CEST 2019)
Simulation parameters: serverNode:nova-9.lyon.grid5000.fr serverIp:10.140.0.1 serverMac:00:16:3E:8C:00:01 clientNode:nova-5.lyon.grid5000.fr clientNode:nova-5.lyon.grid5000.fr clientMac: delay:60 delayStart:1558595747 nbSensors:20 nbSensorsFactor:3 requestPerSensors:30 sensorsSendInterval:10 simKey:vmSize simStart:1558595807 simEnd:1558596110 duration:303 serverNodeName:nova-9 vmSize:4096
./recordEnergy.sh nova nova-9 1558595807 1558596110 energy_vmSize_20NS_4096vmSize_1558595807_1558596110.csv
---------- Simulation (key=vmSize) end at 1558596110 (Thu May 23 09:21:50 CEST 2019)
---------- Simulation (key=nbSensors) start at 1558596246 (Thu May 23 09:24:06 CEST 2019)
Simulation parameters: serverNode:nova-9.lyon.grid5000.fr serverIp:10.140.0.1 serverMac:00:16:3E:8C:00:01 clientNode:nova-5.lyon.grid5000.fr clientNode:nova-5.lyon.grid5000.fr clientMac: delay:60 delayStart:1558596186 nbSensors:20 nbSensorsFactor:3 requestPerSensors:30 sensorsSendInterval:10 simKey:nbSensors simStart:1558596246 simEnd:1558596549 duration:303 serverNodeName:nova-9 vmSize:2048
./recordEnergy.sh nova nova-9 1558596246 1558596549 energy_nbSensors_20NS_2048vmSize_1558596246_1558596549.csv
---------- Simulation (key=nbSensors) end at 1558596549 (Thu May 23 09:29:09 CEST 2019)
---------- Simulation (key=nbSensors) start at 1558596687 (Thu May 23 09:31:27 CEST 2019)
Simulation parameters: serverNode:nova-9.lyon.grid5000.fr serverIp:10.140.0.1 serverMac:00:16:3E:8C:00:01 clientNode:nova-5.lyon.grid5000.fr clientNode:nova-5.lyon.grid5000.fr clientMac: delay:60 delayStart:1558596627 nbSensors:100 nbSensorsFactor:3 requestPerSensors:30 sensorsSendInterval:10 simKey:nbSensors simStart:1558596687 simEnd:1558596999 duration:312 serverNodeName:nova-9 vmSize:2048
./recordEnergy.sh nova nova-9 1558596687 1558596999 energy_nbSensors_100NS_2048vmSize_1558596687_1558596999.csv
---------- Simulation (key=nbSensors) end at 1558596999 (Thu May 23 09:36:39 CEST 2019)
---------- Simulation (key=nbSensors) start at 1558597138 (Thu May 23 09:38:58 CEST 2019)
Simulation parameters: serverNode:nova-9.lyon.grid5000.fr serverIp:10.140.0.1 serverMac:00:16:3E:8C:00:01 clientNode:nova-5.lyon.grid5000.fr clientNode:nova-5.lyon.grid5000.fr clientMac: delay:60 delayStart:1558597078 nbSensors:300 nbSensorsFactor:3 requestPerSensors:30 sensorsSendInterval:10 simKey:nbSensors simStart:1558597138 simEnd:1558597472 duration:334 serverNodeName:nova-9 vmSize:2048
./recordEnergy.sh nova nova-9 1558597138 1558597472 energy_nbSensors_300NS_2048vmSize_1558597138_1558597472.csv
---------- Simulation (key=nbSensors) end at 1558597472 (Thu May 23 09:44:32 CEST 2019)

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,30 +1,50 @@
---------- Simulation (key=vmSize) start at 1558616938 (Thu May 23 15:08:58 CEST 2019) ---------- Simulation (key=vmSize) start at 1558689129 (Fri May 24 11:12:09 CEST 2019)
Simulation parameters: serverNode:nova-22.lyon.grid5000.fr serverIp:10.140.4.1 serverMac:00:16:3E:8C:04:01 clientNode:nova-2.lyon.grid5000.fr clientNode:nova-2.lyon.grid5000.fr clientMac: delay:60 delayStart:1558616878 nbSensors:20 nbSensorsFactor:3 requestPerSensors:30 sensorsSendInterval:10 simKey:vmSize simStart:1558616938 simEnd:1558617241 duration:303 serverNodeName:nova-22 vmSize:1024 Simulation parameters: serverNode:nova-9.lyon.grid5000.fr serverIp:10.140.0.1 serverMac:00:16:3E:8C:00:01 clientNode:nova-5.lyon.grid5000.fr clientNode:nova-5.lyon.grid5000.fr clientMac: delay:60 delayStart:1558689069 nbSensors:20 nbSensorsFactor:3 requestPerSensors:30 sensorsSendInterval:10 simKey:vmSize simStart:1558689129 simEnd:1558689432 duration:303 serverNodeName:nova-9 vmSize:1024
./recordEnergy.sh nova nova-22 1558616938 1558617241 energy_vmSize_20NS_1024vmSize_1558616938_1558617241.csv ./recordEnergy.sh nova nova-9 1558689129 1558689432 energy_vmSize_20NS_1024vmSize_1558689129_1558689432.csv
---------- Simulation (key=vmSize) end at 1558617241 (Thu May 23 15:14:01 CEST 2019) ---------- Simulation (key=vmSize) end at 1558689432 (Fri May 24 11:17:12 CEST 2019)
---------- Simulation (key=vmSize) start at 1558617377 (Thu May 23 15:16:17 CEST 2019) ---------- Simulation (key=vmSize) start at 1558689568 (Fri May 24 11:19:28 CEST 2019)
Simulation parameters: serverNode:nova-22.lyon.grid5000.fr serverIp:10.140.4.1 serverMac:00:16:3E:8C:04:01 clientNode:nova-2.lyon.grid5000.fr clientNode:nova-2.lyon.grid5000.fr clientMac: delay:60 delayStart:1558617317 nbSensors:20 nbSensorsFactor:3 requestPerSensors:30 sensorsSendInterval:10 simKey:vmSize simStart:1558617377 simEnd:1558617680 duration:303 serverNodeName:nova-22 vmSize:2048 Simulation parameters: serverNode:nova-9.lyon.grid5000.fr serverIp:10.140.0.1 serverMac:00:16:3E:8C:00:01 clientNode:nova-5.lyon.grid5000.fr clientNode:nova-5.lyon.grid5000.fr clientMac: delay:60 delayStart:1558689508 nbSensors:20 nbSensorsFactor:3 requestPerSensors:30 sensorsSendInterval:10 simKey:vmSize simStart:1558689568 simEnd:1558689871 duration:303 serverNodeName:nova-9 vmSize:2048
./recordEnergy.sh nova nova-22 1558617377 1558617680 energy_vmSize_20NS_2048vmSize_1558617377_1558617680.csv ./recordEnergy.sh nova nova-9 1558689568 1558689871 energy_vmSize_20NS_2048vmSize_1558689568_1558689871.csv
---------- Simulation (key=vmSize) end at 1558617680 (Thu May 23 15:21:20 CEST 2019) ---------- Simulation (key=vmSize) end at 1558689871 (Fri May 24 11:24:31 CEST 2019)
---------- Simulation (key=vmSize) start at 1558617817 (Thu May 23 15:23:37 CEST 2019) ---------- Simulation (key=vmSize) start at 1558690008 (Fri May 24 11:26:48 CEST 2019)
Simulation parameters: serverNode:nova-22.lyon.grid5000.fr serverIp:10.140.4.1 serverMac:00:16:3E:8C:04:01 clientNode:nova-2.lyon.grid5000.fr clientNode:nova-2.lyon.grid5000.fr clientMac: delay:60 delayStart:1558617757 nbSensors:20 nbSensorsFactor:3 requestPerSensors:30 sensorsSendInterval:10 simKey:vmSize simStart:1558617817 simEnd:1558618120 duration:303 serverNodeName:nova-22 vmSize:4096 Simulation parameters: serverNode:nova-9.lyon.grid5000.fr serverIp:10.140.0.1 serverMac:00:16:3E:8C:00:01 clientNode:nova-5.lyon.grid5000.fr clientNode:nova-5.lyon.grid5000.fr clientMac: delay:60 delayStart:1558689948 nbSensors:20 nbSensorsFactor:3 requestPerSensors:30 sensorsSendInterval:10 simKey:vmSize simStart:1558690008 simEnd:1558690311 duration:303 serverNodeName:nova-9 vmSize:4096
./recordEnergy.sh nova nova-22 1558617817 1558618120 energy_vmSize_20NS_4096vmSize_1558617817_1558618120.csv ./recordEnergy.sh nova nova-9 1558690008 1558690311 energy_vmSize_20NS_4096vmSize_1558690008_1558690311.csv
---------- Simulation (key=vmSize) end at 1558618120 (Thu May 23 15:28:40 CEST 2019) ---------- Simulation (key=vmSize) end at 1558690311 (Fri May 24 11:31:51 CEST 2019)
---------- Simulation (key=nbSensors) start at 1558618260 (Thu May 23 15:31:00 CEST 2019) ---------- Simulation (key=nbSensors) start at 1558690447 (Fri May 24 11:34:07 CEST 2019)
Simulation parameters: serverNode:nova-22.lyon.grid5000.fr serverIp:10.140.4.1 serverMac:00:16:3E:8C:04:01 clientNode:nova-2.lyon.grid5000.fr clientNode:nova-2.lyon.grid5000.fr clientMac: delay:60 delayStart:1558618200 nbSensors:20 nbSensorsFactor:3 requestPerSensors:30 sensorsSendInterval:10 simKey:nbSensors simStart:1558618260 simEnd:1558618563 duration:303 serverNodeName:nova-22 vmSize:2048 Simulation parameters: serverNode:nova-9.lyon.grid5000.fr serverIp:10.140.0.1 serverMac:00:16:3E:8C:00:01 clientNode:nova-5.lyon.grid5000.fr clientNode:nova-5.lyon.grid5000.fr clientMac: delay:60 delayStart:1558690387 nbSensors:20 nbSensorsFactor:3 requestPerSensors:30 sensorsSendInterval:10 simKey:nbSensors simStart:1558690447 simEnd:1558690750 duration:303 serverNodeName:nova-9 vmSize:2048
./recordEnergy.sh nova nova-22 1558618260 1558618563 energy_nbSensors_20NS_2048vmSize_1558618260_1558618563.csv ./recordEnergy.sh nova nova-9 1558690447 1558690750 energy_nbSensors_20NS_2048vmSize_1558690447_1558690750.csv
---------- Simulation (key=nbSensors) end at 1558618563 (Thu May 23 15:36:03 CEST 2019) ---------- Simulation (key=nbSensors) end at 1558690750 (Fri May 24 11:39:10 CEST 2019)
---------- Simulation (key=nbSensors) start at 1558618699 (Thu May 23 15:38:19 CEST 2019) ---------- Simulation (key=nbSensors) start at 1558690886 (Fri May 24 11:41:26 CEST 2019)
Simulation parameters: serverNode:nova-22.lyon.grid5000.fr serverIp:10.140.4.1 serverMac:00:16:3E:8C:04:01 clientNode:nova-2.lyon.grid5000.fr clientNode:nova-2.lyon.grid5000.fr clientMac: delay:60 delayStart:1558618639 nbSensors:100 nbSensorsFactor:3 requestPerSensors:30 sensorsSendInterval:10 simKey:nbSensors simStart:1558618699 simEnd:1558619011 duration:312 serverNodeName:nova-22 vmSize:2048 Simulation parameters: serverNode:nova-9.lyon.grid5000.fr serverIp:10.140.0.1 serverMac:00:16:3E:8C:00:01 clientNode:nova-5.lyon.grid5000.fr clientNode:nova-5.lyon.grid5000.fr clientMac: delay:60 delayStart:1558690826 nbSensors:100 nbSensorsFactor:3 requestPerSensors:30 sensorsSendInterval:10 simKey:nbSensors simStart:1558690886 simEnd:1558691198 duration:312 serverNodeName:nova-9 vmSize:2048
./recordEnergy.sh nova nova-22 1558618699 1558619011 energy_nbSensors_100NS_2048vmSize_1558618699_1558619011.csv ./recordEnergy.sh nova nova-9 1558690886 1558691198 energy_nbSensors_100NS_2048vmSize_1558690886_1558691198.csv
---------- Simulation (key=nbSensors) end at 1558619011 (Thu May 23 15:43:31 CEST 2019) ---------- Simulation (key=nbSensors) end at 1558691198 (Fri May 24 11:46:38 CEST 2019)
---------- Simulation (key=nbSensors) start at 1558619148 (Thu May 23 15:45:48 CEST 2019) ---------- Simulation (key=nbSensors) start at 1558691334 (Fri May 24 11:48:54 CEST 2019)
Simulation parameters: serverNode:nova-22.lyon.grid5000.fr serverIp:10.140.4.1 serverMac:00:16:3E:8C:04:01 clientNode:nova-2.lyon.grid5000.fr clientNode:nova-2.lyon.grid5000.fr clientMac: delay:60 delayStart:1558619088 nbSensors:300 nbSensorsFactor:3 requestPerSensors:30 sensorsSendInterval:10 simKey:nbSensors simStart:1558619148 simEnd:1558619481 duration:333 serverNodeName:nova-22 vmSize:2048 Simulation parameters: serverNode:nova-9.lyon.grid5000.fr serverIp:10.140.0.1 serverMac:00:16:3E:8C:00:01 clientNode:nova-5.lyon.grid5000.fr clientNode:nova-5.lyon.grid5000.fr clientMac: delay:60 delayStart:1558691274 nbSensors:300 nbSensorsFactor:3 requestPerSensors:30 sensorsSendInterval:10 simKey:nbSensors simStart:1558691334 simEnd:1558691668 duration:334 serverNodeName:nova-9 vmSize:2048
./recordEnergy.sh nova nova-22 1558619148 1558619481 energy_nbSensors_300NS_2048vmSize_1558619148_1558619481.csv ./recordEnergy.sh nova nova-9 1558691334 1558691668 energy_nbSensors_300NS_2048vmSize_1558691334_1558691668.csv
---------- Simulation (key=nbSensors) end at 1558619481 (Thu May 23 15:51:21 CEST 2019) ---------- Simulation (key=nbSensors) end at 1558691668 (Fri May 24 11:54:28 CEST 2019)
---------- Simulation (key=nbSensors) start at 1558691805 (Fri May 24 11:56:45 CEST 2019)
Simulation parameters: serverNode:nova-9.lyon.grid5000.fr serverIp:10.140.0.1 serverMac:00:16:3E:8C:00:01 clientNode:nova-5.lyon.grid5000.fr clientNode:nova-5.lyon.grid5000.fr clientMac: delay:60 delayStart:1558691745 nbSensors:500 nbSensorsFactor:3 requestPerSensors:30 sensorsSendInterval:10 simKey:nbSensors simStart:1558691805 simEnd:1558692160 duration:355 serverNodeName:nova-9 vmSize:2048
./recordEnergy.sh nova nova-9 1558691805 1558692160 energy_nbSensors_500NS_2048vmSize_1558691805_1558692160.csv
---------- Simulation (key=nbSensors) end at 1558692160 (Fri May 24 12:02:40 CEST 2019)
---------- Simulation (key=sendInterval) start at 1558692297 (Fri May 24 12:04:57 CEST 2019)
Simulation parameters: serverNode:nova-9.lyon.grid5000.fr serverIp:10.140.0.1 serverMac:00:16:3E:8C:00:01 clientNode:nova-5.lyon.grid5000.fr clientNode:nova-5.lyon.grid5000.fr clientMac: delay:60 delayStart:1558692237 nbSensors:50 nbSensorsFactor:3 requestPerSensors:300 sensorsSendInterval:1 simKey:sendInterval simStart:1558692297 simEnd:1558692655 duration:358 serverNodeName:nova-9 vmSize:2048
./recordEnergy.sh nova nova-9 1558692297 1558692655 energy_sendInterval_50NS_2048vmSize_1558692297_1558692655.csv
---------- Simulation (key=sendInterval) end at 1558692655 (Fri May 24 12:10:55 CEST 2019)
---------- Simulation (key=sendInterval) start at 1558692791 (Fri May 24 12:13:11 CEST 2019)
Simulation parameters: serverNode:nova-9.lyon.grid5000.fr serverIp:10.140.0.1 serverMac:00:16:3E:8C:00:01 clientNode:nova-5.lyon.grid5000.fr clientNode:nova-5.lyon.grid5000.fr clientMac: delay:60 delayStart:1558692731 nbSensors:50 nbSensorsFactor:3 requestPerSensors:30 sensorsSendInterval:10 simKey:sendInterval simStart:1558692791 simEnd:1558693097 duration:306 serverNodeName:nova-9 vmSize:2048
./recordEnergy.sh nova nova-9 1558692791 1558693097 energy_sendInterval_50NS_2048vmSize_1558692791_1558693097.csv
---------- Simulation (key=sendInterval) end at 1558693097 (Fri May 24 12:18:17 CEST 2019)
---------- Simulation (key=sendInterval) start at 1558693234 (Fri May 24 12:20:34 CEST 2019)
Simulation parameters: serverNode:nova-9.lyon.grid5000.fr serverIp:10.140.0.1 serverMac:00:16:3E:8C:00:01 clientNode:nova-5.lyon.grid5000.fr clientNode:nova-5.lyon.grid5000.fr clientMac: delay:60 delayStart:1558693174 nbSensors:50 nbSensorsFactor:3 requestPerSensors:10 sensorsSendInterval:30 simKey:sendInterval simStart:1558693234 simEnd:1558693536 duration:302 serverNodeName:nova-9 vmSize:2048
./recordEnergy.sh nova nova-9 1558693234 1558693536 energy_sendInterval_50NS_2048vmSize_1558693234_1558693536.csv
---------- Simulation (key=sendInterval) end at 1558693536 (Fri May 24 12:25:36 CEST 2019)

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.9 KiB

File diff suppressed because it is too large Load diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 78 KiB

View file

@ -1,30 +0,0 @@
---------- Simulation (key=vmSize) start at 1558427284 (Tue May 21 10:28:04 CEST 2019)
Simulation parameters: serverNode:nova-19.lyon.grid5000.fr serverIp:10.140.12.1 serverMac:00:16:3E:8C:0C:01 clientNode:nova-18.lyon.grid5000.fr clientNode:nova-18.lyon.grid5000.fr clientMac: delay:60 delayStart:1558427224 nbSensors:20 nbSensorsFactor:3 requestPerSensors:30 sensorsSendInterval:10 simKey:vmSize simStart:1558427284 simEnd:1558427587 duration:303 serverNodeName:nova-19 vmSize:1024
./recordEnergy.sh nova nova-19 1558427284 1558427587 energy_vmSize_20NS_1024vmSize_1558427284_1558427587.csv
---------- Simulation (key=vmSize) end at 1558427587 (Tue May 21 10:33:07 CEST 2019)
---------- Simulation (key=vmSize) start at 1558427724 (Tue May 21 10:35:24 CEST 2019)
Simulation parameters: serverNode:nova-19.lyon.grid5000.fr serverIp:10.140.12.1 serverMac:00:16:3E:8C:0C:01 clientNode:nova-18.lyon.grid5000.fr clientNode:nova-18.lyon.grid5000.fr clientMac: delay:60 delayStart:1558427664 nbSensors:20 nbSensorsFactor:3 requestPerSensors:30 sensorsSendInterval:10 simKey:vmSize simStart:1558427724 simEnd:1558428027 duration:303 serverNodeName:nova-19 vmSize:2048
./recordEnergy.sh nova nova-19 1558427724 1558428027 energy_vmSize_20NS_2048vmSize_1558427724_1558428027.csv
---------- Simulation (key=vmSize) end at 1558428027 (Tue May 21 10:40:27 CEST 2019)
---------- Simulation (key=vmSize) start at 1558428178 (Tue May 21 10:42:58 CEST 2019)
Simulation parameters: serverNode:nova-19.lyon.grid5000.fr serverIp:10.140.12.1 serverMac:00:16:3E:8C:0C:01 clientNode:nova-18.lyon.grid5000.fr clientNode:nova-18.lyon.grid5000.fr clientMac: delay:60 delayStart:1558428118 nbSensors:20 nbSensorsFactor:3 requestPerSensors:30 sensorsSendInterval:10 simKey:vmSize simStart:1558428178 simEnd:1558428481 duration:303 serverNodeName:nova-19 vmSize:4096
./recordEnergy.sh nova nova-19 1558428178 1558428481 energy_vmSize_20NS_4096vmSize_1558428178_1558428481.csv
---------- Simulation (key=vmSize) end at 1558428481 (Tue May 21 10:48:01 CEST 2019)
---------- Simulation (key=nbSensors) start at 1558428621 (Tue May 21 10:50:21 CEST 2019)
Simulation parameters: serverNode:nova-19.lyon.grid5000.fr serverIp:10.140.12.1 serverMac:00:16:3E:8C:0C:01 clientNode:nova-18.lyon.grid5000.fr clientNode:nova-18.lyon.grid5000.fr clientMac: delay:60 delayStart:1558428561 nbSensors:20 nbSensorsFactor:3 requestPerSensors:30 sensorsSendInterval:10 simKey:nbSensors simStart:1558428621 simEnd:1558428924 duration:303 serverNodeName:nova-19 vmSize:2048
./recordEnergy.sh nova nova-19 1558428621 1558428924 energy_nbSensors_20NS_2048vmSize_1558428621_1558428924.csv
---------- Simulation (key=nbSensors) end at 1558428924 (Tue May 21 10:55:24 CEST 2019)
---------- Simulation (key=nbSensors) start at 1558429061 (Tue May 21 10:57:41 CEST 2019)
Simulation parameters: serverNode:nova-19.lyon.grid5000.fr serverIp:10.140.12.1 serverMac:00:16:3E:8C:0C:01 clientNode:nova-18.lyon.grid5000.fr clientNode:nova-18.lyon.grid5000.fr clientMac: delay:60 delayStart:1558429001 nbSensors:100 nbSensorsFactor:3 requestPerSensors:30 sensorsSendInterval:10 simKey:nbSensors simStart:1558429061 simEnd:1558429372 duration:311 serverNodeName:nova-19 vmSize:2048
./recordEnergy.sh nova nova-19 1558429061 1558429372 energy_nbSensors_100NS_2048vmSize_1558429061_1558429372.csv
---------- Simulation (key=nbSensors) end at 1558429372 (Tue May 21 11:02:52 CEST 2019)
---------- Simulation (key=nbSensors) start at 1558429511 (Tue May 21 11:05:11 CEST 2019)
Simulation parameters: serverNode:nova-19.lyon.grid5000.fr serverIp:10.140.12.1 serverMac:00:16:3E:8C:0C:01 clientNode:nova-18.lyon.grid5000.fr clientNode:nova-18.lyon.grid5000.fr clientMac: delay:60 delayStart:1558429451 nbSensors:300 nbSensorsFactor:3 requestPerSensors:30 sensorsSendInterval:10 simKey:nbSensors simStart:1558429511 simEnd:1558429845 duration:334 serverNodeName:nova-19 vmSize:2048
./recordEnergy.sh nova nova-19 1558429511 1558429845 energy_nbSensors_300NS_2048vmSize_1558429511_1558429845.csv
---------- Simulation (key=nbSensors) end at 1558429845 (Tue May 21 11:10:45 CEST 2019)

View file

@ -1,4 +0,0 @@
Some energies values are missing for the file:
nbSensors_2048VMSIZE_20NBSENSORS_15581087311558109034.csv
I don't know whether G5K add somes bugs or whatever.

File diff suppressed because it is too large Load diff

Some files were not shown because too many files have changed in this diff Show more