Page 342 - 《软件学报》2021年第9期
P. 342
2966 Journal of Software 软件学报 Vol.32, No.9, September 2021
提高了缓存的命中率,避免了频繁的信息开销.
Thar 等人 [15] 给出了一种基于哈希的缓存模型,阐述了包括协作转发、热度预测、内容存取等的详细过程.
仿真实验显示:该方案在缓存命中率方面有着巨大提升,然而也导致了内容传输跳数上的增加.
传输跳数增加是所有哈希缓存策略存在的一个共同问题,下面分别是不同的解决方案 [16−19] .Saino 等人 [16]
提出了两种不同的解决方法:一种使内容数据返回时,总是沿着最短路径返回;另一种则通过广播的方式,多路
径返回内容数据.Sourlas 等人 [17] 认为:缓存命中率与传输跳数相互制约,当协作域较小时,虽然缓存的整体命中
率有所下降,但哈希策略引发的跳数增加也被限定在了一定的范围之内.作者主张将大的协作域划分为多个小
的协作域,并给出了两种协作域划分算法.Wang 等人 [18] 设计了一种缓存分配算法,该算法在限定的跳数增加范
围内,尝试寻找一种缓存分配方案.内容首先哈希映射到一个 Partition,每一个 Partition 对应一个或多个缓存节
点.由于内容分配方案由入口路由器请求分布、网络拓扑、内容热度等多种因素共同决定,当网络状态发生改
变时,尤其是不同入口请求流量发生改变时,若不改变已有分配方案,网络性能则会明显下降.而改变内容分配
方案带来的代价是极大的,需要改变不同节点的缓存大小、路由转发表、Partition 映射表等等.Li 等人 [19] 提出
了一种启发式内容分配方案,将协作域内的节点划分为与出口路由器数量相等的簇.该算法采用模拟退火的方
式,每次交换不同簇种的两个节点,看是否优于先前分配方案.
基于哈希的缓存策略通过设计一种内容分配方案,将内容的缓存任务分配到域内特定的网络节点.这种方
式有效解决了缓存冗余问题,提高了缓存命中率,但也带来了一些新的问题.
1) 缓存位置缺乏合理规划:内容缓存位置被预先决定、将指定内容与特定节点进行绑定的缓存方式,一
定程度上违反了 ICN 内容与位置分离的设计原则.现有的各种哈希缓存策略内容分配机制缺少对热
度内容缓存位置的合理规划.当内容热度随着时间、地域发生变化时,这种问题尤为明显;
2) 传输路径的增加:相比 On-path 缓存策略中最短路径路由策略,基于哈希的缓存策略需要先将请求转
发至特定节点,若未命中,再转发至内容源节点.这种路由策略增加了内容请求与回传中的途经跳数.
这也是现阶段各种基于哈希缓存策略着重关注的问题.目前,多数方案认为影响传输跳数的因素与网
络拓扑、请求分布密切相关,忽略了内容热度对传输跳数的影响.
1.3 混合缓存策略
关于结合不同缓存策略的缓存机制最近已有不少研究,主要包括基于网络结构的混合缓存策略以及基于
内容热度的混合缓存策略.
基于网络结构的混合缓存策略根据节点所处位置为不同节点提供不同的缓存策略.Zhang 等人 [20] 提出将
网络分成一个核心域和多个边缘域,在核心域使用基于哈希的缓存策略,在边缘域使用 On-path 的缓存策略.该
方法实际上是一种多域协作的部署策略.节点间缓存策略的融合,虽然在整体上提升了网络性能,但对于单个域
本身来说,缓存性能并没有改变,因为域内应用的还是原有的缓存策略.该方法并不能解决缓存内容在边缘节点
过度冗余的问题.
基于内容热度的混合缓存策略为不同热度的内容提供不同的缓存策略.近年来,已有许多缓存策略都考虑
了内容热度对缓存的影响:Yu 等人 [21] 提出了基于热度的动态缓存权限策略;Yovita 等人 [22] 考虑将内容按照不同
的服务分成不同类;Yu 等人 [23] 将路由器分级,将热度高的内容存储在等级高的路由器上.相应的混合策略也得
到了人们的广泛关注,Li [24] 和 Chang [25] 等人通过理论建模分析,证明了基于热度合理配置缓存空间,使其一部分
缓存最热门的内容,另一部分参与全局协作,缓存次热门内容,能够有效提高网络性能.这种基于单个节点缓存
空间划分,有效利用内容热度分布的机制,使两种缓存策略相结合,达到了优势互补的效果.文章虽然强调了内
容热度的重要性,却没有给出内容热度的统计与筛选机制,且基于信息交换的域内协作机制也带来了频繁的计
算开销与信道占用.总的来说,这类方案目前主要集中在理论建模与数学分析,并没有给出可供实际部署的缓存
策略.
本文提出的 CSTC 是一种基于两级缓存的协同缓存机制,不同于 Li [24] 和 Chang [25] 等人通过域内信息交换
来协作缓存,我们引入哈希机制,避免了大量的信息传递与计算开销.同时,我们也给出了两部分缓存的协作方