diff options
| author | Loic Guegan <manzerberdes@gmx.com> | 2019-05-27 16:01:26 +0200 |
|---|---|---|
| committer | Loic Guegan <manzerberdes@gmx.com> | 2019-05-27 16:01:26 +0200 |
| commit | 18742ad94405c2998fa357d9e90a7f03266885d0 (patch) | |
| tree | 25dc5d0cf67fdda353e9c77f48a4b86f625c74d8 /2019-Mascots.org | |
| parent | fce7ffd9ea478890068dae0d6b5120cb24fc6700 (diff) | |
Update paper/new simulation with 10G routers
Diffstat (limited to '2019-Mascots.org')
| -rw-r--r-- | 2019-Mascots.org | 158 |
1 files changed, 95 insertions, 63 deletions
diff --git a/2019-Mascots.org b/2019-Mascots.org index cddc6dd..63dd9ca 100644 --- a/2019-Mascots.org +++ b/2019-Mascots.org @@ -297,7 +297,7 @@ component, formatting, style, styling, insert simple plot function for them. #+NAME: RUtils - #+BEGIN_SRC R :eval never + #+BEGIN_SRC R :eval never library("tidyverse") # Fell free to update the following @@ -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,14 +760,14 @@ 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) ggsave("plots/vmSize-cloud.png",dpi=90,height=3,width=6) #+END_SRC - + #+RESULTS: [[file:plots/vmSize-cloud.png]] @@ -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) @@ -843,7 +875,7 @@ component, formatting, style, styling, insert - + * Emacs settings :noexport: # Local Variables: # eval: (unless (boundp 'org-latex-classes) (setq org-latex-classes nil)) |
