DPDK Programmer’s Guide(4)Service Cores

官方文档查看地址:
http://doc.dpdk.org/guides/prog_guide/service_cores.html
PDF下载地址:
https://www.intel.com/content/www/us/en/embedded/technology/packet-processing/dpdk/dpdk-programmers-guide.html

本篇难度系数:
翻译:☆☆☆☆☆
理解:★★☆☆☆

4.服务核心

DPDK有一个称为服务核心的概念,它支持在DPDK lcore上执行工作的动态方式。服务核心支持构建在EAL中,并且提供了一个API,允许应用程序在运行时控制如何使用服务核心。

服务核心概念由服务(DPDK的组件,需要CPU周期才能运行)和服务核心(DPDK lcore,负责运行服务)组成。服务核心概念的强大之处在于,可以配置服务核心和服务之间的映射,以抽象平台和环境之间的差异。

例如,Eventdev有硬件和软件PMDs。其中,软件PMD需要一个lcore来执行调度操作,而硬件PMD不需要。对于服务核心,应用程序不会直接注意到调度是在软件中完成的。有关服务核心API的详细信息,请参阅文档。

4.1核心服务初始化

在DPDK应用程序中使用服务核心有两种方法,一种是使用服务coremask,另一种是使用API动态添加核心。这两种方法中比较简单的一种是将-s coremask参数传递给EAL,它将接受主DPDK coremask中可用的任何核心,如果这些位也在服务coremask中设置,那么这些核心将成为服务核心,而不是DPDK应用程序lcore

4.2在核心上启用服务

每个已注册的服务都可以单独映射到一个服务核心,或一组服务核心。在特定的核心上启用服务意味着所涉及的lcore将运行该服务。禁用该服务上的核心将停止所涉及的lcore运行该服务。使用此方法,可以为每个服务内核分配特定的工作负载,并将N个工作负载映射到M个服务内核。每个服务lcore循环遍历为该核心启用的服务,并调用函数来运行服务。

4.3服务核心数据统计

服务核心库能够收集运行时统计信息,比如对特定服务的调用数量和服务使用的周期数量。循环计数集合是动态可配置的,允许任何应用程序在任何时候对系统上运行的服务进行概要分析。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值