Page 450 - 《软件学报》2025年第7期
P. 450

李猛 等: 代价敏感的指纹可变哈希布谷鸟过滤器                                                         3371



                                            VHCF      CF      ACF      BF      HABF
                                                                0.025
                         400
                                                                0.020
                       Label size (Byte)  200                  FPR  0.015
                         300

                                                                0.010
                         100                                    0.005

                                                                   0
                          0
                            4     6     8    10    12    4           4     6    8    10    12    4
                                           k                                       k
                             (a) 不同 k ᆴ下包含过滤器的网络包头大小                    (b) 不同 k ᆴ下不同过滤器的误判率
                                       图 7 Fat Tree 网络中不同   k 值下空间占用和误判率对比

                 4.4   评估网络流量分类场景中误判率
                    本文评估了网络流量场景中, 在不同的倾斜程度下, 不同过滤器的代价加权误判率随着每个元素分配的比特
                 数量  BPK  的变化. 首先关注    CAIDA  数据集, 如图   8(a) 所示, 在  skewness = 0 也就是均匀分布情况下, VHCF    的误
                 判率在 BPK>8 的情况下是最低的. BF 在空间较小的情况下, 拥有着较低的误判率. 当数据误判代价变倾斜时
                 (skewness = 0.5) , 如图  8(b) 所示, 我们可以发现在各种  BPK  配置下  VHCF  依然保持最好性能, 并且代价加权误判
                 率相较于均匀分布的情况显著降低. 此时, 另外一个代价敏感的过滤器 HABF 的代价加权误判率也开始下降, 但
                 仍明显差于    VHCF. 最后, 当数据分布非常倾斜时         (skewness = 0.99) , 如图  8(c) 所示, VHCF  仍有最低的误判率, 且
                 误判率已显著接近       0, 而  HABF  此时的性能已经仅次于      VHCF, 这是因为 HABF 的设计也考虑到了元素误判代价,
                 但仅在误判代价分布较为倾斜时, 其性能才会较好.


                                               VHCF      CF     ACF     BF     HABF
                                                   0.06                       0.06
                        0.04
                       Weighted FPR  0.03         Weighted FPR  0.04         Weighted FPR  0.04
                        0.02
                                                   0.02
                                                                              0.02
                        0.01
                          0                          0                          0
                              8   9   10  11             8   9   10  11             8   9   10  11
                                   BPK                        BPK                        BPK
                                (a) skewness=0            (b) skewness=0.5           (c) skewness=0.99
                             图 8 CAIDA 数据集不同倾斜程度下, 误判率随每个元素分配的比特数 BPK                    变化

                    MAWI 数据集的实验情况和         CAIDA  数据集类似. 如后文图      9  所示, 除了在  skewness = 0 的情况下  VHCF  的
                 误判率始终是最低的, 并且和其他过滤器性能有显著差异, 比其他最好的过滤器误判率平均降低超过                                 50%. 此外,
                 HABF  的误判率也随着分布倾斜度增加快速降低. ACF              和  CF  的性能相当并且一直维持着较高的误判率, 这是因
                 为他们的设计中基本不考虑元素分布的信息.

                 4.5   评估查询吞吐量和构造延迟
                    本文评估了不同过滤器的查询吞吐量和构造延迟. 如图                   10(a) 所示, VHCF  的查询吞吐量超过了      100 Mops/s,
                 基本接近标准布谷鸟过滤器的查询吞吐量, 远高于                ACF  以及  HABF  的查询吞吐量. 与   ACF  相比, VHCF  采用了单
                 哈希技术, 通过对一个长哈希比特串进行切分得到若干子哈希值, 使得                     VHCF  每次查询只需要进行一次哈希计算.
                 而  ACF  的设计基于布谷鸟哈希表, 同时每个指纹的生成函数都是独立的, 所以无论是确定元素在每个子表中的对
                 应位置还是得到指纹, 都需要引入大量的哈希函数计算, 进而拖慢了查询的速度. 因此, ACF                           的吞吐量会远低于
   445   446   447   448   449   450   451   452   453   454   455