TY - GEN
T1 - Can we containerize internet measurements?
AU - Misa, Chris
AU - Kannan, Sudarsun
AU - Durairajan, Ramakrishnan
PY - 2019/7/22
Y1 - 2019/7/22
N2 - Container systems (e.g., Docker) provide a well-defined, lightweight, and versatile foundation to streamline the process of tool deployment, to provide a consistent and repeatable experimental interface, and to leverage data centers in the global cloud infrastructure as measurement vantage points. However, the virtual network devices commonly used to connect containers to the Internet are known to impose latency overheads which distort the values reported by measurement tools running inside containers. In this study, we develop a tool called MACE to measure and remove the latency overhead of virtual network devices as used by Docker containers. A key insight of MACE is the fact that container functions all execute in the same kernel. Based on this insight, MACE is implemented as a Linux kernel module using the trace event subsystem to measure latency along the network stack code path. Using CloudLab, we evaluate MACE by comparing the ping measurements emitted from a slim-ping container to the ones emitted using the same tool running in the bare metal machine under varying traffic loads. Our evaluation shows that the MACE-adjusted RTT measurements are within 20 μs of the bare metal ping RTTs on average while incurring less than 25 μs RTT perturbation. We also compare RTT perturbation incurred by MACE with perturbation incurred by the built-in ftrace kernel tracing system and find that MACE incures less perturbation.
AB - Container systems (e.g., Docker) provide a well-defined, lightweight, and versatile foundation to streamline the process of tool deployment, to provide a consistent and repeatable experimental interface, and to leverage data centers in the global cloud infrastructure as measurement vantage points. However, the virtual network devices commonly used to connect containers to the Internet are known to impose latency overheads which distort the values reported by measurement tools running inside containers. In this study, we develop a tool called MACE to measure and remove the latency overhead of virtual network devices as used by Docker containers. A key insight of MACE is the fact that container functions all execute in the same kernel. Based on this insight, MACE is implemented as a Linux kernel module using the trace event subsystem to measure latency along the network stack code path. Using CloudLab, we evaluate MACE by comparing the ping measurements emitted from a slim-ping container to the ones emitted using the same tool running in the bare metal machine under varying traffic loads. Our evaluation shows that the MACE-adjusted RTT measurements are within 20 μs of the bare metal ping RTTs on average while incurring less than 25 μs RTT perturbation. We also compare RTT perturbation incurred by MACE with perturbation incurred by the built-in ftrace kernel tracing system and find that MACE incures less perturbation.
KW - Containers
KW - Linux
KW - Network stack
UR - http://www.scopus.com/inward/record.url?scp=85074452109&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85074452109&partnerID=8YFLogxK
U2 - 10.1145/3340301.3341130
DO - 10.1145/3340301.3341130
M3 - Conference contribution
T3 - ANRW 2019 - Proceedings of the 2019 Applied Networking Research Workshop
SP - 52
EP - 58
BT - ANRW 2019 - Proceedings of the 2019 Applied Networking Research Workshop
PB - Association for Computing Machinery, Inc
T2 - 2019 Applied Networking Research Workshop, ANRW 2019
Y2 - 22 July 2019
ER -