当前位置: 首页 > 专利查询>暨南大学专利>正文

一种内容感知型计算机缓存管理系统及方法技术方案

技术编号:19778247 阅读:39 留言:0更新日期:2018-12-15 11:17
本发明专利技术公开了一种内容感知型计算机缓存管理系统及方法,包括元数据管理模块和数据块管理模块。元数据管理模块包括:源地址映射索引,源地址管理,指纹索引,唯一数据块缓存地址管理。数据块管理模块负责缓存内数据块的维护。本发明专利技术改变传统的基于LRU算法缓存系统的元数据组织,通过结合重复数据删除技术,使缓存系统具有内容感知能力,通过识别并删除缓存中相同内容的冗余数据块,提高缓存系统的利用率,扩大缓存数据块映射数据量,提高缓存命中率,减少对下层存储设备的访问,减少平均I/O时延,提升系统整体性能。

【技术实现步骤摘要】
一种内容感知型计算机缓存管理系统及方法
本专利技术涉及计算机缓存系统优化的
,具体涉及一种内容感知型计算机缓存管理系统及方法。
技术介绍
缓存(cache)机制是利用数据访问的时间局部性和空间局部性来提高计算机整体性能的重要途径。在计算机中,缓存机制在硬件层(CPU与内存间的各级缓存、磁盘缓存)、系统层(文件系统的buffercache、块层的bcache)和应用层(应用系统内部缓存)中都大量使用。缓存作为速度差异设备的中间“桥梁”,对其数据的有效组织和管理将影响到各层设备的性能。例如,对文件系统cache的有效管理,将影响内存管理系统和文件系统的性能。现代计算机系统设计中,存储系统的设计,特别是缓存的设计是一项重要的工作,而缓存设计的重点是如何对缓存内数据进行有效的组织和缓存替换算法的选择。最近最少使用算法(leastrecentlyusedalgorithm,LRU)基于其实现简单、开销小和效果较好等优点,在过去的几十年里其在缓存替换算法中一直占据着首要地位。然而,传统的基于LRU算法的缓存系统中,基于地址的映射无法感知缓存数据块内容,对地址不同但内容相同的数据块的缓存,导致缓存系统的空间浪费。因此,为了有效利用缓存空间资源,提高缓存空间使用率和缓存命中率,需要一种内容感知型计算机缓存管理系统及方法,感知并删除缓存中内容相同的冗余数据块,提高缓存利用率,扩大缓存数据块映射数量,提升缓存系统命中率,减少下层存储设备的访问。
技术实现思路
本专利技术的目的是为了解决现有技术中的上述缺陷,提供一种内容感知型计算机缓存管理系统及方法,感知缓存数据块内容,避免存储源地址相同但内容相同的数据块,提高缓存利用率和命中率,减少下层存储设备访问。根据公开的实施例,本专利技术的第一方面公开了一种内容感知型计算机缓存管理系统,该缓存管理系统包括:元数据管理模块和数据块管理模块。其中元数据管理模块包括:源地址映射索引单元、源地址管理单元、指纹索引单元、唯一数据块缓存地址管理单元,上述各单元顺序连接,其中,所述的源地址映射索引单元,负责请求到达缓存管理系统时,利用散列表映射,快速判断在源地址管理中是否存在请求源地址节点;所述的源地址管理单元,通过双向链表把数据块源地址在缓存中按LRU次序进行组织排列,其按访问次序记录了给定数量范围内的数据块源地址和指纹信息,当新的访问请求到达时按照LRU算法规则对排列顺序进行调整;所述的指纹索引单元,对去重后唯一数据块指纹进行索引,写请求数据块到达时候,将计算后的指纹散列至指纹索引单元中,判断当前写入数据块是否在缓存管理系统中已存储,若是,则只增加索引而不进行冗余存储;所述的唯一数据块缓存地址管理单元,对所述的源地址管理单元中存储的数据块进行索引,通过LRU算法按照数据块访问顺序对数据块进行组织记录,以方便进行缓存数据块剔除时,快速发现存在在缓存中适合剔除的数据。缓存数据块经过数据去重后源地址与数据块变为多对一的映射关系,唯一数据块缓存地址管理单元的LRU队列,与源地址管理中的LRU队列保持相对一致的关系。所述的数据块管理模块,该模块负载数据块的统一存储。进一步地,所述的源地址映射索引单元中数据组织形式如下:以散列表的形式组织源地址到源地址管理链表的映射关系,上层读写请求到达缓存管理系统后,以O(1)的时间复杂度判断请求源地址是否存在于源地址管理链表中。进一步地,所述的源地址管理单元中数据组织形式如下:以双向链表的形式管理源地址节点,节点中存放源地址、源地址对应数据块指纹和指向前后源地址节点的指针信息,当请求源地址通过源地址映射索引映射至某一节点时,即源地址命中,根据LRU算法,将命中源地址节点移动至链表首部MRU位置,以维护链表的LRU特性,当源地址未命中时,构建包含请求源地址信息的新的链表节点至链表首部LRU位置。进一步地,所述的指纹索引单元中数据组织形式如下:以散列表的形式组织数据块指纹到唯一数据块缓存地址链表节点的映射关系,同时每个指纹节点记录当前指纹被多少源地址索引的计数信息,当请求源地址通过源地址映射索引映射在源地址管理链表中命中某一节点时,把源地址管理链表节点获取的数据块指纹信息,映射至指纹索引单元中,查找对应唯一数据块地址链表节点信息,并判断该链表节点是否存在。根据公开的实施例,本专利技术的第二方面公开了一种内容感知型计算机缓存管理方法,所述的缓存管理方法包括:读请求步骤和写请求步骤,其中,所述的读请求步骤过程如下:S1、缓存管理系统收到上层系统请求读写请求,判断请求源地址在源地址映射索引单元中是否命中,若源地址命中,转至步骤S2,若源地址未命中,转至步骤S5;S2、若源地址命中,将源地址管理链表节点中存储的指纹映射至指纹索引单元中,判断指纹是否命中;S3、若指纹索引命中,通过指纹索引单元中节点获取请求数据块存储位置,若指纹索引不命中,从下层设备中将请求数据块读入缓存中;S4、从下层存储设备中读取数据块时,需要判断当前缓存空间是否已满,若当前缓存管理系统已满,需要剔除数据块,具体执行如下:选取唯一数据块缓存地址管理单元中链表尾部节点,该节点指向最久未访问数据块,删除该节点和对应数据块,将指纹索引单元中指向该节点的指针置为空;当向缓存系统写入新的非重复唯一数据块,且缓存系统存储数据块已达到存储上限时,需要执行数据块剔除操作。不同于常规缓存系统中,在源地址管理中基于源地址LRU替换算法查找替换数据块。本专利技术提出的内容感知型缓存中,由于不同源地址的相同数据块只存储一份,因此源地址与数据块存在多对一的关系,并通过指纹索引连接关联。为减少计算,同时避免源地址管理链表中历史源地址的无效查找。本专利技术提出将唯一数据块缓存地址管理单元的链表与源地址管理链表保持LRU相对统一的关系,当需要执行剔除数据块操作时,直接在唯一数据块源地址管理链表尾部获取数据块地址并执行数据块删除操作,然后更新元数据信息即可。S5、若读请求到达缓存系统,请求源地址在源地址映射索引未命中,即缓存中未存储请求数据块,此时需要将数据块从下层存储设备中读入缓存,对数据块存储前,首先计算该数据块指纹,并映射至指纹索引单元中,若指纹命中且对应数据块存储在缓存中,则增加对应数据块指纹索引计数,同时在源地址管理链表首部增加新的节点,记录请求源地址和指纹信息,并将唯一数据块缓存地址管理单元的链表中指向与请求数据块内容相同数据块地址的节点移动至链表首部MRU位置;所述的读请求步骤过程如下:R1、写请求到达缓存管理系统时,首先计算写入数据块指纹,然后判断当前写入数据块源地址是否已缓存;R2、若源地址已缓存,判断指纹是否相同,相同则不需要进行写操作,将源地址管理单元的链表和唯一数据块缓存地址管理单元的链表中对应节点移动至链表首部MRU位置;R3、若当前写入数据块源地址已缓存,但新写入的数据块指纹与旧指纹不同或当前写入数据块源地址未缓存,则需要判断与当前写入的新数据块内容相同的数据块是否已在缓存中存储,若已存储,则减少久数据块的指纹索引,增加与当前写入的新数据块内容相同的数据块的指纹索引计数,并更新源地址管理链表和唯一数据块缓存地址管理单元的链表中节点信息;R4、当请求写入数据块源地址在缓存中命中,但对应数据块为已被剔除的数据块,此时与请求从本文档来自技高网...

