Skip to content

Commit 88d928c

Browse files
committed
Adding first evaluation and graph
1 parent e6e9246 commit 88d928c

File tree

2 files changed

+115
-0
lines changed

2 files changed

+115
-0
lines changed

experiments/stateless.rmd

Lines changed: 115 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,115 @@
1+
---
2+
title: "Stateless Spring msgpush: GCI On x Off"
3+
author: "Daniel Fireman"
4+
date: "Sept, 2018"
5+
output: pdf_document
6+
---
7+
8+
```{r setup, include=FALSE}
9+
knitr::opts_chunk$set(echo=F)
10+
knitr::opts_chunk$set(warning=F)
11+
knitr::opts_chunk$set(cache=F)
12+
13+
require(dplyr)
14+
require(ggplot2)
15+
```
16+
17+
# Setup
18+
19+
* num_vms = 4
20+
* vcpus = 2
21+
* ram_gb = 4
22+
* java_version = "10.0.1"
23+
* gcc="5.4.0" # compiled the libgc.so
24+
* maven="3.3.9" # build all java project.
25+
* go_version = "go1.11 linux/amd64" # compiled the gci proxy binary.
26+
* nginx_version = "nginx/1.14.0 (Ubuntu)"
27+
* so_version = "Ubuntu 18.04 LTS"
28+
* kernel_version = "4.15.0-29-generic"
29+
30+
# Tail Latency Comparison
31+
32+
```{r}
33+
read.al <- function(f) {
34+
df <- read.csv(f, sep = ";", col.names = c("ts", "status", "latency", "ups"), colClasses = c("ups"="character"))
35+
df$latency <- df$latency*1000
36+
return(df)
37+
}
38+
39+
al.gci <- rbind (
40+
read.al("stateless/al_gci_java_1.csv")
41+
)
42+
43+
al.nogci <- rbind (
44+
read.al("stateless/al_nogci_java_1.csv")
45+
)
46+
47+
al.cmp <- rbind(
48+
data.frame("latency"=al.nogci$latency, Type="GCI OFF"),
49+
data.frame("latency"=al.gci$latency, Type="GCI ON")
50+
)
51+
```
52+
53+
```{r, fig.align="center"}
54+
gci.p99 <- quantile(al.gci$latency, 0.99)
55+
nogci.p99 <- quantile(al.nogci$latency, 0.99)
56+
gci.p999 <- quantile(al.gci$latency, 0.999)
57+
nogci.p999 <- quantile(al.nogci$latency, 0.999)
58+
59+
ggplot(al.cmp, aes(latency, color=Type)) +
60+
stat_ecdf(size=0.8) +
61+
# P999
62+
annotate(geom="text", x=nogci.p999-0.5, y=0.9906, label="99.999th", angle=90, color="red") +
63+
geom_vline(xintercept=nogci.p999, linetype="dotted", size=0.8, alpha=0.5, color="red") +
64+
annotate(geom="text", x=gci.p999+0.5, y=0.9906, label="99.999th", angle=90, color="blue") +
65+
geom_vline(xintercept=gci.p999, linetype="dotted", size=0.8, alpha=0.5, color="blue") +
66+
67+
68+
# P99
69+
annotate(geom="text", x=nogci.p99-0.5, y=0.9902, label="99th", angle=90, col="red") +
70+
geom_vline(xintercept=nogci.p99, linetype="dotted", size=0.8, alpha=0.5, col="red") +
71+
annotate(geom="text", x=gci.p99+0.5, y=0.9902, label="99th", angle=90, color="blue") +
72+
geom_vline(xintercept=gci.p99, linetype="dotted", size=0.8, alpha=0.5, color="blue") +
73+
74+
scale_x_continuous(breaks=seq(0, max(al.cmp$latency), 2)) +
75+
coord_cartesian(ylim = c(0.99, 1)) +
76+
theme(legend.position="top") +
77+
scale_color_manual(breaks = c("GCI OFF", "GCI ON"), values=c("red", "blue")) +
78+
theme_bw() +
79+
xlab("Latency(ms)") +
80+
ylab("ECDF at Tail")
81+
#ggsave("stateless/ecdf_tail.png")
82+
```
83+
84+
<!-- # Unavailability -->
85+
86+
<!-- ```{r} -->
87+
<!-- read.pauses <- function(f) { -->
88+
<!-- return(read.csv(f,col.names = c("ts", "gen", "pause"))) -->
89+
<!-- } -->
90+
91+
<!-- pause.gci <- rbind ( -->
92+
<!-- read.pauses("stateless/proxy_gci_go_1_10.11.4.231.out"), -->
93+
<!-- read.pauses("stateless/proxy_gci_go_1_10.11.4.251.out"), -->
94+
<!-- read.pauses("stateless/proxy_gci_go_1_10.11.5.1.out"), -->
95+
<!-- read.pauses("stateless/proxy_gci_go_1_10.11.5.24.out") -->
96+
<!-- ) -->
97+
98+
<!-- pause.cmp <- rbind( -->
99+
<!-- data.frame(pause=pause.gci$pause, Type="GCI On") -->
100+
<!-- ) -->
101+
<!-- ``` -->
102+
<!-- ```{r, fig.align="center"} -->
103+
<!-- ggplot(pause.cmp, aes(Type, pause)) + -->
104+
<!-- geom_boxplot() + -->
105+
<!-- scale_y_continuous(breaks=seq(0,max(pause.cmp$pause), 10)) + -->
106+
<!-- ylab("Unavailability (ms)") + -->
107+
<!-- theme_bw() + -->
108+
<!-- theme(axis.title.x=element_blank()) -->
109+
<!-- ``` -->
110+
111+
<!-- # Failures -->
112+
113+
<!-- ```{r, echo=T} -->
114+
<!-- NROW(filter(al.gci, status == 503)) -->
115+
<!-- ``` -->

experiments/stateless/ecdf_tail.png

82.1 KB
Loading

0 commit comments

Comments
 (0)