高速缓存网络中基于分辨率的内容发现 控制流量是否是一个问题?

本文翻译自Bita Azimdoost & Hamid R. Sadjadpour 2017年4月的论文
时间有限,内容有删减,公式术语等使用有些杂乱,专业知识如有勘误敬请指正


Resolution-Based Content Discovery in Network of Caches: Is the Control Traffic an Issue?

摘要:如今的趋势是:网络试图干净地将控制层和传输层分离,并且清晰的定义两个层面的接口。底层的网络状态在控制层中以不同的视图形式表示。我们有兴趣研究在一般状态下或者是基于内容的路由的具体状态下,该接口的一些基本属性。我们试图根据控制控制层网络中的一个状态特征-最小可接受失真水平,来评估两个平面之间的流量。我们应用该框架于内容分发,并研究如何计算维护内容位置的开销。这对评估基于内容的网络体系中基于分辨率的内容发现非常重要。我们确定了这样一个场景:更新基于内容路由的控制层成本要小于从最近的节点获取副本。我们给出了在与对等流量以及缓存网络内部流量关联时,如何将开销的成本降到最低。

1、Introduction

通信网络可以被抽象为两个(逻辑)层,即承载信令和管理业务的控制平面,以及承载用户数据业务的数据转发平面。在许多应用中,为了使网络正常工作,控制平面必须具有关于转发平面的一些知识(即控制开销),以便创建底层网络的视图。底层网络将处于由协议向控制/管理层报告的操作状态。例如,在高速缓存网络中,数据平面包含保持数据业务的高速缓存,例如,视频或音频文件,由用户请求和使用,并且向控制层报告的每个缓存中保存的项目的信息形成控制流量。然而,随着网络规模和复杂性的增长,随着终端节点,内容和虚拟机的移动,控制层准确地查看转发平面将变得更加困难。考虑查找服务或内容的例子。当前的协议试图通过使用DNS或重定向HTTP请求来将内容请求解析到最近的对象副本。进一步的提议建议在内容交付网络(CDN)之间共享内容位置信息,或者甚至在体系结构内构建内容路由。在所有情况下,这隐性地要求负责路由到内容的机制必须随内容位置动态更新。来自数据层的元信息需要传送到控制层。这引出了一个问题:多少?换句话说,根据控制域的大小,基础状态空间的大小,转发平面中状态演变的动态,需要什么数据流来保持控制层实时更新?

我们考虑在控制层保持对基础状态的一致看法的问题,并开发一种抽象机制,该机制可应用于各种场景。 我们假设底层状态是一个不断发展的随机过程,并计算这个过程创建的速率,以保持此状态在控制平面中的最新表示。 这为控制平面准确地查看转发平面提供了开销带宽的下限。

然后,我们通过关注在基于分辨率的内容导向网络中查找内容的具体情况,来说明我们模型的强大功能。 启用内容路由最近引起了很多关注,因此我们能够阐明其可行性。 在这种情况下,基础状态取决于缓存的大小和数量,内容处理请求和缓存策略。 我们应用我们的框架来推导准确定位特定内容所需的带宽。 我们观察到,保持最新的网络视图是以牺牲带宽利用率为代价的,而不是通过获取最接近的内容副本获得的收益。我们考虑一个简单的场景来说明这种权衡。

我们的工作如下:

  • 我们提出了一个框架来量化控制(逻辑)平面感知数据平面状态所需的最少信息量。 我们相信这个框架在许多分布式系统环境中很有用。
  • 我们将框架应用于查找内容的特定情况,并了解内容位置如何受到缓存可用性,缓存策略和内容流行度的影响。 因此,我们可以将我们的结果应用于某些面向内容的体系结构,并观察到缓存的副本会被大量内容集忽略。
  • 我们看到该框架如何为运营商驱动的内容分发系统缓存的内容,定义一些最佳策略。 虽然不应该缓存非常不受欢迎的内容很正常,但实际上我们可以根据我们的模型计算加入一些惩罚。

我们很快注意到,我们的框架没有讨论集中式和分布式的优点,因为我们认为对于控制层,二者都可以。 对于路由示例,我们的模型将为OpenFlow更新集中式SDN控制器,或类似BGP的机制,更新分布式路由实例,提供较低的带宽估计。