【技术保护点】
1.一种内容感知型计算机缓存管理系统,其特征在于,所述的缓存管理系统包括:元数据管理模块和数据块管理模块,其中,所述的元数据管理模块包括顺序连接的源地址映射索引单元、源地址管理单元、指纹索引单元,唯一数据块缓存地址管理单元,所述的源地址映射索引单元,负责请求到达缓存管理系统时,利用散列表映射,快速判断在源地址管理中是否存在所请求的源地址节点;所述的源地址管理单元,通过双向链表把数据块源地址在缓存中按LRU次序进行组织排列,链表每个节点记录了数据块地址和指纹信息,链表按照节点访问的LRU规则对节点顺序组织;所述的指纹索引单元,对去重后唯一数据块指纹进行索引,其中去重过程为,当系统写请求数据块到达缓存系统时,对数据块计算指纹,将计算后的指纹散列至指纹索引单元中,通过比对是否存在相同指纹,判断当前写入数据块内容是否与已存储的数据块内容相同,若存在相同指纹,则只增加对指纹和数据块的索引而不进行冗余存储;所述的唯一数据块缓存地址管理单元,对所述的源地址管理单元中存储的数据块进行索引,通过LRU算法按照数据块访问顺序对数据块进行组织记录,以便缓存需要剔除数据块时,快速发现存在在缓存中适合剔除的数据,缓存数据块经过数据去重后源地址与数据块变为多对一的映射关系,唯一数据块缓存地址管理单元的LRU队列,与源地址管理中的LRU队列保持相对一致的关系;所述的数据块管理模块,负责数据块的统一存储。...

