CN116644006A - 一种内存页面管理方法、系统、装置、设备及计算机介质 - Google Patents

一种内存页面管理方法、系统、装置、设备及计算机介质 Download PDF

Info

Publication number
CN116644006A
CN116644006A CN202310928102.9A CN202310928102A CN116644006A CN 116644006 A CN116644006 A CN 116644006A CN 202310928102 A CN202310928102 A CN 202310928102A CN 116644006 A CN116644006 A CN 116644006A
Authority
CN
China
Prior art keywords
memory
target
address
accessed
local memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202310928102.9A
Other languages
English (en)
Other versions
CN116644006B (zh
Inventor
赵雅倩
曹芳
郭振华
王丽
高开
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Electronic Information Industry Co Ltd
Original Assignee
Inspur Electronic Information Industry Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Inspur Electronic Information Industry Co Ltd filed Critical Inspur Electronic Information Industry Co Ltd
Priority to CN202310928102.9A priority Critical patent/CN116644006B/zh
Publication of CN116644006A publication Critical patent/CN116644006A/zh
Application granted granted Critical
Publication of CN116644006B publication Critical patent/CN116644006B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明公开了一种内存页面管理方法、系统、装置、设备及计算机介质,涉及内存管理技术领域,获取待访问数据的目标虚拟地址;基于目标虚拟地址在地址转换高速缓存中进行物理地址查找;若在地址转换高速缓存中查找到对应的待访问物理地址,则从待访问物理地址中读取待访问的目标数据;若未在地址转换高速缓存中查找到待访问物理地址,则基于目标虚拟地址在统一编址的多组页表中并行进行物理地址查找,若查找到待访问物理地址,则从待访问物理地址中读取待访问的目标数据;其中,本地内存包括目标节点中的内存,其他内存包括目标节点之外的其他节点中的内存。扩大了目标处理器所能应用的内存,提高了处理器工作负载的效率和性能。

Description

一种内存页面管理方法、系统、装置、设备及计算机介质
技术领域
本发明涉及内存管理技术领域,更具体地说,涉及一种内存页面管理方法、系统、装置、设备及计算机介质。
背景技术
随着处理数据量的激增,计算引擎对内存的需求也急剧增长,然而,内存容量的增长速度落后于处理器性能的增长,比如处理器核每两年翻一倍,而内存容量每三年翻一倍,这使得单节点内每个处理器核对应内存容量每两年减少30%,进一步加剧了应用对存算比增长的扩展需求。
综上所述,如何提高处理器工作负载的效率和性能是目前本领域技术人员亟待解决的问题。
发明内容
本发明的目的是提供一种内存页面管理方法,其能在一定程度上解决如何提高处理器工作负载的效率和性能的技术问题。本发明还提供了一种内存页面管理系统、装置、电子设备及计算机可读存储介质。
根据本发明实施例的第一方面,提供一种内存页面管理方法,应用于目标节点中的目标处理器,包括:
获取待访问数据的目标虚拟地址;
基于所述目标虚拟地址在地址转换高速缓存中进行物理地址查找,所述地址转换高速缓存存储有本地内存和其他内存中的目标物理地址及对应的虚拟地址间的映射关系;
若在所述地址转换高速缓存中查找到与所述目标虚拟地址对应的待访问物理地址,则从所述待访问物理地址中读取待访问的目标数据;
若未在所述地址转换高速缓存中查找到所述待访问物理地址,则基于所述目标虚拟地址在本地内存页表和其他内存页表中并行进行物理地址查找,若查找到所述待访问物理地址,则从所述待访问物理地址中读取待访问的所述目标数据;
其中,所述本地内存页表包括存储所述本地内存中的物理地址及对应的虚拟地址间的映射关系的页表;所述其他内存页表包括存储所述其他内存中的物理地址及对应的虚拟地址间的映射关系的页表;所述本地内存包括所述目标节点中与所述目标处理器连接的内存,所述其他内存包括所述目标节点之外的其他节点中与所述目标处理器连接的内存。
在一示例性实施例中,还包括:
获取所述本地内存;
获取所述其他内存;
对所述本地内存和所述其他内存进行统一编址,得到各个内存的物理地址,以筛选出所述本地内存和所述其他内存中存储第一热度数据的物理地址作为所述目标物理地址,所述热度数据包括满足热访问条件的数据,基于所述目标物理地址及对应的虚拟地址生成所述地址转换高速缓存,基于所述本地内存中除所述目标物理地址之外的其他物理地址及对应的虚拟地址生成所述本地内存页表,基于所述其他内存中除所述目标物理地址之外的其他物理地址及对应的虚拟地址生成所述其他内存页表。
在一示例性实施例中,还包括:
基于第一内核线程对最后一级缓存、所述地址转换高速缓存、所述本地内存页表和所述其他内存页表进行使用热度监测,得到页面使用冷热图,所述页面使用冷热图中的冷页面存储使用热度低于预设值的虚拟地址及物理地址的映射关系,所述页面使用冷热图中的热页面存储使用热度高于所述预设值的虚拟地址及物理地址的映射关系;
按照所述页面使用冷热图,基于第二内核线程将所述本地内存中所述冷页面对应的数据迁移至所述其他内存中,基于所述第二内核线程将所述其他内存中所述热页面对应的数据迁移至所述本地内存中,更新所述地址转换高速缓存、所述本地内存页表和所述其他内存页表中的映射关系;
其中,所述最后一级缓存中存储有热度高于所述第一热度数据的第二热度数据。
在一示例性实施例中,所述本地内存和所述其他内存均由动态随机存取存储器和持久性内存组成。
在一示例性实施例中,所述基于第二内核线程将所述本地内存中所述冷页面对应的数据迁移至所述其他内存中,包括;
若所述其他内存中的所述持久性内存未满,则基于所述第二内核线程将所述本地内存中所述冷页面对应的数据迁移至所述其他内存的所述持久性内存中;
若所述其他内存中的所述持久性内存已满,则基于所述第二内核线程将所述本地内存中所述冷页面对应的数据迁移至所述其他内存的所述动态随机存取存储器中。
在一示例性实施例中,所述基于所述第二内核线程将所述其他内存中所述热页面对应的数据迁移至所述本地内存中,包括:
若所述本地内存中的所述动态随机存取存储器未满,则基于所述第二内核线程将所述其他内存中所述热页面对应的数据迁移至所述本地内存的所述动态随机存取存储器中;
若所述本地内存中的所述动态随机存取存储器已满,则基于所述第二内核线程将所述其他内存中所述热页面对应的数据迁移至所述本地内存的所述持久性内存中。
在一示例性实施例中,所述基于所述目标虚拟地址在所述地址转换高速缓存中进行物理地址查找之前,还包括:
基于所述目标虚拟地址在所述最后一级缓存中进行数据查找;
若在所述最后一级缓存中查找到所述目标数据,则结束查找;
若在所述最后一级缓存中未查找到所述目标数据,则执行所述基于所述目标虚拟地址在所述地址转换高速缓存中进行物理地址查找的步骤。
在一示例性实施例中,所述对所述本地内存和所述其他内存进行统一编址,包括:
应用机架基址、节点基址、节点内部硬件地址,对所述本地内存和所述其他内存进行统一编址;
所述机架基址包括节点所处机架的基址。
在一示例性实施例中,所述其他内存包括第一级内存和第二级内存,且所述第一级内存与所述目标处理器间的距离小于所述第二级内存与所述目标处理器间的距离。
在一示例性实施例中,所述目标处理器与所述本地内存间通过内存总线相连接。
在一示例性实施例中,所述目标处理器与所述第一级内存间通过一致性互连协议相连接。
在一示例性实施例中,所述目标处理器与所述第二级内存间通过自主高速一致性网络协议相接连。
在一示例性实施例中,所述第一级内存包括与所述目标节点位于同一机架的所述其他节点中的内存。
在一示例性实施例中,所述第一级内存中包括至少两个内存。
在一示例性实施例中,所述第二级内存包括与所述目标节点位于不同机架的所述其他节点中的内存。
在一示例性实施例中,所述第二级内存包括位于同一机架中的至少两个所述其他节点中的内存。
在一示例性实施例中,所述第二级内存包括位于不同机架中的至少两个所述其他节点中的内存。
在一示例性实施例中,所述基于第二内核线程将所述本地内存中所述冷页面对应的数据迁移至所述其他内存中,包括:
若所述第一级内存未满,则基于所述第二内核线程将所述本地内存中所述冷页面对应的数据迁移至所述第一级内存中;
若所述第一级内存已满,则基于所述第二内核线程将所述本地内存中所述冷页面对应的数据迁移至所述第二级内存中。
根据本发明实施例的第二方面,提供一种内存页面管理装置,应用于目标节点中的目标处理器,包括:
第一获取模块,用于获取待访问数据的目标虚拟地址;
第一查找模块,用于基于所述目标虚拟地址在地址转换高速缓存中进行物理地址查找,所述地址转换高速缓存存储有本地内存和其他内存中的目标物理地址及对应的虚拟地址间的映射关系;
第一读取模块,用于若在所述地址转换高速缓存中查找到与所述目标虚拟地址对应的待访问物理地址,则从所述待访问物理地址中读取待访问的目标数据;
第二查找模块,用于若未在所述地址转换高速缓存中查找到所述待访问物理地址,则基于所述目标虚拟地址在本地内存页表和其他内存页表中并行进行物理地址并行查找,若查找到所述待访问物理地址,则从所述待访问物理地址中读取待访问的所述目标数据;
其中,所述本地内存页表包括存储所述本地内存中的物理地址及对应的虚拟地址间的映射关系的页表;所述其他内存页表包括存储所述其他内存中的物理地址及对应的虚拟地址间的映射关系的页表;所述本地内存包括所述目标节点中与所述目标处理器连接的内存,所述其他内存包括所述目标节点之外的其他节点中与所述目标处理器连接的内存。
根据本发明实施例的第三方面,提供一种内存页面管理系统,包括至少两个机架,每个所述机架包括至少两个目标节点,每个所述目标节点均包括目标处理器及内存,所述目标节点的所述目标处理器与位于同一机架内的至少一个另一所述目标节点的所述内存相连,且所述目标节点的所述目标处理器与位于不同机架内的至少一个所述目标节点的所述内存相连;
其中,所述目标处理器用于获取待访问数据的目标虚拟地址;基于所述目标虚拟地址在地址转换高速缓存中进行物理地址查找,所述地址转换高速缓存存储有本地内存和其他内存中的目标物理地址及对应的虚拟地址间的映射关系;若在所述地址转换高速缓存中查找到与所述目标虚拟地址对应的待访问物理地址,则从所述待访问物理地址中读取待访问的目标数据;若未在所述地址转换高速缓存中查找到所述待访问物理地址,则基于所述目标虚拟地址在本地内存页表和其他内存页表中并行进行物理地址查找,若查找到所述待访问物理地址,则从所述待访问物理地址中读取待访问的所述目标数据;且所述本地内存页表包括存储所述本地内存中的物理地址及对应的虚拟地址间的映射关系的页表;所述其他内存页表包括存储所述其他内存中的物理地址及对应的虚拟地址间的映射关系的页表;所述本地内存包括所述目标节点中与所述目标处理器连接的内存,所述其他内存包括所述目标节点之外的其他节点中与所述目标处理器连接的内存。
根据本发明实施例的第四方面,提供一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上任一所述内存页面管理方法的步骤。
根据本发明实施例的第五方面,提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如上任一所述内存页面管理方法的步骤。
本发明提供的一种内存页面管理方法,应用于目标节点中的目标处理器,获取待访问数据的目标虚拟地址;基于目标虚拟地址在地址转换高速缓存中进行物理地址查找,地址转换高速缓存存储有本地内存和其他内存中的目标物理地址及对应的虚拟地址间的映射关系;若在地址转换高速缓存中查找到与目标虚拟地址对应的待访问物理地址,则从待访问物理地址中读取待访问的目标数据;若未在地址转换高速缓存中查找到待访问物理地址,则基于目标虚拟地址在本地内存页表和其他内存页表中并行进行物理地址查找,若查找到待访问物理地址,则从待访问物理地址中读取待访问的目标数据;其中,本地内存页表包括存储本地内存中的物理地址及对应的虚拟地址间的映射关系的页表;其他内存页表包括存储其他内存中的物理地址及对应的虚拟地址间的映射关系的页表;本地内存包括目标节点中与目标处理器连接的内存,其他内存包括目标节点之外的其他节点中与目标处理器连接的内存。本发明的有益效果为:目标处理器连接有本地内存和其他内存,相当于扩大了目标处理器所连接的内存的容量,使得内存可以与目标处理器的性能相匹配;且通过地址转换高速缓存、本地内存页表及其他内存页表对本地内存和其他内存的物理地址进行统一管理,避免了大规模混合内存池化导致的地址映射开销问题;除此之外,在通过其他内存扩大了目标处理器的可用内存之后,可以应用地址转换高速缓存来优先对本地内存和其他内存中目标物理地址存储的数据进行快速查找,可以应用本地内存页表、其他内存页表对本地内存和其他内存中的数据进行准确查找,实现了借助地址转换高速缓存、本地内存页表、其他内存页表来对本地内存和其他内存进行快速、准确的数据管理,提高了处理器工作负载的效率和性能。本发明提供的一种内存页面管理系统、装置、电子设备及计算机可读存储介质也解决了相应技术问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种内存页面管理方法的第一示意图;
图2为本发明实施例提供的一种内存页面管理方法的第二示意图;
图3为本发明实施例提供的一种内存页面管理装置的结构示意图;
图4为本发明实施例提供的一种内存页面管理系统的结构示意图;
图5为应用场景中本发明内存页面管理方法的示意图;
图6为本发明实施例提供的一种电子设备的结构示意图;
图7为本发明实施例提供的一种电子设备的另一结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,图1为本发明实施例提供的一种内存页面管理方法的第一示意图。
本发明实施例提供的一种内存页面管理方法,应用于目标节点中的目标处理器,可以包括以下步骤:
步骤S101:获取待访问数据的目标虚拟地址。
实际应用中,目标处理器可以先获取待访问数据的目标虚拟地址,以便后续根据该目标虚拟地址从内存中读取相应的目标数据。
具体应用场景中,目标处理器所获取的目标虚拟地址可以是目标节点中的应用程序启动后在用户操作下确定的所需查找的数据的虚拟地址等,本发明在此不做具体限定。且需要说明的是,本发明中的目标处理器指的是运行本发明方法的处理器,目标节点指的是目标处理器所处的节点。
步骤S102:基于目标虚拟地址在地址转换高速缓存中进行物理地址查找,地址转换高速缓存存储有本地内存和其他内存中的目标物理地址及对应的虚拟地址间的映射关系。
实际应用中,目标处理器在获取待访问数据的目标虚拟地址之后,便可以基于目标虚拟地址在地址转换高速缓存(Translation Lookaside Buffer,TLB)中进行物理地址查找,且地址转换高速缓存存储有本地内存和其他内存中的目标物理地址及对应的虚拟地址间的映射关系。也即本发明中将存储有本地内存和其他内存中的目标物理地址及对应的虚拟地址间的映射关系放在地址转换高速缓存中进行管理,且在查找数据时优先从该地址转换高速缓存中进行查找,这样可以快速从目标物理地址中获取相应数据。
需要说明的是,数据的物理地址用于在内存层面对数据进行管理,数据的虚拟地址用于在内存之外,比如在操作层面对数据进行管理,也即一个数据会同时存在虚拟地址和物理地址,且数据的虚拟地址和物理地址一一对应,所以在内存中查找数据时,需先基于数据的虚拟地址确定数据在内存中的物理地址,再从内存的该物理地址中读取出相应数据步骤S103:若在地址转换高速缓存中查找到与目标虚拟地址对应的待访问物理地址,则从待访问物理地址中读取待访问的目标数据。
步骤S104:若未在地址转换高速缓存中查找到待访问物理地址,则基于目标虚拟地址在本地内存页表和其他内存页表中并行进行物理地址查找,若查找到待访问物理地址,则从待访问物理地址中读取待访问的目标数据;其中,本地内存页表包括存储本地内存中的物理地址及对应的虚拟地址间的映射关系的页表;其他内存页表包括存储其他内存中的物理地址及对应的虚拟地址间的映射关系的页表;本地内存包括目标节点中与目标处理器连接的内存,其他内存包括目标节点之外的其他节点中与目标处理器连接的内存。
实际应用中,目标处理器如果在地址转换高速缓存中查找到与目标虚拟地址对应的待访问物理地址,则从待访问物理地址对应的内存中读取待访问的目标数据进行反馈,比如反馈给应用程序等。相应的,目标处理器如果未在地址转换高速缓存中查找到待访问物理地址,则需要基于目标虚拟地址在本地内存页表和其他内存页表中并行进行物理地址查找,若查找到待访问物理地址,则从待访问物理地址中读取待访问的目标数据进行反馈。且本地内存页表包括存储本地内存中的物理地址及对应的虚拟地址间的映射关系的页表,其他内存页表包括存储其他内存中的物理地址及对应的虚拟地址间的映射关系的页表,所以目标处理器如果在本地内存页表中查找到待访问地址,则可以从本地内存的该待访问地址中读取目标数据,如果在其他内存页表中查找到待访问地址,则可以从其他内存的该待访问地址中读取目标数据。
需要说明的是,与目标处理器处于同一节点中的内存被称为本地内存,而其他内存也即目标节点之外的其他节点中的内存,换言之,其他节点中与目标处理器连接的内存被称为其他内存,本地内存、其他内存的大小、类型等可以根据应用场景来确定,本发明在此不做具体限定。
本发明提供的一种内存页面管理方法,应用于目标节点中的目标处理器,获取待访问数据的目标虚拟地址;基于目标虚拟地址在地址转换高速缓存中进行物理地址查找,地址转换高速缓存存储有本地内存和其他内存中的目标物理地址及对应的虚拟地址间的映射关系;若在地址转换高速缓存中查找到与目标虚拟地址对应的待访问物理地址,则从待访问物理地址中读取待访问的目标数据;若未在地址转换高速缓存中查找到待访问物理地址,则基于目标虚拟地址在本地内存页表和其他内存页表中并行进行物理地址查找,若查找到待访问物理地址,则从待访问物理地址中读取待访问的目标数据;其中,本地内存页表包括存储本地内存中的物理地址及对应的虚拟地址间的映射关系的页表;其他内存页表包括存储其他内存中的物理地址及对应的虚拟地址间的映射关系的页表;本地内存包括目标节点中与目标处理器连接的内存,其他内存包括目标节点之外的其他节点中与目标处理器连接的内存。本发明中,目标处理器连接有本地内存和其他内存,相当于扩大了目标处理器所连接的内存的容量,使得内存可以与目标处理器的性能相匹配;且通过地址转换高速缓存、本地内存页表及其他内存页表对本地内存和其他内存的物理地址进行统一管理,避免了大规模混合内存池化导致的地址映射开销问题;除此之外,在通过其他内存扩大了目标处理器的可用内存之后,可以应用地址转换高速缓存来优先对本地内存和其他内存中目标物理地址存储的数据进行快速查找,可以应用本地内存页表、其他内存页表对本地内存和其他内存中的数据进行准确查找,实现了借助地址转换高速缓存、本地内存页表、其他内存页表来对本地内存和其他内存进行快速、准确的数据管理,提高了处理器工作负载的效率和性能。
请参阅图2,图2为本发明实施例提供的一种内存页面管理方法的第二示意图。本发明实施例提供的一种内存页面管理方法,应用于目标节点中的目标处理器,可以包括以下步骤:
步骤S201:获取目标节点中与目标处理器连接的本地内存。
步骤S202:获取与目标处理器连接的其他内存,其他内存包括目标节点之外的其他节点中的内存。
步骤S203:对本地内存和其他内存进行统一编址,得到各个内存的物理地址,以筛选出本地内存和其他内存中存储第一热度数据的物理地址作为目标物理地址,热度数据包括满足热访问条件的数据,基于目标物理地址及对应的虚拟地址生成地址转换高速缓存,基于本地内存中除目标物理地址之外的其他物理地址及对应的虚拟地址生成本地内存页表,基于其他内存中除目标物理地址之外的其他物理地址及对应的虚拟地址生成其他内存页表。
实际应用中,目标处理器在获取本地内存和其他内存之后,便可以对本地内存和其他内存进行统一编址,得到各个内存的物理地址,以便目标处理器可以准确对每块内存进行准确管控,且便于操作系统等应用该物理地址生成相应的地址转换高速缓存、本地内存页表和其他内存页表。
具体应用场景中,在对本地内存和其他内存进行统一编址的过程中,可以应用机架基址、节点基址、节点内部硬件地址,使用树形结构来对本地内存和其他内存进行统一编址;且机架基址包括节点所处机架的基址。比如可以将机架地址+节点地址+节点内部硬件地址作为内存的物理地址等,且在实际应用中,还可以引入虚拟根节点来进一步扩充物理地址,比如可以将虚拟根节点+机架地址+节点地址+节点内部硬件地址作为内存的物理地址等,其中机架地址可以为机架的唯一标识号,节点地址可以为节点的唯一标识号,虚拟根节点可以为独立的机架系统的唯一标识号等。
实际应用中,目标处理器在得到各个内存的物理地址之后,操作系统等便可以应用内存的物理地址对内存进行数据管理,在此过程中,考虑到内存中存储有热度数据,热度数据也即满足访问频率、访问次数等大于设定值的热访问条件的数据,为了能够快速对热度数据及其他数据进行准确管理,且能够对本地内存和其他内存中的数据进行准确管理,操作系统等可以筛选出本地内存和其他内存中存储第一热度数据的物理地址作为目标物理地址,将目标物理地址及对应的虚拟地址间的映射关系存储至地址转换高速缓存中,将本地内存中除目标物理地址之外的其他物理地址及对应的虚拟地址间的映射关系存储至本地内存页表中,将其他内存中除目标物理地址之外的其他物理地址及对应的虚拟地址间的映射关系存储至其他内存页表中,当然,也可以将本地内存中所有的物理地址及对应的虚拟地址间的映射关系存储至本地内存页表中,将其他内存页表中所有的物理地址及对应的虚拟地址间的映射关系存储至其他内存页表中等,以基于地址转换高速缓存、本地内存页表、其他内存页表进行内存页面管理。
实际应用中,为了进一步加快目标处理器查找目标数据的效率,操作系统等在筛选出本地内存和其他内存中存储第一热度数据的物理地址作为目标物理地址之前,还可以筛选出本地内存和其他内存中存储的第二热度数据,第二热度数据的热度高于第一热度数据;直接将第二热度数据存储至最后一级缓存(Last Level Cache,LLC)中,以基于最后一级缓存进行数据访问处理。相应的,目标处理器在基于目标虚拟地址在地址转换高速缓存中进行物理地址查找之前,还可以先基于目标虚拟地址在最后一级缓存中进行数据查找;若在最后一级缓存中查找到目标数据,则结束查找;若在最后一级缓存中未查找到目标数据,则执行基于目标虚拟地址在地址转换高速缓存中进行物理地址查找的步骤。
实际应用中,随着内存访问次数的增加,有些数据会被多次访问,而有些数据却很少被访问,且受限于本地内存和其他内存的访问速度,会使得目标处理器从本地内存和其他内存中读取数据的速度不一致,而有些应用场景需要目标处理器能够快速反馈内存中的数据,为了满足此种应用需求,提高目标处理器对内存的访问存储效率,考虑到目标处理器访问本地内存的速度优于其他内存,所以目标处理器可以基于第一内核线程对最后一级缓存、地址转换高速缓存、本地内存页表和其他内存页表进行使用热度监测,得到页面使用冷热图,页面使用冷热图中的冷页面存储使用热度低于预设值的虚拟地址及物理地址的映射关系,页面使用冷热图中的热页面存储使用热度高于预设值的虚拟地址及物理地址的映射关系,也即冷页面用于存储冷数据的虚拟地址及物理地址间的映射关系,热页面用于存储热度数据的虚拟地址及物理地址间的映射关系;按照页面使用冷热图,基于第二内核线程将本地内存中冷页面对应的数据迁移至其他内存中,基于第二内核线程将其他内存中热页面对应的数据迁移至本地内存中,更新地址转换高速缓存、本地内存页表和其他内存页表中的映射关系。
具体的,可以基于第二内核线程将本地内存中冷页面记录的物理地址中的冷数据迁移至其他内存中,在本地内存页表中删除该冷数据的虚拟地址及旧物理地址间的映射关系,在其他内存页表中新增该冷数据的虚拟地址及最新物理地址间的映射关系,如果该冷数据之前在地址转换高速缓存中,还需删除地址转换高速缓存中该冷数据的虚拟地址及旧物理地址间的映射关系;基于第二内核线程将其他内存中热页面记录的物理地址中的热数据迁移至其他内存中,在其他内存页表中删除该热数据的虚拟地址及旧物理地址间的映射关系,在本地内存页表中新增该热数据的虚拟地址及最新物理地址间的映射关系,如果该热数据之前在地址转换高速缓存中,还需更新地址转换高速缓存中该热数据的虚拟地址及最新物理地址间的映射关系;其中的旧物理地址指的是数据迁移前的物理地址,最新物理地址指的是数据迁移后的物理地址。
具体应用场景中,本地内存和其他内存的类型可以根据实际需要确定,比如本地内存和其他内存均可以由(Dynamic Random Access Memory,DRAM)和持久性内存(Persistent memory,PM)组成等。
具体应用场景中,考虑到动态随机存取存储器的性能优于持久性内存,所以目标处理器在基于第二内核线程将本地内存中冷页面对应的数据迁移至其他内存中的过程中,若其他内存中的持久性内存未满,则可以基于第二内核线程将本地内存中冷页面对应的数据迁移至其他内存的持久性内存中;若其他内存中的持久性内存已满,则基于第二内核线程将本地内存中冷页面对应的数据迁移至其他内存的动态随机存取存储器中。相应的,在基于第二内核线程将其他内存中热页面对应的数据迁移至本地内存中的过程中,若本地内存中的动态随机存取存储器未满,则可以基于第二内核线程将其他内存中热页面对应的数据迁移至本地内存的动态随机存取存储器中;若本地内存中的动态随机存取存储器已满,则基于第二内核线程将其他内存中热页面对应的数据迁移至本地内存的持久性内存中。这样一来,目标处理器可以优先从本地内存的动态随机存取存储器中读取到使用较多的热页面,由于热页面中的物理地址所对应的内存数据为热数据,所以目标处理器可以通过优先获取热页面来获取所记录的热数据,提高了热数据的获取效率。
具体应用场景中,还可以进一步将本地内存的持久性内存中存储的热页面对应的数据转存至本地内存的动态随机存取存储器中,将其他内存的动态随机存取存储器中存储的冷页面对应的数据转存至其他内存的持久性内存中等,以进一步加快目标处理器对目标数据的访问效率。
实际应用中,其他内存的种类可以根据实际需要确定,比如可以根据内存距目标处理器的距离来将其他内存进行分类,相应的,目标处理器在获取与目标处理器连接的其他内存的过程中,可以获取与目标处理器连接的其他内存,其他内存包括第一级内存和第二级内存,且第一级内存与目标处理器间的距离小于第二级内存与目标处理器间的距离。
具体应用场景中,为了便于连通目标处理器与内存,目标处理器与本地内存间可以通过内存总线相连接。目标处理器与第一级内存间可以通过一致性互连协议相连接。目标处理器与第二级内存间可以通过自主高速一致性网络协议相接连。
具体应用场景中,为了便于获得第一级内存,可以设置第一级内存为与目标节点位于同一机架的其他节点中的内存,且第一级内存中可以包括至少两个内存等。
具体应用场景中,为了便于获得第二级内存,可以设置第二级内存为与目标节点位于不同机架的其他节点中的内存,且第二级内存可以包括位于同一机架中的至少两个其他节点中的内存,或者第二级内存可以包括位于不同机架中的至少两个其他节点中的内存等。
具体应用场景中,目标处理器在基于第二内核线程将本地内存中冷页面对应的数据迁移至其他内存中的过程中,可以优先将冷页面数据的数据迁移至第一级内存中,也即若第一级内存未满,则基于第二内核线程将本地内存中冷页面对应的数据迁移至第一级内存中;若第一级内存已满,则基于第二内核线程将本地内存中冷页面对应的数据迁移至第二级内存中。
步骤S204:获取待访问数据的目标虚拟地址。
步骤S205:基于目标虚拟地址在地址转换高速缓存中进行物理地址查找,地址转换高速缓存存储有本地内存和其他内存中的目标物理地址及对应的虚拟地址间的映射关系。
步骤S206:若在地址转换高速缓存中查找到与目标虚拟地址对应的待访问物理地址,则从待访问物理地址中读取待访问的目标数据。
需要说明的是,由于目标物理地址为存储第一热度数据的物理地址,所以本实施例中,目标处理器从地址转换高速缓存中优先查找到的是本地内存和其他内存中的热度数据,换言之,目标物理地址所存储的数据类型决定了目标处理器优先从本地内存和其他内存中所查找到数据的类型。
步骤S207:若未在地址转换高速缓存中查找到待访问物理地址,则基于目标虚拟地址在本地内存页表和其他内存页表中并行进行物理地址查找,若查找到待访问物理地址,则从待访问物理地址中读取待访问的目标数据。
请参阅图3,图3为本发明实施例提供的一种内存页面管理装置的结构示意图。
本发明实施例提供的一种内存页面管理装置,应用于目标节点中的目标处理器,可以包括:
第一获取模块11,用于获取待访问数据的目标虚拟地址;
第一查找模块12,用于基于目标虚拟地址在地址转换高速缓存中进行物理地址查找,地址转换高速缓存存储有本地内存和其他内存中的目标物理地址及对应的虚拟地址间的映射关系;
第一读取模块13,用于若在地址转换高速缓存中查找到与目标虚拟地址对应的待访问物理地址,则从待访问物理地址中读取待访问的目标数据;
第二查找模块14,用于若未在地址转换高速缓存中查找到待访问物理地址,则基于目标虚拟地址在本地内存页表和其他内存页表中并行进行物理地址查找,若查找到待访问物理地址,则从待访问物理地址中读取待访问的目标数据;
其中,本地内存页表包括存储本地内存中的物理地址及对应的虚拟地址间的映射关系的页表;其他内存页表包括存储其他内存中的物理地址及对应的虚拟地址间的映射关系的页表;本地内存包括目标节点中与目标处理器连接的内存,其他内存包括目标节点之外的其他节点中与目标处理器连接的内存。
本发明实施例提供的一种内存页面管理装置,应用于目标节点中的目标处理器,还可以包括:
第二获取模块,用于第一获取模块获取待访问数据的目标虚拟地址之前,获取本地内存;
第三获取模块,用于获取其他内存;
编址模块,用于对本地内存和其他内存进行统一编址,得到各个内存的物理地址,以筛选出本地内存和其他内存中存储第一热度数据的物理地址作为目标物理地址,热度数据包括满足热访问条件的数据,基于目标物理地址及对应的虚拟地址生成地址转换高速缓存,基于本地内存中除目标物理地址之外的其他物理地址及对应的虚拟地址生成本地内存页表,基于其他内存中除目标物理地址之外的其他物理地址及对应的虚拟地址生成其他内存页表。
本发明实施例提供的一种内存页面管理装置,应用于目标节点中的目标处理器,还可以包括:
监测模块,用于基于第一内核线程对最后一级缓存、地址转换高速缓存、本地内存页表和其他内存页表中的页面进行使用热度监测,得到页面使用冷热图,页面使用冷热图中的冷页面存储使用热度低于预设值的虚拟地址及物理地址的映射关系,页面使用冷热图中的热页面存储使用热度高于预设值的虚拟地址及物理地址的映射关系;
迁移模块,用于按照页面使用冷热图,基于第二内核线程将本地内存中冷页面对应的数据迁移至其他内存中,基于第二内核线程将其他内存中热页面对应的数据迁移至本地内存中,更新地址转换高速缓存、本地内存页表和其他内存页表中的映射关系;
其中,最后一级缓存中存储有热度高于第一热度数据的第二热度数据。
本发明实施例提供的一种内存页面管理装置,应用于目标节点中的目标处理器,本地内存和其他内存均由动态随机存取存储器和持久性内存组成。
本发明实施例提供的一种内存页面管理装置,应用于目标节点中的目标处理器,迁移模块可以具体用于:若其他内存中的持久性内存未满,则基于第二内核线程将本地内存中冷页面对应的数据迁移至其他内存的持久性内存中;若其他内存中的持久性内存已满,则基于第二内核线程将本地内存中冷页面对应的数据迁移至其他内存的动态随机存取存储器中。
本发明实施例提供的一种内存页面管理装置,应用于目标节点中的目标处理器,迁移模块可以具体用于:若本地内存中的动态随机存取存储器未满,则基于第二内核线程将其他内存中热页面对应的迁移至本地内存的动态随机存取存储器中;若本地内存中的动态随机存取存储器已满,则基于第二内核线程将其他内存中热页面对应的数据迁移至本地内存的持久性内存中。
本发明实施例提供的一种内存页面管理装置,应用于目标节点中的目标处理器,还可以包括:
第三查找模块,用于第一查找模块基于目标虚拟地址在地址转换高速缓存中进行物理地址查找之前,基于目标虚拟地址在最后一级缓存中进行数据查找;若在最后一级缓存中查找到目标数据,则结束查找;若在最后一级缓存中未查找到目标数据,则提示管理模块执行基于目标虚拟地址在地址转换高速缓存中进行物理地址查找的步骤。
本发明实施例提供的一种内存页面管理装置,应用于目标节点中的目标处理器,编址模块可以具体用于:应用机架基址、节点基址、节点内部硬件地址,对本地内存和其他内存进行统一编址;机架基址包括节点所处机架的基址。
本发明实施例提供的一种内存页面管理装置,应用于目标节点中的目标处理器,其他内存包括第一级内存和第二级内存,且第一级内存与目标处理器间的距离小于第二级内存与目标处理器间的距离。
本发明实施例提供的一种内存页面管理装置,应用于目标节点中的目标处理器,目标处理器与本地内存间通过内存总线相连接。
本发明实施例提供的一种内存页面管理装置,应用于目标节点中的目标处理器,目标处理器与第一级内存间通过一致性互连协议相连接。
本发明实施例提供的一种内存页面管理装置,应用于目标节点中的目标处理器,目标处理器与第二级内存间通过自主高速一致性网络协议相接连。
本发明实施例提供的一种内存页面管理装置,应用于目标节点中的目标处理器,第一级内存包括与目标节点位于同一机架的其他节点中的内存。
本发明实施例提供的一种内存页面管理装置,应用于目标节点中的目标处理器,第一级内存中包括至少两个内存。
本发明实施例提供的一种内存页面管理装置,应用于目标节点中的目标处理器,第二级内存包括与目标节点位于不同机架的其他节点中的内存。
本发明实施例提供的一种内存页面管理装置,应用于目标节点中的目标处理器,第二级内存包括位于同一机架中的至少两个其他节点中的内存。
本发明实施例提供的一种内存页面管理装置,应用于目标节点中的目标处理器,第二级内存包括位于不同机架中的至少两个其他节点中的内存。
本发明实施例提供的一种内存页面管理装置,应用于目标节点中的目标处理器,迁移模块可以具体用于:若第一级内存未满,则基于第二内核线程将本地内存中冷页面对应的数据迁移至第一级内存中;若第一级内存已满,则基于第二内核线程将本地内存中冷页面对应的数据迁移至第二级内存中。
请参阅图4,图4为本发明实施例提供的一种内存页面管理系统的结构示意图,其中示出了n个机架。
本发明实施例提供的一种内存页面管理系统,可以包括至少两个机架,每个机架包括至少两个目标节点,每个目标节点均包括目标处理器及内存,目标节点的目标处理器与位于同一机架内的至少一个另一目标节点的内存相连,且目标节点的目标处理器与位于不同机架内的至少一个目标节点的内存相连;
其中,目标处理器用于获取待访问数据的目标虚拟地址;基于目标虚拟地址在地址转换高速缓存中进行物理地址查找,地址转换高速缓存存储有本地内存和其他内存中的目标物理地址及对应的虚拟地址间的映射关系;若在地址转换高速缓存中查找到与目标虚拟地址对应的待访问物理地址,则从待访问物理地址中读取待访问的目标数据;若未在地址转换高速缓存中查找到待访问物理地址,则基于目标虚拟地址在本地内存页表和其他内存页表中并行进行物理地址查找,若查找到待访问物理地址,则从待访问物理地址中读取待访问的目标数据;且本地内存页表包括存储本地内存中的物理地址及对应的虚拟地址间的映射关系的页表;其他内存页表包括存储其他内存中的物理地址及对应的虚拟地址间的映射关系的页表;本地内存包括目标节点中与目标处理器连接的内存,其他内存包括目标节点之外的其他节点中与目标处理器连接的内存。
关于本发明实施例提供的一种内存页面管理系统的相应描述可以参阅上述实施例,在此不在赘述。
请参阅图5,为了便于理解本发明方案,现结合应用程序来对本发明内存页面管理方案进行描述,该过程包括以下步骤:
应用程序启动;
确定各内存节点级别,比如将机架1的节点1中的内存确定为本地内存,将机架1的节点2中的内存确定为远内存,将机架n的节点1中的内存确定为远程内存;
唤醒两个内核线程,第一内核线程用于页面热度实时监测,比如使用时间精确采样机制PEBS (Precise Event-Based Sampling) 实现最后一级缓存和地址转换高速缓存未命中抽样,获取虚拟地址空间近期操作信息,生成页面使用冷热图;第二内核线程定期交替读取页面热图数据和冷图数据,若读取到热图且不在本地内存,则将热图对应的页面数据移动到本地内存,若已在本地内存则不移动,若读取到冷图且在本地内存,则将冷图对应的页面数据移动到远内存或远程内存,若不在本地内存则不移动;
应用程序第n次访问内存;
判断是否查找地址转换高速缓存命中,若是,则返回编址得到的多层级内存系统统一物理地址进行访问;若否,则并行查找本地内存的页表、远内存的页表、远程内存的页表,返回编址得到的多层级内存系统统一物理地址进行访问。
本发明还提供了一种电子设备及计算机可读存储介质,其均具有本发明实施例提供的一种内存页面管理方法具有的对应效果。请参阅图6,图6为本发明实施例提供的一种电子设备的结构示意图。
本发明实施例提供的一种电子设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如上任一实施例所描述内存页面管理方法的步骤。
请参阅图7,本发明实施例提供的另一种电子设备中还可以包括:与处理器202连接的输入端口203,用于传输外界输入的命令至处理器202;与处理器202连接的显示单元204,用于显示处理器202的处理结果至外界;与处理器202连接的通信模块205,用于实现电子设备与外界的通信。显示单元204可以为显示面板、激光扫描使显示器等;通信模块205所采用的通信方式包括但不局限于移动高清链接技术(Mobile High-Definition Link,MHL)、通用串行总线(Universal Serial Bus,USB)、高清多媒体接口(High-DefinitionMultimedia Interface,HDMI)、无线连接:无线保真技术(WIreless Fidelity,WiFi)、蓝牙通信技术、低功耗蓝牙通信技术、基于IEEE802.11s的通信技术。
本发明实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如上任一实施例所描述内存页面管理方法的步骤。
本发明所涉及的计算机可读存储介质包括随机存储器(Random Access Memory,RAM)、内存、只读存储器(Read-Only Memory,ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM(Compact Disc Read-Only Memory,只读光盘)、或技术领域内所公知的任意其它形式的存储介质。
本发明实施例提供的内存页面管理系统、装置、电子设备及计算机可读存储介质中相关部分的说明请参见本发明实施例提供的内存页面管理方法中对应部分的详细说明,在此不再赘述。另外,本发明实施例提供的上述技术方案中与现有技术中对应技术方案实现原理一致的部分并未详细说明,以免过多赘述。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (22)

1.一种内存页面管理方法,其特征在于,应用于目标节点中的目标处理器,包括:
获取待访问数据的目标虚拟地址;
基于所述目标虚拟地址在地址转换高速缓存中进行物理地址查找,所述地址转换高速缓存存储有本地内存和其他内存中的目标物理地址及对应的虚拟地址间的映射关系;
若在所述地址转换高速缓存中查找到与所述目标虚拟地址对应的待访问物理地址,则从所述待访问物理地址中读取待访问的目标数据;
若未在所述地址转换高速缓存中查找到所述待访问物理地址,则基于所述目标虚拟地址在本地内存页表和其他内存页表中并行进行物理地址查找,若查找到所述待访问物理地址,则从所述待访问物理地址中读取待访问的所述目标数据;
其中,所述本地内存页表包括存储所述本地内存中的物理地址及对应的虚拟地址间的映射关系的页表;所述其他内存页表包括存储所述其他内存中的物理地址及对应的虚拟地址间的映射关系的页表;所述本地内存包括所述目标节点中与所述目标处理器连接的内存,所述其他内存包括所述目标节点之外的其他节点中与所述目标处理器连接的内存。
2.根据权利要求1所述的方法,其特征在于,还包括:
获取所述本地内存;
获取所述其他内存;
对所述本地内存和所述其他内存进行统一编址,得到各个内存的物理地址,以筛选出所述本地内存和所述其他内存中存储第一热度数据的物理地址作为所述目标物理地址,所述热度数据包括满足热访问条件的数据,基于所述目标物理地址及对应的虚拟地址生成所述地址转换高速缓存,基于所述本地内存中除所述目标物理地址之外的其他物理地址及对应的虚拟地址生成所述本地内存页表,基于所述其他内存中除所述目标物理地址之外的其他物理地址及对应的虚拟地址生成所述其他内存页表。
3.根据权利要求2所述的方法,其特征在于,还包括:
基于第一内核线程对最后一级缓存、所述地址转换高速缓存、所述本地内存页表和所述其他内存页表进行使用热度监测,得到页面使用冷热图,所述页面使用冷热图中的冷页面存储使用热度低于预设值的虚拟地址及物理地址的映射关系,所述页面使用冷热图中的热页面存储使用热度高于所述预设值的虚拟地址及物理地址的映射关系;
按照所述页面使用冷热图,基于第二内核线程将所述本地内存中所述冷页面对应的数据迁移至所述其他内存中,基于所述第二内核线程将所述其他内存中所述热页面对应的数据迁移至所述本地内存中,更新所述地址转换高速缓存、所述本地内存页表和所述其他内存页表中的映射关系;
其中,所述最后一级缓存中存储有热度高于所述第一热度数据的第二热度数据。
4.根据权利要求3所述的方法,其特征在于,所述本地内存和所述其他内存均由动态随机存取存储器和持久性内存组成。
5.根据权利要求4所述的方法,其特征在于,所述基于第二内核线程将所述本地内存中所述冷页面对应的数据迁移至所述其他内存中,包括;
若所述其他内存中的所述持久性内存未满,则基于所述第二内核线程将所述本地内存中所述冷页面对应的数据迁移至所述其他内存的所述持久性内存中;
若所述其他内存中的所述持久性内存已满,则基于所述第二内核线程将所述本地内存中所述冷页面对应的数据迁移至所述其他内存的所述动态随机存取存储器中。
6.根据权利要求4所述的方法,其特征在于,所述基于所述第二内核线程将所述其他内存中所述热页面对应的数据迁移至所述本地内存中,包括:
若所述本地内存中的所述动态随机存取存储器未满,则基于所述第二内核线程将所述其他内存中所述热页面对应的数据迁移至所述本地内存的所述动态随机存取存储器中;
若所述本地内存中的所述动态随机存取存储器已满,则基于所述第二内核线程将所述其他内存中所述热页面对应的数据迁移至所述本地内存的所述持久性内存中。
7.根据权利要求3所述的方法,其特征在于,所述基于所述目标虚拟地址在所述地址转换高速缓存中进行物理地址查找之前,还包括:
基于所述目标虚拟地址在所述最后一级缓存中进行数据查找;
若在所述最后一级缓存中查找到所述目标数据,则结束查找;
若在所述最后一级缓存中未查找到所述目标数据,则执行所述基于所述目标虚拟地址在所述地址转换高速缓存中进行物理地址查找的步骤。
8.根据权利要求3所述的方法,其特征在于,所述对所述本地内存和所述其他内存进行统一编址,包括:
应用机架基址、节点基址、节点内部硬件地址,对所述本地内存和所述其他内存进行统一编址;
所述机架基址包括节点所处机架的基址。
9.根据权利要求3所述的方法,其特征在于,所述其他内存包括第一级内存和第二级内存,且所述第一级内存与所述目标处理器间的距离小于所述第二级内存与所述目标处理器间的距离。
10.根据权利要求9所述的方法,其特征在于,所述目标处理器与所述本地内存间通过内存总线相连接。
11.根据权利要求9所述的方法,其特征在于,所述目标处理器与所述第一级内存间通过一致性互连协议相连接。
12.根据权利要求9所述的方法,其特征在于,所述目标处理器与所述第二级内存间通过自主高速一致性网络协议相接连。
13.根据权利要求9所述的方法,其特征在于,所述第一级内存包括与所述目标节点位于同一机架的所述其他节点中的内存。
14.根据权利要求13所述的方法,其特征在于,所述第一级内存中包括至少两个内存。
15.根据权利要求9所述的方法,其特征在于,所述第二级内存包括与所述目标节点位于不同机架的所述其他节点中的内存。
16.根据权利要求15所述的方法,其特征在于,所述第二级内存包括位于同一机架中的至少两个所述其他节点中的内存。
17.根据权利要求15所述的方法,其特征在于,所述第二级内存包括位于不同机架中的至少两个所述其他节点中的内存。
18.根据权利要求9所述的方法,其特征在于,所述基于第二内核线程将所述本地内存中所述冷页面对应的数据迁移至所述其他内存中,包括:
若所述第一级内存未满,则基于所述第二内核线程将所述本地内存中所述冷页面对应的数据迁移至所述第一级内存中;
若所述第一级内存已满,则基于所述第二内核线程将所述本地内存中所述冷页面对应的数据迁移至所述第二级内存中。
19.一种内存页面管理装置,其特征在于,应用于目标节点中的目标处理器,包括:
第一获取模块,用于获取待访问数据的目标虚拟地址;
第一查找模块,用于基于所述目标虚拟地址在地址转换高速缓存中进行物理地址查找,所述地址转换高速缓存存储有本地内存和其他内存中的目标物理地址及对应的虚拟地址间的映射关系;
第一读取模块,用于若在所述地址转换高速缓存中查找到与所述目标虚拟地址对应的待访问物理地址,则从所述待访问物理地址中读取待访问的目标数据;
第二查找模块,用于若未在所述地址转换高速缓存中查找到所述待访问物理地址,则基于所述目标虚拟地址在本地内存页表和其他内存页表中并行进行物理地址并行查找,若查找到所述待访问物理地址,则从所述待访问物理地址中读取待访问的所述目标数据;
其中,所述本地内存页表包括存储所述本地内存中的物理地址及对应的虚拟地址间的映射关系的页表;所述其他内存页表包括存储所述其他内存中的物理地址及对应的虚拟地址间的映射关系的页表;所述本地内存包括所述目标节点中与所述目标处理器连接的内存,所述其他内存包括所述目标节点之外的其他节点中与所述目标处理器连接的内存。
20.一种内存页面管理系统,其特征在于,包括至少两个机架,每个所述机架包括至少两个目标节点,每个所述目标节点均包括目标处理器及内存,所述目标节点的所述目标处理器与位于同一机架内的至少一个另一所述目标节点的所述内存相连,且所述目标节点的所述目标处理器与位于不同机架内的至少一个所述目标节点的所述内存相连;
其中,所述目标处理器用于获取待访问数据的目标虚拟地址;基于所述目标虚拟地址在地址转换高速缓存中进行物理地址查找,所述地址转换高速缓存存储有本地内存和其他内存中的目标物理地址及对应的虚拟地址间的映射关系;若在所述地址转换高速缓存中查找到与所述目标虚拟地址对应的待访问物理地址,则从所述待访问物理地址中读取待访问的目标数据;若未在所述地址转换高速缓存中查找到所述待访问物理地址,则基于所述目标虚拟地址在本地内存页表和其他内存页表中并行进行物理地址查找,若查找到所述待访问物理地址,则从所述待访问物理地址中读取待访问的所述目标数据;且所述本地内存页表包括存储所述本地内存中的物理地址及对应的虚拟地址间的映射关系的页表;所述其他内存页表包括存储所述其他内存中的物理地址及对应的虚拟地址间的映射关系的页表;所述本地内存包括所述目标节点中与所述目标处理器连接的内存,所述其他内存包括所述目标节点之外的其他节点中与所述目标处理器连接的内存。
21.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至18任一项所述内存页面管理方法的步骤。
22.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至18任一项所述内存页面管理方法的步骤。
CN202310928102.9A 2023-07-27 2023-07-27 一种内存页面管理方法、系统、装置、设备及计算机介质 Active CN116644006B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310928102.9A CN116644006B (zh) 2023-07-27 2023-07-27 一种内存页面管理方法、系统、装置、设备及计算机介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310928102.9A CN116644006B (zh) 2023-07-27 2023-07-27 一种内存页面管理方法、系统、装置、设备及计算机介质

Publications (2)

Publication Number Publication Date
CN116644006A true CN116644006A (zh) 2023-08-25
CN116644006B CN116644006B (zh) 2023-11-03

Family

ID=87623392

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310928102.9A Active CN116644006B (zh) 2023-07-27 2023-07-27 一种内存页面管理方法、系统、装置、设备及计算机介质

Country Status (1)

Country Link
CN (1) CN116644006B (zh)

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8543792B1 (en) * 2006-09-19 2013-09-24 Nvidia Corporation Memory access techniques including coalesing page table entries
US20140013074A1 (en) * 2012-06-12 2014-01-09 Oracle International Corporation Combining a remote tlb lookup and a subsequent cache miss into a single coherence operation
CN106560798A (zh) * 2015-09-30 2017-04-12 杭州华为数字技术有限公司 一种内存访问方法、装置及计算机系统
CN106843772A (zh) * 2017-02-14 2017-06-13 郑州云海信息技术有限公司 一种基于一致性总线扩展非易失内存的系统及方法
CN108804350A (zh) * 2017-04-27 2018-11-13 华为技术有限公司 一种内存访问方法及计算机系统
CN109213694A (zh) * 2017-06-30 2019-01-15 伊姆西Ip控股有限责任公司 用于缓存管理的方法和设备
CN113868155A (zh) * 2021-11-30 2021-12-31 苏州浪潮智能科技有限公司 一种内存空间扩展方法、装置及电子设备和存储介质
CN114817081A (zh) * 2022-03-02 2022-07-29 阿里巴巴(中国)有限公司 内存访问方法、装置和输入输出内存管理单元
CN114840445A (zh) * 2022-03-02 2022-08-02 阿里巴巴(中国)有限公司 内存访问方法和装置
CN115718620A (zh) * 2022-11-22 2023-02-28 科东(广州)软件科技有限公司 一种代码程序迁移方法、装置、设备和存储介质
CN115794669A (zh) * 2021-09-11 2023-03-14 华为技术有限公司 一种扩展内存的方法、装置及相关设备
CN116383102A (zh) * 2023-05-30 2023-07-04 北京微核芯科技有限公司 转译后备缓冲器访问方法、装置、设备及存储介质

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8543792B1 (en) * 2006-09-19 2013-09-24 Nvidia Corporation Memory access techniques including coalesing page table entries
US20140013074A1 (en) * 2012-06-12 2014-01-09 Oracle International Corporation Combining a remote tlb lookup and a subsequent cache miss into a single coherence operation
CN106560798A (zh) * 2015-09-30 2017-04-12 杭州华为数字技术有限公司 一种内存访问方法、装置及计算机系统
CN106843772A (zh) * 2017-02-14 2017-06-13 郑州云海信息技术有限公司 一种基于一致性总线扩展非易失内存的系统及方法
CN108804350A (zh) * 2017-04-27 2018-11-13 华为技术有限公司 一种内存访问方法及计算机系统
CN109213694A (zh) * 2017-06-30 2019-01-15 伊姆西Ip控股有限责任公司 用于缓存管理的方法和设备
CN115794669A (zh) * 2021-09-11 2023-03-14 华为技术有限公司 一种扩展内存的方法、装置及相关设备
CN113868155A (zh) * 2021-11-30 2021-12-31 苏州浪潮智能科技有限公司 一种内存空间扩展方法、装置及电子设备和存储介质
CN114817081A (zh) * 2022-03-02 2022-07-29 阿里巴巴(中国)有限公司 内存访问方法、装置和输入输出内存管理单元
CN114840445A (zh) * 2022-03-02 2022-08-02 阿里巴巴(中国)有限公司 内存访问方法和装置
CN115718620A (zh) * 2022-11-22 2023-02-28 科东(广州)软件科技有限公司 一种代码程序迁移方法、装置、设备和存储介质
CN116383102A (zh) * 2023-05-30 2023-07-04 北京微核芯科技有限公司 转译后备缓冲器访问方法、装置、设备及存储介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
TAN, YUJUAN等: "GATLB: A Granularity-Aware TLB to Support Multi-Granularity Pages in Hybrid Memory System", 《 PROCEEDINGS OF THE 2022 DESIGN, AUTOMATION & TEST IN EUROPE CONFERENCE & EXHIBITION (DATE 2022)》 *
陈吉;刘海坤;王孝远;张宇;廖小飞;金海;: "一种支持大页的层次化DRAM/NVM混合内存系统", 计算机研究与发展, no. 09 *
陈宇杰: "软硬件协同管理的异构内存缓存机制", 《中国优秀硕士学位论文全文数据库(信息科技辑)》, no. 3 *

Also Published As

Publication number Publication date
CN116644006B (zh) 2023-11-03

Similar Documents

Publication Publication Date Title
EP3608788B1 (en) Internal memory access method and computer system
US9871727B2 (en) Routing lookup method and device and method for constructing B-tree structure
US20150113230A1 (en) Directory storage method and query method, and node controller
CN105740164A (zh) 支持缓存一致性的多核处理器、读写方法、装置及设备
CN109388590B (zh) 提升多通道dma访问性能的动态缓存块管理方法和装置
CN110555001B (zh) 数据处理方法、装置、终端及介质
CN111061655B (zh) 存储设备的地址转换方法与设备
US8621134B2 (en) Storage tiering with minimal use of DRAM memory for header overhead
US9612975B2 (en) Page cache device and method for efficient mapping
TW201220197A (en) for improving the safety and reliability of data storage in a virtual machine based on cloud calculation and distributed storage environment
CN110968269A (zh) 基于scm与ssd的键值存储系统及读写请求处理方法
CN105095113A (zh) 一种缓存管理方法和系统
CN115794669A (zh) 一种扩展内存的方法、装置及相关设备
CN114546898A (zh) 一种tlb管理方法、装置、设备及存储介质
CN114676072A (zh) 数据处理方法以及装置
CN110008030A (zh) 一种元数据访问的方法、系统及设备
WO2014190700A1 (zh) 一种内存访问的方法、缓冲调度器和内存模块
CN107273443B (zh) 一种基于大数据模型元数据的混合索引方法
WO2016206070A1 (zh) 一种文件更新方法及存储设备
CN116644006B (zh) 一种内存页面管理方法、系统、装置、设备及计算机介质
CN113157606A (zh) 一种缓存器实现方法、装置和数据处理设备
CN108804571B (zh) 一种数据存储方法、装置以及设备
CN113986775B (zh) 一种risc-v cpu验证中页表项生成方法、系统及装置
CN104508647B (zh) 用于扩大超大规模计算系统的存储器容量的方法和系统
CN112069088B (zh) 一种地址映射管理方法及相关装置、设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant