我正在学习DPDK的ACL库,并且想加快ACL分类过程,有什么方法或建议可以做到吗?
答案 0 :(得分:0)
作为rte_acl库的用户,您可以从几个方面考虑以获得最佳分类/查找性能:
分类方法:
在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()
标志都应可用。
类别掩码: 基于用例,类别掩码是一种加速分类过程的方法,该方法仅执行一次搜索即可间接执行并行查找。例如,可能有多个ACL规则,其中单个流将返回类别数量的匹配项。 DPDK-18.11支持的最大类别为16。有关示例,请参见manual。