我们的结果本质上是理论性的,并且提供了开销的下限。 我们希望他们能够为协议设计人员提供一个实用的指导方针,以优化协调网络状态和控制平面的协议。

本文的其余部分安排如下。 在第二部分的相关工作之后,我们介绍了我们的框架来模拟第三节中的协议开销,然后在第四节研究缓存网络中的内容位置。 派生模型也用于研究简单的缓存网络。 我们通过计算第五部分中的内容路由的成本并建议缓存管理策略来展示协议设计中模型的功能。 最后,第六部分结束本文,并介绍一些可能的未来工作。

2、Related Work

由于SDN使得控制层和转发层之间的分离显而易见,因此它引出了这些层如何相互作用的问题。 这种相互作用被指出是OpenFlow的瓶颈之一[1],有几篇论文试图优化从一层到另一层的流量性能。 例如,[2]优化控制器以支持更多流量,而[3]或[4]尝试使控制层更加分散,从而减少交换机与控制层之间的交互量。 这些工作中国呢没有试图对控制层和转发层之间的交互进行建模。

关于系统状态与控制器视图之间的差距的研究,[5]关注性能与状态一致性之间的关系,[6]研究多控制器系统中的类似关系。 这强调了控制层视图需要以尽可能小的失真表示网络状态。

网络中的转发平面通常由一个状态机组成,该状态机由于不同的网络特性而发生变化。 控制平面需要获得有关基础状态的足够信息,以便网络能够在令人满意的失真范围内执行。 这个信息的第一个理论研究是由Gallager [7]进行的。 这项工作利用率失真理论来计算所需信息的界限,以显示某些特征,例如消息的开始时间和长度。

链路状态(链路的有效性)以及移动无线网络中每个节点的地理位置和速度都是这种状态的一些例子,分别在[8]和[9]中进行了研究。 在文献[10]中推导出了一个信息论框架来模拟网络信息和网络性能之间的关系,以及给定网络性能所需的最小信息量。

研究控制层和网络层之间关系的一个动力,来自于试图直接路由到内容的网络状态复杂度的增加。 请求路由机制已经存在一段时间[11],并且[12]提出在不同的CDN之间共享信息的建议,使得两个域的控制平面能够相互作用(我们的框架适用于这种情况)。 现已存在许多以内容为导向的体系结构[13] - [18],并且有人提出了关于正确识别多达1015个内容的位置的可扩展性的研究[19]。 我们的模型为研究这种体系结构的优缺点提供了数学基础。

网络中的缓存管理问题已经在几种情况下进行了研究。 [20]提出了一个集中的近似算法来解决缓存放置问题,以尽量减少ad hoc网络中的总数据访问成本。[21]提出了一种复制算法,它可以让节点自主地决定缓存信息,[22]决定是否在某一个节点保留一份内容副本,使内容交付的总体成本最小化,并显示这种优化的内容交付,显着降低了内容分发的成本并提高了服务质量。

[23]中开发了一些协作式高速缓存管理算法,该算法试图最大限度地利用缓存中的流量,并最大限度地降低内容分发网络的带宽成本。文献[24]提出了一些针对信息中心网络(ICN)的在线缓存管理算法,其中所有内容都可以通过网络,而不是服务器或原站进行缓存。 [25]研究是否仅在ICN内的内容递送路径中的节点的子集中进行缓存,可以在缓存和服务器命中率方面实现更好的性能。 这些工作定义了网络中的特定成本,并尝试确定网络中内容的位置和数量,从而使定义的特定成本最小化。最后,[26,27]分析证明,在路径上内容分发与在这些网络中找到最近副本,具有相同的渐近容量。

据我们所知,在这种系统中没有考虑到协议开销的工作。 在这项工作中,我们对协议开销进行建模,然后使用该模型计算数据检索的总体成本(包括协议开销)。 我们还调查允许在网络中缓存更多内容的副本,是否可降低总成本。 关于此主题的一项相关工作是[28],其中提出了一种内容缓存方案,其中基于内容的流行度来调整要存储在每个存储器中的组块(片段)的数量。 在这项工作中,每个上游节点根据请求的数量推荐在下游节点中缓存区块的数量。

