Conclusiones de una evaluación experimental de eXpress Data Path (XDP) y Data Plane Development Kit (DPDK) en un entorno de Computación en la Nube

Autores/as

DOI:

https://doi.org/10.33448/rsd-v11i12.34200

Palabras clave:

XDP; DPDK; Kernel Linux; Frameworks de Procesamiento de Paquetes; Computación en la nube.

Resumen

La popularización del kernel Linux en los servidores de los centros de datos se convirtió en un factor importante a tener en cuenta a la hora de desarrollar o implantar aplicaciones de red. Surgieron nuevos "frameworks de procesamiento de paquetes" para garantizar un rápido procesamiento de paquetes dentro de estos servidores que dependen del kernel Linux, siendo XDP y DPDK los dos principales. Junto a esto, los entornos de Computación en la Nube dominaron el escenario de los centros de datos, llevando la virtualización al centro de estos servidores. Esta pesquisa compara los procesadores de paquetes DPDK y XDP cuando se someten a un entorno de Computación en la Nube con carga de E/S, CPU y red. Primero describimos una arquitectura que implementa marcos y emula un entorno de nube. Medimos el rendimiento y la pérdida de paquetes mientras variamos el número de máquinas virtuales en competencia, el uso de la CPU por parte de los marcos y el tamaño de los paquetes, y presentamos nuestros resultados en forma de conclusiones. Llegamos a la conclusión de que el entorno virtual puede afectar al rendimiento de ambos marcos en función del tamaño de los paquetes recibidos y del tipo de carga de trabajo que realiza el entorno de la nube. Un caso significativo a destacar es cuando el entorno de la nube ejecuta carga de red y los servidores reciben paquetes de pequeño tamaño, lo que genera una degradación del rendimiento y un aumento de la pérdida de paquetes. Concluimos nuestros experimentos haciendo pruebas de hipótesis estadísticas no paramétricas para mejorar nuestras conclusiones y tener una visión más cercana de los resultados.

Citas

Cilium. (2022). Bpf and xdp reference guide. https://docs.cilium.io/en/latest/bpf/

Incubator, F. (2022). Katran - a high performance layer 4 load balancer. https://github.com/facebookincubator/katran

Cilium. (2022). What is cilium? https://cilium.io/get-started/

Belay, A., Prekas, G., Klimovic, A., Grossman, S., Kozyrakis, C., & Bugnion, E. (2014). Ix: A protected dataplane operating system for high throughput and low latency. In Proceedings of the 11th USENIX Conference on Operating Systems Design and Imple-mentation, OSDI’14, page 49–65, USA. USENIX Association.

Bruijn, W. D. & Dumazet, E. (2017). sendmsg copy avoidance with msg zerocopy. In NetDev, The Technical Conference on Linux Networking, Netdev 2.1, Montreal, Canada. Netdev.

Corder, G. W. & Foreman, D. I. (2011). Nonparametric statistics for non-statisticians.

Dantas, R., Sadok, D., Flinta, C., & Johnsson, A. (2015). Kvm virtualization impact on active round-trip time measurements. In 2015 IFIP/IEEE International Symposium on Integrated Network Management (IM), pages 810–813.

Oliveira Filho, A. T., Freitas, E., do Carmo, P. R., Sadok, D. H., & Kelner, J. (2022). An experimental investigation of round-trip time and virtualization. Computer Communications, 184:73–85.

Emmerich, P., Gallenmüller, S., Raumer, D., Wohlfart, F., & Carle, G. (2015). Moongen: A scriptable high-speed packet generator. In Proceedings of the 2015 Internet Measurement Conference, IMC ’15, page 275–287, New York, NY, USA. Association for Computing Machinery.

Fabre, A. (2018). L4drop: Xdp ddos mitigations. https://blog.cloudflare.com/l4drop-xdp-ebpf-based-ddos-mitigations/

Foundation, L. (2018). Data plane development kit. https://www.dpdk.org/

Freitas, E. (2021). Experimental evaluation on packet processing frameworks under virtual environments. Master’s thesis, Universidade Federal de Pernambuco, Recife.

Gallenmüller, S., Emmerich, P., Wohlfart, F., Raumer, D., and Carle, G. (2015). Comparison of frameworks for high-performance packet io. In Proceedings of the Eleventh ACM/IEEE Symposium on Architectures for Networking and Communications Systems, ANCS ’15, page 29–38, USA. IEEE Computer Society.

Group, D. P. D. K. (2017a). Dpdk docs: Poll mode driver. http://doc.dpdk.org/guides/prog_guide/poll_mode_drv.html

Group, D. P. D. K. (2017b). Dpdk docs: Programmer’s guide, mempool library. https://doc.dpdk.org/guides/prog_guide/mempool_lib.html

Group, D. P. D. K. (2017c). Dpdk docs: Programmer’s guide, overview. http://doc.dpdk.org/guides/prog_guide/overview.html

Group, D. P. D. K. (2017d). Dpdk docs: Programmer’s guide, ring library. https://doc.dpdk.org/guides/prog_guide/ring_lib.html

