MACE: Improving Measurement Accuracy in Containers Through Trace-based Network Stack Latency Monitoring

Presenter(s): Christopher Misa

Faculty Mentor(s): Ramakrishnan Durairajan

Oral Session 2 C

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 the latency overhead of virtual network devices as used by Docker containers. MACE is implemented as a Linux kernel module using the trace event subsystem to hook into key points along the network stack code path. Using CloudLab, we evaluate MACE by comparing ping round trip time (RTT) 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 microseconds of the bare metal ping RTTs on average while incurring less than 25 microseconds RTT perturbation. We also compare RTT perturbation incurred by MACE with perturbation incurred by the ftrace kernel tracing system and provide a perturbation breakdown for the various components of MACE to focus future development.

Leave a Reply

Your email address will not be published. Required fields are marked *