cmisa@cs.uoregon.edu
1
Can We Containerize Internet Measurements?
Chris Misa (University of Oregon) Sudarsun Kannan (Rutgers University) Ramakrishnan Durairajan (University of Oregon)
Can We Containerize Internet Measurements? Chris Misa (University - - PowerPoint PPT Presentation
Can We Containerize Internet Measurements? Chris Misa (University of Oregon) Sudarsun Kannan (Rutgers University) Ramakrishnan Durairajan (University of Oregon) cmisa@cs.uoregon.edu 1 Outline Containerized measurement issues Proposed
cmisa@cs.uoregon.edu
1
Chris Misa (University of Oregon) Sudarsun Kannan (Rutgers University) Ramakrishnan Durairajan (University of Oregon)
cmisa@cs.uoregon.edu
2
cmisa@cs.uoregon.edu
3
– Package, deploy, isolate
cmisa@cs.uoregon.edu
4
– Package, deploy, isolate
– Namespaces, cgroups
cmisa@cs.uoregon.edu
5
– Package, deploy, isolate
– Namespaces, cgroups
– Smaller, faster
cmisa@cs.uoregon.edu
6
– Package scripts, tools, libraries – Consistent interface
cmisa@cs.uoregon.edu
7
– Package scripts, tools, libraries – Consistent interface
– Azure – AWS – GCP – etc.
cmisa@cs.uoregon.edu
8
– Package scripts, tools, libraries – Consistent interface
– Azure – AWS – GCP – etc.
PlanetLab since 2012 [0]
cmisa@cs.uoregon.edu
9
cmisa@cs.uoregon.edu
10
cmisa@cs.uoregon.edu
11
– ~50μs in restjng system
cmisa@cs.uoregon.edu
12
– ~50μs in restjng system
– Up to 300μs depending on traffjc
cmisa@cs.uoregon.edu
13
– ~50μs in restjng system
– Up to 300μs depending on traffjc
– Non-constant latency overheads
cmisa@cs.uoregon.edu
14
– ~50μs in restjng system
– Up to 300μs depending on traffjc
– Non-constant latency overheads
– Flow-based, RDMA
cmisa@cs.uoregon.edu
15
– 90km at the speed of light [6, 7] – $1.2 million for online trading [5]
Source: Google
cmisa@cs.uoregon.edu
16
– 90km at the speed of light [6, 7] – $1.2 million for online trading [5]
– OS, virtualizatjon, physical
Source: Google
cmisa@cs.uoregon.edu
17
cmisa@cs.uoregon.edu
18
cmisa@cs.uoregon.edu
19
cmisa@cs.uoregon.edu
20
– Ingress and egress – High accuracy
Host Container eth0: 172.17.0.2 veth docker0 eth0: 198.168.0.2
cmisa@cs.uoregon.edu
21
– Ingress and egress – High accuracy
Host Container eth0: 172.17.0.2 veth docker0 eth0: 198.168.0.2
cmisa@cs.uoregon.edu
22
– Ingress and egress – High accuracy
Host Container eth0: 172.17.0.2 veth docker0 eth0: 198.168.0.2
cmisa@cs.uoregon.edu
23
– Hooks into kernel – Net device and system
call subsytems
Source: http://www.brendangregg.com
cmisa@cs.uoregon.edu
24
– Hooks into kernel – Net device and system
call subsytems
– Large perturbatjon
Source: http://www.brendangregg.com
cmisa@cs.uoregon.edu
25
– Hooks into kernel – Net device and system
call subsytems
– Large perturbatjon
– For container hosts – Report to containers
Source: http://www.brendangregg.com
cmisa@cs.uoregon.edu
26
– Interface – Namespace
cmisa@cs.uoregon.edu
27
– Interface – Namespace
– Ingress – Egress
cmisa@cs.uoregon.edu
28
– Interface – Namespace
– Ingress – Egress
– Report via device fjle
cmisa@cs.uoregon.edu
29
– Read tsc for tjming
Open source at: github.com/chris-misa/mace
cmisa@cs.uoregon.edu
30
– Read tsc for tjming
– Only lock hash buckets – Atomic types for ring bufger
Open source at: github.com/chris-misa/mace
cmisa@cs.uoregon.edu
31
– Read tsc for tjming
– Only lock hash buckets – Atomic types for ring bufger
– Interface is namespace-aware – Allow and enable per container
Open source at: github.com/chris-misa/mace
cmisa@cs.uoregon.edu
32
# echo 1 > sys/class/mace/on
cmisa@cs.uoregon.edu
33
# echo 1 > sys/class/mace/on
# ping -c 10 google.com
cmisa@cs.uoregon.edu
34
# echo 1 > sys/class/mace/on
# ping -c 10 google.com
# cat dev/mace [1552589043.315681] (1) egress: 80932 [1552589043.315937] (1) ingress: 46208 [1552589043.316012] (2) egress: 13699
. . .
cmisa@cs.uoregon.edu
35
cmisa@cs.uoregon.edu
36
cmisa@cs.uoregon.edu
37
cmisa@cs.uoregon.edu
38
Container Target Host
cmisa@cs.uoregon.edu
39
(1) RTT from container
Container Target Host
(1)
cmisa@cs.uoregon.edu
40
(1) RTT from container (2) Latency overheads from MACE
Container Target Host
(1) (2)
cmisa@cs.uoregon.edu
41
(1) RTT from container (2) Latency overheads from MACE (3) ‘corrected’ RTT = (1) minus (2)
Container Target Host
(1) (2) (3)
cmisa@cs.uoregon.edu
42
(1) RTT from container (2) Latency overheads from MACE (3) ‘corrected’ RTT = (1) minus (2) (4) Compare with RTT measured from hardware
Container Target Host Ground-truth hardware RTT
(1) (2) (4) (3)
cmisa@cs.uoregon.edu
43
– Minimize network latency
cmisa@cs.uoregon.edu
44
– Minimize network latency
– Flood ping – Worst-case traffjc settjng
cmisa@cs.uoregon.edu
45
– Minimize network latency
– Flood ping – Worst-case traffjc settjng
– Some RTT noise from
experiment network
46
– ‘raw’ container (blue) – ‘corrected’ container (black)
cmisa@cs.uoregon.edu
47
– ‘raw’ container (blue) – ‘corrected’ container (black)
20μs in worst case
cmisa@cs.uoregon.edu
48
– ‘raw’ container (blue) – ‘corrected’ container (black)
20μs in worst case
– Up to 100 μs
cmisa@cs.uoregon.edu
49
cmisa@cs.uoregon.edu
50
hash tables
cmisa@cs.uoregon.edu
51
hash tables
coverage to 100%
cmisa@cs.uoregon.edu
52
minus non-instrumented RTT
– MACE (black) – Ftrace (blue)
cmisa@cs.uoregon.edu
53
minus non-instrumented RTT
– MACE (black) – Ftrace (blue)
increases
cmisa@cs.uoregon.edu
cmisa@cs.uoregon.edu
54
functjons
– Tracepoint probes – Hash table management – Latency list management
cmisa@cs.uoregon.edu
55
functjons
– Tracepoint probes – Hash table management – Latency list management
– Accessing data in userspace – Needed for correlatjon
cmisa@cs.uoregon.edu
56
– Add TCP, UDP support – Hardware tjmestamps – Betuer in-fmight correlatjon – Ease of applicatjon-level correlatjon
cmisa@cs.uoregon.edu
57
– Add TCP, UDP support – Hardware tjmestamps – Betuer in-fmight correlatjon – Ease of applicatjon-level correlatjon
– Improving measurement accuracy (e.g. geolocatjon) – Virtual network telemetry
cmisa@cs.uoregon.edu
58
cmisa@cs.uoregon.edu
59
* This work is supported by a fellowship from the University of Oregon Office of the Vice President for Research and Innovation.
cmisa@cs.uoregon.edu
60
cmisa@cs.uoregon.edu
61
Symposium on Performance Analysis of Systems and Sofuware, 2015.
2019)