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
DOI:
https://doi.org/10.33448/rsd-v11i12.34200Palabras 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
Cómo citar
Número
Sección
Licencia
Derechos de autor 2022 Eduardo Freitas; Assis T. de Oliveira Filho; Pedro R. X. do Carmo; Djamel F. H. Sadok; Judith Kelner
Esta obra está bajo una licencia internacional Creative Commons Atribución 4.0.
Los autores que publican en esta revista concuerdan con los siguientes términos:
1) Los autores mantienen los derechos de autor y conceden a la revista el derecho de primera publicación, con el trabajo simultáneamente licenciado bajo la Licencia Creative Commons Attribution que permite el compartir el trabajo con reconocimiento de la autoría y publicación inicial en esta revista.
2) Los autores tienen autorización para asumir contratos adicionales por separado, para distribución no exclusiva de la versión del trabajo publicada en esta revista (por ejemplo, publicar en repositorio institucional o como capítulo de libro), con reconocimiento de autoría y publicación inicial en esta revista.
3) Los autores tienen permiso y son estimulados a publicar y distribuir su trabajo en línea (por ejemplo, en repositorios institucionales o en su página personal) a cualquier punto antes o durante el proceso editorial, ya que esto puede generar cambios productivos, así como aumentar el impacto y la cita del trabajo publicado.