Page 347 - 《软件学报》2021年第9期
P. 347
刘嘉琦 等:一种基于两级缓存的协同缓存机制 2971
概率为:
1
p = N k ⎛ ⎜∑ α 1 ⎞ (3)
k
i= 1 i ⎝ α ⎟ ⎠
实验中,缓存默认替换算法采用 LRU(least recently used),每次替换掉最近最少使用的内容.仿真过程中,首
先等待每个节点的缓存空间被占满,然后等待每个节点处于稳定状态(即节点收到的请求数上下波动处于较小
范围)后,开始数据收集与统计.仿真实验中,各项参数见表 3.下文未特别说明实验参数的情形下,均采用表 3 中默
认值.
Table 3 Parameters of experiments
表 3 实验参数
参数 默认值 变动范围
Zipf 参数α 0.8 0.6~1.4
缓存大小 500 500~7 000
内容源距离域跳数 10
内容数量 1 000 000
缓存替换算法 LRU
时间权重参数ρ 0.9
3.2 对比方案与性能指标
仿真实验中采用的缓存方案包括如下几种.
• CSTC:即本文提出的基于两级缓存的缓存机制.实验中,每个缓存节点的 RawCache 与 HashCache 各占
一半,RawCache 上采用 Prob(0.05)的 On-path 策略,设置的命中阈值为 1,热度权重参数θ为 0.6,时间权
重参数ρ为 0.9;
• OH:我们实现了文献[15]中的哈希映射机制,将其应用到仿真实验中,以代表现有各种基于哈希的缓存
策略,我们将这类策略简称为 OH(only Hash);
• LCE:多数 ICN 默认缓存策略,即节点无差别的缓存所有内容 [12] ;
• Prob(p):每个节点以固定概率 p 缓存经过的所有内容,我们设置的 p=0.05;
• ProbCache:一种基于加权概率的缓存策略,距离请求者越近、存储空间越大的节点,缓存该内容的概率
越大;
• BidCache:我们实现了文献[9]中的 BidCache 缓存机制,这是一种近年来较为典型的 On-path 协作式缓
存策略,它利用较少的代价进行路径上节点的通信,结合网络的拓扑实现缓存决策.
本文主要从两个方面评判缓存方案的优劣.
(1) 请求命中率
内容请求在域内总的命中率反映了域内整体缓存状态(包括缓存多样性、缓存可用性、缓存冗余度等)的
好坏,命中率越高,说明缓存效果越好,带来的网络性能提升也越明显.请求命中率的计算公式如下:
||V
∑ Num hit
HitRate = i= 1 (4)
Num total
其中,Num hit 表示请求在该节点的命中次数,Num total 表示请求总数,i 表示第 i 个节点.
(2) 平均传输跳数
平均传输跳数不仅反映了缓存内容的好坏,还体现了缓存位置是否合理.当请求命中率较高时,多数请求在
域内命中,避免了出域的跳数代价,跳数也就越小.同时,缓存内容位置越合理,平均传输跳数也就越小,用户访问
延时越低.其计算公式如下: