Update paper/new simulation with 10G routers

This commit is contained in:
Loic Guegan 2019-05-27 16:01:26 +02:00
parent fce7ffd9ea
commit 18742ad944
286 changed files with 7193863 additions and 2161811 deletions

View file

@ -1 +0,0 @@
loic@lguegan.1595:1558938768

View file

@ -311,6 +311,7 @@ component, formatting, style, styling, insert
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(networkEnergy=networkEnergy+getSwitchesIDLE(sensorsNumber,sensorsSendInterval)) # Add Idle conso of switches
data=data%>%mutate(totalEnergy=totalEnergy/ns3SimTime)
}
else{ # Log from g5k
@ -319,6 +320,32 @@ component, formatting, style, styling, insert
}
}
getSwitchesIDLE=function(nbSensors, sendInterval){
pktSize=192
nEdgeRouter=8
nCoreRouter=1
EdgeIdle=4095
EdgeMax=4550
EdgeTraffic=560*10^9
CoreIdle=11070
CoreMax=12300
CoreTraffic=4480*10^9
# Apply 0.6 factor
EdgeTraffic=EdgeTraffic*0.6
CoreTraffic=CoreTraffic*0.6
totalTraffic=pktSize/sendInterval*nbSensors
EdgeConso=EdgeIdle*(totalTraffic/EdgeTraffic)
CoreConso=CoreIdle*(totalTraffic/CoreTraffic)
return(EdgeConso+CoreConso)
}
# Get label according to varName
getLabel=function(varName){
if(is.na(labels[varName])){
@ -335,7 +362,11 @@ component, formatting, style, styling, insert
scale_colour_manual(values=palette)
return(plot)
}
#+END_SRC
**** Bash
***** Plots -> PDF
Merge all plots in plots/ folder into a pdf file.
@ -468,6 +499,55 @@ component, formatting, style, styling, insert
*** Plot Scripts
**** Random R Scripts
Figure
#+BEGIN_SRC R :noweb yes :results graphics :file plots/sendFrequency-energy.png
<<RUtils>>
data=loadData("logs/ns3/last/data.csv")
data=data%>%filter(simKey=="SENDINTERVAL",sensorsNumber==15)
p=ggplot(data,aes(y=totalEnergy,x=sensorsSendInterval))+
xlab(getLabel("sensorsSendInterval"))+ylab(getLabel("Sensors And Network\nPower Consumption (W)"))+
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)
#+END_SRC
#+RESULTS:
[[file:plots/sendFrequency-energy.png]]
Figure Sensors Position ~ Energy/Delay
#+BEGIN_SRC R :noweb yes :results graphics :file plots/sensorsPosition-delayenergy.png
<<RUtils>>
tr=11 # Offset to center delay plot
data=loadData("logs/ns3/last/data.csv")
data=data%>%filter(simKey=="SENSORSPOS",sensorsNumber==9)
p=ggplot(data,aes(y=sensorsEnergy,x=positionSeed,color="Energy"))+xlab(getLabel("Sensors Position Seed"))+ylab(getLabel("Sensors Power 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))+
scale_y_continuous(sec.axis = sec_axis(~.+tr, name = "Application Delay (s)")) +
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)
#+END_SRC
#+RESULTS:
[[file:plots/sensorsPosition-delayenergy.png]]
Watt per sensor on server
#+BEGIN_SRC R :noweb yes :results output
<<RUtils>>
@ -498,7 +578,7 @@ component, formatting, style, styling, insert
data=data%>%group_by(vmSize)%>%mutate(energy=mean(energy))%>%slice(1L)%>%ungroup()
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)")+
ggplot(data) + geom_bar(aes(x=vmSize,y=energy),stat="identity")+expand_limits(y=c(75,100))+ylab("Server Power Consumption (W)")+
xlab("Experiment Time (s)")+scale_y_log10()
@ -573,55 +653,7 @@ component, formatting, style, styling, insert
**** Plot In Paper
Figure
#+BEGIN_SRC R :noweb yes :results graphics :file plots/sendFrequency-energy.png
<<RUtils>>
data=loadData("logs/ns3/last/data.csv")
data=data%>%filter(simKey=="SENDINTERVAL",sensorsNumber==15)
p=ggplot(data,aes(y=totalEnergy,x=sensorsSendInterval))+
xlab(getLabel("sensorsSendInterval"))+ylab(getLabel("Sensors And Network\nEnergy Consumption (W)"))+
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)
#+END_SRC
#+RESULTS:
[[file:plots/sendFrequency-energy.png]]
Figure Sensors Position ~ Energy/Delay
#+BEGIN_SRC R :noweb yes :results graphics :file plots/sensorsPosition-delayenergy.png
<<RUtils>>
tr=171 # Offset to center delay plot
data=loadData("logs/ns3/last/data.csv")
data=data%>%filter(simKey=="SENSORSPOS",sensorsNumber==9)
p=ggplot(data,aes(y=sensorsEnergy,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))+
scale_y_continuous(sec.axis = sec_axis(~.+tr, name = "Application Delay (s)")) +
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)
#+END_SRC
#+RESULTS:
[[file:plots/sensorsPosition-delayenergy.png]]
Power sensors vs network
#+BEGIN_SRC R :noweb yes :results graphics :file plots/numberSensors-WIFINET.png :session *R*
<<RUtils>>
@ -636,7 +668,7 @@ component, formatting, style, styling, insert
data=data%>%filter(sensorsNumber%in%c(2,4,6,8,10))
p=ggplot(data)+geom_bar(aes(x=sensorsNumber,y=energy,fill=type),position="dodge",stat="identity")+
xlab(getLabel("sensorsNumber"))+ ylab("Energy Consumption (W)") + guides(fill=guide_legend(title=""))
xlab(getLabel("sensorsNumber"))+ ylab("Power Consumption (W)") + guides(fill=guide_legend(title=""))
p=applyTheme(p)+theme(text = element_text(size=15))
size=5
@ -652,7 +684,8 @@ component, formatting, style, styling, insert
Final plot: Energy cloud, network and sensors
#+BEGIN_SRC R :noweb yes :results output graphics :file plots/final.png
#+BEGIN_SRC R :noweb yes :results graphics :file plots/final.png
<<RUtils>>
# Load data
@ -688,7 +721,6 @@ component, formatting, style, styling, insert
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)
@ -706,7 +738,7 @@ component, formatting, style, styling, insert
data=data%>%mutate(sensorsNumber=fct_reorder(sensorsNumber,as.numeric(sensorsNumber)))
data$type=factor(data$type,ordered=TRUE,levels=c("Sensors","Network","Cloud"))
p=ggplot(data)+geom_bar(position="dodge2",colour="black",aes(x=sensorsNumber,y=energy,fill=type),stat="identity")+
xlab("Sensors Number")+ylab("Energy Consumption (W)")+guides(fill=guide_legend(title="System Part"))
xlab("Sensors Number")+ylab("Power Consumption (W)")+guides(fill=guide_legend(title="System Part"))
p=applyTheme(p)+theme(text = element_text(size=16))
ggsave("plots/final.png",dpi=90,width=8,height=5.5)
#+END_SRC
@ -728,7 +760,7 @@ component, formatting, style, styling, insert
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)")+
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 Power Consumption (W)")+
xlab("Experiment Time (s)")
p=applyTheme(p)
@ -753,7 +785,7 @@ component, formatting, style, styling, insert
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)")+
p=ggplot(data,aes(x=time, y=energy)) + geom_line()+facet_wrap(~nbSensors)+expand_limits(y=c(0,40))+ylab("Server Power Consumption (W)")+
xlab("Experiment Time (s)")+geom_hline(aes(yintercept=avgEnergy),color="Red",size=1.0)
p=applyTheme(p)
@ -778,10 +810,10 @@ component, formatting, style, styling, insert
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)")
xlab(getLabel("sensorsNumber"))+ylab("Average server power consumption (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)
ggsave("plots/sensorsNumberLine-cloud.png",dpi=90,height=4.5,width=4)
#+END_SRC
#+RESULTS:
@ -804,7 +836,7 @@ component, formatting, style, styling, insert
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)")
xlab(getLabel("sensorsNumber"))+ylab("Server power cost per sensors (W)")
p=applyTheme(p)+theme(text = element_text(size=14))+ theme(axis.title.y = element_text(margin = margin(t = 0, r = 8, b = 0, l = 0)))
ggsave("plots/WPS-cloud.png",dpi=90,height=4,width=4)
@ -831,7 +863,7 @@ component, formatting, style, styling, insert
data=data%>%group_by(sendInterval)%>%mutate(avgEnergy=mean(energy))%>%ungroup()
print(data)
p=ggplot(data,aes(x=time, y=energy)) + geom_line()+facet_wrap(~sendInterval)+expand_limits(y=c(0,40))+ylab("Server Energy Consumption (W)")+
p=ggplot(data,aes(x=time, y=energy)) + geom_line()+facet_wrap(~sendInterval)+expand_limits(y=c(0,40))+ylab("Server power consumption (W)")+
xlab("Experiment Time (s)")+geom_hline(aes(yintercept=avgEnergy),color="Red",size=1.0)
p=applyTheme(p)

Binary file not shown.

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

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

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

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

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