Caching in information centric networking A survey

 

综述

本文对近年来国际上在该领域的主要研究成果进行了回顾与总结,分析了ICN缓存网络的新特征带来的挑战,综述了ICN缓存网络中若干主要问题的研究现状,包括缓存大小规划、应用无关的缓存空间共享机制、缓存决策策略、网络内置缓存对象的可用性以及缓存网络的理论模型等,并进行了深入的分析和对比,同时指出可能的设计选择空间。

基本信息

Author: Guoqiang Zhang, Yang Li, Tao Lin
Year: 2013
Journal: Computer Networks
Url: click here

ICN缓存的新特征

区别于Web缓存和P2P缓存

缓存的透明性

传统的网络基于域来命名网络内容,同一内容的两个拷贝在不同域中有不同的名字,所以内容在逻辑上被域隔离。缺少统一的命名规则使得跨应用的缓存共享难以实现。

ICN可以:

  1. 统一且一致的命名方式;
  2. 基于统一的名称做出路由和缓存决策。

这一特征使得缓存成为一个通用、开放且透明的服务,独立于应用之外。

存在问题:

  1. 缓存目标的矛盾。不同类型的流量有着不同的缓存目标,Web缓存希望降低网络流量和用户延时,P2P主要希望降低全网流量。ICN缓存的所有类型的流量,需要平衡各种流量间的缓存目标,从而做出合适的缓存决策。
  2. 不同应用对于缓存空间的竞争式共享。不同类型的流量有着不同的总数规模,单个大小与流行度。Web内容规模大但单个尺寸较小,视频流量的规模小但单个尺寸大。ICN需要在不同流量间做出高效缓存。
  3. 线性的缓存操作速率。例如单个缓存空间不能过大,否则搜索时间太长;缓存算法不能过于复杂,否则缓存操作时间过长。

缓存的无处不在性

缓存网络的拓扑图从分层树发展到任意图,固定的父-子节点结构消失,大大增加的数学建模的难度。

ICN中的缓存系统由于复杂的网络拓扑、随处的网内缓存和缓存内容经常变化,而展示出高动态性。如果内容变化的信息要广播到全局注册系统或者路由系统,这些大量的更新信息将会大大降低系统的可扩展性。同时,高动态性导致保持系统一致性变得困难。

缓存内容的细粒度

大多数ICN的构架使用了将大块文件分解为小的可自我确认的块,在块的单位上操作缓存。这一变化产生了如下问题:

  1. 流行度的变化。文件层面上的流行度已有大量研究,比如Web内容服从Zipf分布,P2P内容服从Mandelbrot-Zipf分布。但在块层面上,一个单文件的不同块可能有不同的请求频率,比如用户常常通过视频开头来决定要不要看完整个视频。目前为止(2013),还没有关于块级缓存流行度的研究。
  2. 独立参考模型不适用。传统的基于文件的缓存分析均假设到达请求服从独立参考模型,即给定内容被请求的可能性仅取决于内容的流行度,与之前的请求无关。但在基于块的缓存分析中,对同一文件的不同块的请求往往是有关联的。
  3. 有机会提高缓存空间的利用效率。由于统一的命名方式,块级缓存可以从不同地方获取同一文件的不同部分。

ICN性能优化技术

缓存尺寸

由于线性操作速率的限制,ICN的单个缓存尺寸不能过大。有以下两个问题:

  1. 多大的缓存可以显著提高总体性能?
  2. 如何在不同的缓存节点上分配固定的缓存资源?研究表明基于中心性(centrality)分配缓存资源仅可略微提高性能,而且这个提高可以用更简单的基于度(degree)的分配策略实现,即节点缓存容量与其度的大小成比例。另一项研究表明,将更多地缓存资源分配到边缘节点而不是核心节点能带来更多的性能提升。因此,缓存资源的分配不应仅蛋蛋考虑节点的静态拓扑中心性,还应考虑缓存节点与用户的距离以及其所服务用户的数量。

缓存共享机制

不同的网络流量共享有限的缓存资源。

差异化缓存服务

给予不同的流量类型以不同的缓存服务:

  • 区分不同的到达技术;
  • 区分不同的内容种类;
  • 区分不同的内容提供者。

