当前位置:主页 > 科技论文 > 计算机论文 >

DPDK在国产龙芯平台的移植及评估

发布时间:2024-03-31 19:26
  DPDK系Intel公司开发的开源高性能数据平面开发套件,可通过一系列功能库为使用者提供网络数据处理的二次开发支持。DPDK基于内核UIO机制,在业务处理过程中网络数据完全在用户态处理,避免了在内核态与用户态间的数据拷贝,可充分利用CPU的运算能力实现网络数据高速转发。目前,该开发套件的官方声明仅支持X86、Power、Arm平台,并不支持基于MIPS架构的龙芯平台。通过分析DPDK底层运行机制结合龙芯处理器特性,实现其在龙芯平台上的移植。通过进一步的性能对比测试表明,相比于linux内核的网络数据转发方式,转发性能实现成倍增长。

【文章页数】:5 页

【部分图文】:

图1DPDK架构

图1DPDK架构

DPDK开发套件包含硬件抽象库(EAL)、网卡轮询驱动、内存池管理、无锁队列等一系列组件,其系统架构如图1所示。从图1中可以看出DPDK的EAL组件承上启下,在内核空间、用户空间均有出现,EAL完成对各种硬件平台、操作系统的适配工作,也是移植中需重点关注的部分。


图2DPDK代码结构

图2DPDK代码结构

本次移植基于DPDK17.11.4版本进行,代码结构如图2所示。在DPDK中新增架构支持需调整config、lib、mk目录相关的配置文件、EAL组件和编译配置[4]。


图3rte_atomic32_add实现

图3rte_atomic32_add实现

原子操作包括内存屏障函数,16位、32位、64位的原子加减、CAS函数。这里以rte_atomic32_add为例做说明,其龙芯平台实现如图3所示[5-6]。(2)CPU时间标签计数器操作


图4rte_rdtsc实现

图4rte_rdtsc实现

该操作用于快速获得CPU时间戳,可避免使用开销较大的系统函数gettimeofday。这在数据包轮询处理中非常有用。其函数为rte_rdtsc,实现如图4所示[5-6]。其他组件的移植实现不再详细叙述。



本文编号:3944396

资料下载
论文发表

本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/3944396.html

上一篇:基于SWD协议的Flash编程分析与实践  
下一篇:没有了

Copyright(c)文论论文网All Rights Reserved | 网站地图

版权申明:资料由用户fc588***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱[email protected]