【技术实现步骤摘要】
大数据处理中的虚拟内存管理方法及其装置
本专利技术属于计算机系统优化
,具体涉及一种大数据处理中的虚拟内存管理方法及其装置。
技术介绍
虽然计算机硬件发展迅速,内存容量增长很快,从KB级到MB级,再到GB级,一个级别增长千倍,但需求也在不断增长。现在进入了大数据处理的时代,再多的内存配置也不能满足所有的应用需求。另一方面,大容量的内存配置也意味着较高的硬件投入,人们总希望配置一般的计算机也能处理大量的数据。相对内存的容量与成本,磁盘具有成本低、容量大的特点,在这样的背景下就出现了虚拟内存技术。虚拟内存是指利用一部分硬盘存储空间作为内存来使用,以增加总的可使用内存量。当物理内存用完后,操作系统选择将内存中的部分内容写到作为虚拟内存的交换文件上。由于计算机内存的访问速度远远高于硬盘的读写速度,虚拟内存技术仅解决了物理内存不足的问题。当使用到虚拟内存时,计算机的性能明显下降。因此虚拟内存技术总希望找到最佳的虚拟内存调度算法,尽量少使用虚拟内存,尽量提前把下一步可能使用的数据置换调入物理内存。虚拟内存管理主要的关键问题,一是调度:决定哪些数据应被调入物理内存中;二是地址映射:把访问地址变换成为物理内存地址或虚内存物理地址;三是替换:决定哪些程序和数据应被调出主存(物理内存);四是更新:要确保主存与辅存(虚拟内存)数据的一致性。其中替换问题与调度问题一并统一作为调度问题来处理。虚拟内存调度方式有分页式、段式、段页式3种。页式调度是将逻辑和物理地址空间都分成固定大小的页。物理内存按页顺序编号,而每个独立编址的程序空间有自己的页号顺序,通过调度虚拟存储中程序的各页 ...
【技术保护点】
一种大数据处理中的虚拟内存管理方法,其特征在于其中的虚拟内存调度管理至少包括: (1)、内存分配单元管理:基本处理和管理的内存操作以内存分配单元为单位,内存分配单元采用大小配对分配方法;大内存分配时,安排一个分配单元,分配单元大小mUnitSize=申请大小RequestSize×125%;前段BigMem区分配大数据,后段LitMem区分配小数据;小内存分配时,优先在已安排的分配单元中找LitMem空闲区,若找到分配单元向后对齐,若未找到安排分配到小内存分配区; (2)、内存分配单元访问关联综合指数:反映内存分配单元优先调出到虚拟内存的指标,第n个分配单元访问关联综合指数:Xn=(当前时间‑最后一次访问时间)×Fa×Fm/Fn2,其中时间单位是毫秒,Fa为内存分配单元平均访问频次,Fm为内存分配单元最大访问频次,Fn为第n个分配单元访问频次;当Xn>Xa时,第n个内存分配单元可以调出到虚拟内存,其中Xa为访问关联综合指数平均值; (3)、虚拟内存调度匹配置换: (a)虚拟内存调度仅调入或调出内存分配单元中较大的内存块,以减少调度执行次数; (b)内存分配单元中较小的内存块需要时 ...
【技术特征摘要】
1.一种大数据处理中的虚拟内存管理方法,其特征在于其中的虚拟内存调度管理至少包括:(1)、内存分配单元管理:基本处理和管理的内存操作以内存分配单元为单位,内存分配单元采用大小配对分配方法;大内存分配时,安排一个分配单元,分配单元大小mUnitSize=申请大小RequestSize×125%;前段大内存分配区BigMem区分配大数据,后段小内存分配区LitMem区分配小数据;小内存分配时,优先在已安排的分配单元中找LitMem空闲区,若找到分配单元向后对齐,若未找到安排分配到小内存分配区;(2)、内存分配单元访问关联综合指数:反映内存分配单元优先调出到虚拟内存的指标,第n个分配单元访问关联综合指数:Xn=(当前时间-最后一次访问时间)×Fa×Fm/Fn2,其中时间单位是毫秒,Fa为内存分配单元平均访问频次,Fm为内存分配单元最大访问频次,Fn为第n个分配单元访问频次;当Xn>Xa时,第n个内存分配单元可以调出到虚拟内存,其中Xa为访问关联综合指数平均值;(3)、虚拟内存调度匹配置换:(a)虚拟内存调度仅调入或调出内存分配单元中大于大内存的分界线BigMemSize的内存块,以减少调度执行次数,其中BigMemSize=100KB-10MB,表示大内存的分界线;(b)内存分配单元中较小的内存块需要时在物理内存中移动,以少量的内存数据移动增加虚拟内存调度转换匹配率;(c)虚拟内存调度置换比较时,源和目标内存分配单元大小相差小于25%都属于匹配可转换对象;(d)物理内存中能否调出通过访问关联综合指数来决定;(e)总是保持必要可用物理内存空间,称为最小周转备用区MinSpareMem,来保证虚拟内存调度过程不影响系统正常运行。2.如权利要求1所述的大数据处理中的虚拟内存管理方法,其特征在于虚拟内存调度管理按以下步骤实现:a、初始化:向操作系统申请一块较大且连续的物理内存,在磁盘创建或打开虚拟内存映像文件,文件大小为4G-32G;b、小内存分配:申请分配小于BigMemSize的内存时执行小内存分配,在已安排的内存分配单元中查找L_MemArea为空、且可用大小大于申请尺寸RequestSize的单元,找到则记录返回,未找到则在小内存分配区内分配,其中L_MemArea表示小内存分配区;c、创建内存分配单元:根据内存分配申请尺寸大小RequestSize,在管理的物理内存建立一个大小为RequestSize×125%的内存分配单元并记录,如果可用物理内存小于MinSpareMem时,启动步骤i;d、大内存分配:申请分配大于BigMemSize的内存时执行大内存分配,如果有内存分配单元的BigMem区已释放,且大小合适,则直接选用、记录并返回;否则,如果可用物理内存小于最小周转备用内存MinSpareMem时,启动调出任务,同时执行步骤c,然后把新单元返回给申请者;e、小内存位置调整:在内存分配单元匹配处理时,不考虑小内存区是否有数据,如果内存分配单元被重新使用,且新的使用中BigMemSize会覆盖到小内存区时,小内存区需要进行移动,移动方法为执行步骤b,并拷贝数据,然后小内存区初始化备用;f、一般内存分配:根据申请内存大小分别选择执行步骤b和步骤d;g、内存数据访问:根据地址映射表确定所访问数据是否在物理内存中,在物理内存中直接访问,否则选择执行调出任务,然后执行调入任务并访问数据;h、内存分配单元匹配处理:源内存分配单元大小为目标内存分配单元的1/2~1倍即为匹配成功;然后检测目标内存分配单元的小内存分配区时是否有数据,源内存分配单元的大内存区数据移到目标内存分配单元时,是否会覆盖目标内存分配单元的小内存数据,如果会覆盖则执行步骤e;i、内存分配单元调出:根据内存分配单元访问关联综合指数以及调出大小需求,选择访问关联综合指数最合适的调出内存分配单元,如果被调出的内存分配单元的小内存分配区有数据则执行步骤e;j、内存分配单元调入:先执行步骤h,如果未找到匹配的内存分配单元则,则执行步骤c,将虚拟内存中目标内容拷贝到找到或新分配的内存分配单元中,记录更新地址映射表;K、计算内存分配单元访问关联综合指数:在调出内存分配单元查找匹配时,计算当前的访问关联综合指数,每个内存分配单元的访问关联综合指数Xn=(当前时间-最后一次访问时间)×Fa×Fm/Fn2。3.一种大数据处理中的虚拟内存管理装置,其特征在于包括:访问接口模块:为系统应用提供内存分配、数据访问的功能,包含物...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。