DPDK Release 17.05

DPDK17.05作为目前为止规模最大的一次功能发布,在mbuf重构,事件驱动编程模型,软件eventdev驱动,Cavium OCTEON TX eventdev驱动程序,Cavium LiquidIO驱动程序,NXP DPAA2 驱动Atomic Rules Arkville驱动,Wind River AVP驱动和DOCSIS BPI +加密等方面取得了一系列新的进展,并提供了很多新的功能。如... 继续阅读

探秘DPDK Virtio的不同路径

什么是Vhost/Virtio Vhost/Virtio是一种半虚拟化的设备抽象接口规范, 在Qemu和KVM中的得到了广泛的应用,在客户机操作系统中实现的前端驱动程序一般直接叫Virtio, 在宿主机实现的后端驱动程序称为Vhost。与宿主机纯软件模拟I/O相比,virtio可以获得很好的性能,在数据中心中得到了广泛的应用。Linux kernel中已经提供了相应的设备驱动,分别是virtio-... 继续阅读

DPDK在OpenStack中的实现

随着云计算与大数据的快速发展,其对数据中心网络的性能和管理提出了更高的要求,但传统云计算架构存在多个I/O瓶颈,由于云平台基本上是采用传统的X86服务器加上虚拟化方式组建,随着40G、100G高速网卡的出现,如何在通用的X86平台上实现网络的快速转发就成为关键。DPDK是INTEL推出的基于X86平台提升数据面报文快速处理速率的应用程序开发包[1],关于DPDK的资料已经比较多,本文不再做过多介绍... 继续阅读

DPDK中的memcpy性能优化及思考

内存拷贝(memcpy)这个操作看似简单,但长期以来存在很多关于其优化的讨论,各种编程语言库也都有对应实现,而对于memcpy性能评估测试的讨论就更多了。        那么如下的memcpy实现到底有什么问题? [crayon-5b788540d1ac1221765471/]         很简单,首先,这看起来太简单,不够高端,气势上就先输了;同时,代码没有使用Vector指令,没有指令级并... 继续阅读