缓存空间共享技术

固定或动态地分割缓存空间,不同流量使用不同的缓存空间。

⭐️缓存决策策略

cache decision/placement/replication policy

缓存决策策略决定哪个内容缓存在哪个节点上。传统的Web缓存或CDN缓存可以基于对网络拓扑和流量需求的先验知识来确定内容的最佳放置位置,此方法称为显式协作缓存。但在ICN中,缓存节点不再固定、流量类型多样以及线性操作需求,导致显式协作缓存算法具有高复杂性与高通信花销,而不适合。

LCE是大多数ICN构想的默认缓存决策策略,但它会造成缓存的高冗余。

直觉上提高缓存系统的整体实用性,需要:

  1. 将高流行度内容尽快地放置到网络边缘;
  2. 提高整个网络的缓存多样性,特别是在同一个ISP内,以便用户的请求可以被同一个ISP服务,从而大大减少域间流量。

协作方案可以以多种方式划分。根据缓存过程中的自治程度,可分为显示或隐式;根据决策点,可分为集中式或分散式。

显式协作缓存决策

在典型的显式协作中,常常用内容访问模式、网络拓扑和每个缓存的状态作为计算每个内容放置位置的输入。这些先验信息可以离线获得或者通过在线的通信获得。常见的显式协作方法可以分为如下三种:

1. 全局协作

全局协作意味着所有节点参与到缓存协作中,这经常用在CDN中。在CDN中,假设缓存节点序列、节点之间的距离和内容访问频率是先验已知的,内容提供者需要计算出内容最优的放置位置使得用户访问的代价最小。

2. 路径协作

路径协作意味着仅在缓存命中处与内容请求处之间的节点参与缓存协作。一个典型的方式是在请求包中携带着协作所需信息(例如沿途节点的状态,内容在每个节点的访问频率等),当请求到达响应节点时,响应节点根据协作信息计算出内容的最佳放置位置以及在每个节点需要被替换的内容。

3. 邻居协作

邻居协作意味着节点及其邻居节点参与协作缓存。不同的ICN构想有不同“邻居”定义,一种定义是一个节点的直接相邻或2跳相邻的节点是邻居节点。以协作网内缓存[Cooperative In-Network Caching (CINC)]为例,当一个块到达一个节点时,它使用一个hash函数来决定哪个邻居节点缓存此块,这可以避免相同的块被放在不同的节点上,降低的冗余度;当一个请求到达时,同样可以利用hash函数来判断所请求的块在哪个节点上。

显示协作可降低缓存冗余度(全局范围,路径范围,邻居范围),但需要大量的先验信息与网内信息交换来做出最后的缓存决策,在大部分情况下对于ICN都过于复杂。

隐式协作缓存决策

在隐式协作中,每个节点不需要知道其他节点的状态信息或者仅需要与其他节点进行少量的信息交换。 为解决LCE带来的冗余性问题,一些隐式协作方案被提出:

  • Leave Copy Down (LCD)
  • Move Copy Down (MCD)
  • Copy with Probability (Prob)
  • Randomly Copy One (RCOne)
  • Probabilistic Cache (ProbCache)

image

缓存决策的时机

  • 新的内容到达时;
  • 内容被替换时(内容被替换时可以不简单地把就内容删除,而是移到上层节点)。

缓存决策间的关联

当前大多数缓存决策方案在决定是否缓存一个内容时,并不会考虑其他内容对此内容的影响,但是在块级层面上,这种影响是显然存在的。

WAVE: Popularity-based and Collaborative In-network Caching for Content-Oriented Networks针对缓存决策间的关联性提出了WAVE方案:

缓存决策比较

image

缓存替换策略

详见A survey of Web cache replacement strategies

有研究表明,使用随机的替换策略可以达到LRU相近的效果。

缓存内容的可用性

缓存内容的可用性由两个因素决定:

  1. 内容可见度。指一个缓存内容的当前信息在多大范围内传播可以使其他节点知道其存在。
  2. 内容搜索方案。指当请求到达时,如何在将其的控制权转发到下一跳之前搜索内容。