Han, S., Jang, K., Park, K., & Moon, S. (2010). Packetshader: A gpu-accelerated software router. In Proceedings of the ACM SIGCOMM 2010 Conference, SIGCOMM ’10, page 195–206, New York, NY, USA. Association for Computing Machinery.

Hohlfeld, O., Krude, J., Reelfs, J. H., R¨uth, J., and Wehrle, K. (2019). Demystifying the performance of xdp bpf. In 2019 IEEE Conference on Network Softwarization (NetSoft), pages 208–212.

-Jørgensen, T., Brouer, J. D., Borkmann, D., Fastabend, J., Herbert, T., Ahern, D., & Miller, D. (2018). 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, CoNEXT ’18, page 54–66, New York, NY, USA. Association for Com-puting Machinery.

IDG (2020). Cloud computing survey. Executive summary, IDG. https://resources.foundryco.com/download/cloud-computing-executive-summary

Jeong, E., Wood, S., Jamshed, M., Jeong, H., Ihm, S., Han, D., & Park, K. (2014). mtcp: a highly scalable user-level TCP stack for multicore systems. In 11th USENIX Symposium on Networked Systems Design and Implementation (NSDI 14), pages 489– 502, Seattle, WA. USENIX Association.

Kourtis, M.-A., Xilouris, G., Riccobene, V., Mc-Grath, M. J., Petralia, G., Koumaras, H., Gardikis, G., & Liberal, F. (2015). Enhancing vnf performance by exploiting sr-iov and dpdk packet processing acceleration. In 2015 IEEE Conference on Network Function Virtualization and Software Defined Network (NFV-SDN), pages 74–78.

Liu, J. (2010). Evaluating standard-based self-virtualizing devices: A performance study on 10 gbe nics with sr-iov support. In 2010 IEEE International Symposium on Parallel Distributed Processing (IPDPS), pages 1–12.

Liu, M., Cui, T., Schuh, H., Krishnamurthy, A., Peter, S., & Gupta, K. (2019). Offloading distributed applications onto smartnics using ipipe. In Proceedings of the ACM Special Interest Group on Data Communication, SIGCOMM ’19, page 318–333, New York, NY, USA. Association for Computing Machinery.

Miano, S., Doriguzzi-Corin, R., Risso, F., Siracusa, D., & Sommese, R. (2019). Introducing smartnics in server-based data plane processing: The ddos mitigation use case. IEEE Access, 7:107161–107170.

Monnet, Q. (2016). Dive into bpf: a list of reading material. https://qmonnet.github.io/whirl-offload/2016/09/01/dive-into-bpf/#what-is-bpf

Rizzo, L. (2012). netmap: A novel framework for fast packet i/o. In 2012 USENIX Annual Technical Conference (USENIX ATC 12), pages 101–112, Boston, MA. USENIX Association.

Rybczyńska, M. (2019). Bounded loops in bpf for the 5.3 kernel. https://lwn.net/Articles/794934/

Scholz, D., Raumer, D., Emmerich, P., Kurtz, A., Lesiak, K., & Carle, G. (2018). Performance implications of packet filtering with linux ebpf. In2018 30th International Teletraffic Congress (ITC 30), volume 01, pages 209–217.

Soares, L. & Stumm, M. (2010). Flexsc: Flexible system call scheduling with exception-less system calls. In Proceedings of the 9th USENIX Conference on Operating Systems Design and Implementation, OSDI’10, page 33–46, USA. USENIX Association.

Surveys, W. W. W. W. T. (2021). Usage of operating systems broken down by data center providers. https://w3techs.com/technologies/cross/operating_system/data_center

Tsuna (2010). How long does it take to make a context switch? https://blog.tsunanet.net/2010/11/how-long-does-it-take-to-make-context.html

Van Tu, N., Yoo, J.-H., & Hong, J. W.-K. (2019). evnf - hybrid virtual network functions with linux express data path. In 2019 20th Asia-Pacific Network Operations and Management Sym-posium (APNOMS), pages 1–6.

Vieira, M. A. M., Castanho, M. S., Pacífico, R. D. G., Santos, E. R. S., Júnior, E. P. M. C., & Vieira, L. F. M. (2020). Fast packet processing with ebpf and xdp: Concepts, code, challenges, and applications. ACM Comput. Surv., 53(1).

Wu, W., Crawford, M., & Bowden, M. (2007). The performance analysis of linux networking – packet receiving. Computer Communications, 30(5):1044 – 1057. Advances in Computer Commu-nications Networks.

Descargas

Publicado

06/09/2022

Cómo citar

FREITAS, E.; OLIVEIRA FILHO, A. T. de; CARMO, P. R. X. do .; SADOK, D. F. H.; KELNER, J. Conclusiones de una evaluación experimental de eXpress Data Path (XDP) y Data Plane Development Kit (DPDK) en un entorno de Computación en la Nube. Research, Society and Development, [S. l.], v. 11, n. 12, p. e26111234200, 2022. DOI: 10.33448/rsd-v11i12.34200. Disponível em: https://rsdjournal.org/index.php/rsd/article/view/34200. Acesso em: 25 nov. 2024.

Número

Sección

Ciencias Exactas y de la Tierra