Abstract
主要建模和实验评估CCN的缓存特征。首先作者对单个路由器,根据连续时间马尔科夫链,建立了一个数学模型,评估指定内容被缓存的时间比例。这个模型可以通过近似扩展到多路由器。并且通过仿真来验证所谓packer-level缓存的动态性,和流无关。
1.Introduction
NNC方案将整个互联网流模型从发送者驱动,TCP缓存/拥塞的控制环境转变为接受者驱动,缓存模型。CCN中的每个数据包可以通过名称区别,并且充分利用一个事实:一个数据包可以同时被多个接受者感兴趣。即取代今天的互联网,缓存一个包,并且转发到相应的刚兴趣用户之后,丢弃数据包的形式,CCN可以“记住”这个包,直到包“过期”。
本文主要解决对于一个给定的包,即网络中的兴趣包,在给定网络拓扑和请求率的条件下,在用户到服务器的路径上缓存多久。主要研究内容:单独缓存和多级缓存的数学模型,多种缓存假设的正确性和Monte-Carlo仿真来检查假设,在分析模型基础上建立的Java模型。
得到结论如下:对于流行的内容,在网络上有性能提升,但是这种提升:i)对于不流行的内容基本为0,ii)更普遍的情况,非常依赖路由器缓存的大小,iii)当路由器距离源数据服务器近和远时也不同。
1.1 Macro- VS Micro-Caching
策略性的内容副本技术有i)Web Proxy Caching ii)Content Delivery Networks。不管怎样,最重要的一个问题是把副本内容静态或动态的放在网络中最合适的位置。Web-Proxy缓存,ISP决定副本放置在哪里,而CDNs中,相关的公司的代理服务器完成此角色。总之,proxy/surrogate服务器提前就已经固定了。
此外,当用户同时对相同的内容感兴趣时,IP多播技术应用和广泛。但是IP多播技术服务的用户仅属于同一个组,并且会获得组用户希望获取的全部内容。
CCNs在micro-level上完成了上述技术,而Web-Caching和CDNs是macro-Caching策略,他们的目标是整个对象。总之,以上技术是固定和预先被定义好的,而CCNs的内容缓存是多播且"on the fly",只要是被请求或者即将流行的内容。
1.2 独立vs多级缓存系统模型
现阶段多数缓存研究集中在独立缓存上,主要考虑:i)在特定缓存上特定内容的请求数量,ii)在上面特定缓存上其他内容的请求数量。iii)缓存的大小和iv)packet请求的相关性
CCN缓存和IP buffers一样,但是替代策略不一样。缓存系统的建模问题是一个多空间问题,需要考虑的是内容client到内容服务器的路径上的路由器/缓存问题。独立缓存的复杂度是O(KB),B是缓存大小,K是有显著概率不同的条目的个数。当B和K足够大时,建立一个系统的loss rates的近似模型很必要。本文的研究重点正是在此:建立一个独立缓存模型,足够简单当扩展到end-to-end路径的多级缓存时,仍然可以用。
上述模型估计一个特殊的内容content,Packet of Interest,PoI,在任何缓存上保留多上时间,输出PoI在缓存上保留的时间,同时也反映了PoI的缓冲丢失率。
2.Modeling CCN using Markov chains
2.1 单个路由器的模型
假设独立路由器的PoI请求满足参数λ的泊松过程,无论何时,请求到达,路由器把请求包到上层路由器上。发送到上层缓存的请求满足参数μ的泊松过程。这个过程可以简化成一个连续时间的齐次马尔科夫链,链的状态代表了包当前用的缓存的的确切槽位置。
- 状态1是PoI在缓存的上层(请求即获得),
- 状态N指的包在缓存的底端(任何包的请求不在缓存里会被推送至缓存之外),
- 状态N+1代表包不在缓存。
具体链如Fig.1(Left)
所有状态(除状态1)由参数λ到状态1的传递(另一个对于包的请求到达,包移动至缓存的上层),所有状态 i ,1≤i≤N到状态i+1,有传递参数μ,(包沿着缓存由高到低传递)
π=(π1,π2,....,πN+1)为链的均衡概率,直接的物理解释是,PoI在缓存个位置上的花费单位时间比例(πN+1单位时间上包不在缓存的概率),得到πi和πN+1. πN+1为cache miss的概率,也是流向上传播的平均比例,(在本cache上没有然后发送到下一cache)。这可以推广到系统多级缓存,详细如Fig.1(right)。
Router R1有N1层内存槽,Router2有N2层内存槽,F(x)代表参数x的到达过程(不局限于Poisson),F(λi)和F(μi)为假设的Poisson过程,F(φi)过程代表Router Ri中cache miss的包请求.
2.2 多路由器系统的Markov链建模
模型图如Fig.1(right)由2.1可以得到φ1,所以Router R2的请求到达率是φ1+λ2,即为λ2'.现在问题是R2路由器上包在缓存的时间比例,也可以理解成一个Markov chain。此时状态有N1*N2个,(i,j)代表兴趣包在R1和R2缓存的位置。i=N1+1,代表包不在R1,j=N+2代表包不在R2上。π(i,j)代表PoI在R1状态i和R2状态j的均衡概率。π(i, )为R1所有状态的均衡概率,独立R2。事实证明它和单个路由器的概率一样。 计算π( ,j)就困难许多,
π( ,1)可以计算出。
从上述计算结果可以得到C是正的,π( ,1)近似为,随着N1的增加,λ2'/(μ2+λ2')。这是在Poisson分布下得到的方程。随着N1的增加,可以得到C趋于0.
为了确保聚合,N1和N2的值不能很大。N1=6,N2=4,λ1=λ2=μ1=μ2=1.0,π( ,j)近似为Possion分布。当φ1比λ2大很多时,假设
N1=6,N2=4,λ1=100.0,μ1=10,000,λ2=0.1,μ2=100.0,π( ,j)的Possion性质会弱很多。
本节,对于CCN一个接着一个的缓存结构,可以从简单缓存模型的结构中启发式建模。one cache的miss rate可以被用来作为输入建立最终的多路由器模型。在此模型中,PoI的miss rate可以通过假设路由器的输入rate为次路由器请求的直接rate和流经此路由器的其他路由器未缓存流的叠加。
2.3 深入研究μ过程
很显然PoI的沿着cache的向下移动有两个相关的过程。一个可能性是到达的包没有在缓存中被缓存。由于这一部分没看太懂,略去
2.4 数学模型分析的总结
section 2.1解析了对于PoI的请求是λ的Poisson,move the PoI further down the cache 的请求是μ的Poisson