针对多步长非一致性内存访问NUMA架构的内存管理方法及装置制造方法及图纸

技术编号:7314031 阅读:307 留言:0更新日期:2012-05-03 19:06
一种针对多步长非一致性内存访问NUMA架构的内存管理方法及装置,所述方法包括:在系统初始化时,根据各节点的内存访问延时信息及用户配置信息,确定节点组;获取各个节点组及组内节点的内存使用状况,所述内存使用状况包括内存使用比例和空闲状态指示;当系统发起节点内存分配请求时,根据各个节点组的内存使用状况,选择在内存访问延迟最小的空闲节点组上分配内存;在所选择的节点组内,根据所述节点组内节点的内存使用状况,将内存分配到所述节点组内的节点上。通过该方法,就能够利用多步长非一致性内存访问架构的特点,有效兼顾效率和带宽,提高了系统的内存管理性能。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及内存管理
,尤其涉及一种针对多步长非一致性内存访问NUMA 架构的内存管理方法及装置。
技术介绍
目前,非一致性内存访问(Non-Uniform Memory Access,NUMA)架构已经成为服务器领域的主流系统架构,为了解决Numa架构下远近端内存访问开销差别大的问题,新型的多步长层次型NUMA架构的应用越来越广泛。现有技术中,内存层级结构在系统初始化时根据基础输入输出系统BIOS中的内存拓扑结构来确定,内存分配前先确定分配原则,即就近原则(效率优先)或均勻分配原则(带宽优先);若采取就近原则,则优先在访问延迟最小的节点上分配内存,若该节点内存已满,先尝试释放内存,若释放后仍达不到要求,再尝试在访问延迟第二小的节点上分配内存,直至成功分配内存;若采取平均分配的原则,则在所有的节点上平均分配内存。在多步长Multi-hop的内存架构下,内存访问延迟是非均勻分布的,假设访问延迟分别为100ns,140ns,500ns,900ns,1040ns。现有技术方案中,若对每一步长均设置一个节点,则单纯的使用就近分配或平均分配原则就无法兼顾效率和带宽的现状,也就是说若效率优先,采用就近分配原则,首先在100ns节点分配内存失败,需先尝试释放内存,再在 140ns延迟节点分配内存,而100ns延迟和140ns延迟的差别对性能影响并不大,这样就使得分配开销大且仅能利用单节点带宽;若带宽优先,采用均勻分配原则,则需要大量的跨节点访问,影响了系统效率。
技术实现思路
本专利技术的目的是针对多步长非一致性内存访问NUMA架构的内存管理方法及装置,能够利用多步长非一致性内存访问架构的特点,有效兼顾效率和带宽,提高了系统的内存管理性能。一种针对多步长非一致性内存访问NUMA架构的内存管理方法,所述方法包括在系统初始化时,根据各节点的内存访问延时信息及用户配置信息,确定节点组;获取各个节点组及组内节点的内存使用状况,所述内存使用状况包括内存使用比例和空闲状态指示;当系统发起节点内存分配请求时,根据各个节点组的内存使用状况,选择在内存访问延迟最小的空闲节点组上分配内存;在所选择的节点组内,根据所述节点组内节点的内存使用状况,将内存分配到所述节点组内的节点上。一种针对多步长非一致性内存访问NUMA架构的内存管理装置,所述装置包括节点组设置模块,用于在系统初始化时,根据各节点的内存访问延时信息及用户配置信息,确定节点组;内存使用监控模块,用于获取各个节点组及组内节点的内存使用状况,所述内存使用状况包括内存使用比例和空闲状态指示;节点组选择模块,用于当系统发起节点内存分配请求时,根据各个节点组的内存使用状况,选择在内存访问延迟最小的空闲节点组上分配内存;内存分配模块,用于在所选择的节点组内,根据所述节点组内节点的内存使用状况,将内存分配到所述节点组内的节点上。由上述所提供的技术方案可以看出,所述方法包括在系统初始化时,根据各节点的内存访问延时信息及用户配置信息,确定节点组;获取各个节点组及组内节点的内存使用状况,所述内存使用状况包括内存使用比例和空闲状态指示;当系统发起节点内存分配请求时,根据各个节点组的内存使用状况,选择在内存访问延迟最小的空闲节点组上分配内存;在所选择的节点组内,根据所述节点组内节点的内存使用状况,将内存分配到所述节点组内的节点上。通过该方法,就能够利用多步长非一致性内存访问架构的特点,有效兼顾效率和带宽,提高了系统的内存管理性能。附图说明图1为本专利技术实施例所提供的针对多步长非一致性内存访问NUMA架构的内存管理方法的流程示意图;图2为本专利技术实施例所举出的具体实例中原有内存拓扑结构的示意图;图3为本专利技术实施例所举出的具体实例中改进的节点组拓扑结构示意图;图4为本专利技术实施例所举出的具体实例中改进的节点组拓扑另一结构示意图;图5为本专利技术实施例所提供的内存管理装置的结构示意图。具体实施例方式本专利技术实施方式提供了一种针对多步长非一致性内存访问NUMA架构的内存管理方法及装置,通过该方法及装置能够利用多步长非一致性内存访问架构的特点,有效兼顾效率和带宽,提高了系统的内存管理性能。下面结合附图来对本专利技术的具体实施例进行详细说明,如图1所示为本专利技术实施例所提供的针对多步长非一致性内存访问NUMA架构的内存管理方法的流程示意图,所述方法包括步骤11 在系统初始化时,根据各节点的内存访问延时信息及用户配置信息,确定节点组。在该步骤中,在操作系统初始化时,根据各节点的内存访问延时信息及用户配置信息设置,确定节点组Node Group结构,具体来说由于内存硬件所处位置的不同,CPU访问不同内存的延迟是不同的,不同的访问延迟就会独立出一个节点。首先获取各节点的内存延迟信息,然后根据用户的配置策略,将延迟差别相近的节点合并为一个节点组,例如可以将延迟差别小于50%的节点合并为一个节;ο下面以具体的实例来进行说明,如图2所示为本专利技术实施例所举出的具体实例中原有内存拓扑结构的示意图若多步长Multi-hop架构下的原内存拓扑如图2所示,若Node A, Node B-Node H 节点内访问延迟为 IOOns ;Node Group AB,Node Group CD,Node Group EF,Node Group GH 内访问延迟为 140ns ;Node Group ABCD,Node Group EFGH 内访问延迟为 900ns ;Node Group AB⑶EFGH内访问延迟为1040ns ;现有技术中,不同的访问延迟就会独立出一个节点,这样就会生成如图2所示的原有内存拓扑结构。这里100ns和140ns,900ns和1040ns的访问延迟差别并不大,原有过于复杂的层级结构影响了分配效率,和管理复杂度。实例1 本专利技术实施例的方案可通过配置策略(Config用户配置或系统初始化自动配置),生成优化后的Node Group拓扑结构1,图3所示为本专利技术实施例所举出的具体实例中改进的节点组拓扑结构示意图,假如我们在Config用户配置或系统初始化策略里制定规则将访问延迟差距在50%以内的合并为一个节点组。首先获得内存访问延迟分别为 100ns, 140ns,900ns, 1040ns ;再根据以上的策略规则,将100ns和140ns的节点合并为一个节点,将900ns和1040ns的节点合并为一个节点,从而生成如图3所示的拓扑结构,图3 中=Node Group AB, Node Group CD, Node Group EF, Node Group GH 内延迟为小于 140ns, Node Group ABCDEFGH 内延迟为小于 1040ns。在举一个例子,若Node A,Node B…Node H节点内访问延迟为100ns ;Node Group AB,Node Group CD,Node Group EF,Node Group GH内访问延迟为 140ns ;Node Group ABCD, Node Group EFGH 内访问延迟为 300ns ;Node Group ABCDEFGH 内访问延迟为 1040ns。实例2 :同案例一,本专利技术实施例可根据配置策略生成优化后的拓扑结构2,如图 4所示为本专利技术本文档来自技高网...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】

【专利技术属性】
技术研发人员:章晓峰王伟
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

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

1
相关领域技术