共享缓存管理系统及方法技术方案

技术编号:3851782 阅读:229 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种共享缓存管理系统及方法,所述系统包括缓存分区管理模块、缓存分配模块和多个缓存分区;缓存分区,具有缓存空间,用于同应用关联,在存分区对应的应用的负载特征,为每个缓存分区分配对应的缓存替换算法;所述缓存空间中承载所述应用当前访问的数据;缓存分区管理模块,用于根据缓存分配模块,用于以共享缓存池的方式管理所有空闲缓存资源,运用缓存分区对应的缓存替换算法对所述缓存分区的缓存空间进行管理。本发明专利技术能够根据应用的负载特征为应用分配对应的缓存替换算法,进而高效使用缓存资源。

【技术实现步骤摘要】

本专利技术涉及信息
,特别涉及。
技术介绍
缓存是决定存储系统性能的重要因素之一,它利用1/0负载中普遍存在 的时空局部性来降低慢速磁盘VO对系统性能的影响。在网络存储应用模式下,存储系统作为一种共享资源需要同时向多种应用提供存储服务,不同类 型的应用通常具有不同的负载特征和性能需求,因而要求存储系统中的缓存 管理子系统能够相应提供应用级的缓存管理功能。具体来说, 一方面缓存管理系统能够通过多应用间的缓存资源来达成某种既定系统优化目标,该系统优化目标包括系统整体性能最优、缓存服务 质量保证以及基于缓存过滤效应的节能存储和负载均衡等;另一方面,系统 要能够根据应用负载特征为应用配置适合的缓存替换算法以优化分配缓存资 源的利用率。现有技术中的缓存管理系统不能有效的支持网络存储这种多应用共享使 用模式。以Linux操作系统中的缓存分区管理模块(Limix-醒)为例,它采 用基于单一固定的全局缓存替换算法的方式来管理系统中的缓存资源,其缺点在于(l)不能支持应用级的缓存管理语义,因而无法有效的支持存储系统 某种特定的系统优化目标;(2)因为缓存替换算法的性能取决于应用的负载 特征,不同的应用往往具有各自不同的负载类型,单一固定的缓存替换算法 不能高效使用为应用所分配的缓存资源。
技术实现思路
为解决上述问题,本专利技术提供,能够根据应用 的负载特征为应用分配对应的缓存替换算法,进而高效使用缓存资源。本专利技术公开共享缓存管理系统,所述系统包括缓存分区管理模块、缓存分配模块和多个缓存分区;所述缓存分区,具有缓存空间,用于同应用关联,在所述缓存空间中承 载所述应用当前访问的数据;所述缓存分区管理模块,用于根据缓存分区对应的应用的负载特征,为 每个缓存分区分配对应的缓存替换算法;所述缓存分配模块,用于以共享缓存池的方式管理所有空闲缓存资源, 运用缓存分区对应的缓存替换算法对所述缓存分区的缓存空间进行管理。所述缓存分配模块对所述缓存分区的缓存空间进行的管理包括向所述 缓存分区分配缓存块和从所述缓存分区回收缓存块。所述缓存分配模块在向所述缓存分区分配缓存块时进一步用于从所述共 享缓存池中为所述缓存分区分配新的缓存块,运用所述缓存分区对应的缓存 替换算法将所述新的缓存块添加到所述缓存分区中。所述缓存分配模块在从所述缓存分区回收缓存块时进一步用于根据缓存 分配策略确定被回收的缓存分区以及每个所述缓存分区被回收的缓存块的数 量;运用所述缓存分区对应的缓存替换算法从所述缓存分区替换出所述数量 的缓存块,将所述缓存块重新置于所述共享缓存池。所述缓存分配模块还用于在所述共享缓存池的缓存空间小于预设的低临 界值时,从所述缓存分区回收缓存块,以使共享缓存池的缓存空间在预设的 高临界值和所述低临界值之间。所述缓存分区管理模块还用于当从所述应用对应的缓存空间查找到应用 访问的数据块对应的缓存块时,通过所述缓存分区对应的缓存替换算法更新 所述缓存块在所述缓存分区的状态。本专利技术还公开了共享缓存管理方法,所述方法包括步骤1,多个缓存分区分别同应用关联,在所述缓存空间中承载所述应 用当前访问的数据;步骤2,根据缓存分区对应的应用的负载特征,为每个缓存分区分配对 应的缓存替换算法;步骤3,以共享缓存池的方式管理所有空闲缓存资源,运用缓存分区对 应的缓存替换算法对所述缓存分区的缓存空间进行管理。所述对所述缓存分区的缓存空间进行的管理包括向所述缓存分区分配缓存块和从所述缓存分区回收缓存块。所述步骤3中向所述缓存分区分配缓存块进一步为,步骤91,从所述共享缓存池中为所述缓存分区分配新的缓存块,运用所述缓存分区对应的缓存替换算法将所述新的缓存块添加到所述缓存分区中。所述步骤3中从所述缓存分区回收缓存块进一步为,步骤101,根据缓存分配策略确定被回收的缓存分区以及每个所述缓存 分区被回收的缓存块的数量;步骤102,运用所述缓存分区对应的缓存替换算法从所述缓存分区替换 出所述数量的缓存块,将所述缓存块重新置于所述共享缓存池。所述步骤3还包括,步骤111,在所述共享缓存池的缓存空间小于预设的低临界值时,从所 述缓存分区回收缓存块,以使共享缓存池的缓存空间在预设的高临界值和所 述低临界值之间。所述步骤2后还包括,步骤121,当从所述应用对应的缓存空间査找到应用访问的数据块对应 的缓存块时,通过所述缓存分区对应的缓存替换算法更新所述缓存块在所述 缓存分区的状态。本专利技术的有益效果在于,本专利技术基于应用的缓存分区自治能够针对具体 应用的性能进行优化,自治指本专利技术中的各缓存分区的缓存空间相互独立且 能够根据对应的应用的负载特征采用缓存替换算法进行管理;本专利技术按需分 配与区分回收相结合的缓存分配能够实现基于缓存分配策略的应用级缓存管 理语义,区分回收是指本专利技术从不同缓存分区的缓存空间中回收不等量的缓 存资源,且缓存回收方案取决于缓存分配策略,由于采用对缓存资源的区分 回收,缓存分配策略能够对各缓存分区的缓存空间大小进行动态调节,进而 实现应用级缓存管理语义。附图说明图1是本专利技术的共享缓存管理系统的结构图2是本专利技术的共享缓存管理系统具体实施方式示意图;图3是本专利技术实施例缓存分区添加和更新的示意图; 图4是是本专利技术实施例缓存分配的示意图; 图5是本专利技术的共享缓存管理方法流程图。具体实施例方式下面结合附图,对本专利技术做进一步的详细描述。 本专利技术的共享缓存管理系统的结构如图1所示。系统包括缓存分区管理模块200、缓存分配模块300和多个缓存分区100。缓存分区100,具有缓存空间,用于同应用关联,在该缓存空间中承载 所述应用当前访问的数据。缓存分区管理模块200,用于根据缓存分区IOO对应的应用的负载特征, 为每个缓存分区100分配对应的缓存替换算法。在较佳的方案中,缓存分区管理模块200还用于当从应用对应的缓存分 区100中査找到应用访问的数据块对应的缓存块时,通过该缓存分区100对 应的缓存替换算法更新该缓存块在该缓存分区100的状态。缓存分配模块300,用于以共享缓存池的方式管理所有空闲缓存资源, 运用缓存分区100对应的缓存替换算法对该缓存分区100的缓存空间进行管 理。缓存分配模块300对缓存分区100的缓存空间进行的管理包括向该缓 存分区100分配缓存块和从该缓存分区100回收缓存块。缓存分配模块300在向缓存分区100分配缓存块时进一步用于从共享缓 存池中为该缓存分区IOO分配新的缓存块,运用该缓存分区IOO对应的缓存 替换算法将该新的缓存块添加到该缓存分区100中。缓存分配模块300在从缓存分区100回收缓存块时进一步用于根据缓存 分配策略确定被回收的缓存分区100以及每个被回收的缓存分区100被回收 的缓存块的数量;运用每个被回收的缓存分区100对应的缓存替换算法从该 缓存分区IOO替换出所述数量的缓存块,将该缓存块重新置于共享缓存池。在较佳的方案中,缓存分配模块300还用于在共享缓存池的缓存空间小 于预设的低临界值时,从缓存分区100回收缓存块,以使共享缓存池的缓存 空间在预设的高临界值和所述低临界值之间。本专利技术系统的一个具体实施方式如图2所示。系统由缓存分区100、缓存分区管理模块200和缓存分配模块300组成。 图2中,I表示缓存空间管理接口, II表示本文档来自技高网...

【技术保护点】
一种共享缓存管理系统,其特征在于,所述系统包括缓存分区管理模块、缓存分配模块和多个缓存分区; 所述缓存分区,具有缓存空间,用于同应用关联,在所述缓存空间中承载所述应用当前访问的数据; 所述缓存分区管理模块,用于根据缓存分区对应的 应用的负载特征,为每个缓存分区分配对应的缓存替换算法; 所述缓存分配模块,用于以共享缓存池的方式管理所有空闲缓存资源,运用缓存分区对应的缓存替换算法对所述缓存分区的缓存空间进行管理。

【技术特征摘要】

【专利技术属性】
技术研发人员:孟晓烜许鲁司成祥张建刚韩晓明
申请(专利权)人:中国科学院计算技术研究所天津中科蓝鲸信息技术有限公司
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1