CN102323899A - Numa体系结构下面向容错的操作系统内存管理方法 - Google Patents
Numa体系结构下面向容错的操作系统内存管理方法 Download PDFInfo
- Publication number
- CN102323899A CN102323899A CN201110259793A CN201110259793A CN102323899A CN 102323899 A CN102323899 A CN 102323899A CN 201110259793 A CN201110259793 A CN 201110259793A CN 201110259793 A CN201110259793 A CN 201110259793A CN 102323899 A CN102323899 A CN 102323899A
- Authority
- CN
- China
- Prior art keywords
- memory
- heat
- internal memory
- operating system
- node
- 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
Links
Landscapes
- Stored Programmes (AREA)
Abstract
本发明提供一种NUMA体系结构下面向容错的操作系统内存管理方法是基于操作系统内存管理和支持操作系统的容错功能,提供可配置的内存限定分配功能和可伸缩的整节点内存热插拔功能,其中:可配置的内存限定分配功能是在NUMA体系结构下,整个NUMA节点中包含的内存的热移除和热添加;可伸缩的整节点内存热插拔功能是可伸缩的内存热插拔,即内存热插拔处理的内存大小最小为一页,最大为一个内存区域中所有的内存,内存热插拔分为热移除和热添加,内存热移除首先从操作系统层面热移除待处理的内存,再和系统固件、硬件配合,从硬件层面移除,从而使得内存设备从系统中热移除;热添加首先从硬件层面热添加内存设备,再从操作系统层面开始使用热添加的内存。
Description
技术领域
本发明涉及计算机操作系统领域,具体涉及一种NUMA体系结构下面向容错的操作系统内存管理机制。
背景技术
应用在金融、电信等关键领域的大型计算机,通常在硬件和软件都提供了强大的容错功能,以保证最高最强的系统可用性,从而能够最大限度的持续提供关键可靠的服务。软件容错通常是由操作系统来保证,操作系统时刻关注系统软硬件是否正常运行,并在出现问题或者潜在出现问题的时候采取必要的措施以保证系统持续可用。
热插拔技术是操作系统容错功能中重要的一环,它对提高整个系统的可靠性、可用性和可服务性都不可或缺。有热插拔技术作为保障,系统管理员可以在不关机、不重启、不断电的情况下更换设备,可以及时的排除、隔离和修复故障,大大提高系统的可用性。
在现有技术中,NUMA体系结构下,操作系统分配内存时,可以使用多种策略,其中最常用的是本地分配策略。这种策略使得CPU多数访问“距离”自己较近的内存,减少访存时间,提高系统效率。但是,本地分配策略也使得系统内存散布在各个节点,过于零散从而不利于管理。更进一步的是,这种策略使得系统核心使用的内存也散布在各个节点,由于这部分内存不能被迁移和热移除,使得拥有这部分内存的节点不能被热移除,影响了整体系统的容错性能,不利于提高系统的高可用性。
现有的内存热插拔技术,存在诸多限制,有平台限制、内存模式限制以及操作大小限制。例如操作大小只能是1G内存为单位,这使得管理操作十分不便,实用性有限。
发明内容
本发明的目的是关注NUMA体系结构下的内存管理机制,采用多个技术突破现有技术限制,实现整个NUMA节点上内存的热插拔。
本发明的目的是按以下方式实现的,基于操作系统内存管理和支持操作系统的容错功能,提供可配置的内存限定分配功能和可伸缩的整节点内存热插拔功能,其中:可配置的内存限定分配功能是在NUMA体系结构下,整个NUMA节点中包含的内存的热移除和热添加;可伸缩的整节点内存热插拔功能是可伸缩的内存热插拔,即内存热插拔处理的内存大小最小为一页,最大为一个内存区域中所有的内存,内存热插拔分为热移除和热添加,内存热移除首先从操作系统层面热移除待处理的内存,再和系统固件、硬件配合,从硬件层面移除,从而使得内存设备从系统中热移除;热添加首先从硬件层面热添加内存设备,再从操作系统层面开始使用热添加的内存,管理步骤如下:
1)操作系统启动前,配置为内存限定分配功能启用;
2)启动操作系统,启动过程中的内存分配受到内存限定分配功能影响,将操作系统核心使用的内存或会导致不能热插拔的内存分配在指定节点上完成,包括如节点0;
3)进行内存热插拔操作,除节点0以外,其他节点的内存均可以热插拔;
4)内存热插拔最小单元为一个物理页,最大为一个节点内所有的内存;
5)热移除和热添加内存均以起始物理地址和内存大小为参数,内存热移除首先从操作系统层面热移除待处理的内存,再和系统固件、硬件配合,从硬件层面移除,从而使得内存设备从系统中热移除;热添加首先从硬件层面热添加内存设备,再从操作系统层面开始使用热添加的内存;
6)在操作系统运行时关闭内存限定分配功能,此后的核心内存分配便不会限制在节点0完成。
可配置内存限定分配功能,针对操作系统的内存分配策略,NUMA体系结构下,将系统核心使用的内存和会导致不能被热移除的内存分配到指定的同一个节点上,使得系统中其它节点的内存中没有不能被热移除的内存,从而使得系统中其它节点能够被热移除,以系统中只有一个节点不能被热移除的代价,保证了其它节点都能被热移除以提高系统的可用性。
可配置的内存限定分配功能,在操作系统启动和运行时均可配置,在启动时的配置影响在操作系统启动过程中内存的分配,运行时的配置影响配置之后的内存分配,要使得除了某一指定节点,其它节点均能够热移除,需要在系统启动的时候配置。
本发明的方法和现有技术相比,有益效果是:NUMA体系结构下面向容错的操作系统内存管理机制,基于传统操作系统内存管理,重点支持操作系统的容错功能,提供了可配置的内存限定分配功能,和可伸缩的整节点内存热插拔功能。
可配置内存限定分配功能,针对操作系统的内存分配策略。NUMA体系结构下,将系统核心使用的内存和会导致不能被热移除的内存分配到指定的同一个节点上,使得系统中其它节点的内存中没有不能被热移除的内存,从而使得系统其它节点能够被热移除。如此,以系统中只有一个节点不能被热移除的代价,保证了其它节点都能被热移除,大大提高系统的可用性。
附图说明
图1是操作系统内存管理的系统架构图。
具体实施方式
参照说明书附图对本发明的方法作以下详细地说明。
本发明的NUMA体系结构下面向容错的操作系统内存管理方法是基于传统操作系统内存管理,重点支持操作系统的容错功能,提供了可配置的内存限定分配功能,和可伸缩的整节点内存热插拔功能。
可配置内存限定分配功能,针对操作系统的内存分配策略。NUMA体系结构下,将系统核心使用的内存和会导致不能被热移除的内存分配到指定的同一个节点上,使得系统中其它节点的内存中没有不能被热移除的内存,从而使得系统其它节点能够被热移除。如此,以系统中只有一个节点不能被热移除的代价,保证了其它节点都能被热移除,大大提高系统的可用性。
可配置的内存限定分配功能,在操作系统启动和运行时均可配置。在启动时的配置影响在操作系统启动过程中内存的分配,运行时的配置影响配置之后的内存分配。要使得除了某一指定节点,其它节点均能够热移除,需要在系统启动的时候配置。
可伸缩的整节点内存热插拔功能,包含两个具体功能:一个是在NUMA体系结构下,整个NUMA节点中包含的内存的热移除和热添加;另一个是可伸缩的内存热插拔,即内存热插拔处理的内存大小最小为一页,最大为一个内存区域中所有的内存。内存热插拔分为热移除和热添加,内存热移除首先从操作系统层面热移除待处理的内存,再和系统固件、硬件配合,从硬件层面移除,从而使得内存设备从系统中热移除;热添加首先从硬件层面热添加内存设备,再从操作系统层面开始使用热添加的内存。
实施例
操作步骤如下:
1)操作系统启动前,配置为内存限定分配功能启用;
2)启动操作系统,启动过程中的内存分配受到内存限定分配功能影响,将操作系统核心使用的内存,即会导致不能热插拔的内存分配在指定节点(如节点0)上完成;
3)进行内存热插拔操作,除节点0以外,其他节点的内存均可以热插拔;
4)内存热插拔最小单元为一个物理页,最大为一个节点内所有的内存;
5)热移除和热添加内存均以起始物理地址和内存大小为参数,内存热移除首先从操作系统层面热移除待处理的内存,再和系统固件、硬件配合,从硬件层面移除,从而使得内存设备从系统中热移除;热添加首先从硬件层面热添加内存设备,再从操作系统层面开始使用热添加的内存。
6)在操作系统运行时关闭内存限定分配功能,此后的核心内存分配便不会限制在节点0完成。
除说明书所述的技术特征外,均为本专业技术人员的已知技术。
Claims (3)
1.NUMA体系结构下面向容错的操作系统内存管理方法, 其特征在于,基于操作系统内存管理和支持操作系统的容错功能,提供可配置的内存限定分配功能和可伸缩的整节点内存热插拔功能,其中:可配置的内存限定分配功能是在NUMA体系结构下,整个NUMA节点中包含的内存的热移除和热添加;可伸缩的整节点内存热插拔功能是可伸缩的内存热插拔,即内存热插拔处理的内存大小最小为一页,最大为一个内存区域中所有的内存,内存热插拔分为热移除和热添加,内存热移除首先从操作系统层面热移除待处理的内存,再和系统固件、硬件配合,从硬件层面移除,从而使得内存设备从系统中热移除;热添加首先从硬件层面热添加内存设备,再从操作系统层面开始使用热添加的内存,管理步骤如下:
1)操作系统启动前,配置为内存限定分配功能启用;
2)启动操作系统,启动过程中的内存分配受到内存限定分配功能影响,将操作系统核心使用的内存或会导致不能热插拔的内存分配在指定节点上完成,包括如节点0;
3)进行内存热插拔操作,除节点0以外,其他节点的内存均可以热插拔;
4)内存热插拔最小单元为一个物理页,最大为一个节点内所有的内存;
5)热移除和热添加内存均以起始物理地址和内存大小为参数,内存热移除首先从操作系统层面热移除待处理的内存,再和系统固件、硬件配合,从硬件层面移除,从而使得内存设备从系统中热移除;热添加首先从硬件层面热添加内存设备,再从操作系统层面开始使用热添加的内存;
6)在操作系统运行时关闭内存限定分配功能,此后的核心内存分配便不会限制在节点0完成。
2.根据权利要求1所述的方法, 其特征在于,可配置内存限定分配功能,针对操作系统的内存分配策略,NUMA体系结构下,将系统核心使用的内存和会导致不能被热移除的内存分配到指定的同一个节点上,使得系统中其它节点的内存中没有不能被热移除的内存,从而使得系统中其它节点能够被热移除,以系统中只有一个节点不能被热移除的代价,保证了其它节点都能被热移除以提高系统的可用性。
3.根据权利要求1所述的方法,其特征在于,可配置的内存限定分配功能,在操作系统启动和运行时均可配置,在启动时的配置影响在操作系统启动过程中内存的分配,运行时的配置影响配置之后的内存分配,要使得除了某一指定节点,其它节点均能够热移除,需要在系统启动的时候配置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110259793 CN102323899B (zh) | 2011-09-05 | 2011-09-05 | Numa体系结构下面向容错的操作系统内存管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110259793 CN102323899B (zh) | 2011-09-05 | 2011-09-05 | Numa体系结构下面向容错的操作系统内存管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102323899A true CN102323899A (zh) | 2012-01-18 |
CN102323899B CN102323899B (zh) | 2013-05-08 |
Family
ID=45451644
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201110259793 Active CN102323899B (zh) | 2011-09-05 | 2011-09-05 | Numa体系结构下面向容错的操作系统内存管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102323899B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104268089A (zh) * | 2014-09-15 | 2015-01-07 | 杭州华为数字技术有限公司 | 一种信息更新的方法、装置及系统 |
WO2015018351A1 (zh) * | 2013-08-09 | 2015-02-12 | 华为技术有限公司 | 一种内存访问的方法、设备及系统 |
CN104850461A (zh) * | 2015-05-12 | 2015-08-19 | 华中科技大学 | 一种面向numa架构的虚拟cpu调度优化方法 |
CN105260321A (zh) * | 2015-11-11 | 2016-01-20 | 浪潮(北京)电子信息产业有限公司 | 一种改进型内存域划分方法 |
CN105260336A (zh) * | 2015-11-17 | 2016-01-20 | 上海交通大学 | 可字节寻址的非易失性存储器热插拔方法及装置 |
CN105426248A (zh) * | 2015-11-11 | 2016-03-23 | 浪潮集团有限公司 | 一种自动热拔的方法及装置 |
CN107368353A (zh) * | 2017-07-26 | 2017-11-21 | 郑州云海信息技术有限公司 | 一种实现虚拟机内存热添加的方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6199179B1 (en) * | 1998-06-10 | 2001-03-06 | Compaq Computer Corporation | Method and apparatus for failure recovery in a multi-processor computer system |
CN101013380A (zh) * | 2007-02-05 | 2007-08-08 | 华南理工大学 | 一种基于hpi模型的热插拔处理方法 |
CN101477496A (zh) * | 2008-12-29 | 2009-07-08 | 北京航空航天大学 | 基于分布式内存虚拟化的numa结构的实现方法 |
US20100217949A1 (en) * | 2009-02-24 | 2010-08-26 | International Business Machines Corporation | Dynamic Logical Partition Management For NUMA Machines And Clusters |
CN101833497A (zh) * | 2010-03-30 | 2010-09-15 | 山东高效能服务器和存储研究院 | 一种基于专家系统方法的计算机故障管理系统 |
-
2011
- 2011-09-05 CN CN 201110259793 patent/CN102323899B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6199179B1 (en) * | 1998-06-10 | 2001-03-06 | Compaq Computer Corporation | Method and apparatus for failure recovery in a multi-processor computer system |
CN101013380A (zh) * | 2007-02-05 | 2007-08-08 | 华南理工大学 | 一种基于hpi模型的热插拔处理方法 |
CN101477496A (zh) * | 2008-12-29 | 2009-07-08 | 北京航空航天大学 | 基于分布式内存虚拟化的numa结构的实现方法 |
US20100217949A1 (en) * | 2009-02-24 | 2010-08-26 | International Business Machines Corporation | Dynamic Logical Partition Management For NUMA Machines And Clusters |
CN101833497A (zh) * | 2010-03-30 | 2010-09-15 | 山东高效能服务器和存储研究院 | 一种基于专家系统方法的计算机故障管理系统 |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9772891B2 (en) | 2013-08-09 | 2017-09-26 | Huawei Technologies Co., Ltd. | Memory access method, device, and system |
WO2015018351A1 (zh) * | 2013-08-09 | 2015-02-12 | 华为技术有限公司 | 一种内存访问的方法、设备及系统 |
CN104268089A (zh) * | 2014-09-15 | 2015-01-07 | 杭州华为数字技术有限公司 | 一种信息更新的方法、装置及系统 |
CN104268089B (zh) * | 2014-09-15 | 2018-03-09 | 杭州华为数字技术有限公司 | 一种信息更新的方法、装置及系统 |
CN104850461B (zh) * | 2015-05-12 | 2018-05-11 | 华中科技大学 | 一种面向numa架构的虚拟cpu调度优化方法 |
CN104850461A (zh) * | 2015-05-12 | 2015-08-19 | 华中科技大学 | 一种面向numa架构的虚拟cpu调度优化方法 |
CN105426248A (zh) * | 2015-11-11 | 2016-03-23 | 浪潮集团有限公司 | 一种自动热拔的方法及装置 |
CN105260321A (zh) * | 2015-11-11 | 2016-01-20 | 浪潮(北京)电子信息产业有限公司 | 一种改进型内存域划分方法 |
CN105260321B (zh) * | 2015-11-11 | 2018-07-20 | 浪潮(北京)电子信息产业有限公司 | 一种改进型内存域划分方法 |
CN105260336A (zh) * | 2015-11-17 | 2016-01-20 | 上海交通大学 | 可字节寻址的非易失性存储器热插拔方法及装置 |
CN105260336B (zh) * | 2015-11-17 | 2018-12-18 | 上海交通大学 | 可字节寻址的非易失性存储器热插拔方法及装置 |
CN107368353A (zh) * | 2017-07-26 | 2017-11-21 | 郑州云海信息技术有限公司 | 一种实现虚拟机内存热添加的方法和装置 |
CN107368353B (zh) * | 2017-07-26 | 2020-12-01 | 郑州云海信息技术有限公司 | 一种实现虚拟机内存热添加的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102323899B (zh) | 2013-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102323899A (zh) | Numa体系结构下面向容错的操作系统内存管理方法 | |
JP5212360B2 (ja) | 制御プログラム、制御システムおよび制御方法 | |
US9703346B2 (en) | Firmware interface with backup non-volatile memory storage | |
JP2007287121A (ja) | 揮発性記憶デバイス及び揮発性記憶デバイスを有するシリアルミックス記憶システム | |
CN110633130B (zh) | 一种基于内存热插拔技术的虚拟内存管理方法和装置 | |
US20240256263A1 (en) | Application Upgrade Method and Apparatus, Computing Device, and Chip System | |
JP5158187B2 (ja) | ストレージ装置、ストレージ制御装置およびストレージ制御方法 | |
US8407507B2 (en) | Power management circuit, power management method and power management program for controlling power supplied to functional blocks in integrated circuits | |
EP2908465B1 (en) | High availability method and system for improving the utility of physical servers in cloud computing resource pool | |
CN104615472A (zh) | 一种防止在线刷新bios+me fw失败的方法 | |
CN104615500A (zh) | 一种服务器计算资源动态分配的方法 | |
JP2010277194A (ja) | 記憶装置、データ処理方法およびデータ処理プログラム | |
CN102520982A (zh) | 节点热插拔的方法及装置 | |
CN102725746A (zh) | 对分布式计算机系统中内存的管理方法和装置 | |
CN103500108A (zh) | 系统内存访问方法、节点控制器和多处理器系统 | |
CN105677606A (zh) | 总线设备的热插拔方法及总线装置 | |
US8321501B2 (en) | Secure out-of-band storage control | |
US9568986B2 (en) | System-wide power conservation using memory cache | |
US9286206B2 (en) | Memory system | |
CN104750614A (zh) | 用于管理存储器的方法和装置 | |
JP2015049675A (ja) | 周辺機器制御装置および情報処理装置 | |
JP6079777B2 (ja) | 管理装置、データ取得方法およびデータ取得プログラム | |
CN107038121B (zh) | 虚拟机的内存地址分配方法以及装置 | |
KR101203157B1 (ko) | 데이터 전달 시스템, 장치 및 방법 | |
CN1770106A (zh) | 通信设备复位信息保存方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |