有没有办法改进DPDK的acl lib

Is there any way to improve the acl lib of DPDK

我正在学习 DPDK 的 ACL 库,我想加速 ACL 分类process.Is有什么方法或建议吗?

作为 rte_acl 库的用户,您可以考虑几个方面以获得最佳 classification/lookup 性能:

  1. 分类方法: 在 rte_acl_init() 中,选择最高分类方法之一作为默认方法。 CPUs 是 AVX2 支持的向量指令集,与 scalar/sse4/sse8 相比将提供非常好的分类性能。与 scalar <=3, sse4 >= 4, sse8 >= 8 输入流相比,AVX2 分类在一个批次中执行最多 16 个并行查找。检查功能 rte_acl_classify_avx2() 了解更多详情。通常在运行时基于流的数量选择的可用分类方法将是上述所有方法的组合,因此我们观察到与较低速率相比,更高速度的输入速率更快。 注意:对于 AVX2 支持,CPU 和编译时 CC_AVX2_SUPPORT 标志都应该可用。

  2. 类别掩码: 基于用例,类别掩码是一种加速分类过程的方法,它通过仅进行一次搜索来执行间接并行查找。例如,可能有多个 ACL 规则,其中单个流将 return 匹配类别数。 DPDK-18.11 中支持的最大类别为 16。请参阅 manual 示例。