3、Protocol Overhead Model

在本节中,我们将注意力转向控制层视图与底层网络状态同步的机制,并引入一个框架来量化所需传输信息的最小数量。

假设控制层的状态为 Sx(t) S x ′ ( t ) ,数据层的状态为 Sx(t) S x ( t ) 。简单的设定有两种状态 0 0 1 Y Y Z分别表示 0 0 1状态持续的时间, T T 表示变化的时间。
这里写图片描述

我们考虑大型的分布式系统,因为小型的系统控制层平面很容易追踪数据层平面的变化。而且容易理解,大型的分布式系统用户的需求触发汇聚成Poisson过程。因此Y Z Z 是两个分别独立且为独立同分布的序列,概率密度函数pdf和均值mean分别给出。

有两种失真状态(Sx(t)=0 Sx(t)=1 S x ( t ) = 1 )和( Sx(t)=1 S x ′ ( t ) = 1 Sx(t)=0 S x ( t ) = 0 )。 D1 D 1 D2 D 2 分别表示这两种失真的概率。计算数据层必须更新X状态的最小速率,使得 D1 D 1 D2 D 2 分别小于控制层的假负阈值和假正阈值。

假设网络延迟 << << <script type="math/tex" id="MathJax-Element-20"><<</script>变化的持续时间,并且控制层立即接受到该变化。那么上述失真发生在数据层未发送有关的更新时。

(与数据分组相比,从数据平面发送到控制平面的控制分组的尺寸非常小。例如,在传输视频文件的情况下,除非下载视频文件,否则数据平面中不会发生状态变化。由于视频文件的大小远远大于更新数据包(数百兆字节与几个字节相比),因此下载时间和状态更改的持续时间远远低于网络更新数据包的延迟。根据[13],Akamai和思科的请求往返延迟大约在10ms左右,而使用100Mbps超高速互联网的1GB电影的下载时间大约需要10s左右。这也是一个实际的假设:如果网络中的延迟时间长于更改的持续时间,则发送到更新控制器的消息在到达控制器时会丢失过时的信息。大多数实际的系统都是这样的,通知控制器的时间足以让控制器在收到信息时使用它。然而,在任何系统中,在前一状态的通知仍在进行中的情况下,实际状态有可能改变,并且在控制的状态表示与转发平面中的实际状态之间总是存在一些失真。)

Lemma 1:如果 X X 的状态Y Z Z 分别遵从上述均值的过程,可以给出在一定条件下,最小更新速率Rx(ϵ1,ϵ2)。要是不满足if的条件,就满足了失真标准,不更新。
这里写图片描述
Lemma 1显示了,在满足给定的失真量的情况下,数据层中单个随机变量X的状态的最小更新率。 控制层总速率和总协议开销是数据层的所有随机过程所需的所有开销的组合。

在下面的章节中,我们将使用我们的模型来制定子网络内缓存和控制器之间交互所需的控制流量。使用的符号见表I-II。

这里写图片描述

4、Content Location in Cache Networks

以信息为中心的网络[30]通常采用基于路由的[15]或基于分辨率[14],[17],[31],[32]的内容发现方法。在基于路由的发现方法(如CCN内容中心网络)中,发现所需的项目会机会性地探索网络的某些区域,或使用其他解决方案(如洪泛)。 [33] - [35]研究了这些方法并提出了具有最佳性能的解决方案。另一方面,基于分辨率的方法要求控制层知道每个数据块的至少一个位置。PSIRP,DONA和NetInf(部分)是使用基于分辨率的方法的一些模型。例如,[17]试图通过从发布/订阅机制请求内容来建立到附近副本的路由。发布/订阅汇合点需要知道内容的位置。这是非常动态的,因为内容可以随时缓存或从缓存中删除。NDN [16]还假定路由平面知道一段内容的多个位置