一般来说,越广泛的可见度意味着将请求路由到合适节点的机会更大。但提升可见度也会产生额外开销,这是因为:(1)内容的当前信息需要在更大的范围内传播,需要大量的及时更新;(2)高动态性意味着维护系统的一致性变得困难。ICN中一个热点的研究方向是如何在可接受的开销代价下提高内容的可见度。

根据内容可见范围,当前研究可分为如下三类:

1. 路径可用

仅路径上的缓存内容可以用来响应请求,即使被请求的内容在沿途一节点的邻居节点上,且从邻居节点获取内容的开销低于从上游节点获取内容的开销,请求依然会沿到源的路径路由,这明显是低效的。因此需要充分利用路由系统或者注册系统来扩大内容的可见度。

2. 全局可用

在ICN中,用全局路由系统或者注册系统发布位于源节点处的内容的当前信息,在中间节点的内容的当前信息并不会被全局发布。这是因为网间缓存的数量太多且易变,若在全局范围内发布则会产生难以仍受的额外开销。

3. 部分可用

解决上述矛盾的一种方案是让网络内置缓存中存储的非持久性对象在网络中的局部可见。具体地有如下几种方式:

  • 缓存查询。当缓存不命中时,通过缓存查询协议向邻居节点发送查询请求。但无的放矢的查询会大幅度地增加所需带宽和感知的延迟。
  • 缓存索引。每个节点存储邻域节点缓存内容的索引。当缓存不命中时,继而查询邻域节点的缓存对象索引表。
  • 路由建议。每个节点依据对象转发的历史或对象通告消息建立路由信息表。当缓存不命中时,将请求依据路由信息表 转发给相应的邻居节点,并由邻居决定是否继续转发给其邻居节点。

可用性比较

详见原文。

image

挑战与未来研究方向

块级内容流行度

  • 理论模型方面,可以依据现有文件级别的对象流行度服从Zipf分布、对象大小的分布等既有知识,并对用户访问chunk的行为作合理的假设,进而从理论上建立chunk级别对象的流行度分布;
  • 实证研究方面,由于目前还不存在大规模的纯ICN网络及应用,可以间接通过PPLive等直播系统统计每个chunk(而非整个对象)的访问流行度,并以此作为ICN中chunk级别对象流行度的参考。当然,P2P中的chunk大小和ICN中的chunk大小并不一致,但至少请求的行为是类似的,结果具有可比性。

内容请求间的关联性与基于关联性的缓存决策

基于chunk的缓存导致了请求遵从独立参考模型假设的失效,但目前的缓存理论模型尚未突破这一假设。如何建立请求之间的关联性模型,并据此优化缓存的决策策略,是能够有效提升缓存系统整体性能的潜在途径。目前,一般认为chunk之间的请求存在按序的关联性,但具体的数学模型和实证研究依然缺乏。

ICN友好的网络拓扑结构

在传统的互联网端对端传输的模式下,由于HOT模型可最大化网络的端对端传输能力而被认为是最优的网络拓扑结构。但是ICN改变了网络传输以端对端为主的模式,因此,一个值得思考的问题是:什么样的网络拓扑结构适合ICN网络?

低复杂度的缓存决策与内容查询机制

如何在ICN网络中以低复杂度实现隐式的缓存协同决策和智能的缓存定位,同时适应网络内置缓存的高度动态性,仍然是未来研究的一个重要方向。

ICN缓存网络的分析建模

虽然Rosensweig等人建立了基于任意图拓扑的缓存网络理论模型,但该模型仍需进一步加以完善,以使其更贴近ICN网络的假设。例如,需要摒弃请求遵从独立参考模型的假设,需要建立chunk级别对象的流行度并将其应用到网络建模中,等等。

此外,现有的网络理论模型一般都基于LCE的缓存决策策略和基于确定性路由的沿路径对象查询机制,未考虑其他的缓存决策策略和对象查询策略。然而,现有ICN网络性能优化的研究重点却在于缓存决策策略和对象可用性方面,通过自主的隐式协同和智能的查询算法提高缓存系统的整体效用。因此,以相应的更具实用价值的缓存决策策略和对象查询策略为基础建立缓存网络理论模型并予以解析,可能更具实际意义。到目前为止,这方面的研究尚为空白。