一种双向哈希链表的异构内存系统数据页迁移方法技术方案

技术编号:19023023 阅读:124 留言:0更新日期:2018-09-26 18:58
本发明专利技术涉及一种双向哈希链表的异构内存系统数据页迁移方法。包括以下步骤:初始化双向哈希链表、迁移表和阈值;如果当前访问页已在双向哈希链表里,将其访问次数加1,否则将其加入双向哈希链表的头部;如果当前访问页的访问次数超过阈值,则将该数据页插入迁移表中并从双向哈希链表中移除;选取双向哈希链表中访问次数最高的前四个数据页,根据存储访问的局部性原理和线性回归方法预测这四个数据页将来的访问次数,将预测访问次数超过阈值的数据页插入迁移表中,并从双向哈希链表中删除;将迁移表中的数据页从NVM迁移到DRAM中,并将迁移表中的数据页移除。本发明专利技术的数据页迁移方法可以有效提高异构内存的访存效率,降低访存延时和访存系统的能耗。

【技术实现步骤摘要】
一种双向哈希链表的异构内存系统数据页迁移方法
本专利技术属于计算机微系统结构内存层次系统设计领域,涉及一种由非挥发性存储器NVM和动态随机访问存储器DRAM构成的异构存储/异构内存系统中数据页的迁移方法,特别是一种双向哈希链表的异构内存系统数据页迁移方法。
技术介绍
存储器大致可分为两大类:挥发性存储器和非挥发性存储器。非挥发性存储器NVM,又称非易失性存储器,是指存储器所存储的信息在电源关掉之后依然能长时间存在,不易丢失。挥发性存储器在系统关闭时立即失去存储在内的信息,它需要持续的电源供应以维持数据。挥发性存储器包括两种主要的类型:动态随机存取内存DRAM和静态随机存取内存SRAM。动态随机访问存储器DRAM只能将数据保持很短的时间,为了保持数据,DRAM必须隔一段时间刷新一次,如果存储单元没有被刷新,数据就会丢失。随着大数据、云计算、人工智能等高新
的发展,计算机处理的数据量呈指数级增长,访问现有的DRAM内存系统将产生突出的高能耗问题。新涌现的非易失性存储器PCM具有能耗低、容量大等优点和写延时高的缺点,因此DRAM和PCM组成的扩展性异构内存系统既保证访存的效率,又不会增加存储器能耗,将成为未来内存系统的主流解决方案。关于PCM存储器和DRAM内存系统间的数据页迁移问题,有如下几种解决方案:L.E.Ramos等人提出一种迁移策略(RaPP)[见参考文献1],采用多级队列结构存储数据页的访问次数,当读写频率值总和达到32时,NVRAM数据页被迁移到DRAM中。K.H.Park等人提出连续两次访问使NVRAM数据页变热[见参考文献2],连续两次无效访问使DRAM数据页变冷,根据冷热度触发相应的迁移操作。采用以上迁移策略,能效在一定程度上得到提升,但都存在以下缺点:第一,数据页的迁移策略是基于其测量最近的过去页面访问的频率值,假设页面的访问频次在将来不会发生改变。第二,迁移的成本和收益没有完全被考虑。由于没有固定的阈值可以一直适用于所有工作负载,可能迁移的成本是大于收益,但仍然执行迁移操作。MaiHT等人提出的动态数据迁移策略[见参考文献3]有效解决了以上问题,该策略不仅可以预测数据页的访问次数,并且全面衡量了多种迁移方案收益与成本的关系,选择收益最大的候选数据页进行迁移,但该策略没有考虑能耗问题。YoonHB等人提出了基于行缓冲区局部感知缓存策略[见参考文献4]用于混合存储器系统,该策略跟踪PCM中最近使用的行缓冲未命中计数器,并在DRAM中缓存预测会频繁导致行缓冲器未命中的行,但此策略忽略了行缓冲区的局部性问题。LiuH等人提出软硬件协同的迁移策略[见参考文献5],使用TLB结合动态调整阈值技术,但动态调整阈值算法是基于局部感知的,存在局部性问题。RamosLE等人提出一种基于页面热度的多级队列迁移策略(MQMigrator)[见参考文献6-8],但是迁移数据页容易陷入局部性和复杂的逻辑结构设计等问题。基于以上,各种迁移策略都具有相对应的缺点,缺乏一种能兼顾异构内存系统的访存效率、访存延时和访存系统能耗的行之有效的数据页迁移策略。参考文献:[1]RamosLE,GorbatovE,BianchiniR.Pageplacementinhybridmemorysystems[C]//ProceedingsoftheinternationalconferenceonSupercomputing.ACM,2011:85-95.[2]ParkKH,ParkSK,HwangW,etal.ResourcemanagementofmanycoreswithahierarchicalandahybridmainmemoryforMN-matecloudnode[C]//Services(SERVICES),2012IEEEEighthWorldCongresson.IEEE,2012:301-308.[3]MaiHT,ParkKH,LeeHS,etal.Dynamicdatamigrationinhybridmainmemoriesforin-memorybigdatastorage[J].ETRIJournal,2014,36(6):988-998.[4]YoonHB,MezaJ,AusavarungnirunR,etal.Rowbufferlocalityawarecachingpoliciesforhybridmemories[C]//ComputerDesign(ICCD),2012IEEE30thInternationalConferenceon.IEEE,2012:337-344.[5]LiuH,ChenY,LiaoX,etal.Hardware/softwarecooperativecachingforhybridDRAM/NVMmemoryarchitectures[C]//ProceedingsoftheInternationalConferenceonSupercomputing.ACM,2017:26.[6]RamosLE,GorbatovE,BianchiniR.Pageplacementinhybridmemorysystems[C]//ProceedingsoftheinternationalconferenceonSupercomputing.ACM,2011:85-95.[7]ZhouY,PhilbinJ,LiK.TheMulti-QueueReplacementAlgorithmforSecondLevelBufferCaches[C]//USENIXAnnualTechnicalConference,GeneralTrack.2001:91-104.[8]张进宝.一种基于页面热度的异构内存能耗管理机制[D].华中科技大学,2015.
技术实现思路
针对以上不足,本专利技术提供了一种双向哈希链表的异构内存系统数据页迁移方法,该方法根据历史访存信息、局部性原理和线性回归预测,将访问次数高、预测即将被访问和最近已访问过的数据页迁移到动态随机访问存储器。实验证明该方法可以有效提高异构内存的访存效率,降低访存延时和访存系统的能耗。本专利技术的技术方案为:一种双向哈希链表的异构内存系统数据页迁移方法,所述异构内存系统为非挥发性存储器和动态随机访问存储器构成的异构内存系统,所述双向哈希链表是由键值对构成的索引表,每个数据页的编号作为双向哈希链表的键对应的值存于双向哈希链表中,所述数据页迁移方法包括以下步骤:步骤一:初始化双向哈希链表、迁移表和阈值;步骤二:请求访问数据页;步骤三:如果当前访问页已在双向哈希链表里,则将该数据页的访问次数加1,否则将该数据页加入双向哈希链表的头部;步骤四:如果当前访问页的访问次数超过阈值,则将该数据页插入迁移表中,并将该数据页从双向哈希链表中删除;否则进入步骤九;步骤五:选取双向哈希链表中访问次数最高的前4个数据页,根据存储访问的局部性原理和线性回归方法预测这4个数据页将来的访问次数;步骤六:将4个数据页中预测访问次数超过阈值的数据页插入迁移表中,并将该数据页从双向哈希链表中删除;步骤七:将迁移表中的数据页从非挥发性存储器迁移到动态随机访问存储器中;步骤八:本文档来自技高网
...

