DPDK 18.05 来啦

新功能 1. 重构内存子系统 重构了内存子系统以支持新功能。 在Linux中增加了对在运行时间保留/不保留巨页内存的支持,使得应用程序不需要在启动时预保留内存。由于内存子系统内部工作经重新组织,今后通过rte_malloc() 或rte_memzone_reserve()分配的内存无法保证是IOVA连续的。 这一新功能带来以下变化: rte_eal_get_physmem_layout() 被移除... 继续阅读

SPDK 应用编程框架

SPDK 应用编程框架 SPDK (Storage performance development kit, http://spdk.io)是由Intel发起、用于加速使用NVMe SSD作为后端存储的应用软件加速库。该软件库的核心是用户态、异步、轮询方式的NVMe驱动。较之内核(诸如Linux Kernel) 的NVMe驱动,它可以大幅度降低NVMe command的延迟 (Latency) ,... 继续阅读

Virtio 零丢包测试配置优化

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

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的资料已经比较多,本文不再做过多介绍... 继续阅读

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

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

2017版:KVM 性能优化之磁盘IO优化

接着第三块的内容,KVM磁盘性能方面的调优。磁盘IO方面我们可以从以下四个方面去着手优化: 磁盘类型选择 缓存模式选择 AIO 异步读写方式选择 磁盘IO调度器选择 1. 磁盘类型选择 磁盘方面,建议是用Virtio模式,在CentOS7.1 中,磁盘的类型有IDE 、SATA 以及virtio 三种。磁盘这块也有完全虚拟化和半虚拟化之分。virtio它就是半虚拟化的,最初是由澳大利亚的一个天才级... 继续阅读

基于virtio-user的新exception path方案

在DPDK使用环境中,物理网卡收到的包都绕开内核,直接到达DPDK应用中。但是,有些时候,用户希望把某些包(如控制报文)放到内核网络协议栈进行处理,这个路径在DPDK中被称作exception path。 现有方案 现有的exception path方案主要有三个: 1. KNI,作为目前DPDK用户使用的主要方案,其通过内核模块构造了一个虚拟网络接口,并且通过FIFO队列和用户态的DPDK应用交... 继续阅读