在高速缓存网络中,向高速缓存添加/从其中移除项目(用户请求和使用的数据片段)可能影响该高速缓存中的其他项目的定时;在某处缓存一段内容可能会迫使另一个内容离开缓存,那么缓存策略将影响网络状态(现有的项目信息),因此我们需要在计算中考虑这种影响。值得注意的是,这个框架也可以用于CDN,因为基础是相同的。不过因为状态没有发生大量变化,用于报告CDN中缓存状态的更新流量将非常接近零,除非可接受的失真非常低。我们从现在开始假设在缓存中使用了最近最少使用(LRU)替换策略,因为这是一种常见的策略,并且已经在一些ICN(信息中心网络)架构中提出过[15]。然而基于[37],其他策略可以通过推广Che的近似的解耦技术以类似的方式处理[38]。

请求过程也会影响缓存状态。我们做出通常的假设,即根据带参数α的Zipf分布来请求项目。

在下面的章节中,我们首先介绍我们的框架来模拟第三节中的协议开销。 然后,在第IV-A节中,我们使用我们的模型来研究总数据检索成本,包括缓存网络中的控制开销和数据下载成本,其中节点更新域的控制平面(比如AS) 以便将内容路由到此域中缓存的副本(如果可用)。 我们将控制平面功能表示为内容解析系统(CRS),用于将每个请求的内容定位。

A. Cache-Controller Interaction

假设我们将网络划分成更小的子网络,每个子网络都有自己的控制平面,这样每个子网络中的所有节点都有相似的请求模式。 这种分区的一个可能的例子是因特网中的自治系统(AS)。

每当客户有一个项目的请求,它需要发现该项目的位置。该位置在AS内,并从那里下载。 为此,它通过发送内容解决请求(CRReq),或通过任何其他非集中式定位协议来查找(逻辑)集中式内容解析系统(CRS)。 发送回客户端的内容解析响应(CRRep)包含该项目的位置,然后客户端从CRRep中标识的缓存开始下载。

如果网络域配备了CRS,则应该知道所有缓存,这意味着每当某个状态发生更改时,每个缓存都会将其项目状态发送到CRS。(每个项目的本地存在或不存在)

根据高速缓存策略,无论何时下载一段内容,缓存、路径上的所有中间缓存还有下载路径上距离请求者最近的缓存,都会将这段存储在其内容存储库中, 独立于其他缓存中的内容状态,或者如果已经包含内容状态则刷新它。

这里我们考虑一个包含N个终端的AS,每一个终端发送对目标i(1,M)的请求,这些请求的大小Bi服根据速率为γi的Poisson分布得到。那么,来自每个节点对所有项目的速率为M个目标的速率之和Σγi。请注意,AS中的所有节点都具有相同的请求模式,即假定在每个AS中内容位置平均,并且每个终端的总请求率是固定的速率,与节点N和项目M的总数无关,不过所有节点的总请求是N(即Nγ)的函数。 如果不同的用户的请求分布不同,缓存的内容将难以被复用,所以缓存状态将会有更多变化,需要更多的更新流量。 统一的内容位置会给我们最低的更新率。

(这种假设被广泛用于使用网络数学建模的工作[39]。 这来自以下事实:1)来自特定区域的请求很可能遵循相似的模式,因为用户对一个区域的兴趣高度相关,并且可以通过将信息仅包含在其中一部分来预测[40]。 例如,一些特定的新闻标题可能对特定区域有特别的兴趣,或者某些新的电视剧可能在某个国家非常流行。 2)本文中的每个用户实际上可能是热点或基站,因此从节点生成的请求不是来自一个特定用户,而是来自一组用户。 因此,由于我们假定每个工作站都有随机用户,那么统一用户位置的假设是最合适的假设。)

假设系统中有 Nc N c 个缓存,每个大小为 LC L C ,在特定的时间 τi τ i 内可以保存目标 i i (取决于缓存替换策略)。基于目标i进入并保存于缓存中的poisson速率参数,每一个缓存以 ρi ρ i 的概率存有目标i。简单起见,我们假设内容在所有缓存中的分布概率彼此类似。我们可以很容易地扩展到异构缓存的情况,但代价复杂。我们的目的是描述同质的情况,并让读者适应不同的情况以适应具体需求。

