【技术实现步骤摘要】
集群细粒度内存管理方法
本专利技术涉及计算机领域中分布式集群内的一种细粒度的内存管理方法,该方法主要针对分布式集群中申请的内存大小差异比较大的多线程的应用场景。
技术介绍
随着互联网特别是移动互联网的快速普及,信息化程度不断提高,各式各样的交互式、个性化应用造成了互联网中数据的爆炸式增长。在此形势之下,有关海量数据存储的研究随之发展迅猛。应用系统的业务访问量与日俱增,大量频繁快速的数据访问请求对应用服务器和数据管理系统的要求越来越高。如何利用有限资源合理提高数据访问效率,成为提升系统性能的关键。在众多数据管理系统和缓存管理系统中,内存资源的高效利用和管理无疑是备受关注的焦点。内存的合理利用能够大幅减少对磁盘的IO请求,从而快速提升系统性能。当前市场上有多种比较流行的基于内存的数据管理或缓存管理系统,如国外开源的Redis、Memcached等,以及国内的Tair等非持久化存储层。这些系统均在内存的利用和优化方面大下功夫,但是仍然存在不少不足之处,比如利用率仍然不高、删除策略非最优、管理自治度不高、无法适用多种应用场景等。内存管理方面,频繁使用默认的malloc和free函数,不但分配效率低下而且会产生大量的内存碎片。所以当下主流的数据管理系统和缓存管理系统都没有采用原生方式,而是提供了预分配内存的方案。该方案的基本原理借鉴于内存池,首先按照预先规定的大小,将预先分配的内存分割成指定长度的块组,每个组中包括若干相同长度的块,不同块组的块大小按照一个预先设定的增长因子构成等比关系。初始时,所有块组中的块均为空闲内存。在进行内存分配时,该方案会根据需求的内存大小 ...
【技术保护点】
一种集群细粒度内存管理方法,其特征在于,包括下述步骤:步骤一.将内存分成两大类区域:第一类是全局共享区,负责尺寸大于等于尺寸阈值的大对象的分配和回收;第二类是每个线程独自的线程本地缓存,用于尺寸小于尺寸阈值的小对象的分配;线程本地缓存由多个块组组成,每个块组是一个内存对象的空闲链表,且一个块组内的块尺寸全部相等;不同块组之间,块组内的块尺寸关系采用阶梯式的等差关系;全局共享区包括小对象分配区和全局页缓存;小对象分配区的结构与线程本地缓存相同,且有锁保护;全局页缓存用于处理大对象,且有锁保护;全局页缓存由多个空闲链表组成,全局页缓存的空闲链表称作页面组;每个空闲链表包含多个元素,全局页缓存的空闲链表的元素是相同尺寸的连续的内存页;第1个页面组的元素的尺寸是1个内存页,第2个页面组的元素的尺寸是2个内存页,以此类推,第255个页面组的元素的尺寸是255个内存页,但第256个页面组的元素的尺寸是大于等于256个内存页。
【技术特征摘要】
1.一种集群细粒度内存管理方法,其特征在于,包括下述步骤:步骤一.将内存分成两大类区域:第一类是全局共享区,负责尺寸大于等于尺寸阈值的大对象的分配和回收;第二类是每个线程独自的线程本地缓存,用于尺寸小于尺寸阈值的小对象的分配;线程本地缓存由多个块组组成,每个块组是一个内存对象的空闲链表,且一个块组内的块尺寸全部相等;不同块组之间,块组内的块尺寸关系采用阶梯式的等差关系;全局共享区包括小对象分配区和全局页缓存;小对象分配区的结构与线程本地缓存相同,且有锁保护;全局页缓存用于处理大对象,且有锁保护;全局页缓存由多个空闲链表组成,全局页缓存的空闲链表称作页面组;每个空闲链表包含多个元素,全局页缓存的空闲链表的元素是相同尺寸的连续的内存页;第1个页面组的元素的尺寸是1个内存页,第2个页面组的元素的尺寸是2个内存页,以此类推,第255个页面组的元素的尺寸是255个内存页,但第256个页面组的元素的尺寸是大于等于256个内存页;步骤一之后,还包括下述步骤:步骤二.针对应用程序申请的内存进行内存分配,包括:首先判断所申请的内存大小是否大于等于尺寸阈值;若大于等于尺寸阈值,则进行步骤a;否则,进行步骤b;a.大对象的分配:a-1.将所需分配的尺寸,按4K的粒度向上圆整,设圆整后的大对象尺寸size=m*4K;m为正整数;a-2.对全局共享区的全局页缓存加锁;a-3.记p=max{2*m,256},判断页面组m的空闲链表是否为空;若不空,则直接删除该链表的第一个元素并将其返回;若为空,判断页面组p的空闲链表是否为空;若不空,则删除该链表的第一个元素得到连续的p个内存页,将该连续的p个内存页拆分成连续的m个页面和(p-m)个页面,分别插入到页面组m和页面组(p-m)中,重复步骤a-3;若为空,则直接向操作系统申请连续的m个内存页,将该连续的m个内存页添加到页面组m后,重复步骤a-3;a-4.释放全局共享区的全局页缓存的锁;b.小对象的分配,对应线程本地缓存;b-1.将所需分配的尺寸向上圆整到最接近的块组内块的尺寸,设尺寸为size′,且相对应的块组为块组k;b-2.判断块组k的空闲链表是否为空;若不空,则删...
【专利技术属性】
技术研发人员:安丰春,台宪青,王艳军,赵旦谱,图博,
申请(专利权)人:江苏物联网研究发展中心,
类型:发明
国别省市:江苏;32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。