Code cleaning

This commit is contained in:
Quentin 2020-01-30 14:36:22 +01:00
parent e2c2c82291
commit ee8c54b5ee
16 changed files with 1 additions and 6071236 deletions

View file

@ -1,414 +0,0 @@
library(ggplot2)
library(sqldf)
library(plyr)
library(dplyr)
library(cowplot)
scale_fill_bw_qdu_6 <- scale_fill_manual(values = c("#000000", "#333333", "#666666", "#999999", "#cccccc", "#ffffff"))
scale_fill_bw_qdu_4 <- scale_fill_manual(values = c("#000000", "#555555", "#aaaaaa", "#ffffff"))
d <- read.csv("../../donar-res/tmp_light/window3.csv")
d <- d %>% mutate (window = window / 1000)
d$strat <- as.factor(d$strat)
d$window <- as.factor(d$window)
#d$decile <- factor(d$decile, levels = c("MIN", "D0.1", "D1", "D25", "D50", "D75", "D99", "D99.9"))
d$percentile <-factor(d$percentile,levels=c("MAX", "P99.9", "P99", "P75", "P50", "P25", "P1", "P0.1", "MIN"))
d$strat <- revalue(d$strat, c("1"="TickTock", "0"="Duplicate"))
d <- d %>% mutate (lat = latency / 1000)
dwin <- sqldf("select * from d where percentile != 'MAX' and percentile != 'P1' and percentile != 'P0.1'") %>% arrange(percentile)
gd <- ggplot(dwin, aes(x=window,y=lat,group=percentile,fill=percentile)) +
geom_bar(stat='identity', position='identity', color="black", width=1) +
scale_fill_grey() +
ylab("Latency (ms)") +
xlab("Window (sec)") +
labs(fill="Percentile") +
scale_x_discrete(expand = c(0, 0)) +
scale_y_continuous(expand = c(0, 0)) +
coord_cartesian(ylim=c(0,600)) +
geom_hline(yintercept = 160, linetype="dashed", color="white") +
annotate("text", x=4, y=160, label = "QoS: OWD best", vjust = -1, color="white") +
geom_hline(yintercept = 360) +
annotate("text", x=4, y=360, label = "QoS: OWD limit", vjust = -1,color="black") +
theme_classic() +
theme(legend.position="none") +
facet_grid( . ~ strat)
e <- read.csv("../../donar-res/tmp_light/links3.csv")
e$strat <- as.factor(e$strat)
e$links <- as.factor(e$links)
e$strat <- revalue(e$strat, c("1"="TickTock", "0"="Duplicate"))
e$percentile <-factor(e$percentile,levels=c("MAX", "P99.9", "P99", "P75", "P50", "P25", "P1", "P0.1", "MIN"))
e <- e %>% mutate (lat = latency / 1000)
elinks <- sqldf("select * from e where percentile != 'MAX' and percentile != 'P1' and percentile != 'P0.1' and links != 6 and links != 4") %>% arrange(percentile)
ge <- ggplot(sqldf("select * from e where percentile != 'MAX' and percentile != 'P1' and percentile != 'P0.1' and links != 6 and links != 4") %>% arrange(percentile), aes(x=strat:links,y=lat,group=percentile,fill=percentile)) +
geom_bar(stat='identity', position='identity', width=1, color="black") +
scale_fill_grey() +
ylab("Latency (ms)") +
xlab("Strategy:Links") +
labs(fill="Percentile") +
geom_hline(yintercept = 200) +
geom_hline(yintercept = 400) +
coord_cartesian(ylim=c(0,600)) +
theme_classic()
f <- read.csv("../../donar-res/tmp_light/fast3.csv")
f$strat <- as.factor(f$strat)
f$strat <- revalue(f$strat, c("1"="TickTock", "0"="Duplicate"))
f$fast_count <- as.factor(f$fast_count)
f$percentile <-factor(f$percentile,levels=c("MAX", "P99.9", "P99", "P75", "P50", "P25", "P1", "P0.1", "MIN"))
f <- f %>% mutate (lat = latency / 1000)
ffast <- sqldf("select * from f where percentile != 'MAX' and percentile != 'P1' and percentile != 'P0.1'") %>% arrange(percentile)
gf <- ggplot(ffast, aes(x=strat:fast_count,y=lat,group=percentile,fill=percentile)) +
geom_bar(stat='identity', position='identity') +
scale_fill_grey() +
geom_hline(yintercept = 200) +
geom_hline(yintercept = 400) +
coord_cartesian(ylim=c(0,600)) +
ylab("Latency (ms)") +
xlab("Strategy:Fast Links") +
labs(fill="Percentile") +
theme_classic()
plot_grid(gd, gdbis, ge, ge, gf, gf, ncol=3) +
ggsave("light_config.pdf", dpi=300, dev='pdf', height=17, width=15, units="cm")
mega <- sqldf("
select window as variable, lat, strat, percentile, 'Window (sec)' as variable_name from dwin
union
select links as variable, lat, strat, percentile, '# of total links' as variable_name from elinks
union
select fast_count as variable, lat, strat, percentile, '# of fast links' as variable_name from ffast
") %>% arrange(percentile)
mega$percentile <- revalue(mega$percentile, c("P99.9" = "99.9%", "P99" = "99%", "P75"="75%", "P50" = "50%", "P25" = "25%", "MIN" = "Min"))
mega$variable <- factor(mega$variable, levels =c("0.2", "1", "2", "3", "4", "5", "6", "8", "10", "12", "13", "14", "16", "20", "34"))
QoS <- data.frame(x = c(1.2, 1.5), name = c("bar", "foo"))
ggplot(mega, aes(x=variable,y=lat,group=percentile,fill=percentile)) +
geom_bar(stat='identity', position='identity', color="black", width=1) +
scale_fill_bw_qdu_6 +
ylab("Latency (ms)") +
xlab("Protocol Parameter Value") +
labs(fill="Distribution") +
scale_x_discrete(expand = c(0, 0)) +
scale_y_continuous(expand = c(0, 0)) +
coord_cartesian(ylim=c(0,600)) +
geom_hline(aes(yintercept = 110, linetype="Target One Way Delay"), color="grey") +
#annotate("text", x=4, y=160, label = "OWD best", vjust = 1.5, color="white") +
geom_hline(aes(yintercept = 360, linetype="Max One Way Delay"), color="grey") +
#annotate("text", x=4, y=360, label = "OWD limit", vjust = -1, color="black") +
theme_classic() +
theme(legend.position="top",
legend.direction = "horizontal",
legend.box = "vertical",
panel.spacing.y = unit(4, "mm"),
strip.placement = "outside",
legend.margin=margin(t = -0.1, unit='cm')) +
guides(fill = guide_legend(nrow = 1)) +
facet_grid(strat ~ variable_name, scales = "free", switch = "x") +
scale_linetype_manual(name = "QoS", values = c(1, 2), guide = guide_legend(override.aes = list(linetype = c("solid", "dashed")))) +
ggsave("light_config.pdf", dpi=300, dev='pdf', height=12.5, width=12.5, units="cm")
g <- read.csv("../../donar-res/tmp_light/guards.csv")
g$strat <- as.factor(g$strat)
g$strat <- revalue(g$strat, c("1"="TickTock", "0"="Duplicate"))
g$guard <- as.factor(g$guard)
g$percentile <- revalue(g$percentile, c("MAX" = "100%", "P99.9"="99.9%", "P99"="99%", "P75" = "75%", "P50"="50%","P25"="25%","P1"="1%","P0.1"="0.1%","MIN"="Min"))
g$guard <- revalue(g$guard, c("guard_1"="1", "guard_3"="3", "guard_5"="5", "guard_7"="7", "guard_9"="9", "guard_11"="11", "simple"="inf"))
g$guard <- factor(g$guard, levels=c("1", "3", "5", "7", "9", "11", "inf"))
g$percentile <-factor(g$percentile,levels=c("100%", "99.9%", "99%", "75%", "50%", "25%", "1%", "0.1%", "Min"))
g <- g %>% mutate (lat = latency / 1000)
gg <- ggplot(sqldf("select * from g where percentile != '100%' and percentile != '1%' and percentile != '0.1%' ") %>% arrange(percentile), aes(x=guard,y=lat,group=percentile,fill=percentile)) +
geom_bar(stat='identity', position='identity', width=1, color="black") +
scale_fill_bw_qdu_6 +
scale_x_discrete(expand = c(0, 0)) +
scale_y_continuous(expand = c(0, 0)) +
coord_cartesian(ylim=c(0,600)) +
ylab("Latency (ms)") +
xlab("# of guards") +
labs(fill="Distribution") +
scale_linetype_manual(name = "QoS", values = c(1, 2), guide = guide_legend(override.aes = list(linetype = c("solid", "dashed")))) +
geom_hline(aes(yintercept = 110, linetype="Target One Way Delay"), color="grey") +
geom_hline(aes(yintercept = 360, linetype="Max One Way Delay"), color="grey") +
facet_grid(. ~ strat, scales = "free", switch = "x") +
theme_classic() +
guides(fill = guide_legend(nrow = 1)) +
theme(strip.placement = "outside",
legend.position="top",
legend.direction = "horizontal",
legend.box = "vertical",
legend.margin=margin(t = -0.2, l=-0.8, unit='cm'))
gg + ggsave("light_guards.pdf", dpi=300, dev='pdf', height=7.5, width=12.5, units="cm")
h <- read.csv("../../donar-res/tmp_light/complem.csv")
h$strat <- revalue(h$strat, c("ticktock"="TickTock", "duplicate"="Duplicate"))
h$percentile <- revalue(h$percentile, c("MAX" = "100%", "P99.9"="99.9%", "P99"="99%", "P75" = "75%", "P50"="50%","P25"="25%","P1"="1%","P0.1"="0.1%","MIN"="Min"))
h$percentile <-factor(h$percentile,levels=c("100%", "99.9%", "99%", "75%", "50%", "25%", "1%", "0.1%", "Min"))
h$mode <- factor(h$mode, levels=c("no_redundancy", "no_scheduler", "donar"))
h$mode <- revalue(h$mode, c("no_redundancy" = "scheduler", "no_scheduler" = "padding", "donar"="both"))
h <- h %>% mutate (lat = latency / 1000)
gh <- ggplot(sqldf("select * from h where percentile != '100%' and percentile != '1%' and percentile != '0.1%' ") %>% arrange(percentile), aes(x=mode,y=lat,group=percentile,fill=percentile)) +
geom_bar(stat='identity', position='identity', width=1, color="black") +
scale_fill_bw_qdu_6 +
scale_x_discrete(expand = c(0, 0)) +
scale_y_continuous(expand = c(0, 0)) +
scale_linetype_manual(name = "QoS", values = c(1, 2), guide = guide_legend(override.aes = list(linetype = c("solid", "dashed")))) +
geom_hline(aes(yintercept = 110, linetype="Target One Way Delay"), color="grey") +
geom_hline(aes(yintercept = 360, linetype="Max One Way Delay"), color="grey") +
coord_cartesian(ylim=c(0,500)) +
ylab("Latency (ms)") +
xlab("Feature") +
labs(fill="Distribution") +
facet_grid(. ~ strat, scales = "free", switch = "x") +
theme_classic() +
guides(fill = guide_legend(nrow = 1)) +
theme(strip.placement = "outside",
legend.position="top",
legend.direction = "horizontal",
legend.box = "vertical",
legend.margin=margin(t = -0.2, l=-0.8, unit='cm'))
gh + ggsave("light_complementary.pdf", dpi=300, dev='pdf', height=7.5, width=12.5, units="cm")
i <- read.csv("../../donar-res/tmp_light/battle.csv")
i$percentile <- revalue(i$percentile, c("MAX" = "100%", "P99.9"="99.9%", "P99"="99%", "P75" = "75%", "P50"="50%","P25"="25%","P1"="1%","P0.1"="0.1%","MIN"="Min"))
i$percentile <-factor(i$percentile,levels=c("100%", "99.9%", "99%", "75%", "50%", "25%", "1%", "0.1%", "Min"))
i <- i %>% mutate (lat = latency / 1000)
i$secmode <- factor(i$secmode, levels=c("hardened", "default", "light"))
i$algo <- factor(i$algo, levels=c("simple", "dup2", "lightning-ticktock", "lightning-dup"))
i$algo <- revalue(i$algo, c("dup2"="torfone", "simple"="simple", "lightning-ticktock"="donar-ticktock", "lightning-dup"="donar-dup"))
gi <- ggplot(sqldf("select * from i where percentile != '100%' and percentile != '1%' and percentile != '0.1%' ") %>% arrange(percentile), aes(x=algo,y=lat,group=percentile,fill=percentile)) +
geom_bar(stat='identity', position='identity',width=1,color="black") +
scale_fill_bw_qdu_6 +
scale_y_continuous(expand = c(0, 0)) +
scale_x_discrete(expand = c(0, 0)) +
#scale_fill_viridis_d() +
geom_hline(aes(yintercept = 110, linetype="Target One Way Delay"), color="grey") +
geom_hline(aes(yintercept = 360, linetype="Max One Way Delay"), color="grey") +
coord_cartesian(ylim=c(0,600)) +
ylab("Latency (ms)") +
xlab("Algorithm") +
labs(fill="Distribution", title="linear scale, cropped") +
theme_classic() +
scale_linetype_manual(name = "QoS", values = c(1, 2), guide = guide_legend(override.aes = list(linetype = c("solid", "dashed")))) +
guides(fill = guide_legend(nrow = 1)) +
facet_grid(. ~ secmode, scales = "free", switch = "x") +
theme(axis.text.x = element_text(angle = 20, hjust=1),
plot.margin = unit(c(0.3,0.2,0.2,1), "cm"),
strip.placement = "outside",
legend.position="none",
legend.direction = "horizontal",
legend.box = "vertical",
legend.margin=margin(t = -0.1, unit='cm'))
gibis <- ggplot(sqldf("select * from i where percentile != '100%' and percentile != '1%' and percentile != '0.1%' ") %>% arrange(percentile), aes(x=algo,y=lat,group=percentile,fill=percentile)) +
geom_bar(stat='identity', position='identity', color="black", width=1) +
scale_fill_bw_qdu_6 +
scale_y_log10() +
#geom_hline(aes(yintercept = 160, linetype="Target One Way Delay"), color="grey") +
#geom_hline(aes(yintercept = 360, linetype="Max One Way Delay"), color="grey") +
scale_x_discrete(expand = c(0, 0)) +
coord_cartesian(ylim=c(30,250000)) +
ylab("Latency (ms)") +
xlab("Algorithm") +
labs(fill="Distribution", title="log scale, full") +
facet_grid(. ~ secmode, scales = "free", switch = "x") +
theme_classic() +
theme(legend.position="none",
axis.text.x = element_text(angle = 20, hjust=1),
plot.margin = unit(c(0.2,0.2,0.2,1), "cm"),
strip.placement = "outside")
gilegend <- get_legend(gi + theme(legend.position = "top"))
plot_grid(gilegend, plot_grid(gibis, gi, align="v", ncol=1), ncol=1, rel_heights = c(1,6)) +
ggsave("light_battle.pdf", dpi=300, dev='pdf', height=15, width=12.5, units="cm")
#gi + ggsave("battle_color.pdf", dpi=300, dev='pdf', height=7, width=12, units='cm')
fastprobe = read.csv(text=
"
group,pad,count,strat
fast,orig,0.47348781884198304,ticktock
fast,pad,0.2629428441715532,ticktock
probe,orig,0.23705662669600178,ticktock
probe,pad,0.026512710290461965,ticktock
probe,orig,0.1154165656941915,duplicate
probe,pad,0.015345347029610245,duplicate
fast,orig,0.7349205324574037,duplicate
fast,pad,0.13431755481879454,duplicate
")
gj <- ggplot(fastprobe, aes(x=group:pad, y=count, fill=strat)) +
geom_bar(stat='identity', position='dodge') +
scale_fill_grey() +
ylab("Count") +
xlab("Group:Padding") +
labs(fill="Strategy") +
scale_y_continuous(labels = scales::percent) +
theme_classic() +
theme(axis.text.x = element_text(angle = 20, hjust=1))
gj + ggsave("light_fastprobe.png", dpi=300, dev='png', height=7, width=15, units="cm")
fastprobe2 = read.csv(text="
strat,schedule_state,packet_position,ratio
Ticktock,tick,original on 1st class,0.946975638
Ticktock,tick,piggybacked on 2nd class,0.053025421
Ticktock,tock,original on 2nd class,0.474113253
Ticktock,tock,piggybacked on 1st class,0.525885688
Duplicate,all,original on 1st class,0.7349205324574037
Duplicate,all,piggybacked on 1st class,0.13431755481879454
Duplicate,all,original on 2nd class,0.1154165656941915
Duplicate,all,piggybacked on 2nd class,0.015345347029610245
")
fastprobe2$schedule_state <-factor(fastprobe2$schedule_state,levels=c("all", "tock", "tick"))
ggplot(fastprobe2, aes(x=schedule_state, y=ratio, fill=packet_position)) +
geom_bar(stat='identity', position='stack', width=1, color="black") +
facet_grid(strat ~ ., scales = "free", switch = "x") +
scale_y_continuous(expand = c(0, 0), labels = scales::percent) +
scale_x_discrete(expand = c(0, 0)) +
scale_fill_bw_qdu_4 +
xlab("Schedule State") +
ylab("Fastest Delivery") +
labs(fill="Scheduling Decision") +
coord_flip() +
theme_classic() +
ggsave("light_fastprobe.pdf", dpi=300, dev='pdf', height=5, width=12.5, units="cm")
fastlinks = read.csv(text=
"
link_count,occ_count,strat
5,0,Ticktock
9,0.20634920634920634,Ticktock
8,0.25396825396825395,Ticktock
7,0.1111111111111111,Ticktock
6,0.1746031746031746,Ticktock
10,0.1746031746031746,Ticktock
11,0.07936507936507936,Ticktock
12,0,Ticktock
9,0.19047619047619047,Duplicate
8,0.14285714285714285,Duplicate
10,0.20634920634920634,Duplicate
7,0.09523809523809523,Duplicate
6,0.09523809523809523,Duplicate
11,0.14285714285714285,Duplicate
5,0.015873015873015872,Duplicate
12,0.1111111111111111,Duplicate
")
gk <- ggplot(fastlinks, aes(x=link_count, y=occ_count, fill=strat)) +
geom_bar(stat='identity', position='dodge', color="black") +
scale_fill_grey() +
ylab("Calls") +
xlab("Links fast at least once") +
labs(fill="Strategy") +
scale_y_continuous(expand = c(0, 0), labels = scales::percent) +
scale_x_continuous(expand = c(0, 0)) +
theme_classic()
#theme(axis.text.x = element_text(angle = 20, hjust=1))
gk + ggsave("light_fastlinks.pdf", dpi=300, dev='pdf', height=6, width=12.5, units="cm")
l <- read.csv("../../donar-res/tmp_light/basic.csv")
l <- l %>% mutate (lat = latency / 1000)
gl <- ggplot(sqldf("select * from l where way='client'"), aes(x=packet_id,y=lat)) +
coord_cartesian(ylim=c(0,500)) +
scale_y_continuous(expand = c(0, 0)) +
scale_x_continuous(expand = c(0, 0)) +
xlab("Packet Identifier") +
ylab("Latency (ms)") +
labs(linetype="Way") +
geom_point(size=0.1) +
geom_hline(aes(yintercept = 110, linetype="Target One Way Delay"), color="white") +
geom_hline(aes(yintercept = 360, linetype="Max One Way Delay"), color="grey") +
scale_linetype_manual(name = "QoS", values = c(1, 2), guide = guide_legend(override.aes = list(linetype = c("solid", "dashed")))) +
theme_classic() +
theme(legend.position="top",legend.margin=margin(t = -0.1, b = -0.1, unit='cm'))
#gl + ggsave("light_single.png", dpi=300, dev='png', height=7, width=15, units="cm")
m <- read.csv("../../donar-res/tmp_light/fp.csv")
m <- m %>% mutate (lat = latency / 1000)
m$group <- revalue(m$group, c("fast" = "1st class links", "probe" = "2nd class links"))
gm <- ggplot(sqldf("select * from m where `way`='client'"), aes(x=packet_id,y=lat,color=group)) +
scale_color_grey() +
coord_cartesian(ylim=c(0,500)) +
scale_y_continuous(expand = c(0, 0)) +
scale_x_continuous(expand = c(0, 0)) +
xlab("Packet Identifier") +
ylab("Latency (ms)") +
labs(color="Link Group") +
labs(linetype="Way") +
geom_point(size=0.1) +
geom_hline(yintercept = 110, linetype="dashed", color="white") +
geom_hline(yintercept = 360, linetype="solid", color="grey") +
guides(color = guide_legend(override.aes = list(size=2))) +
theme_classic() +
theme(legend.position="top", legend.margin=margin(t = -0.1, b = -0.1, unit='cm'))
n <- read.csv("../../donar-res/tmp_light/linkgroup.csv")
n$group <- revalue(n$group, c("fast" = "1st class links", "probe" = "2nd class links"))
#n$link_id <- as.factor(n$link_id)
gn <- ggplot(n, aes(x=packet_id, y=link_id, color=group)) +
scale_color_grey() +
scale_fill_grey() +
geom_point(size=0.6) +
scale_y_continuous(expand = c(0.1, 0.1)) +
scale_x_continuous(expand = c(0, 0)) +
#scale_color_viridis_d() +
xlab("Packet Identifier") +
ylab("Link Identifier") +
labs(color="Link group") +
#geom_tile() +
theme_classic() +
theme(legend.position="none")
plot_grid(gl, gm, gn, ncol=1,align="v",rel_heights = c(1.3,1.3,1)) + ggsave("light_single.pdf", dpi=300, dev='pdf', height=12.5, width=12.5, units="cm")
gn+ggsave("links_group.pdf", dpi=300, dev='pdf', height=7, width=15, units="cm")
o <- read.csv("../../donar-res/tmp_light/torrate.csv")
o <- o %>% mutate (latency = latency / 1000)
o <- o %>% mutate (rate = round(rate, 0))
q1coefs <- coef(lm(latency ~ rate, data = sqldf("select rate, latency from o where percentile= 'P25'")))
mcoefs <- coef(lm(latency ~ rate, data = sqldf("select rate, latency from o where percentile= 'P50'")))
q3coefs <- coef(lm(latency ~ rate, data = sqldf("select rate, latency from o where percentile= 'P75'")))
o$percentile <- revalue(o$percentile, c("MAX"="100%", "MIN" = "0%", "P99.9" = "99.9%", "P99" = "99%", "P75" = "75%", "P50" = "50%", "P25" = "25%"))
o$percentile <-factor(o$percentile,levels=c("100%", "99.9%", "99%", "75%", "50%", "25%", "1%", "0.1%", "0%"))
o$rate <- factor(o$rate)
go <- ggplot(sqldf("select * from o where percentile != 'MAX' and percentile != 'P1' and percentile != 'P0.1'") %>% arrange(percentile), aes(x=rate,y=latency,group=percentile,fill=percentile)) +
geom_bar(stat='identity', position='identity', width=1) +
#scale_fill_grey() +
scale_fill_viridis_d(expand = c(0, 0)) +
scale_y_continuous(expand = c(0, 0)) +
scale_x_discrete(expand = c(0, 0)) +
ylab("Latency (ms)") +
xlab("Packets / second") +
labs(fill="Distribution") +#, title="low values") +
coord_cartesian(ylim=c(0,500)) +
geom_hline(yintercept = 200) +
geom_hline(yintercept = 400) +
#geom_abline(intercept = q1coefs[1], slope = q1coefs[2], linetype='dashed') +
#geom_abline(intercept = mcoefs[1], slope = mcoefs[2], linetype='dashed') +
#geom_abline(intercept = q3coefs[1], slope = q3coefs[2], linetype='dashed') +
theme_classic()
gp <- ggplot(sqldf("select * from o where percentile != 'MAX' and percentile != 'P1' and percentile != 'P0.1'") %>% arrange(percentile), aes(x=rate,y=latency,group=percentile,fill=percentile)) +
geom_bar(stat='identity', position='identity') +
scale_fill_grey() +
scale_y_log10() +
ylab("Latency (ms)") +
xlab("Packets / second") +
labs(fill="Percentile", title="high values (log scale)") +
coord_cartesian(ylim=c(100,100000)) +
geom_hline(yintercept = 200) +
geom_hline(yintercept = 400) +
theme_classic()
plot_grid(gp, go, align = "v", axis = "l", ncol=1) + ggsave("torrate.pdf", dpi=300, dev='pdf', height=12, width=15, units="cm")
go + ggsave("torrate_scale.pdf", dpi=300, dev='pdf', height=6, width=12, units='cm')

View file

@ -1,172 +0,0 @@
library(ggplot2)
library(sqldf)
library(plyr)
library(dplyr)
library(cowplot)
link_info <- read.csv("../res/tmp_graph/u.txt")
ggplot(data=link_info, aes(x=timestamp, y=link, color=speed)) +
#geom_line() +
geom_point() +
theme_classic()
xx <- read.csv("../../donar-res/tmp_light/v2.csv")
xx2 <- sqldf("select packet_id,1.0 * MIN(latency) / 1000.0 as lat,way from xx group by packet_id,way")
ggplot(data=xx2, aes(x=packet_id, y=lat, color=way)) +
geom_line() +
geom_hline(yintercept=400) +
geom_hline(yintercept=200) +
coord_cartesian(ylim=c(0,1000)) +
#geom_point() +
theme_classic()
xx4 <- sqldf("select packet_id,1.0 * MIN(latency) / 1000.0 as lat,way from xx where flag = 0 group by packet_id,way")
ggplot(data=xx4, aes(x=packet_id, y=lat, color=way)) +
geom_line() +
geom_hline(yintercept=400) +
geom_hline(yintercept=200) +
coord_cartesian(ylim=c(0,1000)) +
#geom_point() +
theme_classic()
xx5 <- sqldf("select packet_id,1.0 * MIN(latency) / 1000.0 as lat,way from xx where flag = 1 group by packet_id,way")
ggplot(data=xx5, aes(x=packet_id, y=lat, color=way)) +
geom_line() +
geom_hline(yintercept=400) +
geom_hline(yintercept=200) +
coord_cartesian(ylim=c(0,1000)) +
#geom_point() +
theme_classic()
prepros <- sqldf(
"select
r.packet_id,
r.way,
r.lat,
s.flag
from
(select
packet_id,
way,
min(latency) as lat
from xx
group by packet_id,way) as r,
xx as s
where
s.packet_id = r.packet_id and
s.way = r.way and
r.lat = s.latency")
xx3 <- sqldf("select packet_id,1.0 * MIN(latency) / 1000.0 as lat,flag,way from xx group by packet_id,way,flag")
xx3$flag <- factor(xx3$flag)
ggplot(data=xx3, aes(x=lat, group=flag, color=flag)) +
stat_ecdf(pad = FALSE) +
geom_vline(xintercept = 200) +
geom_vline(xintercept = 400) +
coord_cartesian(xlim=c(0,1200)) +
theme_classic()
xy <- read.csv("../../donar-res/tmp_light/light.csv")
xz <- sqldf("select packet_id,1.0 * MIN(latency) / 1000.0 as lat,way,conf,run from xy where packet_id > 50 and packet_id < 7400 group by packet_id,way,conf,run")
xz$conf <- factor(xz$conf)
ggplot(data=xz, aes(x=lat, group=conf, color=conf)) +
stat_ecdf(pad = FALSE) +
geom_vline(xintercept = 200) +
geom_vline(xintercept = 400) +
coord_cartesian(xlim=c(0,600)) +
theme_classic()
ggplot(data=xz, aes(y=lat, x=conf)) +
geom_violin(scale='width') +
geom_boxplot(width=0.1, outlier.shape=NA) +
theme_classic()
xa <- sqldf("select packet_id,1.0 * MIN(latency) / 1000.0 as lat,way,conf,run from xy group by packet_id,way,conf,run")
ggplot(data=sqldf("select * from xa where run='out/I0mj7t5OJu9DGMq1-6'"), aes(x=packet_id, y=lat, color=way)) +
geom_line() +
geom_hline(yintercept=400) +
geom_hline(yintercept=200) +
coord_cartesian(ylim=c(0,1000)) +
#geom_point(aes(shape=conf)) +
theme_classic()
xb <- read.csv("../../donar-res/tmp_light/v1.csv")
xb$flag <- factor(xb$flag)
xb$link_id <- factor(xb$link_id)
xc <- sqldf("select *, 1.0 * latency / 1000.0 as lat from xb where vanilla = 1 and link_id = 5")
ggplot(data=xc, aes(x=packet_id, y=lat, color=link_id:way)) +
coord_cartesian(ylim=c(100,600)) +
geom_line() +
#geom_point() +
theme_classic()
ggplot(data=sqldf("select
packet_id,way,latency,1.0 * MIN(latency) / 1000 as lat
from xb
group by packet_id,way"), aes(x=packet_id, y=lat, color=way)) +
coord_cartesian(ylim=c(100,600)) +
geom_line() +
#geom_point() +
theme_classic()
xd <- sqldf("
select
lat,
xb.latency,
vanilla,
xb.packet_id,
xb.way,
link_id,
flag
from
(select
packet_id,way,latency,1.0 * MIN(latency) / 1000 as lat
from xb
group by packet_id,way) nn,
xb
where
xb.latency = nn.latency and
xb.packet_id = nn.packet_id and
xb.way = nn.way
")
ggplot(data=xd, aes(x=packet_id, y=lat, color=link_id)) +
#coord_cartesian(ylim=c(0,1000),xlim=c(3200,3500)) +
geom_line() +
theme_classic()
ggplot(data=sqldf("select * from xb where vanilla = 1 and way= 'client'"), aes(x=packet_id, y=link_id, color=flag)) +
geom_point() +
theme_classic()
torbw <- read.csv("../../donar-res/tmp_light/tor_bw.csv")
torbw <- sqldf("select *, 1.0 * latency / 1000.0 as lat from torbw")
torbw2 <- torbw %>%
dplyr::group_by(rate) %>%
dplyr::summarise(
third = quantile(lat,0.75),
median = median(lat)
)
coefs <- coef(lm(median ~ rate, data = torbw2))
coefs2 <- coef(lm(third ~ rate, data = torbw2))
lats <- ggplot(torbw, aes(x=rate,y=lat, group=rate)) +
coord_cartesian(ylim=c(0,650)) +
geom_hline(yintercept=400, linetype="dashed") +
geom_hline(yintercept=200, linetype="dashed") +
ylab("latency (ms)") +
xlab("packets/sec") +
geom_abline(intercept = coefs[1], slope = coefs[2]) +
geom_abline(intercept = coefs2[1], slope = coefs2[2]) +
geom_boxplot(outlier.shape = NA) +
theme_classic()
lats + ggsave("tor_bw.png", dpi=300, dev='png', height=8, width=15, units="cm")
lightlinks <- read.csv("../../donar-res/tmp_light/lightning-links.csv")

View file

@ -1,431 +0,0 @@
library(ggplot2)
library(sqldf)
library(plyr)
library(cowplot)
thunder_ms <- read.csv("thunder_22.csv")
thunder_ms <- sqldf("select run,ident,jmax,links,latency, CAST(latency as real) / 1000. as lat_ms from thunder_ms")
thunder_ms$links <- as.factor(thunder_ms$links)
thunder_ms$jmax <- as.factor(thunder_ms$jmax)
ggplot(data = thunder_ms, aes(x = links, y=lat_ms)) +
#geom_violin() +
geom_boxplot(outlier.size=0.1) +
geom_hline(yintercept=800, color = "red", linetype="dashed") +
geom_hline(yintercept=400, color = "DarkGreen") +
annotate("text", x=7.1, y=650, label= "high", color="DarkGreen") +
annotate("text", x=7, y=1200, label= "acceptable", color="red") +
coord_cartesian(xlim = c(1, 7), ylim = c(0, 1000)) +
#ylim(0,1000) +
scale_fill_grey() +
#scale_y_log10() +
ylab("latency (ms)") +
xlab("links") +
theme_classic()
v1 <- ggplot(data = thunder_ms, aes(x = jmax, y=lat_ms, fill=links)) +
#geom_violin() +
geom_boxplot(outlier.size=0.1) +
geom_hline(yintercept=800, color = "red", linetype="dashed") +
geom_hline(yintercept=400, color = "DarkGreen") +
annotate("text", x=7.1, y=650, label= "high", color="DarkGreen") +
annotate("text", x=7, y=1200, label= "acceptable", color="red") +
coord_cartesian(xlim = c(1, 7), ylim = c(0, 1000)) +
#ylim(0,1000) +
scale_fill_grey() +
#scale_y_log10() +
ylab("latency (ms)") +
xlab("max allowed jitter") +
theme_classic()
#v1 + ggsave("thunder_configure_ms.png", dpi=300, dev='png', height=5, width=15, units="cm")
thunder_rcv <- sqldf("select run,jmax,links,(9900-COUNT(latency)*1.0)/9900 as dlv from thunder_ms group by jmax,links,run")
thunder_rcv$jmax <- as.factor(thunder_rcv$jmax)
thunder_rcv$links <- as.factor(thunder_rcv$links)
v2 <- ggplot(data = thunder_rcv, aes(x = jmax, y=dlv, fill=links)) +
geom_boxplot(outlier.size=0.1) +
#geom_violin(scale='width') +
scale_y_continuous(labels = scales::percent) +
scale_fill_grey() +
#scale_y_log10(labels = scales::percent) +
ylab("dropped packets") +
xlab("max allowed jitter") +
theme_classic()
thunder_bw <- read.csv("thunder_22_bw.csv")
thunder_bw <- sqldf("select run,jmax,links,udp_sent,udp_rcv,cells_sent,cells_rcv,1.0*cells_sent/udp_sent as sent_ratio,1.0*cells_rcv/udp_rcv as rcv_ratio from thunder_bw where udp_sent > 4000")
thunder_bw$jmax <- as.factor(thunder_bw$jmax)
thunder_bw$links <- as.factor(thunder_bw$links)
v3 <- ggplot(data = thunder_bw, aes(x = jmax, y=sent_ratio, fill=links)) +
geom_boxplot(outlier.size=0.1) +
#scale_y_log10() +
coord_cartesian(ylim = c(1,4)) +
scale_fill_grey() +
ylab("bandwidth ratio") +
xlab("max allowed jitter") +
theme_classic()
t1 <- plot_grid(v1, v2, v3, labels = c('A', 'B', 'C'), ncol=1)
t1 + ggsave("thunder_configure.png", dpi=300, dev='png', height=15, width=15, units="cm")
thunder_links <- read.csv("thunder_configure_20_links.csv")
links_down_at_least_once <- sqldf("select run,xp_time,link_id, COUNT(status) as downcount, SUM(delta) as elapsed from thunder_links where status='down' group by run,link_id,xp_time")
links_down_at_least_once2 <- sqldf("select row_number () OVER (PARTITION BY run ORDER BY elapsed DESC) sorting,run,link_id,downcount,elapsed,xp_time,1.0*elapsed/xp_time down_ratio from links_down_at_least_once")
links_down_at_least_once2$sorting <- as.factor(links_down_at_least_once2$sorting)
v4 <- ggplot(data = links_down_at_least_once2, aes(x = sorting, y=down_ratio)) +
#geom_violin() +
#geom_boxplot(width=0.2) +
#scale_y_log10() +
#scale_y_log10(labels = scales::percent) +
geom_bar(stat="summary") +
#scale_y_log10() +
scale_y_continuous(labels = scales::percent) +
scale_fill_grey() +
ylab("Cumulated downtime") +
xlab("Sorted links") +
theme_classic()
downtime <- sqldf(
"
select sorting,1.0*duration/1000 as dur
from thunder_links as tl
inner join links_down_at_least_once2 as l2 on
tl.run = l2.run
and tl.link_id = l2.link_id
where will_change='True'
and status='down'")
v5 <- ggplot(data = downtime, aes(x=sorting, y=dur)) +
geom_violin() +
geom_boxplot(width=0.1, outlier.shape = NA) +
scale_y_log10() +
ylab("Downtime (in sec)") +
xlab("Sorted links") +
theme_classic()
gobal_links <- sqldf(
"
select ts,run,durations_global,12-COUNT(status) as down_link_count,xp_time
from thunder_links
where will_change_global='True' and status='up' and durations_global > 0
group by ts,run,durations_global
")
down_group_ratio <- sqldf(
"
select run,1.0 * SUM(durations_global)/xp_time as down_ratio, down_link_count
from gobal_links
where down_link_count >= 0
group by run,down_link_count,xp_time
")
down_group_ratio$down_link_count <- as.factor(down_group_ratio$down_link_count)
v6 <- ggplot(data = down_group_ratio, aes(x=down_link_count, y=down_ratio)) +
geom_bar(stat="summary") +
#scale_y_log10() +
scale_y_continuous(labels = scales::percent) +
ylab("Cumulated downtime") +
xlab("Number of links down at once") +
theme_classic()
downtime_group <- sqldf(
"
select down_link_count, 1.0*durations_global/1000 as dur from gobal_links where down_link_count >= 0
")
downtime_group$down_link_count <- as.factor(downtime_group$down_link_count)
v7 <- ggplot(data = downtime_group, aes(x=down_link_count, y=dur)) +
geom_violin() +
geom_boxplot(width=0.1, outlier.shape = NA) +
scale_y_log10() +
ylab("Downtime (in sec)") +
xlab("Number of links down at once") +
theme_classic()
t2 <- plot_grid(v4, v5, v6, v7, labels = c('A', 'B', 'C', 'D'), ncol=2)
t2 + ggsave("thunder_links.png", dpi=300, dev='png', height=12, width=15, units="cm")
latency_evol <- sqldf(
"
select sorting,lat_ms,ident,tm.jmax,tm.links
from
thunder_ms as tm,
(select run,jmax,links,row_number () OVER (ORDER BY links DESC) sorting from thunder_ms group by run,jmax,links ORDER BY links DESC limit 0,1) as sel_run
where
tm.run = sel_run.run and tm.jmax = sel_run.jmax and tm.links = sel_run.links
")
latency_evol$sorting <- as.factor(latency_evol$sorting)
v8 <- ggplot(data=latency_evol, aes(x=ident,y=lat_ms)) +
geom_line() +
xlab("Packet identifier") +
ylab("Latency (ms)") +
theme_classic()
thunder_drop <- read.csv("thunder_configure_partial_drop.csv")
thunder_drop_2 <- sqldf("select run, packet_range, 1.0*count / 990 as packet_ratio, row_number() OVER (partition by packet_range order by run) sorting from thunder_drop where run LIKE '%-23' ")
#cats <- c("0-989","990-1979","1980-2969","2970-3959","3960-4949","4950-5939","5940-6929","6930-7919","7920-8909","8910-9899")
thunder_drop_2$packet_range <- as.factor(thunder_drop_2$packet_range)
thunder_drop_2$sorting <- as.factor(thunder_drop_2$sorting)
#thunder_drop_2$packet_range <- factor(
# mapvalues(thunder_drop_2$packet_range, cats, cats),
# levels = cats,
# ordered = TRUE)
v9 <- ggplot(data = thunder_drop_2, aes(x=packet_range, y=packet_ratio,fill=sorting)) +
geom_bar(stat="summary",position = "dodge") +
#grom_bar() +
#scale_y_log10() +
scale_y_continuous(labels = scales::percent) +
ylab("Packets dropped") +
xlab("Packet identifier") +
labs(fill="Run") +
scale_fill_grey() +
theme_classic() +
theme(axis.text.x = element_text(angle = 45, hjust = 1), legend.key.size = unit(0.2, "cm"))
thunder_drop_burst <- read.csv("thunder_configure_partial_drop_burst.csv")
tdb_ag <- sqldf("select run,count,COUNT(count) as oc from thunder_drop_burst where run LIKE '%-23' group by run,count")
tdb_ag_2 <- sqldf(
"
select
td.run as r,
count,
oc,
total,
1.0 * oc / total as oc_ratio,
row_number() OVER (partition by count order by td.run) as sorting
from
tdb_ag as td,
(select run,SUM(oc) as total from tdb_ag group by run) as ag
where
td.run = ag.run
")
tdb_ag_2$sorting <- as.factor(tdb_ag_2$sorting)
tdb_ag_2$count <- as.factor(tdb_ag_2$count)
v10 <- ggplot(data = tdb_ag_2, aes(x=count, y=oc_ratio)) +
#geom_bar(stat="summary",position = "dodge") +
#scale_y_log10() +
geom_violin(scale='width') +
geom_boxplot(width=0.1, outlier.shape=NA) +
scale_y_continuous(labels = scales::percent) +
ylab("% observed drops") +
xlab("Packets lost during the drop") +
scale_fill_grey() +
theme_classic()
thunder_red <- read.csv("thunder_configure_partial_red.csv")
tred <- sqldf(
"
select
tr.run as r,
delivered_at_once,
1.0 * occur / total as occur_ratio,
occur,
total,
row_number() OVER (partition by delivered_at_once order by tr.run) as sorting
from
thunder_red tr,
(select run,SUM(occur) as total from thunder_red group by run) as ag
WHERE
tr.run LIKE '%-23'
and tr.run = ag.run
")
tred$sorting <- as.factor(tred$sorting)
tred$delivered_at_once <- as.factor(tred$delivered_at_once)
v11 <- ggplot(data = tred, aes(x=delivered_at_once, y=occur_ratio)) +
#geom_bar(stat="summary",position = "dodge") +
geom_violin(scale='width') +
xlab('Fresh packets per cell') +
ylab('% of received cells') +
scale_y_continuous(labels = scales::percent) +
geom_boxplot(width=0.1, outlier.shape=NA) +
theme_classic()
t3 <- plot_grid(v8, v9, v10, v11, labels = c('A', 'B', 'C', 'D'), ncol=2)
t3 + ggsave("thunder_packets.png", dpi=300, dev='png', height=12, width=15, units="cm")
tor_multi_lat <- read.csv("tor_just_many_latencies.csv")
tor_multi_lat_100 <- read.csv("tor_just_many_latencies_100.csv")
tor_drop <- sqldf(
"
select run,conf,1.0*MAX(ident)/33 as last_one,'33' as pkt_sec from tor_multi_lat group by run,conf
union
select run,conf,1.0*MAX(ident)/10 as last_one, '10' as pkt_sec from tor_multi_lat_100 group by run,conf
")
v12 <- ggplot(data=tor_drop,aes(x=last_one, linetype=factor(pkt_sec, levels=c('33', '10')))) +
stat_ecdf(pad = FALSE) +
ylab("% broken links") +
labs(linetype="Pkt/sec") +
coord_cartesian(xlim = c(0, 300), ylim = c(0,0.5)) +
scale_y_continuous(labels = scales::percent) +
xlab("Elapsed time (sec)") +
theme_classic()
v12 + ggsave("broken.png", dpi=300, dev='png', height=5, width=15, units="cm")
library(dplyr)
library(purrr)
library(tidyr)
tor_lat_stack <- tor_multi_lat %>%
dplyr::mutate(latency = latency / 1000) %>%
dplyr::group_by(run,conf) %>%
dplyr::summarise(
id = paste(first(run),first(conf)),
P0 = min(latency),
P25 = quantile(latency,0.25) - min(latency),
P50 = median(latency) - quantile(latency,0.25),
P75 = quantile(latency,0.75) - median(latency),
P95 = quantile(latency,0.95) - quantile(latency,0.75),
P99 = quantile(latency,0.99) - quantile(latency,0.95),
P100 = max(latency) - quantile(latency,0.99),
max_sort = max(latency),
median_sort = median(latency)
)
tor_lat_stack <- gather(tor_lat_stack, 'P0', 'P100', 'P25', 'P50', 'P75', 'P95', 'P99', key="quantile_name", value="quantile_value")
v13 <- ggplot(tor_lat_stack, aes(
x=reorder(id,median_sort),
y=quantile_value,
fill=factor(quantile_name, levels=c('P100','P99','P95','P75', 'P50', 'P25', 'P0')))
) +
coord_cartesian(ylim = c(0,1500)) +
labs(fill="Percentile")+
xlab("Tor circuits") +
ylab("RTT (ms)") +
geom_bar(stat="identity", position="stack",width=1) +
scale_fill_grey() +
theme_classic() +
theme(axis.text.x=element_blank(), axis.ticks.x = element_blank(), legend.key.size = unit(0.2, "cm"))
v14 <- ggplot(tor_lat_stack, aes(
x=reorder(id,median_sort),
y=quantile_value,
fill=factor(quantile_name, levels=c('P100','P99','P95','P75', 'P50', 'P25', 'P0')))
) +
#coord_cartesian(ylim = c(0,1500)) +
labs(fill="Percentile")+
xlab("Tor circuits") +
ylab("RTT (ms)") +
geom_bar(stat="identity", position="stack",width=1) +
scale_fill_grey() +
theme_classic() +
theme(axis.text.x=element_blank(),axis.ticks.x = element_blank(), legend.key.size = unit(0.2, "cm"))
v15 <- ggplot(tor_lat_stack, aes(
x=reorder(id,max_sort),
y=quantile_value,
fill=factor(quantile_name, levels=c('P100','P99','P95','P75', 'P50', 'P25', 'P0')))
) +
coord_cartesian(ylim = c(0,1500)) +
labs(fill="Percentile")+
xlab("Tor circuits") +
ylab("RTT (ms)") +
geom_bar(stat="identity", position="stack",width=1) +
scale_fill_grey() +
theme_classic() +
theme(axis.text.x=element_blank(), axis.ticks.x = element_blank(), legend.key.size = unit(0.2, "cm"), plot.tag.position='top')
v16 <- ggplot(tor_lat_stack, aes(
x=reorder(id,max_sort),
y=quantile_value,
fill=factor(quantile_name, levels=c('P100','P99','P95','P75', 'P50', 'P25', 'P0')))
) +
#coord_cartesian(ylim = c(0,1500)) +
labs(fill="Percentile")+
xlab("Tor circuits") +
ylab("RTT (ms)") +
geom_bar(stat="identity", position="stack",width=1) +
scale_fill_grey() +
theme_classic() +
theme(axis.text.x=element_blank(), axis.ticks.x = element_blank(), legend.key.size = unit(0.2, "cm"),plot.tag.position='bottom')
t4 <- plot_grid(v16, v15, v14, v13, align = "v", axis = "l", labels = c('A', 'B', 'C', 'D'), ncol=1)
t4 + ggsave("tor_30ms.pdf", dpi=150, dev='pdf', height=15, width=12, units="cm")
tor_lat_stack_100 <- tor_multi_lat_100 %>%
dplyr::mutate(latency = latency / 1000) %>%
dplyr::group_by(run,conf) %>%
dplyr::summarise(
id = paste(first(run),first(conf)),
min = min(latency),
q25 = quantile(latency,0.25) - min(latency),
median = median(latency) - quantile(latency,0.25),
q75 = quantile(latency,0.75) - median(latency),
q95 = quantile(latency,0.95) - quantile(latency,0.75),
q99 = quantile(latency,0.99) - quantile(latency,0.95),
max = max(latency) - quantile(latency,0.99),
max_sort = max(latency),
median_sort = median(latency)
)
tor_lat_stack_100 <- gather(tor_lat_stack_100, 'min', 'max', 'q25', 'median', 'q75', 'q95', 'q99', key="quantile_name", value="quantile_value")
v17 <- ggplot(tor_lat_stack_100, aes(
x=reorder(id,median_sort),
y=quantile_value,
fill=factor(quantile_name, levels=c('max','q99','q95','q75', 'median', 'q25', 'min')))
) +
coord_cartesian(ylim = c(0,1500)) +
labs(fill="quantile")+
xlab("Tor circuits") +
ylab("RTT (ms)") +
geom_bar(stat="identity", position="stack",width=1) +
scale_fill_grey() +
theme_classic() +
theme(axis.text.x=element_blank(), axis.ticks.x = element_blank(), legend.key.size = unit(0.2, "cm"))
v18 <- ggplot(tor_lat_stack_100, aes(
x=reorder(id,median_sort),
y=quantile_value,
fill=factor(quantile_name, levels=c('max','q99','q95','q75', 'median', 'q25', 'min')))
) +
#coord_cartesian(ylim = c(0,1500)) +
labs(fill="quantile")+
xlab("Tor circuits") +
ylab("RTT (ms)") +
geom_bar(stat="identity", position="stack",width=1) +
scale_fill_grey() +
theme_classic() +
theme(axis.text.x=element_blank(),axis.ticks.x = element_blank(), legend.key.size = unit(0.2, "cm"))
v19 <- ggplot(tor_lat_stack_100, aes(
x=reorder(id,max_sort),
y=quantile_value,
fill=factor(quantile_name, levels=c('max','q99','q95','q75', 'median', 'q25', 'min')))
) +
coord_cartesian(ylim = c(0,1500)) +
labs(fill="quantile")+
xlab("Tor circuits") +
ylab("RTT (ms)") +
geom_bar(stat="identity", position="stack",width=1) +
scale_fill_grey() +
theme_classic() +
theme(axis.text.x=element_blank(), axis.ticks.x = element_blank(), legend.key.size = unit(0.2, "cm"), plot.tag.position='top')
v20 <- ggplot(tor_lat_stack_100, aes(
x=reorder(id,max_sort),
y=quantile_value,
fill=factor(quantile_name, levels=c('max','q99','q95','q75', 'median', 'q25', 'min')))
) +
#coord_cartesian(ylim = c(0,1500)) +
labs(fill="quantile")+
xlab("Tor circuits") +
ylab("RTT (ms)") +
geom_bar(stat="identity", position="stack",width=1) +
scale_fill_grey() +
theme_classic() +
theme(axis.text.x=element_blank(), axis.ticks.x = element_blank(), legend.key.size = unit(0.2, "cm"),plot.tag.position='bottom')
t5 <- plot_grid(v20, v19, v18, v17, labels = c('A', 'B', 'C', 'D'), ncol=1)
t5 + ggsave("tor_100ms.png", dpi=300, dev='png', height=20, width=15, units="cm")

File diff suppressed because it is too large Load diff

View file

@ -1,29 +0,0 @@
run,jmax,links,udp_sent,udp_rcv,cells_sent,cells_rcv
NdTagQwY9eZOOUVL,50,2,6606,9971,10452,7991
NdTagQwY9eZOOUVL,150,2,8917,9979,10259,9453
NdTagQwY9eZOOUVL,200,2,9776,9987,10020,9979
NdTagQwY9eZOOUVL,250,2,5472,9938,10628,11511
NdTagQwY9eZOOUVL,350,2,9899,10028,9923,9909
NdTagQwY9eZOOUVL,450,2,9905,9912,9912,9908
NdTagQwY9eZOOUVL,550,2,9898,9926,9911,9902
NdTagQwY9eZOOUVL,50,4,5724,9909,14779,7646
NdTagQwY9eZOOUVL,150,4,9076,9909,10397,10379
NdTagQwY9eZOOUVL,200,4,9728,9969,9924,15849
NdTagQwY9eZOOUVL,250,4,9314,9995,10553,15598
NdTagQwY9eZOOUVL,350,4,9863,9968,10061,10571
NdTagQwY9eZOOUVL,450,4,9873,9920,10060,15227
NdTagQwY9eZOOUVL,550,4,9909,9971,9919,9920
NdTagQwY9eZOOUVL,50,6,8240,9918,18821,16632
NdTagQwY9eZOOUVL,150,6,7856,9910,10960,11897
NdTagQwY9eZOOUVL,200,6,8303,9925,10691,12092
NdTagQwY9eZOOUVL,250,6,9872,9914,9976,10320
NdTagQwY9eZOOUVL,350,6,9793,9907,9935,9919
NdTagQwY9eZOOUVL,450,6,9851,9911,9931,9920
NdTagQwY9eZOOUVL,550,6,9885,9909,9909,9906
NdTagQwY9eZOOUVL,50,8,4106,9966,21765,12422
NdTagQwY9eZOOUVL,150,8,9207,9907,10690,10689
NdTagQwY9eZOOUVL,200,8,9448,9920,10451,20147
NdTagQwY9eZOOUVL,250,8,8806,9911,10361,10289
NdTagQwY9eZOOUVL,350,8,9828,9909,9959,9964
NdTagQwY9eZOOUVL,450,8,9893,9910,9911,9961
NdTagQwY9eZOOUVL,550,8,8008,10031,9917,23757
1 run jmax links udp_sent udp_rcv cells_sent cells_rcv
2 NdTagQwY9eZOOUVL 50 2 6606 9971 10452 7991
3 NdTagQwY9eZOOUVL 150 2 8917 9979 10259 9453
4 NdTagQwY9eZOOUVL 200 2 9776 9987 10020 9979
5 NdTagQwY9eZOOUVL 250 2 5472 9938 10628 11511
6 NdTagQwY9eZOOUVL 350 2 9899 10028 9923 9909
7 NdTagQwY9eZOOUVL 450 2 9905 9912 9912 9908
8 NdTagQwY9eZOOUVL 550 2 9898 9926 9911 9902
9 NdTagQwY9eZOOUVL 50 4 5724 9909 14779 7646
10 NdTagQwY9eZOOUVL 150 4 9076 9909 10397 10379
11 NdTagQwY9eZOOUVL 200 4 9728 9969 9924 15849
12 NdTagQwY9eZOOUVL 250 4 9314 9995 10553 15598
13 NdTagQwY9eZOOUVL 350 4 9863 9968 10061 10571
14 NdTagQwY9eZOOUVL 450 4 9873 9920 10060 15227
15 NdTagQwY9eZOOUVL 550 4 9909 9971 9919 9920
16 NdTagQwY9eZOOUVL 50 6 8240 9918 18821 16632
17 NdTagQwY9eZOOUVL 150 6 7856 9910 10960 11897
18 NdTagQwY9eZOOUVL 200 6 8303 9925 10691 12092
19 NdTagQwY9eZOOUVL 250 6 9872 9914 9976 10320
20 NdTagQwY9eZOOUVL 350 6 9793 9907 9935 9919
21 NdTagQwY9eZOOUVL 450 6 9851 9911 9931 9920
22 NdTagQwY9eZOOUVL 550 6 9885 9909 9909 9906
23 NdTagQwY9eZOOUVL 50 8 4106 9966 21765 12422
24 NdTagQwY9eZOOUVL 150 8 9207 9907 10690 10689
25 NdTagQwY9eZOOUVL 200 8 9448 9920 10451 20147
26 NdTagQwY9eZOOUVL 250 8 8806 9911 10361 10289
27 NdTagQwY9eZOOUVL 350 8 9828 9909 9959 9964
28 NdTagQwY9eZOOUVL 450 8 9893 9910 9911 9961
29 NdTagQwY9eZOOUVL 550 8 8008 10031 9917 23757

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,290 +0,0 @@
run,jmax,links,udp_sent,udp_rcv,cells_sent,cells_rcv
58XX8CuIDxTTOSE8,50,2,9039,9911,11176,10672
58XX8CuIDxTTOSE8,150,2,9483,10028,9921,9950
58XX8CuIDxTTOSE8,200,2,9677,9918,11182,10289
58XX8CuIDxTTOSE8,250,2,9911,9919,10160,9966
58XX8CuIDxTTOSE8,350,2,9909,9971,9914,9910
58XX8CuIDxTTOSE8,450,2,9874,9981,10039,10030
58XX8CuIDxTTOSE8,550,2,9863,9909,9958,9936
58XX8CuIDxTTOSE8,50,4,6277,10209,14508,9523
58XX8CuIDxTTOSE8,150,4,8863,9913,10133,11326
58XX8CuIDxTTOSE8,200,4,9443,9916,11711,14180
58XX8CuIDxTTOSE8,250,4,9536,9909,9980,9929
58XX8CuIDxTTOSE8,350,4,9892,9910,9913,9914
58XX8CuIDxTTOSE8,450,4,9908,9909,9910,9910
58XX8CuIDxTTOSE8,550,4,9904,10206,9998,10436
58XX8CuIDxTTOSE8,50,6,4227,9976,17664,10025
58XX8CuIDxTTOSE8,150,6,5996,9976,12582,17163
58XX8CuIDxTTOSE8,200,6,9797,9911,10404,10846
58XX8CuIDxTTOSE8,250,6,9854,9909,9986,10003
58XX8CuIDxTTOSE8,350,6,9610,9909,9909,9891
58XX8CuIDxTTOSE8,450,6,9385,9912,9938,9852
58XX8CuIDxTTOSE8,550,6,7899,10207,9933,19750
58XX8CuIDxTTOSE8,50,8,5914,9908,20865,9483
58XX8CuIDxTTOSE8,150,8,7810,9911,12721,12627
58XX8CuIDxTTOSE8,200,8,9706,9924,10860,22358
58XX8CuIDxTTOSE8,250,8,9845,9908,10000,10002
58XX8CuIDxTTOSE8,350,8,9450,9907,10090,10058
58XX8CuIDxTTOSE8,450,8,9904,9907,9907,9907
58XX8CuIDxTTOSE8,550,8,9884,9910,9925,9923
cnXklO5KAFAUWRxz,50,2,7026,9909,10592,8620
cnXklO5KAFAUWRxz,150,2,9806,9908,11206,11265
cnXklO5KAFAUWRxz,200,2,9906,10211,9914,9914
cnXklO5KAFAUWRxz,250,2,9906,9909,9953,9954
cnXklO5KAFAUWRxz,350,2,9822,9910,9941,10035
cnXklO5KAFAUWRxz,450,2,9904,9912,10078,10082
cnXklO5KAFAUWRxz,550,2,9905,9913,9936,9927
cnXklO5KAFAUWRxz,50,4,5399,9971,15011,7741
cnXklO5KAFAUWRxz,150,4,9378,9911,10062,9816
cnXklO5KAFAUWRxz,200,4,9846,9907,9946,9939
cnXklO5KAFAUWRxz,250,4,9448,9913,10066,9997
cnXklO5KAFAUWRxz,350,4,8155,10252,10063,15847
cnXklO5KAFAUWRxz,450,4,9317,9972,9965,15826
cnXklO5KAFAUWRxz,550,4,9906,9967,10065,10036
cnXklO5KAFAUWRxz,50,6,6357,9907,19379,9334
cnXklO5KAFAUWRxz,150,6,8830,9908,11176,11059
cnXklO5KAFAUWRxz,200,6,9770,10027,10537,19767
cnXklO5KAFAUWRxz,250,6,8186,9911,10089,9817
cnXklO5KAFAUWRxz,350,6,8954,9910,9950,10019
cnXklO5KAFAUWRxz,450,6,9843,9913,9968,9962
cnXklO5KAFAUWRxz,550,6,9760,9908,9925,9931
cnXklO5KAFAUWRxz,50,8,6430,9908,18849,13299
cnXklO5KAFAUWRxz,150,8,6016,10209,12259,21940
cnXklO5KAFAUWRxz,200,8,9705,9906,10527,10663
cnXklO5KAFAUWRxz,250,8,9654,9969,9943,23761
cnXklO5KAFAUWRxz,350,8,9871,9911,9945,9990
cnXklO5KAFAUWRxz,450,8,9891,9910,9937,9938
cnXklO5KAFAUWRxz,550,8,9850,9908,9914,9914
dRMZI84sJ2sF2Jda,50,2,9910,9913,11889,11892
dRMZI84sJ2sF2Jda,150,2,9900,9972,11220,11669
dRMZI84sJ2sF2Jda,200,2,9887,9967,9975,10007
dRMZI84sJ2sF2Jda,250,2,9903,9910,9919,9917
dRMZI84sJ2sF2Jda,350,2,9909,9909,9909,9911
dRMZI84sJ2sF2Jda,450,2,9909,9912,9910,9915
dRMZI84sJ2sF2Jda,550,2,9910,9910,9910,9910
dRMZI84sJ2sF2Jda,50,4,3191,9908,15358,4681
dRMZI84sJ2sF2Jda,150,4,8190,9921,10984,11846
dRMZI84sJ2sF2Jda,200,4,9770,9909,10570,10565
dRMZI84sJ2sF2Jda,250,4,9634,9969,10852,15755
dRMZI84sJ2sF2Jda,350,4,9566,9911,9928,10318
dRMZI84sJ2sF2Jda,450,4,9905,9965,9905,9905
dRMZI84sJ2sF2Jda,550,4,9907,9910,9917,9917
dRMZI84sJ2sF2Jda,50,6,6894,9909,13352,12446
dRMZI84sJ2sF2Jda,150,6,8879,9910,11575,11083
dRMZI84sJ2sF2Jda,200,6,9487,9915,10115,12589
dRMZI84sJ2sF2Jda,250,6,9239,9969,10415,19668
dRMZI84sJ2sF2Jda,350,6,9511,9973,9933,19791
dRMZI84sJ2sF2Jda,450,6,9840,9912,9913,9901
dRMZI84sJ2sF2Jda,550,6,9106,9908,9909,9773
dRMZI84sJ2sF2Jda,50,8,7907,9973,12705,19528
dRMZI84sJ2sF2Jda,150,8,9511,9908,10312,10991
dRMZI84sJ2sF2Jda,200,8,9221,9910,10547,10845
dRMZI84sJ2sF2Jda,250,8,9832,9967,9998,23654
dRMZI84sJ2sF2Jda,350,8,9816,10210,10338,23752
dRMZI84sJ2sF2Jda,450,8,9806,9910,9945,9938
dRMZI84sJ2sF2Jda,550,8,9479,9915,9934,9780
i36cjxY4LgBTzaPn,50,2,5294,9912,10774,7321
i36cjxY4LgBTzaPn,150,2,9919,9927,11844,11877
i36cjxY4LgBTzaPn,200,2,9904,9968,9916,9918
i36cjxY4LgBTzaPn,250,2,9882,9974,10513,11878
i36cjxY4LgBTzaPn,350,2,9911,9914,9916,9914
i36cjxY4LgBTzaPn,450,2,9913,9973,9916,9915
i36cjxY4LgBTzaPn,550,2,9878,9910,10177,10168
i36cjxY4LgBTzaPn,50,4,5497,9910,15070,8179
i36cjxY4LgBTzaPn,150,4,9468,9909,14468,13778
i36cjxY4LgBTzaPn,200,4,9374,9909,10050,10102
i36cjxY4LgBTzaPn,250,4,8801,9907,9973,10365
i36cjxY4LgBTzaPn,350,4,9906,9910,9912,9912
i36cjxY4LgBTzaPn,450,4,9905,10029,9935,15844
i36cjxY4LgBTzaPn,550,4,9905,9972,9951,9948
i36cjxY4LgBTzaPn,50,6,6923,9969,14094,13169
i36cjxY4LgBTzaPn,150,6,9742,9905,10702,10647
i36cjxY4LgBTzaPn,200,6,8583,9910,10423,10623
i36cjxY4LgBTzaPn,250,6,9752,9967,10227,19778
i36cjxY4LgBTzaPn,350,6,9428,9909,10258,10350
i36cjxY4LgBTzaPn,450,6,9605,9908,9922,9853
i36cjxY4LgBTzaPn,550,6,9892,9907,9907,9906
i36cjxY4LgBTzaPn,50,8,3164,10214,15766,14706
i36cjxY4LgBTzaPn,150,8,7449,9926,13069,21981
i36cjxY4LgBTzaPn,200,8,9634,9906,10295,10508
i36cjxY4LgBTzaPn,250,8,9017,9968,12976,22056
i36cjxY4LgBTzaPn,350,8,9899,9907,9967,9972
i36cjxY4LgBTzaPn,450,8,9869,9907,9954,9964
i36cjxY4LgBTzaPn,550,8,9814,9966,9908,23770
JxaBExeiRd2ukUhi,50,2,9831,9910,11877,11796
JxaBExeiRd2ukUhi,150,2,9830,9967,9939,9949
JxaBExeiRd2ukUhi,200,2,9567,9922,10255,9903
JxaBExeiRd2ukUhi,250,2,9900,9914,10061,10042
JxaBExeiRd2ukUhi,350,2,9905,9972,10137,10155
JxaBExeiRd2ukUhi,450,2,9910,9970,10184,10132
JxaBExeiRd2ukUhi,550,2,9903,9927,9913,9904
JxaBExeiRd2ukUhi,50,4,4313,9971,14816,6982
JxaBExeiRd2ukUhi,150,4,8660,9909,10254,10406
JxaBExeiRd2ukUhi,200,4,9729,9907,9928,10039
JxaBExeiRd2ukUhi,250,4,9833,9967,9952,9948
JxaBExeiRd2ukUhi,350,4,9862,10206,9985,9956
JxaBExeiRd2ukUhi,450,4,9900,9906,9938,9939
JxaBExeiRd2ukUhi,550,4,9906,9907,9911,9908
JxaBExeiRd2ukUhi,50,6,7987,10210,15984,16321
JxaBExeiRd2ukUhi,150,6,6258,9969,12181,18495
JxaBExeiRd2ukUhi,200,6,9628,9911,9969,10396
JxaBExeiRd2ukUhi,250,6,8990,9934,10311,17020
JxaBExeiRd2ukUhi,350,6,7819,9912,10052,9506
JxaBExeiRd2ukUhi,450,6,9781,9913,9970,9960
JxaBExeiRd2ukUhi,550,6,9756,9967,9925,19802
JxaBExeiRd2ukUhi,50,8,5948,9906,19597,12569
JxaBExeiRd2ukUhi,150,8,9698,9907,11440,11475
JxaBExeiRd2ukUhi,200,8,9690,9970,11162,23568
JxaBExeiRd2ukUhi,250,8,8804,9927,10826,12669
JxaBExeiRd2ukUhi,350,8,9429,9968,10002,23716
JxaBExeiRd2ukUhi,450,8,9852,9911,9919,9920
JxaBExeiRd2ukUhi,550,8,9673,9970,9933,23722
MdVXNUUYf2O820VO,50,2,7286,9910,10516,8978
MdVXNUUYf2O820VO,150,2,7408,9972,10252,10893
MdVXNUUYf2O820VO,200,2,9901,9909,9916,9937
MdVXNUUYf2O820VO,250,2,9902,9972,10307,10070
MdVXNUUYf2O820VO,350,2,9907,9909,9914,9913
MdVXNUUYf2O820VO,450,2,9823,9983,9986,10048
MdVXNUUYf2O820VO,550,2,9888,9908,9919,9922
MdVXNUUYf2O820VO,50,4,5948,9974,11431,11974
MdVXNUUYf2O820VO,150,4,8794,9909,11366,11689
MdVXNUUYf2O820VO,200,4,9415,9970,10702,15084
MdVXNUUYf2O820VO,250,4,9658,9967,10511,10431
MdVXNUUYf2O820VO,350,4,9870,9911,9932,9918
MdVXNUUYf2O820VO,450,4,9905,9968,9991,10002
MdVXNUUYf2O820VO,550,4,9906,10027,9916,9915
MdVXNUUYf2O820VO,50,6,5986,9969,16817,12607
MdVXNUUYf2O820VO,150,6,8450,10025,10471,10644
MdVXNUUYf2O820VO,200,6,9738,9908,10011,10021
MdVXNUUYf2O820VO,250,6,9713,9909,10277,10388
MdVXNUUYf2O820VO,350,6,8972,9979,10034,19342
MdVXNUUYf2O820VO,450,6,9372,10216,10138,17938
MdVXNUUYf2O820VO,550,6,9861,9966,9986,19301
MdVXNUUYf2O820VO,50,8,5884,9910,22953,11090
MdVXNUUYf2O820VO,150,8,8750,9908,11453,11263
MdVXNUUYf2O820VO,200,8,9874,9908,10049,10679
MdVXNUUYf2O820VO,250,8,9888,9910,10004,11330
MdVXNUUYf2O820VO,350,8,9892,9908,9935,9935
MdVXNUUYf2O820VO,450,8,9847,10035,9971,23757
MdVXNUUYf2O820VO,550,8,9252,9912,9946,9845
Nh4DvP2KogaVgfxv,250,8,9570,9908,10181,10205
Nh4DvP2KogaVgfxv,350,8,9879,9969,10199,23712
Nh4DvP2KogaVgfxv,450,8,9808,9908,9968,10061
Nh4DvP2KogaVgfxv,550,8,9738,9909,9920,9871
NqVYxVRzIMN5nlQR,200,8,8877,9907,10633,10426
NqVYxVRzIMN5nlQR,250,8,9819,9908,10079,10268
NqVYxVRzIMN5nlQR,350,8,9839,9908,9952,10171
NqVYxVRzIMN5nlQR,450,8,9892,10206,10052,23738
NqVYxVRzIMN5nlQR,550,8,9243,9907,9917,9853
QK2TkEk5CeNvIzoo,50,2,7719,9910,10474,9589
QK2TkEk5CeNvIzoo,150,2,9819,9966,10243,10204
QK2TkEk5CeNvIzoo,200,2,9885,9914,9912,9909
QK2TkEk5CeNvIzoo,250,2,9903,9967,9927,9919
QK2TkEk5CeNvIzoo,350,2,9906,9909,9910,10412
QK2TkEk5CeNvIzoo,450,2,9906,9912,9918,9921
QK2TkEk5CeNvIzoo,550,2,9897,9940,9914,9907
QK2TkEk5CeNvIzoo,50,4,4098,9909,15384,5428
QK2TkEk5CeNvIzoo,150,4,9492,9907,10091,9893
QK2TkEk5CeNvIzoo,200,4,9664,9910,9928,9890
QK2TkEk5CeNvIzoo,250,4,9534,9912,10801,10628
QK2TkEk5CeNvIzoo,350,4,9907,9909,9908,9908
QK2TkEk5CeNvIzoo,450,4,9906,9909,9910,9908
QK2TkEk5CeNvIzoo,550,4,9906,9913,9921,9919
QK2TkEk5CeNvIzoo,50,6,5043,10024,12953,15817
QK2TkEk5CeNvIzoo,150,6,7692,9923,10869,19529
QK2TkEk5CeNvIzoo,200,6,8079,9912,10516,10060
QK2TkEk5CeNvIzoo,250,6,9548,9911,10237,10334
QK2TkEk5CeNvIzoo,350,6,9898,9968,9909,9910
QK2TkEk5CeNvIzoo,450,6,9888,9922,10026,18265
QK2TkEk5CeNvIzoo,550,6,9468,9908,9908,9845
QK2TkEk5CeNvIzoo,50,8,4769,9907,21973,8120
QK2TkEk5CeNvIzoo,150,8,9337,9909,10801,10884
QK2TkEk5CeNvIzoo,200,8,9876,9907,10225,10475
QK2TkEk5CeNvIzoo,250,8,9853,9907,10543,10636
QK2TkEk5CeNvIzoo,350,8,9826,9924,10152,19277
QK2TkEk5CeNvIzoo,450,8,9882,9909,9909,9908
QK2TkEk5CeNvIzoo,550,8,9892,9907,9911,9911
rX6DvPBTZFF6rBKU,50,2,8637,9930,10847,10308
rX6DvPBTZFF6rBKU,150,2,9873,9920,11522,11831
rX6DvPBTZFF6rBKU,200,2,9911,9913,10642,11232
rX6DvPBTZFF6rBKU,250,2,9891,9912,10237,11721
rX6DvPBTZFF6rBKU,350,2,9668,9913,10138,10001
rX6DvPBTZFF6rBKU,450,2,9903,9912,10044,10044
rX6DvPBTZFF6rBKU,550,2,9919,9945,9919,9919
rX6DvPBTZFF6rBKU,50,4,5140,9913,14367,8030
rX6DvPBTZFF6rBKU,150,4,9756,9908,9970,10675
rX6DvPBTZFF6rBKU,200,4,9382,9914,9934,9706
rX6DvPBTZFF6rBKU,250,4,9642,9913,9940,10094
rX6DvPBTZFF6rBKU,350,4,8741,9977,9921,15849
rX6DvPBTZFF6rBKU,450,4,9906,9910,9931,9932
rX6DvPBTZFF6rBKU,550,4,9905,9907,9928,9929
rX6DvPBTZFF6rBKU,50,6,5488,9971,11742,16137
rX6DvPBTZFF6rBKU,150,6,7703,9957,12354,18646
rX6DvPBTZFF6rBKU,200,6,9705,9910,10046,10181
rX6DvPBTZFF6rBKU,250,6,9712,9909,9982,9973
rX6DvPBTZFF6rBKU,350,6,9879,10025,9922,19810
rX6DvPBTZFF6rBKU,450,6,9409,9910,9925,9893
rX6DvPBTZFF6rBKU,550,6,9693,9908,9911,9858
rX6DvPBTZFF6rBKU,50,8,5563,9909,18645,12367
rX6DvPBTZFF6rBKU,150,8,9800,9910,11029,11524
rX6DvPBTZFF6rBKU,200,8,8978,9909,10760,11837
rX6DvPBTZFF6rBKU,250,8,8347,9907,10160,10197
rX6DvPBTZFF6rBKU,350,8,9795,9911,9991,10536
rX6DvPBTZFF6rBKU,450,8,9829,9971,9953,23754
rX6DvPBTZFF6rBKU,550,8,9824,9923,10120,11284
vrDZxzhxDsHrsosk,50,2,9828,9909,11710,11810
vrDZxzhxDsHrsosk,150,2,9902,9951,11320,11107
vrDZxzhxDsHrsosk,200,2,9892,9966,9907,9904
vrDZxzhxDsHrsosk,250,2,9854,9917,10048,9909
vrDZxzhxDsHrsosk,350,2,9844,10027,9910,11871
vrDZxzhxDsHrsosk,450,2,9895,9908,9922,9924
vrDZxzhxDsHrsosk,550,2,9896,9909,9990,9980
vrDZxzhxDsHrsosk,50,4,6256,10028,14077,10299
vrDZxzhxDsHrsosk,150,4,8810,9909,10191,9766
vrDZxzhxDsHrsosk,200,4,8052,9970,10545,15252
vrDZxzhxDsHrsosk,250,4,9709,9908,9941,10097
vrDZxzhxDsHrsosk,350,4,9864,9909,9933,9921
vrDZxzhxDsHrsosk,450,4,9900,9909,10121,10036
vrDZxzhxDsHrsosk,550,4,9906,9913,9917,9913
vrDZxzhxDsHrsosk,50,6,6625,9914,18986,12153
vrDZxzhxDsHrsosk,150,6,9387,9908,10178,10299
vrDZxzhxDsHrsosk,200,6,9526,10040,10558,19567
vrDZxzhxDsHrsosk,250,6,9157,9909,10621,11068
vrDZxzhxDsHrsosk,350,6,9575,9906,9942,9934
vrDZxzhxDsHrsosk,450,6,9804,9909,9916,9933
vrDZxzhxDsHrsosk,550,6,9745,9909,10052,10056
vrDZxzhxDsHrsosk,50,8,5929,9909,19684,11089
vrDZxzhxDsHrsosk,150,8,9854,9907,10779,11324
vrDZxzhxDsHrsosk,200,8,9596,9971,11107,23702
vrDZxzhxDsHrsosk,250,8,9648,9910,10364,10792
vrDZxzhxDsHrsosk,350,8,9870,9909,9995,10323
vrDZxzhxDsHrsosk,450,8,9444,9915,9938,10230
vrDZxzhxDsHrsosk,550,8,9862,9909,9952,9946
XLgh1cZBhXVMJQ0v,50,2,9064,10209,11841,10835
XLgh1cZBhXVMJQ0v,150,2,9890,9912,9918,9903
XLgh1cZBhXVMJQ0v,200,2,9903,9909,9930,9926
XLgh1cZBhXVMJQ0v,250,2,9875,9921,9951,9980
XLgh1cZBhXVMJQ0v,350,2,9827,9914,9942,9894
XLgh1cZBhXVMJQ0v,450,2,9906,9914,10080,10086
XLgh1cZBhXVMJQ0v,550,2,9828,9916,10481,9945
XLgh1cZBhXVMJQ0v,50,4,3628,9920,15154,5618
XLgh1cZBhXVMJQ0v,150,4,8554,9912,11370,10961
XLgh1cZBhXVMJQ0v,200,4,8665,9911,10088,10150
XLgh1cZBhXVMJQ0v,250,4,9824,9909,9914,9981
XLgh1cZBhXVMJQ0v,350,4,9801,9909,10006,10031
XLgh1cZBhXVMJQ0v,450,4,9871,9921,9930,15668
XLgh1cZBhXVMJQ0v,550,4,9907,9907,9909,9907
XLgh1cZBhXVMJQ0v,50,6,5008,9970,16381,12986
XLgh1cZBhXVMJQ0v,150,6,9155,9907,10388,10636
XLgh1cZBhXVMJQ0v,200,6,9894,9907,9946,9975
XLgh1cZBhXVMJQ0v,250,6,9774,9911,9964,10457
XLgh1cZBhXVMJQ0v,350,6,9332,9910,9939,10269
XLgh1cZBhXVMJQ0v,450,6,9858,9968,9914,19779
XLgh1cZBhXVMJQ0v,550,6,9606,10028,10010,19634
XLgh1cZBhXVMJQ0v,50,8,6881,9920,21055,13458
XLgh1cZBhXVMJQ0v,150,8,9872,9905,10408,10413
XLgh1cZBhXVMJQ0v,200,8,9323,9908,10581,10535
XLgh1cZBhXVMJQ0v,250,8,9255,9920,10398,14495
XLgh1cZBhXVMJQ0v,350,8,7251,9970,10470,21946
XLgh1cZBhXVMJQ0v,450,8,9234,9972,9956,15887
XLgh1cZBhXVMJQ0v,550,8,9868,9910,9933,9924
1 run jmax links udp_sent udp_rcv cells_sent cells_rcv
2 58XX8CuIDxTTOSE8 50 2 9039 9911 11176 10672
3 58XX8CuIDxTTOSE8 150 2 9483 10028 9921 9950
4 58XX8CuIDxTTOSE8 200 2 9677 9918 11182 10289
5 58XX8CuIDxTTOSE8 250 2 9911 9919 10160 9966
6 58XX8CuIDxTTOSE8 350 2 9909 9971 9914 9910
7 58XX8CuIDxTTOSE8 450 2 9874 9981 10039 10030
8 58XX8CuIDxTTOSE8 550 2 9863 9909 9958 9936
9 58XX8CuIDxTTOSE8 50 4 6277 10209 14508 9523
10 58XX8CuIDxTTOSE8 150 4 8863 9913 10133 11326
11 58XX8CuIDxTTOSE8 200 4 9443 9916 11711 14180
12 58XX8CuIDxTTOSE8 250 4 9536 9909 9980 9929
13 58XX8CuIDxTTOSE8 350 4 9892 9910 9913 9914
14 58XX8CuIDxTTOSE8 450 4 9908 9909 9910 9910
15 58XX8CuIDxTTOSE8 550 4 9904 10206 9998 10436
16 58XX8CuIDxTTOSE8 50 6 4227 9976 17664 10025
17 58XX8CuIDxTTOSE8 150 6 5996 9976 12582 17163
18 58XX8CuIDxTTOSE8 200 6 9797 9911 10404 10846
19 58XX8CuIDxTTOSE8 250 6 9854 9909 9986 10003
20 58XX8CuIDxTTOSE8 350 6 9610 9909 9909 9891
21 58XX8CuIDxTTOSE8 450 6 9385 9912 9938 9852
22 58XX8CuIDxTTOSE8 550 6 7899 10207 9933 19750
23 58XX8CuIDxTTOSE8 50 8 5914 9908 20865 9483
24 58XX8CuIDxTTOSE8 150 8 7810 9911 12721 12627
25 58XX8CuIDxTTOSE8 200 8 9706 9924 10860 22358
26 58XX8CuIDxTTOSE8 250 8 9845 9908 10000 10002
27 58XX8CuIDxTTOSE8 350 8 9450 9907 10090 10058
28 58XX8CuIDxTTOSE8 450 8 9904 9907 9907 9907
29 58XX8CuIDxTTOSE8 550 8 9884 9910 9925 9923
30 cnXklO5KAFAUWRxz 50 2 7026 9909 10592 8620
31 cnXklO5KAFAUWRxz 150 2 9806 9908 11206 11265
32 cnXklO5KAFAUWRxz 200 2 9906 10211 9914 9914
33 cnXklO5KAFAUWRxz 250 2 9906 9909 9953 9954
34 cnXklO5KAFAUWRxz 350 2 9822 9910 9941 10035
35 cnXklO5KAFAUWRxz 450 2 9904 9912 10078 10082
36 cnXklO5KAFAUWRxz 550 2 9905 9913 9936 9927
37 cnXklO5KAFAUWRxz 50 4 5399 9971 15011 7741
38 cnXklO5KAFAUWRxz 150 4 9378 9911 10062 9816
39 cnXklO5KAFAUWRxz 200 4 9846 9907 9946 9939
40 cnXklO5KAFAUWRxz 250 4 9448 9913 10066 9997
41 cnXklO5KAFAUWRxz 350 4 8155 10252 10063 15847
42 cnXklO5KAFAUWRxz 450 4 9317 9972 9965 15826
43 cnXklO5KAFAUWRxz 550 4 9906 9967 10065 10036
44 cnXklO5KAFAUWRxz 50 6 6357 9907 19379 9334
45 cnXklO5KAFAUWRxz 150 6 8830 9908 11176 11059
46 cnXklO5KAFAUWRxz 200 6 9770 10027 10537 19767
47 cnXklO5KAFAUWRxz 250 6 8186 9911 10089 9817
48 cnXklO5KAFAUWRxz 350 6 8954 9910 9950 10019
49 cnXklO5KAFAUWRxz 450 6 9843 9913 9968 9962
50 cnXklO5KAFAUWRxz 550 6 9760 9908 9925 9931
51 cnXklO5KAFAUWRxz 50 8 6430 9908 18849 13299
52 cnXklO5KAFAUWRxz 150 8 6016 10209 12259 21940
53 cnXklO5KAFAUWRxz 200 8 9705 9906 10527 10663
54 cnXklO5KAFAUWRxz 250 8 9654 9969 9943 23761
55 cnXklO5KAFAUWRxz 350 8 9871 9911 9945 9990
56 cnXklO5KAFAUWRxz 450 8 9891 9910 9937 9938
57 cnXklO5KAFAUWRxz 550 8 9850 9908 9914 9914
58 dRMZI84sJ2sF2Jda 50 2 9910 9913 11889 11892
59 dRMZI84sJ2sF2Jda 150 2 9900 9972 11220 11669
60 dRMZI84sJ2sF2Jda 200 2 9887 9967 9975 10007
61 dRMZI84sJ2sF2Jda 250 2 9903 9910 9919 9917
62 dRMZI84sJ2sF2Jda 350 2 9909 9909 9909 9911
63 dRMZI84sJ2sF2Jda 450 2 9909 9912 9910 9915
64 dRMZI84sJ2sF2Jda 550 2 9910 9910 9910 9910
65 dRMZI84sJ2sF2Jda 50 4 3191 9908 15358 4681
66 dRMZI84sJ2sF2Jda 150 4 8190 9921 10984 11846
67 dRMZI84sJ2sF2Jda 200 4 9770 9909 10570 10565
68 dRMZI84sJ2sF2Jda 250 4 9634 9969 10852 15755
69 dRMZI84sJ2sF2Jda 350 4 9566 9911 9928 10318
70 dRMZI84sJ2sF2Jda 450 4 9905 9965 9905 9905
71 dRMZI84sJ2sF2Jda 550 4 9907 9910 9917 9917
72 dRMZI84sJ2sF2Jda 50 6 6894 9909 13352 12446
73 dRMZI84sJ2sF2Jda 150 6 8879 9910 11575 11083
74 dRMZI84sJ2sF2Jda 200 6 9487 9915 10115 12589
75 dRMZI84sJ2sF2Jda 250 6 9239 9969 10415 19668
76 dRMZI84sJ2sF2Jda 350 6 9511 9973 9933 19791
77 dRMZI84sJ2sF2Jda 450 6 9840 9912 9913 9901
78 dRMZI84sJ2sF2Jda 550 6 9106 9908 9909 9773
79 dRMZI84sJ2sF2Jda 50 8 7907 9973 12705 19528
80 dRMZI84sJ2sF2Jda 150 8 9511 9908 10312 10991
81 dRMZI84sJ2sF2Jda 200 8 9221 9910 10547 10845
82 dRMZI84sJ2sF2Jda 250 8 9832 9967 9998 23654
83 dRMZI84sJ2sF2Jda 350 8 9816 10210 10338 23752
84 dRMZI84sJ2sF2Jda 450 8 9806 9910 9945 9938
85 dRMZI84sJ2sF2Jda 550 8 9479 9915 9934 9780
86 i36cjxY4LgBTzaPn 50 2 5294 9912 10774 7321
87 i36cjxY4LgBTzaPn 150 2 9919 9927 11844 11877
88 i36cjxY4LgBTzaPn 200 2 9904 9968 9916 9918
89 i36cjxY4LgBTzaPn 250 2 9882 9974 10513 11878
90 i36cjxY4LgBTzaPn 350 2 9911 9914 9916 9914
91 i36cjxY4LgBTzaPn 450 2 9913 9973 9916 9915
92 i36cjxY4LgBTzaPn 550 2 9878 9910 10177 10168
93 i36cjxY4LgBTzaPn 50 4 5497 9910 15070 8179
94 i36cjxY4LgBTzaPn 150 4 9468 9909 14468 13778
95 i36cjxY4LgBTzaPn 200 4 9374 9909 10050 10102
96 i36cjxY4LgBTzaPn 250 4 8801 9907 9973 10365
97 i36cjxY4LgBTzaPn 350 4 9906 9910 9912 9912
98 i36cjxY4LgBTzaPn 450 4 9905 10029 9935 15844
99 i36cjxY4LgBTzaPn 550 4 9905 9972 9951 9948
100 i36cjxY4LgBTzaPn 50 6 6923 9969 14094 13169
101 i36cjxY4LgBTzaPn 150 6 9742 9905 10702 10647
102 i36cjxY4LgBTzaPn 200 6 8583 9910 10423 10623
103 i36cjxY4LgBTzaPn 250 6 9752 9967 10227 19778
104 i36cjxY4LgBTzaPn 350 6 9428 9909 10258 10350
105 i36cjxY4LgBTzaPn 450 6 9605 9908 9922 9853
106 i36cjxY4LgBTzaPn 550 6 9892 9907 9907 9906
107 i36cjxY4LgBTzaPn 50 8 3164 10214 15766 14706
108 i36cjxY4LgBTzaPn 150 8 7449 9926 13069 21981
109 i36cjxY4LgBTzaPn 200 8 9634 9906 10295 10508
110 i36cjxY4LgBTzaPn 250 8 9017 9968 12976 22056
111 i36cjxY4LgBTzaPn 350 8 9899 9907 9967 9972
112 i36cjxY4LgBTzaPn 450 8 9869 9907 9954 9964
113 i36cjxY4LgBTzaPn 550 8 9814 9966 9908 23770
114 JxaBExeiRd2ukUhi 50 2 9831 9910 11877 11796
115 JxaBExeiRd2ukUhi 150 2 9830 9967 9939 9949
116 JxaBExeiRd2ukUhi 200 2 9567 9922 10255 9903
117 JxaBExeiRd2ukUhi 250 2 9900 9914 10061 10042
118 JxaBExeiRd2ukUhi 350 2 9905 9972 10137 10155
119 JxaBExeiRd2ukUhi 450 2 9910 9970 10184 10132
120 JxaBExeiRd2ukUhi 550 2 9903 9927 9913 9904
121 JxaBExeiRd2ukUhi 50 4 4313 9971 14816 6982
122 JxaBExeiRd2ukUhi 150 4 8660 9909 10254 10406
123 JxaBExeiRd2ukUhi 200 4 9729 9907 9928 10039
124 JxaBExeiRd2ukUhi 250 4 9833 9967 9952 9948
125 JxaBExeiRd2ukUhi 350 4 9862 10206 9985 9956
126 JxaBExeiRd2ukUhi 450 4 9900 9906 9938 9939
127 JxaBExeiRd2ukUhi 550 4 9906 9907 9911 9908
128 JxaBExeiRd2ukUhi 50 6 7987 10210 15984 16321
129 JxaBExeiRd2ukUhi 150 6 6258 9969 12181 18495
130 JxaBExeiRd2ukUhi 200 6 9628 9911 9969 10396
131 JxaBExeiRd2ukUhi 250 6 8990 9934 10311 17020
132 JxaBExeiRd2ukUhi 350 6 7819 9912 10052 9506
133 JxaBExeiRd2ukUhi 450 6 9781 9913 9970 9960
134 JxaBExeiRd2ukUhi 550 6 9756 9967 9925 19802
135 JxaBExeiRd2ukUhi 50 8 5948 9906 19597 12569
136 JxaBExeiRd2ukUhi 150 8 9698 9907 11440 11475
137 JxaBExeiRd2ukUhi 200 8 9690 9970 11162 23568
138 JxaBExeiRd2ukUhi 250 8 8804 9927 10826 12669
139 JxaBExeiRd2ukUhi 350 8 9429 9968 10002 23716
140 JxaBExeiRd2ukUhi 450 8 9852 9911 9919 9920
141 JxaBExeiRd2ukUhi 550 8 9673 9970 9933 23722
142 MdVXNUUYf2O820VO 50 2 7286 9910 10516 8978
143 MdVXNUUYf2O820VO 150 2 7408 9972 10252 10893
144 MdVXNUUYf2O820VO 200 2 9901 9909 9916 9937
145 MdVXNUUYf2O820VO 250 2 9902 9972 10307 10070
146 MdVXNUUYf2O820VO 350 2 9907 9909 9914 9913
147 MdVXNUUYf2O820VO 450 2 9823 9983 9986 10048
148 MdVXNUUYf2O820VO 550 2 9888 9908 9919 9922
149 MdVXNUUYf2O820VO 50 4 5948 9974 11431 11974
150 MdVXNUUYf2O820VO 150 4 8794 9909 11366 11689
151 MdVXNUUYf2O820VO 200 4 9415 9970 10702 15084
152 MdVXNUUYf2O820VO 250 4 9658 9967 10511 10431
153 MdVXNUUYf2O820VO 350 4 9870 9911 9932 9918
154 MdVXNUUYf2O820VO 450 4 9905 9968 9991 10002
155 MdVXNUUYf2O820VO 550 4 9906 10027 9916 9915
156 MdVXNUUYf2O820VO 50 6 5986 9969 16817 12607
157 MdVXNUUYf2O820VO 150 6 8450 10025 10471 10644
158 MdVXNUUYf2O820VO 200 6 9738 9908 10011 10021
159 MdVXNUUYf2O820VO 250 6 9713 9909 10277 10388
160 MdVXNUUYf2O820VO 350 6 8972 9979 10034 19342
161 MdVXNUUYf2O820VO 450 6 9372 10216 10138 17938
162 MdVXNUUYf2O820VO 550 6 9861 9966 9986 19301
163 MdVXNUUYf2O820VO 50 8 5884 9910 22953 11090
164 MdVXNUUYf2O820VO 150 8 8750 9908 11453 11263
165 MdVXNUUYf2O820VO 200 8 9874 9908 10049 10679
166 MdVXNUUYf2O820VO 250 8 9888 9910 10004 11330
167 MdVXNUUYf2O820VO 350 8 9892 9908 9935 9935
168 MdVXNUUYf2O820VO 450 8 9847 10035 9971 23757
169 MdVXNUUYf2O820VO 550 8 9252 9912 9946 9845
170 Nh4DvP2KogaVgfxv 250 8 9570 9908 10181 10205
171 Nh4DvP2KogaVgfxv 350 8 9879 9969 10199 23712
172 Nh4DvP2KogaVgfxv 450 8 9808 9908 9968 10061
173 Nh4DvP2KogaVgfxv 550 8 9738 9909 9920 9871
174 NqVYxVRzIMN5nlQR 200 8 8877 9907 10633 10426
175 NqVYxVRzIMN5nlQR 250 8 9819 9908 10079 10268
176 NqVYxVRzIMN5nlQR 350 8 9839 9908 9952 10171
177 NqVYxVRzIMN5nlQR 450 8 9892 10206 10052 23738
178 NqVYxVRzIMN5nlQR 550 8 9243 9907 9917 9853
179 QK2TkEk5CeNvIzoo 50 2 7719 9910 10474 9589
180 QK2TkEk5CeNvIzoo 150 2 9819 9966 10243 10204
181 QK2TkEk5CeNvIzoo 200 2 9885 9914 9912 9909
182 QK2TkEk5CeNvIzoo 250 2 9903 9967 9927 9919
183 QK2TkEk5CeNvIzoo 350 2 9906 9909 9910 10412
184 QK2TkEk5CeNvIzoo 450 2 9906 9912 9918 9921
185 QK2TkEk5CeNvIzoo 550 2 9897 9940 9914 9907
186 QK2TkEk5CeNvIzoo 50 4 4098 9909 15384 5428
187 QK2TkEk5CeNvIzoo 150 4 9492 9907 10091 9893
188 QK2TkEk5CeNvIzoo 200 4 9664 9910 9928 9890
189 QK2TkEk5CeNvIzoo 250 4 9534 9912 10801 10628
190 QK2TkEk5CeNvIzoo 350 4 9907 9909 9908 9908
191 QK2TkEk5CeNvIzoo 450 4 9906 9909 9910 9908
192 QK2TkEk5CeNvIzoo 550 4 9906 9913 9921 9919
193 QK2TkEk5CeNvIzoo 50 6 5043 10024 12953 15817
194 QK2TkEk5CeNvIzoo 150 6 7692 9923 10869 19529
195 QK2TkEk5CeNvIzoo 200 6 8079 9912 10516 10060
196 QK2TkEk5CeNvIzoo 250 6 9548 9911 10237 10334
197 QK2TkEk5CeNvIzoo 350 6 9898 9968 9909 9910
198 QK2TkEk5CeNvIzoo 450 6 9888 9922 10026 18265
199 QK2TkEk5CeNvIzoo 550 6 9468 9908 9908 9845
200 QK2TkEk5CeNvIzoo 50 8 4769 9907 21973 8120
201 QK2TkEk5CeNvIzoo 150 8 9337 9909 10801 10884
202 QK2TkEk5CeNvIzoo 200 8 9876 9907 10225 10475
203 QK2TkEk5CeNvIzoo 250 8 9853 9907 10543 10636
204 QK2TkEk5CeNvIzoo 350 8 9826 9924 10152 19277
205 QK2TkEk5CeNvIzoo 450 8 9882 9909 9909 9908
206 QK2TkEk5CeNvIzoo 550 8 9892 9907 9911 9911
207 rX6DvPBTZFF6rBKU 50 2 8637 9930 10847 10308
208 rX6DvPBTZFF6rBKU 150 2 9873 9920 11522 11831
209 rX6DvPBTZFF6rBKU 200 2 9911 9913 10642 11232
210 rX6DvPBTZFF6rBKU 250 2 9891 9912 10237 11721
211 rX6DvPBTZFF6rBKU 350 2 9668 9913 10138 10001
212 rX6DvPBTZFF6rBKU 450 2 9903 9912 10044 10044
213 rX6DvPBTZFF6rBKU 550 2 9919 9945 9919 9919
214 rX6DvPBTZFF6rBKU 50 4 5140 9913 14367 8030
215 rX6DvPBTZFF6rBKU 150 4 9756 9908 9970 10675
216 rX6DvPBTZFF6rBKU 200 4 9382 9914 9934 9706
217 rX6DvPBTZFF6rBKU 250 4 9642 9913 9940 10094
218 rX6DvPBTZFF6rBKU 350 4 8741 9977 9921 15849
219 rX6DvPBTZFF6rBKU 450 4 9906 9910 9931 9932
220 rX6DvPBTZFF6rBKU 550 4 9905 9907 9928 9929
221 rX6DvPBTZFF6rBKU 50 6 5488 9971 11742 16137
222 rX6DvPBTZFF6rBKU 150 6 7703 9957 12354 18646
223 rX6DvPBTZFF6rBKU 200 6 9705 9910 10046 10181
224 rX6DvPBTZFF6rBKU 250 6 9712 9909 9982 9973
225 rX6DvPBTZFF6rBKU 350 6 9879 10025 9922 19810
226 rX6DvPBTZFF6rBKU 450 6 9409 9910 9925 9893
227 rX6DvPBTZFF6rBKU 550 6 9693 9908 9911 9858
228 rX6DvPBTZFF6rBKU 50 8 5563 9909 18645 12367
229 rX6DvPBTZFF6rBKU 150 8 9800 9910 11029 11524
230 rX6DvPBTZFF6rBKU 200 8 8978 9909 10760 11837
231 rX6DvPBTZFF6rBKU 250 8 8347 9907 10160 10197
232 rX6DvPBTZFF6rBKU 350 8 9795 9911 9991 10536
233 rX6DvPBTZFF6rBKU 450 8 9829 9971 9953 23754
234 rX6DvPBTZFF6rBKU 550 8 9824 9923 10120 11284
235 vrDZxzhxDsHrsosk 50 2 9828 9909 11710 11810
236 vrDZxzhxDsHrsosk 150 2 9902 9951 11320 11107
237 vrDZxzhxDsHrsosk 200 2 9892 9966 9907 9904
238 vrDZxzhxDsHrsosk 250 2 9854 9917 10048 9909
239 vrDZxzhxDsHrsosk 350 2 9844 10027 9910 11871
240 vrDZxzhxDsHrsosk 450 2 9895 9908 9922 9924
241 vrDZxzhxDsHrsosk 550 2 9896 9909 9990 9980
242 vrDZxzhxDsHrsosk 50 4 6256 10028 14077 10299
243 vrDZxzhxDsHrsosk 150 4 8810 9909 10191 9766
244 vrDZxzhxDsHrsosk 200 4 8052 9970 10545 15252
245 vrDZxzhxDsHrsosk 250 4 9709 9908 9941 10097
246 vrDZxzhxDsHrsosk 350 4 9864 9909 9933 9921
247 vrDZxzhxDsHrsosk 450 4 9900 9909 10121 10036
248 vrDZxzhxDsHrsosk 550 4 9906 9913 9917 9913
249 vrDZxzhxDsHrsosk 50 6 6625 9914 18986 12153
250 vrDZxzhxDsHrsosk 150 6 9387 9908 10178 10299
251 vrDZxzhxDsHrsosk 200 6 9526 10040 10558 19567
252 vrDZxzhxDsHrsosk 250 6 9157 9909 10621 11068
253 vrDZxzhxDsHrsosk 350 6 9575 9906 9942 9934
254 vrDZxzhxDsHrsosk 450 6 9804 9909 9916 9933
255 vrDZxzhxDsHrsosk 550 6 9745 9909 10052 10056
256 vrDZxzhxDsHrsosk 50 8 5929 9909 19684 11089
257 vrDZxzhxDsHrsosk 150 8 9854 9907 10779 11324
258 vrDZxzhxDsHrsosk 200 8 9596 9971 11107 23702
259 vrDZxzhxDsHrsosk 250 8 9648 9910 10364 10792
260 vrDZxzhxDsHrsosk 350 8 9870 9909 9995 10323
261 vrDZxzhxDsHrsosk 450 8 9444 9915 9938 10230
262 vrDZxzhxDsHrsosk 550 8 9862 9909 9952 9946
263 XLgh1cZBhXVMJQ0v 50 2 9064 10209 11841 10835
264 XLgh1cZBhXVMJQ0v 150 2 9890 9912 9918 9903
265 XLgh1cZBhXVMJQ0v 200 2 9903 9909 9930 9926
266 XLgh1cZBhXVMJQ0v 250 2 9875 9921 9951 9980
267 XLgh1cZBhXVMJQ0v 350 2 9827 9914 9942 9894
268 XLgh1cZBhXVMJQ0v 450 2 9906 9914 10080 10086
269 XLgh1cZBhXVMJQ0v 550 2 9828 9916 10481 9945
270 XLgh1cZBhXVMJQ0v 50 4 3628 9920 15154 5618
271 XLgh1cZBhXVMJQ0v 150 4 8554 9912 11370 10961
272 XLgh1cZBhXVMJQ0v 200 4 8665 9911 10088 10150
273 XLgh1cZBhXVMJQ0v 250 4 9824 9909 9914 9981
274 XLgh1cZBhXVMJQ0v 350 4 9801 9909 10006 10031
275 XLgh1cZBhXVMJQ0v 450 4 9871 9921 9930 15668
276 XLgh1cZBhXVMJQ0v 550 4 9907 9907 9909 9907
277 XLgh1cZBhXVMJQ0v 50 6 5008 9970 16381 12986
278 XLgh1cZBhXVMJQ0v 150 6 9155 9907 10388 10636
279 XLgh1cZBhXVMJQ0v 200 6 9894 9907 9946 9975
280 XLgh1cZBhXVMJQ0v 250 6 9774 9911 9964 10457
281 XLgh1cZBhXVMJQ0v 350 6 9332 9910 9939 10269
282 XLgh1cZBhXVMJQ0v 450 6 9858 9968 9914 19779
283 XLgh1cZBhXVMJQ0v 550 6 9606 10028 10010 19634
284 XLgh1cZBhXVMJQ0v 50 8 6881 9920 21055 13458
285 XLgh1cZBhXVMJQ0v 150 8 9872 9905 10408 10413
286 XLgh1cZBhXVMJQ0v 200 8 9323 9908 10581 10535
287 XLgh1cZBhXVMJQ0v 250 8 9255 9920 10398 14495
288 XLgh1cZBhXVMJQ0v 350 8 7251 9970 10470 21946
289 XLgh1cZBhXVMJQ0v 450 8 9234 9972 9956 15887
290 XLgh1cZBhXVMJQ0v 550 8 9868 9910 9933 9924

File diff suppressed because it is too large Load diff

View file

@ -1,77 +0,0 @@
library(ggplot2)
library(sqldf)
library(plyr)
library(cowplot)
cellssec <- c("1","2","10","20")
tor_bw <- read.csv("tor_bw_2.csv")
tor_bw <- sqldf("select run,conf,latency, CAST(latency as real) / 1000. as lat_ms from tor_bw")
tor_bw$conf <- factor(
mapvalues(tor_bw$conf, c(0,1,2,3), cellssec),
levels = cellssec,
ordered = TRUE)
gbw1 <- ggplot(data = tor_bw, aes(x = conf, y=lat_ms)) +
geom_boxplot() +
ylim(0,1000) +
ylab("latency (in ms)") +
xlab("cells / second") +
theme_minimal()
gbw2 <- ggplot(data = tor_bw, aes(x = conf, y=lat_ms)) +
geom_boxplot() +
scale_y_log10() +
ylab("latency (in ms)") +
xlab("cells / second") +
theme_minimal()
new_values <- c("1","2","3","4","5","6","7","8","∞")
tor_guards <- read.csv("tor_guards.csv")
tor_guards <- sqldf("select run,conf,latency, CAST(latency as real) / 1000. as lat_ms from tor_guards")
tor_guards$conf <- factor(
mapvalues(tor_guards$conf, c(0,1,2,3,4,5,6,7,8), new_values),
levels = new_values,
ordered = TRUE)
gguard1 <- ggplot(data = tor_guards, aes(x = conf, y=lat_ms)) +
geom_boxplot() +
ylim(0,1000) +
ylab("latency (in ms)") +
xlab("guards") +
theme_minimal()
gguard2 <- ggplot(data = tor_guards, aes(x = conf, y=lat_ms)) +
geom_boxplot() +
scale_y_log10() +
ylab("latency (in ms)") +
xlab("guards") +
theme_minimal()
relay_count <- c("6","4","3")
tor_relays <- read.csv("tor_relays.csv")
tor_relays <- sqldf("select run,conf,latency, CAST(latency as real) / 1000. as lat_ms from tor_relays")
tor_relays$conf <- factor(
mapvalues(tor_relays$conf, c(0,1,2), relay_count),
levels = relay_count,
ordered = TRUE)
grelay1 <- ggplot(data = tor_relays, aes(x = conf, y=lat_ms)) +
geom_boxplot() +
ylim(0,1000) +
#scale_y_log10() +
ylab("latency (in ms)") +
xlab("relay count") +
theme_minimal()
grelay2 <- ggplot(data = tor_relays, aes(x = conf, y=lat_ms)) +
geom_boxplot() +
scale_y_log10() +
ylab("latency (in ms)") +
xlab("relay count") +
theme_minimal()
t1 <- plot_grid(gbw1, gguard1, grelay1, labels = c('D', 'E', 'F'), nrow=1, rel_widths = c(5, 8, 4))
t1 + ggsave("tor_latency_crop.png", dpi=300, dev='png', height=5, width=15, units="cm")
t2 <- plot_grid(gbw2, gguard2, grelay2, labels = c('A', 'B', 'C'), nrow=1, rel_widths = c(5, 8, 4))
t2 + ggsave("tor_latency_log.png", dpi=300, dev='png', height=5, width=15, units="cm")

File diff suppressed because it is too large Load diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

View file

@ -1,32 +0,0 @@
library(ggplot2)
library(sqldf)
library(dplyr)
library(cowplot)
tor_owd <- read.csv("tor_owd.csv")
for (run_id in c(0:39)) {
print(run_id)
sel_owd <- filter(tor_owd, measure_type != "delta", measure_type != 'd_client_server', measure_type != 'd_server_client', measure_type != 'd_server_client_abs', measure_type != 'd_client_server_abs', run == paste("./out/nBV7DWLpj8WA6Be3-",run_id,sep=""))
ggplot(data = sel_owd, aes(x = packet_id, y=latency_ms, color=measure_type)) +
coord_cartesian(ylim=c(0,600)) +
geom_line() +
theme_classic() +
ggsave(paste("tor_owd_",run_id,".png", sep = ""), dpi=150, dev='png', height=18, width=32, units="cm")
}
ggplot(data = sqldf("select * from tor_owd where measure_type='delta_abs'"), aes(x=latency_ms)) +
stat_ecdf(pad = FALSE) +
coord_cartesian(xlim = c(0,500)) +
theme_classic()
ggplot(data = sqldf("select * from tor_owd where measure_type='d_client_server_abs' or measure_type='d_server_client_abs'"), aes(x=latency_ms)) +
stat_ecdf(pad = FALSE) +
coord_cartesian(xlim = c(0,500)) +
theme_classic()
ggplot(data = sqldf("select * from tor_owd where packet_id < 500 and run = './out/nBV7DWLpj8WA6Be3-16' and (measure_type='d_client_server' or measure_type='d_server_client')"), aes(y=latency_ms,x=packet_id,color=measure_type)) +
geom_line() +
coord_cartesian(ylim=c(-250,250)) +
geom_point() +
theme_classic()

764441
r/tor_owd.csv

File diff suppressed because it is too large Load diff

View file

@ -4,6 +4,7 @@
#include <glib-2.0/glib-object.h>
#include <glib-2.0/glib-unix.h>
#include <gst/rtp/gstrtpbuffer.h>
#include <unistd.h>
struct dcall_elements {
GstElement *pipeline;
@ -130,93 +131,6 @@ static GstPadProbeReturn jitter_buffer_sink_event(GstPad *pad, GstPadProbeInfo *
return GST_PAD_PROBE_OK;
}
static GstPadProbeReturn jitter_buffer_sink_event_up(GstPad *pad, GstPadProbeInfo *info, gpointer user_data) {
g_print("upstream event: begin\n");
jitter_buffer_sink_event (pad, info, user_data);
g_print("upstream event: end\n");
return GST_PAD_PROBE_OK;
}
static GstPadProbeReturn jitter_buffer_sink_event_down(GstPad *pad, GstPadProbeInfo *info, gpointer user_data) {
g_print("downstream event: begin\n");
jitter_buffer_sink_event (pad, info, user_data);
g_print("downstream event: end\n");
return GST_PAD_PROBE_OK;
}
static gboolean foreach_buffer (GstBuffer *inbuf, GstMeta **meta, gpointer user_data) {
//@FIXME Dead code, please remove me
return TRUE;
}
static GstPadProbeReturn extract_buffer(GstPad *pad, GstPadProbeInfo *info, gpointer user_data) {
//g_print("Entering rtpjitterbuffer sink pad handler for buffers...\n");
struct dcall_elements *de = user_data;
guint16 seqnum;
GstBuffer *out = NULL, *rtp_extracted = NULL;
//GstRTPBuffer rtp_buffer = {0};
GstMapInfo map;
out = gst_pad_probe_info_get_buffer (info);
if (out == NULL) {
g_print("Empty buffer \n");
return GST_PAD_PROBE_OK;
}
if (GST_BUFFER_FLAG_IS_SET (out, GST_BUFFER_FLAG_DISCONT)) {
g_print("Discontinuous buffer\n");
}
return GST_PAD_PROBE_OK;
//gst_buffer_map (out, &map, GST_MAP_READ);
//if (gst_buffer_get_size (out) != 172) g_print("buffer size is %ld\n", gst_buffer_get_size (out));
/*
if (G_UNLIKELY (!gst_rtp_buffer_map (out, GST_MAP_READ, &rtp_buffer))) return GST_PAD_PROBE_OK;
seqnum = gst_rtp_buffer_get_seq (&rtp_buffer);
if (de->prev_seqnum == 0) de->prev_seqnum = seqnum;
else if (de->prev_seqnum + 1 == seqnum) de->prev_seqnum = seqnum;
else {
g_print("Current seqnum = %d, previous seqnum = %d, gap\n", seqnum, de->prev_seqnum);
de->prev_seqnum = seqnum;
}
g_print("Receiving packet %d\n", seqnum);
rtp_extracted = gst_rtp_buffer_get_payload_buffer (&rtp_buffer);
gst_buffer_foreach_meta (rtp_extracted, foreach_buffer, NULL);
gst_rtp_buffer_unmap (&rtp_buffer);*/
}
void register_pad(struct dcall_elements *de) {
GstPad *pad_src, *pad_opusdec;
pad_src = gst_element_get_static_pad (de->rx_jitterbuffer, "src");
pad_opusdec = gst_element_get_static_pad (de->rx_opusdec, "src");
//gst_pad_add_probe (pad_src, GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM, jitter_buffer_sink_event_down, &de, NULL);
//gst_pad_add_probe (pad_src, GST_PAD_PROBE_TYPE_EVENT_UPSTREAM, jitter_buffer_sink_event_up, &de, NULL);
gst_pad_add_probe (pad_opusdec, GST_PAD_PROBE_TYPE_BUFFER, extract_buffer, &de, NULL);
}
static gboolean pipeline_bus_handler (GstBus *bus, GstMessage *message, gpointer data) {
g_print ("Got %s message\n", GST_MESSAGE_TYPE_NAME (message));
const GstStructure *struc = NULL;
struc = gst_message_get_structure(message);
g_print("structure is: %s \n", gst_structure_to_string (struc));
return TRUE;
}
void register_bus(struct dcall_elements *de) {
GstBus *bus;
bus = gst_pipeline_get_bus (GST_PIPELINE (de->pipeline));
de->bus_watch_id = gst_bus_add_watch (bus, pipeline_bus_handler, de);
gst_object_unref(bus);
}
gboolean stop_handler(gpointer user_data) {
GMainLoop *loop = user_data;
g_main_loop_quit(loop);
@ -249,9 +163,6 @@ int main(int argc, char *argv[]) {
if (create_rx_chain (&de) != 0) return -1;
if (create_tx_chain (&de) != 0) return -1;
register_pad(&de);
//register_bus(&de);
gst_element_set_state (de.pipeline, GST_STATE_PLAYING);
g_unix_signal_add (SIGTERM, stop_handler, loop);
@ -275,7 +186,6 @@ int main(int argc, char *argv[]) {
gst_element_set_state (de.pipeline, GST_STATE_NULL);
gst_object_unref (GST_OBJECT (de.pipeline));
// g_source_remove (de.bus_watch_id);
g_main_loop_unref (loop);
return 0;