在下面的理论中我们计算系统的更新速率。 Nc N c ′ 表示下载路径中,缓存了每个内容片断(i=1,M)的缓存的总数量。因此,每个缓存接收到的项目i的请求率为 λi=γiNNc/Nc λ i = γ i N N c ′ / N c

Theorem 1:对于每一个目标 i i ,最小总更新速率的下界满足:
这里写图片描述
证明过程为一系列替换,将项目i和缓存j的索引以不同的下标来表示。

值得注意的是,我们在这里没有采用任何特定的拓扑或缓存策略; 这些项目可能在正确的路径上,被缓存或直接就偏离了路径; 有可能只有一个缓存可能会保留下载的内容,也有可能几个缓存可能会保留它。我们计算在最坏的情况下,最小数量的更新数据包,每个高速缓存存储的项目独立于其他高速缓存中的项目。 显而易见的是,导致强依赖性缓存的一系列缓存等拓扑结构不在本文的讨论范围之内。 因此,项目i的总更新率是所有高速缓存中的更新率之和。 回想(概率上)相似缓存的假设(对每一个缓存都相同),我们可以删除索引j,并用项目i在缓存中的概率,表示项目i的总更新率。 这产生了等式(2)的结果,并且所有项目的总更新率是这些比率的总和。

B. Model Evaluation Simulation Results

为了弄清计算出的是速率如何在实践中执行和评估我们的模型的,我们模拟LRU缓存算法,缓存容量容量Lc = 20的目标。我们使用MovieLens数据集[41],该数据集包含100,000个评分,以及在七个月期间从943个用户收集的M = 1,682部电影的时间戳。我们将评分作为内容请求的代理,假设观看影片的用户在观看前一段时间内提出需求。在这些模拟中,我们首先估计缓存中项目的可用性ρi(通过将项目在缓存中的总时间除以整个模拟时间),然后使用估计的ρi并根据方程(17)和(18),我们计算发生变化情况下的更新率。然后我们运行100,000次请求的模拟。在此模拟中,我们根据计算出的速率更新CRS,可以将其解释为更新的机会,只要缓存发生更改。然后我们测量CRS信息与每个项目的实际缓存状态不匹配的总时间,并计算10轮模拟期间的平均生成失真。图2中的顶部数字说明了ε1=ε=0.01的情况下的结果。

由于根据[14]和[42],数据对象的数量非常大,并且变得越来越大,我们用相对较大的合成数据集重复了类似的评估,其中包含1000万泊松请求,用于从100K目录中挑选的内容根据具有参数 α=0.7 α = 0.7 的Zipf分布的电影。 图2中的底部数字显示合成数据集的结果允许 ε1=ε=104 ε 1 = ε = 10 − 4 失真(更多内容导致更低的高速缓存可用性,因此我们允许更低的失真)。
这里写图片描述
这里必须注意的是,我们基于过去的缓存状态来估计ρi,所以它不是确切的ρi。 因此,生成的失真可能会超过某些项目的容许值,而其他项目则处于安全区域。 据观察,对于大部分项目,失真类型I满足失真标准。然而,失真类型II不能满足更多项目的失真标准。 原因是计算出的更新率强烈依赖于缓存中项目的可用性,并且ρi估计中的任何小误差都可能导致一些额外的失真。 由于ρi大部分非常小,因此不更新类型II的改变,可能导致长时间存在于系统中的错误,并且因此产生大的失真。

图3显示了当网络中的缓存没有包含项目i(概率为 1ρi ( 1 − ρ i ) )时,每个生成请求对于网络中每个项目i需要的更新速率。该图中唯一的可变参数是ε1和ε2。我们容忍的失真越高,我们需要处理的每个项目的更新就越少。而且,当接受更高的失真时,需要更新的项目数量更少。可以看出,对于处于高速缓存中的项目,更新率从零开始的概率很高。这些项目的状态在CRS中永久设置为“1”,不需要更新。在图的另一端,对于几乎肯定不在缓存中的项目,存在概率接近零(ρi= 0,因此1-ρi= 1),并且这些项目的状态可以被永久设置到控制平面的’0’,因此高速缓存不需要向控制平面发送关于这些项目的更多信息。因此,不需要更新。

