Page 348 - 《软件学报》2021年第9期
P. 348

2972                                 Journal of Software  软件学报 Vol.32, No.9,  September 2021

                                                  ∑ hop    +  hop
                                      AverageHops =    interest  data                         (5)
                                                     2| Num total  |
         其中,hop interest 表示 Interest 请求所用跳数,hop data 表示 Data 返回所用跳数,Num total 指总请求数.

         3.3   实验结果
         3.3.1    缓存内容分布
             前文分析已知:在缓存空间一定的情况下,能够在本地域内缓存的内容数量越多,缓存内容的热度越高,越
         能高效响应用户的不同请求.本节分析了不同缓存策略下缓存内容的分布状态,内容总数为 1 000 000.根据 Zipf
         分布定律,我们将热度排名为 1~1 000 的内容用黑色表示,代表最热门内容;排名在 1 000~10 000 的内容用灰色
         表示,代表次热门内容;其他内容用白色表示,代表非热门内容.图 3 在真实拓扑上绘制了各个节点在不同缓存方
         案下缓存内容分布状况.











                     (a) Prob(0.05)                            (b) OH                              (c) CSTC
                                          Fig.3   Distribution of cache
                                             图 3   缓存内容分布

             从图 3(a)可以看出:Prob(0.05)策略下,各节点缺乏合理协作机制,最热门的内容在各节点上形成了大量冗
         余,缓存空间被最热门的一小部分内容大量占据,次热门缓存数量极少,缓存多样性较差,缓存空间利用率较低.
         这也印证了前文所述的 On-path 所存在的各种问题.图 3(b)展示了 OH 策略下各节点缓存状态,与 Prob(0.05)不
         同的是:在该策略下,虽然有效避免了缓存冗余,缓存的多样性得到了极大的提升,但缓存的内容大多为非热门
         内容,缓存内容的效用较差.
             与前两种缓存机制相比,CSTC 缓存效果最为理想.如图 3(c)所示,各个节点对最热门内容产生适度冗余,在
         次热门内容上缓存种类较多,有效避免了非热门内容对缓存空间的过量占据.这主要是因为 RawCache 的内容
         热度感知保证了 HashCache 中缓存内容的热度,通过基于哈希的请求重定向,使得这些次热门内容的请求被汇
         聚并稳定缓存到特定节点.
         3.3.2    缓存大小的影响
             缓存大小决定了缓存内容的多少,是影响缓存性能的重要因素之一.本节分析了不同缓存空间大小对缓存
         性能的影响.我们设置的缓存空间大小变动范围为 500~7000,其他实验参数保持不变,观察请求命中率与平均传
         输跳数的变化.
             从图 4(a)可以看出,请求命中率随着缓存空间的增大而增大.CSTC 与 OH 两种策略在命中率上要显著高于
         另外 4 种基于 On-path 的缓存策略,这得益于哈希映射机制有效降低了缓存冗余,提高了本地域内的缓存多样
         性,从而使得更多的用户请求能在本地域内得到响应.从图中可以发现:CSTC 即使内容多样性不如 OH,但命中
         率却大于 OH.这主要是因为 CSTC 基于热度感知使得缓存下的内容热度较高,能够在适当的位置被稳定缓存;
         而 OH 虽然可能缓存下更多内容,但由于没有热度感知,使得缓存下的很多是非热度内容,这些内容将在缓存中
         频繁进出,浪费缓存空间.同时我们发现:当缓存空间较小时,CSTC 的优势更为明显.这是因为缓存空间变大以
         后,即使 OH 缺乏合理热度感知机制,也能将大多数热门内容缓存下来,从而缩小了与 CSTC 的命中率差距.另外,
         ProbCache 与 Prob(0.05)两种缓存策略在命中率上基本一致,都高于 LCE,BidCache 的命中率略高于 ProbCache.
         这是由于 BideCache 不仅考虑与用户的距离,还考虑当前节点的中心度等,只有综合分数最高的节点才能够缓
   343   344   345   346   347   348   349   350   351   352   353