Virtio 零丢包测试配置优化

零丢包测试是网络转发性能的重要指标之一,也是DPDK开发团队一直以来关注的领域。 本文将介绍一下DPDK虚拟化环境中零丢包测试的配置环境和配置方法。Vhost/Virtio 零丢包测试中,测试拓扑结构和南北向吞吐量测试相同,但是对测试平台配置有着更高的要求。 操作系统的实时性配置和Virtio的Vring长度对数据包处理的实时性影响是巨大的, 为获取最好的零丢包性能,我们需要对这两个方面进行优化。 1 Vring Size 更大的Vring size 能够提供更多的数据缓冲空间,从而降低丢包概率... 继续阅读

Hyperscan Release 4.5.0

Hyperscan 4.5.0 版本已于2017年6月9日在Github (https://github.com/01org/hyperscan) 上发布。这一版本中,我们不仅加入模糊匹配、AVX-512指令支持两种新特性,还对模式编译效率(尤其针对许多大型模式集合)进行了重大改进。 更新日志如下: 1. 新API特性:提供基于“编辑距离”扩展参数的模糊匹配。用户可以获取某一模式的精确匹配在给定编辑距离范围内的所有有效匹配作为输出。 * 模糊字符串匹配是一种对给定模式进行近似匹配而非精确匹配的 ... 继续阅读

DPDK Release 17.05

DPDK17.05作为目前为止规模最大的一次功能发布,在mbuf重构,事件驱动编程模型,软件eventdev驱动,Cavium OCTEON TX eventdev驱动程序,Cavium LiquidIO驱动程序,NXP DPAA2 驱动Atomic Rules Arkville驱动,Wind River AVP驱动和DOCSIS BPI +加密等方面取得了一系列新的进展,并提供了很多新的功能。如果您对DPDK17.05中具体功能感兴趣,欢迎在后台留言,我们将参考您的建议, 在未来对热点功能进行... 继续阅读

探秘DPDK Virtio的不同路径

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

Generic Flow API简介

Classification功能 Classification功能是指网卡在收包时,将符合某种规则的包放入指定的队列。网卡一般支持一种或多种classification功能,以intel 700系列网卡为例,其支持MAC/VLAN filter、Ethertype filter、Cloud filter、flow director等等。不同的网卡可能支持不同种类的filter,例如intel 82599系列网卡支持n-tuple、L2_tunnel、flow director等,下表列出了DPD... 继续阅读

用TestPMD测试DPDK性能和功能

本文介绍了数据平面开发工具包(DPDK)TestPMD应用程序,展示了如何构建和配置TestPMD, 以及如何用它来检查使用DPDK的不同网络设备的性能和功能。 TestPMD是一个使用DPDK软件包分发的参考应用程序。其主要目的是在网络接口的以太网端口之间转发数据包。此外,用户还可以用TestPMD尝试一些不同驱动程序的功能,例如RSS,过滤器和英特尔®以太网流量控制器(Intel® Ethernet Flow Director)。 我们还将研究TestPMD运行时的命令行,命令行可用于配置端... 继续阅读

DPDK在OpenStack中的实现

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

FD.IO/VPP和DPDK Cryptodev,会产生什么样的化学反应

什么是FD.IO/VPP DPDK能干什么我们这里就不用多说了。但FD.io是什么?和DPDK又有什么关系呢?FD.io是 Fast data – Input/Output 的简称,是Cisco提供的若干数据处理的Linux Foundation下开源项目和库的集合。FD.io中包含大名鼎鼎的VPP (Vector Packet Processing) ,是一套基于DPDK的网络帧处理完整解决方案,也就是俗称的懒人包:如果你的应用需求不是特别苛刻,VPP可谓是即插即用。一个make run命令你... 继续阅读

2017版:KVM网络性能调优终极版

首先,我给大家看一张图,这张图是数据包从虚拟机开始然后最后到物理网卡的过程。 我们分析下这张图,虚拟机有数据包肯定是先走虚拟机自身的那张虚拟网卡,然后发到中间的虚拟化层,再然后是传到宿主机里的内核网桥中,最后传到物理网卡,这个过程很好理解。 那么我们要做网络的优化,让虚拟机的网络运行得更加高效,我们要想的就是让虚拟机访问到物理网卡的层次要少。或者说能不能让宿主机的物理网卡直接丢给虚拟机用,这样达到最高的网络性能。 那么目前KVM提高网络性能这块有以下四种方法: 1. 使用virtio半虚拟化网卡... 继续阅读