概率ρi强烈依赖于缓存替换策略。 我们使用LRU的缓存替换方法。 显然,在LRU高速缓存中(类似于其他策略,如FIFO,LFU等),ρi只是项目i**到达高速缓存的概率(α)和高速缓存容量(L)的函数**。 图4显示了在LRU高速缓存网络中总更新速率与高速缓存存储大小的变化,从而满足由(ε1,ε2)定义的失真标准。 在此模拟中,M = 1000。请注意,高速缓存中的每一次更改都有一个项目进入,另一个项目从高速缓存中删除,因此如果不容许失真,则此速率更改两次/每个高速缓存·每更改。
这里写图片描述
可以观察到,对于非常小的存储大小和流行度小的索引,几乎每个传入项都会更改缓存的状态并触发更新。当存储大小仍然非常小时,缓存不会提供足够的空间来存储项目并在需要时重用它们,因此增加大小会提高更新速率。在某些情况下,这些项目在出去之前会在缓存中向下和向上移动,因此增加存储大小会减少更新的需要。但是,如果流行度指数很大,那么从非常小的尺寸增加缓存大小将减少更新需求,因为只有几个最受欢迎的项目正在被请求。

而且,正如预期的那样,当更多的失真的容忍度较高时,CRS需要更少的更改通知。但是,如果缓存大小过大或流行度指数过高,则会发生较少的更改,但几乎所有更改都需要向CRS发布。另一方面,对于较小的缓存大小,接受一点失真会显着降低更新速率。(因为本来就小,你还接受失真,相当于传入什么都认为对,就不更新了)

5、Application to Cost Analysis

在本节中,我们使用定理1来研究涉及更新内容控制层的权衡。 更具体地说,我们尝试计算总成本(下载+ CRS更新所需的带宽)的边界,并查看成本,信息块大小,高速缓存数量和高速缓存大小之间的权衡。

A. Network Model

图5展示了本节研究的网络模型。 该模型由三个实体组成:用户位于第一层; 第二层为CRS网络; 第三层为外部资源(其他网络中的缓存,互联网等)。

我们需要定义不同行为的代价。我们假设项目i的上传过程(从cache上传数据到CRS)代价为 ξupi ξ i u p (每bit)从一个CRS上传到另一个CRS的代价为 ξexp_upi ξ i e x p _ u p (大于ξiup)。另一方面请求的项目i的片段可能会被内部或者外部的cache下载,代价分别为 ξinti ξ i i n t ξexpi ξ i e x p 。这些代价可能是网络中跳数的函数。注意代价的确定值基于网络拓扑决定,对于每一个cache来说可能不同。本文使用的是所有缓存的平均代价。

(定义失真和相应成本的另一种选择是最坏的情况,其将映射到最大更新成本。 有许多缓存可能会经历最大数量的更改并需要一些最大更新传输,因此,这显然不能正确说明缓存网络的性能。 我们决定使用平均法,这在文献中很常见(参考文献[8] - [10]),我们相信它可以更好地代表整个网络在我们的特定应用和其他许多应用中的表现。)

B.Total Cost in Cache-Controller Interaction

Lemma 2:对每一个内容i的更新数据包的长度(bit数)有以下约束:
这里写图片描述
第一项:表示缓存的数量所用的比特数;第二项:用项目i更新的概率所表示的比特数+1比特状态

Lemma 3:总的更新(上传)代价可以得出:(将以上结果和定义相乘求和)
这里写图片描述
Lemma 4:总的下载代价:
这里写图片描述

Pi P i 是项目i在AS中的概率,如果不在AS中,则需要消耗外部代价(后一项),如果在:在本地缓存中的下载代价为0(概率为ρi),在其他缓存中的代价为内部代价。乘以片段的bit长度 Bi B i ,到达速率 γi γ i ,乘以终端数N,求和。

Theorem 2:总的上传&下载代价之和为:(Lemma 3+ Lemma 4)
这里写图片描述

