Papers
Topics
Authors
Recent
Gemini 2.5 Flash
Gemini 2.5 Flash
102 tokens/sec
GPT-4o
59 tokens/sec
Gemini 2.5 Pro Pro
43 tokens/sec
o3 Pro
6 tokens/sec
GPT-4.1 Pro
50 tokens/sec
DeepSeek R1 via Azure Pro
28 tokens/sec
2000 character limit reached

Understanding Delays in AF\_XDP-based Applications (2402.10513v2)

Published 16 Feb 2024 in cs.NI

Abstract: Packet processing on Linux can be slow due to its complex network stack. To solve this problem, there are two main solutions: eXpress Data Path (XDP) and Data Plane Development Kit (DPDK). XDP and the AF XDP socket offer full interoperability with the legacy system and is being adopted by major internet players like Open vSwitch or Facebook. While the performance evaluation of AF XDP against the legacy protocol stack in the kernel or against DPDK has been studied in the literature, the impact of the multiple socket parameters and the system configuration on its latency has been left aside. To address this, we conduct an experimental study to understand the XDP/AF XDP ecosystem and detect microseconds delays to better architect future latency-sensitive applications. Since the performance of AF XDP depends on multiple parameters found in different layers, finding the configuration minimizing its latency is a challenging task. We rely on a classification algorithm to group the performance results, allowing us to easily identify parameters with the biggest impact on performance at different loads. Last, but not least, we show that some configurations can significantly decrease the benefits of AF XDP, leading to undesirable behaviors, while other configurations are able to reduce such round trip delays to an impressive value of 6.5 $\mu$s in the best case, including the tracing overhead. In summary, AF XDP is a promising solution, and careful selection of both application and socket parameters can significantly improve performance.