【技术特征摘要】
1.一种内容感知型计算机缓存管理系统,其特征在于,所述的缓存管理系统包括:元数据管理模块和数据块管理模块,其中,所述的元数据管理模块包括顺序连接的源地址映射索引单元、源地址管理单元、指纹索引单元,唯一数据块缓存地址管理单元,所述的源地址映射索引单元,负责请求到达缓存管理系统时,利用散列表映射,快速判断在源地址管理中是否存在所请求的源地址节点;所述的源地址管理单元,通过双向链表把数据块源地址在缓存中按LRU次序进行组织排列,链表每个节点记录了数据块地址和指纹信息,链表按照节点访问的LRU规则对节点顺序组织;所述的指纹索引单元,对去重后唯一数据块指纹进行索引,其中去重过程为,当系统写请求数据块到达缓存系统时,对数据块计算指纹,将计算后的指纹散列至指纹索引单元中,通过比对是否存在相同指纹,判断当前写入数据块内容是否与已存储的数据块内容相同,若存在相同指纹,则只增加对指纹和数据块的索引而不进行冗余存储;所述的唯一数据块缓存地址管理单元,对所述的源地址管理单元中存储的数据块进行索引,通过LRU算法按照数据块访问顺序对数据块进行组织记录,以便缓存需要剔除数据块时,快速发现存在在缓存中适合剔除的数据,缓存数据块经过数据去重后源地址与数据块变为多对一的映射关系,唯一数据块缓存地址管理单元的LRU队列,与源地址管理中的LRU队列保持相对一致的关系;所述的数据块管理模块,负责数据块的统一存储。2.根据权利要求1所述的一种内容感知型计算机缓存管理系统,其特征在于,所述的源地址映射索引单元中数据组织形式如下:以散列表的形式组织源地址到源地址管理链表的映射关系,上层读写请求到达缓存管理系统后,以O(1)的时间复杂度判断判断请求数据的源地址是否存在于源地址管理链表中,从而判断缓存是否命中。3.根据权利要求1所述的一种内容感知型计算机缓存管理系统,其特征在于,所述的源地址管理单元中数据组织形式如下:以双向链表的形式管理源地址节点,节点中存放源地址、源地址对应数据块指纹和指向前后源地址节点的指针信息,当请求源地址通过源地址映射索引映射至源地址管理链表中的某一节点时,即缓存命中,根据LRU算法,将命中源地址节点移动至链表首部MRU位置,以维护链表的LRU特性,当源地址未命中时,从下层存储设备获取数据,并构建包含请求源地址信息的新的链表节点至链表首部LRU位置。4.根据权利要求1所述的一种内容感知型计算机缓存管理系统,其特征在于,所述的指纹索引单元中数据组织形式如下:以散列表的形式组织数据块指纹到唯一数据块缓存地址链表节点的映射关系,同时每个指纹节点记录当前指纹被多少源地址索引的计数信息,当请求源地址通过源地址映射索引映射在源地址管理链表中命中某一节点时,把源地址管理链表节点获取的数据块指纹信息,映射至指纹索引单元中,查找对应唯一数据块地址链表节点信息,并判断该链表节点是否存在。5.一种内容感知型计算机缓存管理方法,其特征在于,所述的缓存管理方法包括:读请求步骤和写请求步骤,其中,所述的读请求步骤过程如下:S1、缓存管理系统收到上层系统请求读写请求,判断请求源地址在源地址映射索引单元中是否命中,若源地址命中,转至步骤S2,若源地址未命中,转至步骤S5;S2、若源地址命中,将源地址管理链表节点中存储的指纹映射至指纹索引单元中,判断指纹是否命中;S3、若指纹索引命中,通过指纹索引单元中节点获取请求数据块存储位置,若指纹索引不命中,从下层设备中将请求数据块读入缓存中;S4、从下层存储设备中读取数据块时,需要判断当前缓存空间是否已满,若当前缓存管理系统已满,需要剔除部分数据块,以腾出存储空间存储新的数据块,具体执行如下:选取唯一数据块缓存地址管理单元中链表尾部节点,该节点指向最久未访问数据块,删除该节点和对应数据块,将指纹索引单元中指向该节点的指针置为空;S5、若读...

【专利技术属性】
技术研发人员:邓玉辉刘瑞锴
申请(专利权)人:暨南大学
类型:发明
国别省市:广东,44

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

1