可以看出,总成本(代价)强烈依赖于每个查询所服务的位置,并因此取决于每个项目在内部服务的可能性(Pi)。 这个概率取决于该项目在内部缓存中的概率,这又是缓存标准和替换策略的函数。 引理5基于允许的失真给出了Pi上的一些界限。该证明可以在附录中找到。

Lemma 5:项目i 在AS 内部的概率的上下界为:
这里写图片描述

注意Pi的值依赖于ρi,右边是真的所有缓存里都没有i的情况,左边是CRS层没更新,而导致以为内部没有的更普通的情况。

Pi的这两个极端情况会导致下载成本的一些限制。 φL φ L φH φ H 分别表示总成本的下限和上限对应于Pi的上下界。注意,对于非常小的容许失真ε1,Pi的上限和下限以及相应的下载成本的边界彼此非常接近。

图6左侧曲线图说明了当每个缓存的大小限制为 Lc=100 L c = 100 时,内容集合总共为100万个的网络中更新和下载成本的变化。 假设数据包的长度平均为100K B,而更新数据包各为1个字节。 请注意,增加数据(或更新)数据包长度会线性增加下载(或更新)成本。
这里写图片描述

在这里,我们假定每当一个项目被下载时,它被存储在Nc— = logNc个缓存中,这些缓存必须向控制器报告这些变化。如果这些缓存是随机选择的,那么总更新速率将是每个缓存的最大更新φup的Nc—倍。另一方面,如果它们完全依赖,例如,如果下载路径上的所有缓存都保留它,则只需进行一次更新就足够了,从而产生最小值。 因此,根据缓存策略,更新成本将介于最小值和最大φup之间。

每个缓存接收的请求速率与缓存的数量成反比(假设每个用户的请求速率是固定的并且与 Nc N c 无关),并且更新数据包的长度随着缓存的数量以对数形式增加。 每个缓存总的更新速率几乎是随着 Nc N c 线性减少的,因此,当 Nc N c 变化时,总更新率的最小值,或者只有一个缓存保持下载项的总更新率几乎是稳定的(改变的阶数为 logNc l o g N c )。最大总更新率将随每次下载的副本数量Nc—而线性变化。 因此,增加网络中高速缓存的数量会使更新成本增加至少 logNc l o g N c ,至多 NclogNc N c ′ l o g N c

但是,增加Nc会增加项目消耗内部成本的可能性,从而降低下载成本。尽管如此,正如可以观察到的那样,减少率非常低,可以认为是稳定的。

在图6的右图中,我们修复了AS中缓存的数量(NC = 10),并研究了缓存存储大小对上传成本和总成本的影响。增加缓存大小,只是增加使用内部成本的可能性,并降低下载成本。另一方面,增加存储容量时上传成本会增加。查看每个缓存,非常小的缓存大小会导致该项目不在该缓存中的持续时间非常长,因此更新速率会很低。增加存储大小将增加该项目在缓存中的可能性,从而增加更新速率。如果我们允许更多缓存存储,则会在达到其缓存大小的某个阈值时得到最高值,而对于超出阈值的较大缓存,该项目大部分时间都处于缓存中,因此需要较少的更新。增加缓存大小将增加缓存中项目的持续时间,从而导致更少的更新消息。此时总成本主要取决于下载成本,因此通过增加缓存大小,该值达到其最小值。

这里值得注意的是,从另一个AS下载的成本已经被假定为比从AS内部下载的成本大5倍,而该成本又被假定为与每bit的上传成本相同。 图7显示了外部和内部成本对总下载成本的影响。 更高的外部成本会导致更高的总下载成本,并且在缓存数量增加时会出现更多的下降速率。 因此,如果外部下载成本与内部下载成本相比非常高,则拥有更多高速缓存可能是有意义的,但总成本降低率仍然非常低。
这里写图片描述

图6和图7所示的另一个重要结果是,具有大数据包时,下载成本总是远高于更新成本,这是合理的。 换句话说,当数据包很大时,进行基于分辨率的内容发现,将会增加控制器的一些可以忽略不计上传的成本。 在下文中,我们将研究基于块的缓存的影响,以获得关于块的合理大小的一些洞察,从而使更新成本可以忽略不计。
这里写图片描述

