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

一种大页内存压缩回收系统及方法技术方案

技术编号:15878582 阅读:76 留言:0更新日期:2017-07-25 16:34
本发明专利技术公开了一种大页内存压缩回收系统,包括:回收控制器,用于对大页进行解映射处理;压缩执行流模块,用于控制大页中内存数据的压缩和解压缩的执行流程,负责调用压缩流模块的单压缩或多压缩流压缩内存数据;压缩流模块,负责单压缩流或多压缩流的控制和调度,实时地根据CPU的负载情况分配空闲的单压缩流或多压缩流压缩内存数据;压缩/解压缩算法模块,用于对大页中内存数据的压缩或解压;压缩数据管理模块,用于压缩数据的动态存储管理;本发明专利技术还公开了一种利用上述大页内存压缩回收系统今进行大页内存压缩回收方法,本发明专利技术不仅可以极大地减少系统内存开销合提升CPU检索cache的速度,还能极大的拓展内存复用率。

Large page memory compression recovery system and method

The invention discloses a large page memory compression recovery system includes a recovery controller for large page mapping processing; compression flow module for compressing and decompressing data memory control page execution process, is responsible for calling the compression flow module of single or multi stream compression compression compression memory data; the compression flow module, single or multiple compression compression flow for flow control and real-time scheduling, according to the CPU distribution of idle load of single or multi stream compression memory data stream compression; compression / decompression algorithm module for memory data pages in the compression and decompression; compressed data management module for dynamic storage the management of compressed data; the invention also discloses a method for using the pages of memory compression recovery system of this large memory page compression recovery method, the invention not only can The earth reduces the memory overhead of the system, improves the speed of CPU retrieval and cache, and also greatly expands the memory reuse rate.

【技术实现步骤摘要】
一种大页内存压缩回收系统及方法
本专利技术属于计算机操作系统
,具体涉及一种大页内存压缩回收系统及方法。
技术介绍
随着计算机技术的发展,特别是巨型机服务器的内存越来越大。而现有的服务器普遍采用Linux内核对内存按4k一个页的粒度进行管理,对于大内存就显得捉襟见肘。比如对于256G的大内存,用4k页机制的话,单页表描述符就需要2G的内存空间。同时其对应的页表也很巨大,导致CPU的cache因不能全部缓存页表而造成CPU的检索过慢,从而影响性能。对此Linux内核采用了一种Hugetlb机制把多个连续4k页拼接成2M大页来对大内存进行管理。但是Hugetlb机制不支持大页压缩回收机制,以至于大页内存的利用率不高。因为在大页内存中会存在许多活跃度不高的大页,对其进行压缩存储可以提高内存的利用率。4k页机制虽然能对内存进行压缩回收但是开销太大以及Hugetlb机制虽然提供2M大页支持但是不能对其进行压缩回收。现有的典型的内存复用技术,主要有以下几种:内存压缩、内存去重、ballooning技术、transcendentmemory技术以及SWAP技术等。内存去重(memoryded本文档来自技高网...
一种大页内存压缩回收系统及方法

【技术保护点】
一种大页内存压缩回收系统,其特征在于,包括:回收控制器,用于对接收的大页进行解映射处理,将压缩执行流模块发送来的解压缩数据转送给操作系统;压缩执行流模块,用于控制解映射处理后大页中内存数据的压缩执行流程,负责调用压缩流模块的单压缩或多压缩流压缩内存数据,得到压缩数据;用于控制压缩数据管理模块中的压缩数据的解压缩执行流程,负责调用压缩流模块的单压缩或多压缩流解压缩压缩数据,得到解压缩数据;压缩流模块,用于负责单压缩流或多压缩流的控制和调度,实时地根据CPU的负载情况分配空闲的单压缩流或多压缩流压缩内存数据或解压缩压缩数据;压缩/解压缩算法模块,用于对大页中内存数据的压缩和压缩数据的解压缩;压缩数...

【技术特征摘要】
1.一种大页内存压缩回收系统,其特征在于,包括:回收控制器,用于对接收的大页进行解映射处理,将压缩执行流模块发送来的解压缩数据转送给操作系统;压缩执行流模块,用于控制解映射处理后大页中内存数据的压缩执行流程,负责调用压缩流模块的单压缩或多压缩流压缩内存数据,得到压缩数据;用于控制压缩数据管理模块中的压缩数据的解压缩执行流程,负责调用压缩流模块的单压缩或多压缩流解压缩压缩数据,得到解压缩数据;压缩流模块,用于负责单压缩流或多压缩流的控制和调度,实时地根据CPU的负载情况分配空闲的单压缩流或多压缩流压缩内存数据或解压缩压缩数据;压缩/解压缩算法模块,用于对大页中内存数据的压缩和压缩数据的解压缩;压缩数据管理模块,用于压缩数据的动态存储管理。2.根据权利要求1所述的大页内存压缩回收系统,其特征在于,所述的压缩执行流模块包括Compress模块、Decompress模块以及压缩流程控制模块,其中,Compress模块用于执行大页中内存数据的压缩,Decompress模块用于执行压缩数据的解压,压缩流程控制模块用于调用单压缩或多压缩流,并控制Compress模块执行大页中内存数据的压缩或控Decompress模块制执行压缩数据的解压。3.根据权利要求1所述的大页内存压缩回收系统,其特征在于,所述的压缩流模块包括单压缩流、多压缩流以及控制压缩流动态分配模块,其中,控制压缩流动态分配模块用于根据CPU的负载情况分配单压缩流或多压缩流去执行压缩内存数据操作。4.根据权利要求1所述的大页内存压缩回收系统,其特征在于,所述的压缩/解压缩算法模块包括LZO算法模块、LZ4算法模块以及开放算法模块,其中,LZO算法模块内置有压缩或解压的LZO算法,且该算法被单压缩流或多压缩流调用去执行压缩或解压,LZ4算法模块内置有压缩或解压的LZ4算法,且该算法被单压缩流或多压缩流调用去执行压缩或解压,开放算法模块用于将其他开源算法直接移植于该模块内,并被单压缩流或多压缩流调用。5.根据权利要求1所述的大页内存压缩回收系统,其特征在于,所述的压缩数据管理模块包括压缩数据的组织存放模块和Mem_pool模块,其中,压缩数据的组织存放模块用于将接收的压缩数据存放于Mem_pool模块,Mem_pool模块用于压缩数据。6.根据权利要求1所述的大页内存压缩回收系统,其特征在于,所述的压缩数据的组织存放模块包含用于对大页数据进行管理的红黑树,所述的红黑树的每个节点是三元组mapping、index、address,其中,mapping和index为每个大页page中独有的元素,以mapping为第一关键字和以index作为第二关键字在红黑树中进行排序,用于对大页进行标记;address保存存储压缩数据4k小页的虚拟地址。7.一种应用权利要求1~6任一系统进行大页内存压缩回收方法,具体包括:大页内存数据的压缩:回收控制器对大页进行枷锁和unmap操作处理,并将处理后的大页发送至压缩执行流模块,压缩执行流模块调用压缩流模块中的压缩流和压缩/解压算法模块中的压缩算法对大页进行压缩,并将得到的压缩数据发送至压缩数据管理模块,利用红黑树将压缩数据存储于小页中。压缩数据的解压缩:压缩执行流模块接...

【专利技术属性】
技术研发人员:王总辉陈文智梁平李国玺
申请(专利权)人:浙江大学
类型:发明
国别省市:浙江,33

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

1