有什么方法可以改善DPDK的ACL库

时间:2020-08-10 00:51:19

标签: c++ c linux acl dpdk

我正在学习DPDK的ACL库,并且想加快ACL分类过程,有什么方法或建议可以做到吗?

1 个答案:

答案 0 :(得分:0)

作为rte_acl库的用户,您可以从几个方面考虑以获得最佳分类/查找性能:

  1. 分类方法: 在Add-Member -MemberType NoteProperty -Name LogonTitle -Value {$myHashTable[$_.LogonType]} -PassThru 中,选择一种最高分类方法作为默认方法。与标量/ sse4 / sse8相比,支持AVX2的矢量指令集的CPU将具有非常好的分类性能。与标量<= 3,sse4> = 4,sse8> = 8输入流相比,AVX2分类最多可以批量并行查找16个。有关更多详细信息,请检查功能rte_acl_init()。通常,在运行时基于可用流数选择的分类方法将是所有上述方法的组合,因此与较低的速率相比,在较高的输入速率下我们观察到更快。 注意:要获得AVX2支持,CPU和编译时间rte_acl_classify_avx2()标志都应可用。

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

相关问题