图8给出当用LRU策略时,缓存的总储存限制为项目总数的一半时,总成本与缓存数量的关系。由于总成本的下限和上限彼此非常接近,因此我们只在这里绘制上限。 在该图的上部,是总成本相对于每个缓存的大小绘制。 可以看到,对于固定的总存储容量,将所有高速缓存集中在一个节点中并增大其大小将导致更好的整体性能(最低成本)。 请注意,在这些数字中,显示的总成本值只是一个相对值,而不是确切值。

C. Optimized Cache Management 优化的高速缓存处理

在前面的章节中,描述了所描述的缓存网络中的总成本,并研究了内容存储的数量或大小对该成本的影响。 我们现在把注意力转向最小化给定 Nc N c Lc L c 的总成本。

在Zipf流行度分布下,很多不常访问的项目在LRU策略下的缓存中时不会再次被请求。 如果缓存只将流行度从1增加到i *,我们可以重写总成本。也就是说,所有项目里面,有i* 个是流行的,并且只把这些流行的项目存在内部缓存中,使用内部开销。其他的使用外部开销。
这里写图片描述

如果只有一小部分项目,即i*很小,储存在缓存层中,那么下载存在外部的项目将会成为总开销的主导因素。另一方面,如果存在内部缓存的流行项目很多,上传(更新)开销将会升高。并且导致最流行的项目在内部服务的可能性降低,因此总成本将增加。在总成本最小的地方有一些最佳的缓存流行度阈值。 这个最佳阈值是缓存的数量和大小,失真标准,下载和更新的每比特成本的函数。
这里写图片描述

为了找到最佳的i*,假设每个项目片段的大小B、每比特开销都相等,那么式10可以表示为: φ=φ1φ2+φ3 φ = φ 1 – φ 2 + φ 3 , φ1=BNγξext φ 1 = B N γ ξ e x t 是假设所有请求都由外部提供的开销。 φ2 φ 2 对应于缓存带来的好处。 φ3 φ 3 是更新(上传)的开销。 φ1 φ 1 是固定的,为了最小化 φ φ <script type="math/tex" id="MathJax-Element-61">φ</script>,要使后两项的和最大。

这可以使用数值方法完成,这将导致每次初始化网络参数时设定固定的i*。 但是,网络特性和请求模式随时间而变化,所以似乎有一种机制通过根据变化的网络特性,选择缓存阈值(i*)来动态优化成本。

在这样的机制下,CRS可以跟踪请求并估计它们的受欢迎程度。 对于本地服务的请求,CRS可以从所有缓存接收到的更新,来了解受欢迎程度; 即项目停留在缓存中的时间越长,则它越受欢迎。它也可以考虑到项目的本地流行度。 CRS然后可以通过求解等式(11)动态地搜索缓存阈值,从而使总成本最小化。 一旦CRS确定要在内部保存哪些项目,它将在每个CRRep中设置/重置标志,以便本地缓存知道是否存储所请求的内容。

6、Conclusion and Future Work

我们制定了一个基于失真的协议开销模型。然后,将一些简单的内容分发网络作为示例来说明如何使用此框架,并基于此模型计算了保持控制平面有关这些网络中内容状态的开销。已经证实,对于大数据包或大型未分块数据传输场景,更新控制层的成本远低于数据下载成本,因此基于分辨率的内容发现可能是一个很好的解决方案。

我们还研究了数据检索的总成本,并观察到,使用有限的缓存存储容量,允许所有项目有机会存储在AS的缓存内,有事并不是最有效的缓存方式。

对于每个AS中具有中央解析系统并且具有LRU高速缓存替换策略的情况,已经提出了一种算法,该算法可以动态地确定哪些项不需要在AS内缓存,从而使得数据检索的总成本是最小化。

在这项工作中,我们的开销模型专注于布尔状态的系统。我们未来的工作涉及与其他州分发系统。另外,我们假设研究示例中的高速缓存均匀分布。这个假设意味着一个项目在所有缓存中的概率是相同的。未来的研究可以考虑一些结构,如每个子网络内的高速缓存的树或幂律,并使用所描述的框架,研究这个假设如何改变结果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值