简介
本文基于鲲鹏920系列处理器和openEuler操作系统,提供Hyperscan的安装和编译指导。
Hyperscan鲲鹏计算平台软件版本主要增加了以下功能:
- 增加鲲鹏计算平台分支,且完全兼容ARMv8-a,同时确保x86平台使用不受影响。
- 通过使用
NEON指令 、内联汇编、数据对齐、指令对齐、内存数据预取、静态分支预测、代码结构优化等方法,实现在鲲鹏计算平台的性能提升。 - 发布KHSEL(Kunpeng Hyperscan Enhanced Library)软件增强包,包括KHSEL_ops和KHSEL_core两个子库、短规则旁路混合模型和假阳性阻断模型。
- KHSEL_ops提供了固定规则下的C++标准库ReplaceAll的加速优化函数ReplaceAllAcc,可以获得基于鲲鹏920系列处理器的优化效果。
- KHSEL_core优化了大规模规则集匹配算法FDR,小规模快速匹配算法Shufti,增强了Hyperscan处理snort_literal,snort_pcre等数据集的scan性能,并且针对长规则校验的场景进行了优化。
- 提供短规则旁路混合模型,对包含短规则的规则集合能大幅提高匹配性能。
- 提供假阳性阻断模型,对包含坏字符串片段的规则集合能大幅提高匹配性能。其中的“坏字符串”指少量含特殊片段的规则,其导致多模匹配算法报告的假阳性过多,触发大量的解释器调用和低效的长规则校验,而最终无一真实匹配。大量无谓的解释器调用成为热点,多模匹配失去了应有的预过滤能力。