Definition Search Book Streamline Icon: https://streamlinehq.com
References (27)
  1. Y. Gan, Y. Zhang, D. Cheng, A. Shetty, P. Rathi, N. Katarki, A. Bruno, J. Hu, B. Ritchken, B. Jackson, K. Hu, M. Pancholi, Y. He, B. Clancy, C. Colen, F. Wen, C. Leung, S. Wang, L. Zaruvinsky, M. Espinosa, R. Lin, Z. Liu, J. Padilla, and C. Delimitrou, “An open-source benchmark suite for microservices and their hardware-software implications for cloud & edge systems,” in Proceedings of the Twenty-Fourth International Conference on Architectural Support for Programming Languages and Operating Systems, ser. ASPLOS ’19.   New York, NY, USA: Association for Computing Machinery, 2019, p. 3–18. [Online]. Available: https://doi.org/10.1145/3297858.3304013
  2. J. Li, Z. Li, R. Lu, K. Xiao, S. Li, J. Chen, J. Yang, C. Zong, A. Chen, Q. Wu, C. Sun, G. Tyson, and H. H. Liu, “Livenet: A low-latency video transport network for large-scale live streaming,” in Proceedings of the ACM SIGCOMM 2022 Conference, ser. SIGCOMM ’22.   New York, NY, USA: Association for Computing Machinery, 2022, p. 812–825. [Online]. Available: https://doi.org/10.1145/3544216.3544236
  3. L. Barroso, M. Marty, D. Patterson, and P. Ranganathan, “Attack of the killer microseconds,” Commun. ACM, vol. 60, no. 4, p. 48–54, mar 2017. [Online]. Available: https://doi.org/10.1145/3015146
  4. I. Zhang, A. Raybuck, P. Patel, K. Olynyk, J. Nelson, O. S. N. Leija, A. Martinez, J. Liu, A. K. Simpson, S. Jayakar, P. H. Penna, M. Demoulin, P. Choudhury, and A. Badam, “The Demikernel Datapath OS Architecture for Microsecond-scale Datacenter Systems,” in Proceedings of the ACM SIGOPS 28th Symposium on Operating Systems Principles, ser. SOSP ’21.   New York, NY, USA: Association for Computing Machinery, Oct. 2021, pp. 195–211.
  5. D. Zhuo, K. Zhang, Y. Zhu, H. H. Liu, M. Rockett, A. Krishnamurthy, and T. Anderson, “Slim: {}OS{} Kernel Support for a {}Low-Overhead{} Container Overlay Network,” in 16th USENIX Symposium on Networked Systems Design and Implementation (NSDI 19), 2019, p. 331.
  6. “DPDK Website,” https://www.dpdk.org/.
  7. “XDP Project GitHub profile,” https://github.com/xdp-project.
  8. M. Mahalingam, D. Dutt, K. Duda, P. Agarwal, L. Kreeger, T. Sridhar, M. Bursell, and C. Wright, “Virtual eXtensible Local Area Network (VXLAN): A Framework for Overlaying Virtualized Layer 2 Networks over Layer 3 Networks,” Internet Engineering Task Force, Request for Comments RFC 7348, Aug. 2014.
  9. W. Tu, Y.-H. Wei, G. Antichi, and B. Pfaff, “Revisiting the open vSwitch dataplane ten years later,” in Proceedings of the 2021 ACM SIGCOMM 2021 Conference, ser. SIGCOMM ’21.   New York, NY, USA: Association for Computing Machinery, Aug. 2021, pp. 245–257.
  10. “GitHub repository of Katran by Meta,” Meta Incubator, Feb. 2023.
  11. M. Karlsson and B. Topel, “The Path to DPDK Speeds for AF XDP.”
  12. “AF_XDP — The Linux Kernel documentation,” https://www.kernel.org/doc/html/latest/networking/af_xdp.html.
  13. J. H. Salim, R. Olsson, and A. Kuznetsov, “Beyond softnet,” in 5th Annual Linux Showcase & Conference (ALS 01).   Oakland, CA: USENIX Association, Nov. 2001. [Online]. Available: https://www.usenix.org/conference/als-01/beyond-softnet
  14. “NAPI article on the Linux Foundation’s wiki,” https://wiki.linuxfoundation.org/networking/napi.
  15. K. Salah, K. El-Badawi, and F. Haidari, “Performance analysis and comparison of interrupt-handling schemes in gigabit networks,” Computer Communications, vol. 30, no. 17, pp. 3425–3441, Nov. 2007.
  16. “AF_XDP: Introducing zero-copy support [LWN.net],” https://lwn.net/Articles/756549/.
  17. M. Karlsson, “RFC for busy poll support for AF_XDP sockets,” https://lore.kernel.org/bpf/CAJ8uoz3MNrz_f7dy6+U=zj7GeywUda9E9pP2s9uU1jVW5O2zHw@mail.gmail.com/T/.
  18. “xdpsock.c github link,” https://github.com/xdp-project/bpf-examples/blob/eeb154d7a1c6d155e7d8d9da9018ceeff3ebfaf4/AF_XDP-example/xdpsock.c.
  19. “Using User-Space Tracepoints with BPF [LWN.net],” https://lwn.net/Articles/753601/.
  20. “Perf Wiki,” https://perf.wiki.kernel.org/index.php/Main_Page.
  21. T. Høiland-Jørgensen, J. D. Brouer, D. Borkmann, J. Fastabend, T. Herbert, D. Ahern, and D. Miller, “The eXpress data path: Fast programmable packet processing in the operating system kernel,” in Proceedings of the 14th International Conference on Emerging Networking EXperiments and Technologies, ser. CoNEXT ’18.   New York, NY, USA: Association for Computing Machinery, Dec. 2018, pp. 54–66.
  22. L. Rizzo, “Netmap: A Novel Framework for Fast Packet {}I/O{},” in 2012 USENIX Annual Technical Conference (USENIX ATC 12), 2012, pp. 101–112.
  23. “Ansible official website.”
  24. “Seaborn’s doc on kde.”
  25. Q. Cai, S. Chaudhary, M. Vuppalapati, J. Hwang, and R. Agarwal, “Understanding host network stack overheads,” in Proceedings of the 2021 ACM SIGCOMM 2021 Conference, ser. SIGCOMM ’21.   New York, NY, USA: Association for Computing Machinery, Aug. 2021, pp. 65–77.
  26. “Cilium - Linux Native, API-Aware Networking and Security for Containers,” https://cilium.io.
  27. T. Özturk, “Performance Evaluation of eXpress Data Path for Container-Based Network Functions,” p. 65.
User Edit Pencil Streamline Icon: https://streamlinehq.com
Authors (3)
X Twitter Logo Streamline Icon: https://streamlinehq.com