Performance Analysis of DPDK-based Applications Through Tracing

Adel Belkhiri,Martin Pepin,Mike Bly,Michel Dagenais
DOI: https://doi.org/10.1016/j.jpdc.2022.10.012
IF: 4.542
2022-11-13
Journal of Parallel and Distributed Computing
Abstract:The Data Plane Development Kit (DPDK) is an efficient framework developed based on the kernel bypass approach to accelerate packet processing in userspace. This framework includes many libraries and Poll Mode Drivers (PMDs) that are optimized for maximum network performance. Several studies have demonstrated that porting existing data plane applications to DPDK can considerably increase their performance. Unfortunately, kernel bypassing makes traditional network monitoring and debugging tools obsolete. Therefore, considering the complexity of networking software, detecting unexpected behaviors, and diagnosing its root causes became a tedious task. The literature reports a few tools intended for debugging DPDK application bugs, but they are mostly ineffective against performance bugs. In this paper, we propose a tracing-based performance analysis framework that is dedicated to DPDK applications. The framework provides many analyses enabling the practitioner to gain insights into the application internals and diagnose performance bugs. We use an efficient approach to collect tracing data from DPDK libraries and drivers, with a very low overhead (<0.2%). Our framework correlates the data collected to build a data model that illustrates the states of the monitored application' components. We leverage this data model to calculate adapted performance metrics and display them in time-synchronized graphical views. The numerous use cases that we present demonstrate the ability of our tool to identify and diagnose efficiently various performance bugs.
computer science, theory & methods
What problem does this paper attempt to address?