【技术保护点】
1.一种双向哈希链表的异构内存系统数据页迁移方法,所述异构内存系统为非挥发性存储器和动态随机访问存储器构成的异构内存系统,其特征在于,所述双向哈希链表是由键值对构成的索引表,每个数据页的编号作为双向哈希链表的键对应的值存于双向哈希链表中,所述数据页迁移方法包括以下步骤:步骤一:初始化双向哈希链表、迁移表和阈值;步骤二:请求访问数据页;步骤三:如果当前访问页已在双向哈希链表里,则将该数据页的访问次数加1,否则将该数据页加入双向哈希链表的头部;步骤四:如果当前访问页的访问次数超过阈值,则将该数据页插入迁移表中,并将该数据页从双向哈希链表中删除;否则进入步骤九;步骤五:选取双向哈希链表中访问次数最高的前四个数据页,根据存储访问的局部性原理和线性回归方法预测这四个数据页将来的访问次数;步骤六:将四个数据页中预测访问次数超过阈值的数据页插入迁移表中,并将该数据页从双向哈希链表中删除;步骤七:将迁移表中的数据页从非挥发性存储器迁移到动态随机访问存储器中;步骤八:将迁移表中的数据页移除;步骤九:重复步骤二至步骤八,直至访问完所有的数据页。

【技术特征摘要】
1.一种双向哈希链表的异构内存系统数据页迁移方法,所述异构内存系统为非挥发性存储器和动态随机访问存储器构成的异构内存系统,其特征在于,所述双向哈希链表是由键值对构成的索引表,每个数据页的编号作为双向哈希链表的键对应的值存于双向哈希链表中,所述数据页迁移方法包括以下步骤:步骤一:初始化双向哈希链表、迁移表和阈值;步骤二:请求访问数据页;步骤三:如果当前访问页已在双向哈希链表里,则将该数据页的访问次数加1,否则将该数据页加入双向哈希链表的头部;步骤四:如果当前访问页的访问次数超过阈值,则将该数据页插入迁移表中,并将该数据页从双向哈希链表中删除;否则进入步骤九;步骤五:选取双向哈希链表中访问次数最高的前四个数据页,根据存储访问的局部性原理和线性回归方法预测这四个数据页将来的访问次数;步骤六:将四个数据页中预测访问次数超过阈值的数据页插入迁移表...

【专利技术属性】
技术研发人员:裴颂文姬燕飞
申请(专利权)人:上海理工大学
类型:发明
国别省市:上海,31

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

1