CN102725746B - 对分布式计算机系统中内存的管理方法和装置 - Google Patents

对分布式计算机系统中内存的管理方法和装置 Download PDF

Info

Publication number
CN102725746B
CN102725746B CN201180001114.2A CN201180001114A CN102725746B CN 102725746 B CN102725746 B CN 102725746B CN 201180001114 A CN201180001114 A CN 201180001114A CN 102725746 B CN102725746 B CN 102725746B
Authority
CN
China
Prior art keywords
memory bar
node
crucial
mirror
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.)
Expired - Fee Related
Application number
CN201180001114.2A
Other languages
English (en)
Other versions
CN102725746A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN102725746A publication Critical patent/CN102725746A/zh
Application granted granted Critical
Publication of CN102725746B publication Critical patent/CN102725746B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • G06F13/4081Live connection to bus, e.g. hot-plugging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明实施例提供了一种对节点中的内存进行管理的方法和装置。该方法主要包括:将从节点中的指定内存条设置为关键内存条,在主节点中设置所述关键内存条的镜像内存条,在所述关键内存条和镜像内存条中存储相同的数据;利用所述镜像内存条实现所述从节点或者所述关键内存条的热插拔处理。本发明实施例通过将从节点中的关键内存条和主节点中的镜像内存条构成镜像,利用所述镜像内存条实现所述从节点或者所述关键内存条的热插拔处理。解决了节点热插拔过程中部分不可迁移的内存无法下线、丢失数据的问题,并且支持单个内存条热插拔。

Description

对分布式计算机系统中内存的管理方法和装置
技术领域
本发明涉及电子技术领域,尤其涉及一种对分布式计算机系统中内存的管理方法和装置。
背景技术
NUMA(Non-Uniform Memory Access,非一致内存访问)是一种分布式结构,包括主节点和从节点,每个节点包括:处理器、内存条和单位控制器,每个节点中的每个处理器都会挂载内存条、外设等。NUMA的特点主要包括:任一节点中的任一处理器可以访问任意的内存条、外设等;每个处理器访问不同的内存存在着不同的延迟。由于每组处理器和内存都是连接到同一个系统,NUMA显示了其扩展性的优势,加上其高可靠性、高应用性和高服务性的特征,NUMA已经广泛应用到中高端服务器领域。
在N UMA的各个节点上都包含了一些不可迁移的内存(内核内存、保留内存),如果直接对上述不可迁移的内存进行热插拔处理,上述不可迁移的内存中存储的数据将被丢失,严重将导致系统宕机,导致节点无法实现资源动态调整。
现有技术中的一种对节点的内存进行热插拔处理的方法为:当需要对节点的内存进行热插拔处理时,以节点为单位进行整体的迁移和拷贝。
在实现本发明过程中,发明人发现上述现有技术中的对节点的内存进行热插拔处理的方法至少存在如下问题:
该方案需要对每个节点提供一个备份节点,并且该备份节点的配置和主节点的配置完全一样,资源浪费严重;在实际应用场景中,热插拔的单元可能是节点中的一个或者多个内存条,该方案无法实现只对节点中部分内存进行热插拔处理。
发明内容
本发明的实施例提供了一种对分布式计算机系统中内存的管理方法和装置,以实现在不提供备份节点、没有数据丢失的情况下,对节点中的部分不可迁移的内存条进行有效的热插拔处理。
一种对分布式计算机系统中内存的管理方法,包括:
在分布式计算机系统中的从节点中的内存中确定关键内存条,在主节点中设置所述关键内存条的镜像内存条,所述镜像内存条用于实现所述关键内存条的热插拔,其中在所述关键内存条和镜像内存条中存储相同的数据。
一种对分布式计算机系统中内存的管理装置,包括:
内存条设置模块,用于将从节点中的指定内存条设置为关键内存条,在主节点中设置所述关键内存条的镜像内存条,在所述关键内存条和镜像内存条中存储相同的数据;
热插拔处理模块,用于利用所述镜像内存条实现所述从节点或者所述关键内存条的热插拔处理。
由上述本发明的实施例提供的技术方案可以看出,本发明实施例通过将从节点中的关键内存条和主节点中的镜像内存条构成镜像,利用所述镜像内存条实现所述从节点或者所述关键内存条的热插拔处理。解决了节点热插拔过程中部分不可迁移的内存无法下线、丢失数据的问题,并且支持单个内存条热插拔。
附图说明
图1为本发明实施例一提供的一种对分布式计算机系统中内存的管理方法的处理流程图;
图2为本发明实施例二提供的一种内存申请方法的处理流程如图2
图3为本发明实施例三提供的一种对分布式计算机系统中内存的管理装置的具体结构图。
具体实施方式
实施例一
该实施例提供的一种对分布式计算机系统中内存的管理方法的处理流程如图1所示,包括:
11、将从节点中的指定内存条设置为关键内存条,在主节点中设置所述关键内存条的镜像内存条,在所述关键内存条和镜像内存条中存储相同的数据。
在本发明实施例中,通过BMC(Baseboard Management Controller,基板管理控制器)控制BIOS(Basic Input Out put System,基本输入输出系统)将从节点中的一个或者多个指定内存条设置为关键内存条,将不能通过软件层面OS进行迁移的内存都集中存放到上述关键内存条中。从节点中的除了所述关键内存条之外的普通内存条中存放可以通过软件层面OS(OperationSystem,操作系统)进行迁移的内存。
进一步地,上述从节点中的关键内存条的数目可根据系统需求动态调整。比如,当从节点中的不可迁移内存不够时,可以通过BIOS命令增加关键内存条的数目;又比如,当从节点中的当关键内存条资源充裕并空闲时,也可以通过BIOS命令减少关键内存条数目,从而可以释放镜像内存提高资源利用率。
在所述从节点中的关键内存条中进行数据写入、修改和删除操作时,在所述主节点中的镜像内存条中进行相同的操作,从而保证在所述关键内存条和镜像内存条中存储相同的数据。在没有对所述从节点和关键内存条进行热插拔处理时,通过所述从节点中的关键内存条进行数据读取操作。
12、利用所述镜像内存条实现所述从节点或者所述关键内存条的热插拔处理。
当对所述从节点进行热拔处理时,停止使用所述从节点中的关键内存条,启用所述主节点中的镜像内存条,将对所述关键内存条的操作处理转移到所述镜像内存条上。对所述从节点中除了所述关键内存条之外的普通内存条中存放的内存进行迁移处理之后,对所述从节点中的所有内存进行下电、热拔处理。可以理解的是,在实际应用中,对从节点中的普通内存进行迁移处理的过程可以在将对所述关键内存条的操作处理转移到所述镜像内存条上的过程之前完成。
当只对所述从节点中的关键内存条进行热拔处理时,首先进行内存镜像切换操作,停止使用所述从节点中的关键内存条,启用所述主节点中的镜像内存条,将对所述关键内存条的操作处理转移到所述镜像内存条上。然后,对所述从节点中的关键内存条进行下电、热拔处理。
当在所述从节点中热插了所述关键内存条后,对所述关键内存条进行上电,启用所述从节点中的关键内存条和所述主节点中的镜像内存条。在进行了所述关键内存条和所述镜像内存条之间的数据同步操作之后,进行内存镜像切换操作,停用所述主节点中的镜像内存条,继续启用所述从节点中的关键内存条。当在所述从节点中还热插了普通内存条时,对上述普通内存条进行正常的上电、启用操作。
由上述本发明的实施例提供的技术方案可以看出,本发明实施例通过将从节点中的关键内存条和主节点中的镜像内存条构成镜像,利用所述镜像内存条实现所述从节点或者所述关键内存条的热插拔处理。解决了节点热插拔过程中部分不可迁移的内存无法下线、丢失数据的问题,并且支持单个内存条热插拔,不需要提供备份节点,从而有效地实现了节点的资源动态调整。
实施例二
在从节点申请内存时,需要辨别申请内存的类型,根据申请内存的类型在对应的内存区域进行内存分配。该实施例提供的一种内存申请方法的处理流程如图2所示,具体处理过程包括:
21、从节点申请内存时,判断所申请的内存是否为不可迁移的内存,如果是,则在从节点中的关键内存条中申请内存;否则在从节点中的普通内存条中申请内存。
22、在从节点中的关键内存条中申请内存时,如果关键内存条中的空余内存足够,则在从节点中的关键内存条上分配所申请的内存;否则,在主节点中的关键内存条中申请内存;。
当在从节点中的普通内存条中申请内存时,如果普通内存条中的空余内存足够,则在从节点中的普通内存条上分配所申请的申请;否则需要判断所申请的内存是否重要,如果重要,在从节点中的关键内存条中申请内存,如果不重要,在其他从节点的普通内存条中申请内存。
由上述本发明的实施例提供的技术方案可以看出,该实施例实现了根据申请的内存的种类在对应的内存区域进行内存分配。
实施例三
该实施例提供的一种对分布式计算机系统中内存的管理装置,其具体结构如图3所示,包括:
内存条设置模块31,用于将从节点中的指定内存条设置为关键内存条,在主节点中设置所述关键内存条的镜像内存条,在所述关键内存条和镜像内存条中存储相同的数据;
热插拔处理模块32,用于利用所述镜像内存条实现所述从节点或者所述关键内存条的热插拔处理。
具体的,所述的内存条设置模块31,还用于当在所述从节点中的关键内存条中进行数据写入、修改和删除操作时,在所述主节点中的镜像内存条中进行相同的操作,在没有对所述从节点和关键内存条进行热插拔处理时,通过所述从节点中的关键内存条进行数据读取操作。
具体的,所述的热插拔处理模块32可以包括:
第一处理模块321,用于当需要对所述从节点进行热拔处理时,停止使用所述从节点中的关键内存条,启用所述主节点中的镜像内存条,将对所述关键内存条的操作处理转移到所述镜像内存条上;
对所述从节点中除了所述关键内存条之外的普通内存条中存放的内存进行迁移处理之后,对所述从节点中的所有内存条进行下电、热拔处理。
第二处理模块322,用于当需要对所述从节点中的关键内存条进行热拔处理时,停止使用所述从节点中的关键内存条,启用所述主节点中的镜像内存条,将对所述关键内存条的操作处理转移到所述镜像内存条上,对所述从节点中的关键内存条进行下电、热拔处理。
第三处理模块323,用于当在所述从节点中热插了所述关键内存条后,对所述关键内存条进行上电,启用所述从节点中的关键内存条和所述主节点中的镜像内存条,在进行了所述关键内存条和所述镜像内存条之间的数据同步操作之后,停用所述镜像内存条,继续启用所述关键内存条。
应用本发明实施例的装置进行从节点和从节点中的关键内存条的热插拔处理的具体过程与前述方法实施例类似,此处不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
综上所述,本发明实施例通过将从节点中的关键内存条和主节点中的镜像内存条构成镜像,利用所述镜像内存条实现所述从节点或者所述关键内存条的热插拔处理。解决了节点热插拔过程中部分不可迁移的内存无法下线、丢失数据的问题,并且支持单个内存条热插拔,不需要提供备份节点,从而有效地实现了节点的资源动态调整。
本发明实施例在每个从节点中都设置了存放不可迁移内存的关键内存条,在从节点或者关键内存条热插拔前,各个从节点还是使用本节点上的关键内存条,所以不增加远端内存访问。
本发明实施例实现了根据申请的内存的种类在对应的内存区域进行内存分配。本发明实施例通过对关键内存条设置镜像内存条,在关键内存条出现错误时,可以通过镜像内存条对关键内存条进行恢复。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (6)

1.一种对分布式计算机系统中内存的管理方法,其特征在于,包括:
在分布式计算机系统中的从节点中的内存中确定关键内存条,所述关键内存条中存放不可迁移的内存,在主节点中设置所述关键内存条的镜像内存条,所述镜像内存条用于实现所述关键内存条的热插拔,其中在所述关键内存条和镜像内存条中存储相同的数据;
其中,所述的镜像内存条用于实现所述关键内存条的热插拔,包括:
当在所述从节点中热插了所述关键内存条后,对所述关键内存条进行上电,启用所述从节点中的关键内存条和所述主节点中的镜像内存条,在进行了所述关键内存条和所述镜像内存条之间的数据同步操作之后,停用所述镜像内存条,继续启用所述关键内存条;
当需要对所述从节点进行热拔处理时,停止使用所述从节点中的关键内存条,启用所述主节点中的镜像内存条,将对所述关键内存条的操作处理转移到所述镜像内存条上;对所述从节点中除了所述关键内存条之外的普通内存条中存放的内存进行迁移处理之后,对所述从节点中的所有内存条进行下电、热拔处理。
2.根据权利要求1所述的对分布式计算机系统中内存的管理方法,其特征在于,所述的在所述关键内存条和镜像内存条中存储相同的数据,包括:
在所述从节点中的关键内存条中进行数据写入、修改和删除操作时,在所述主节点中的镜像内存条中进行相同的操作,在没有对所述从节点和关键内存条进行热插拔处理时,通过所述从节点中的关键内存条进行数据读取操作。
3.根据权利要求1或2所述的对分布式计算机系统中内存的管理方法,其特征在于,所述的镜像内存条用于实现所述关键内存条的热插拔,包括:
当需要对所述从节点中的关键内存条进行热拔处理时,停止使用所述从节点中的关键内存条,启用所述主节点中的镜像内存条,将对所述关键内存条的操作处理转移到所述镜像内存条上;
对所述从节点中的关键内存条进行下电、热拔处理。
4.一种对分布式计算机系统中内存的管理装置,其特征在于,包括:
内存条设置模块,用于将从节点中的指定内存条设置为关键内存条,所述关键内存条中存放不可迁移的内存,在主节点中设置所述关键内存条的镜像内存条,在所述关键内存条和镜像内存条中存储相同的数据;
热插拔处理模块,用于利用所述镜像内存条实现所述关键内存条的热插拔处理;
其中,所述的热插拔处理模块包括:
第一处理模块,用于当需要对所述从节点进行热拔处理时,停止使用所述从节点中的关键内存条,启用所述主节点中的镜像内存条,将对所述关键内存条的操作处理转移到所述镜像内存条上;对所述从节点中除了所述关键内存条之外的普通内存条中存放的内存进行迁移处理之后,对所述从节点中的所有内存条进行下电、热拔处理;
第三处理模块,用于当在所述从节点中热插了所述关键内存条后,对所述关键内存条进行上电,启用所述从节点中的关键内存条和所述主节点中的镜像内存条,在进行了所述关键内存条和所述镜像内存条之间的数据同步操作之后,停用所述镜像内存条,继续启用所述关键内存条。
5.根据权利要求4所述的对分布式计算机系统中内存的管理装置,其特征在于:
所述的内存条设置模块,还用于当在所述从节点中的关键内存条中进行数据写入、修改和删除操作时,在所述主节点中的镜像内存条中进行相同的操作,在没有对所述从节点和关键内存条进行热插拔处理时,通过所述从节点中的关键内存条进行数据读取操作。
6.根据权利要求4或5所述的对分布式计算机系统中内存的管理装置,其特征在于,所述的热插拔处理模块包括:
第二处理模块,用于当需要对所述从节点中的关键内存条进行热拔处理时,停止使用所述从节点中的关键内存条,启用所述主节点中的镜像内存条,将对所述关键内存条的操作处理转移到所述镜像内存条上,对所述从节点中的关键内存条进行下电、热拔处理。
CN201180001114.2A 2011-07-20 2011-07-20 对分布式计算机系统中内存的管理方法和装置 Expired - Fee Related CN102725746B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2011/077381 WO2012106909A1 (zh) 2011-07-20 2011-07-20 对分布式计算机系统中内存的管理方法和装置

Publications (2)

Publication Number Publication Date
CN102725746A CN102725746A (zh) 2012-10-10
CN102725746B true CN102725746B (zh) 2015-01-21

Family

ID=46638129

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180001114.2A Expired - Fee Related CN102725746B (zh) 2011-07-20 2011-07-20 对分布式计算机系统中内存的管理方法和装置

Country Status (3)

Country Link
US (1) US20130254446A1 (zh)
CN (1) CN102725746B (zh)
WO (1) WO2012106909A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014205845A1 (zh) * 2013-06-29 2014-12-31 华为技术有限公司 一种numa系统内存镜像配置方法、解除方法、系统和主节点
ES2612829T3 (es) 2013-11-22 2017-05-18 Huawei Technologies Co., Ltd. Ordenador y método de migración de datos de memoria
CN109684254A (zh) * 2018-11-23 2019-04-26 包头钢铁(集团)有限责任公司 一种利用扩展内存提升数控系统稳定性的方法
CN110347531A (zh) * 2019-07-05 2019-10-18 湖南省华芯医疗器械有限公司 一种避免数据丢失的机器热插拔工作方法及系统
CN110580195B (zh) * 2019-08-29 2023-11-07 上海仪电(集团)有限公司中央研究院 一种基于内存热插拔的内存分配方法和装置
JP2023002309A (ja) * 2021-06-22 2023-01-10 株式会社日立製作所 ストレージシステム及びデータ管理方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6058455A (en) * 1997-07-02 2000-05-02 International Business Corporation RAID system having a selectable unattended mode of operation with conditional and hierarchical automatic re-configuration
US20040039815A1 (en) * 2002-08-20 2004-02-26 Compaq Information Technologies Group, L.P. Dynamic provisioning system for a network of computers
US7822715B2 (en) * 2004-11-16 2010-10-26 Petruzzo Stephen E Data mirroring method
US7941602B2 (en) * 2005-02-10 2011-05-10 Xiotech Corporation Method, apparatus and program storage device for providing geographically isolated failover using instant RAID swapping in mirrored virtual disks
US20090006793A1 (en) * 2007-06-30 2009-01-01 Koichi Yamada Method And Apparatus To Enable Runtime Memory Migration With Operating System Assistance
CN100489815C (zh) * 2007-10-25 2009-05-20 中国科学院计算技术研究所 一种内存共享的系统和装置及方法
CN100595735C (zh) * 2007-12-10 2010-03-24 杭州华三通信技术有限公司 内存镜像系统、装置和内存镜像方法
JP2010211506A (ja) * 2009-03-10 2010-09-24 Nec Corp 不均一メモリアクセス機構を備えるコンピュータ、コントローラ、及びデータ移動方法
CN101937400B (zh) * 2009-06-29 2012-07-25 联想(北京)有限公司 管理热备份内存的方法和电子设备
CN101604263A (zh) * 2009-07-13 2009-12-16 浪潮电子信息产业股份有限公司 一种实现操作系统核心代码段多副本运行的方法
CN101655789B (zh) * 2009-09-22 2012-10-24 用友软件股份有限公司 一种实现应用组件热插拔的方法和装置

Also Published As

Publication number Publication date
CN102725746A (zh) 2012-10-10
US20130254446A1 (en) 2013-09-26
WO2012106909A1 (zh) 2012-08-16

Similar Documents

Publication Publication Date Title
US9760497B2 (en) Hierarchy memory management
EP2851807B1 (en) Method and system for supporting resource isolation under multi-core architecture
CN102725746B (zh) 对分布式计算机系统中内存的管理方法和装置
US9213609B2 (en) Persistent memory device for backup process checkpoint states
CN102521038B (zh) 基于分布式文件系统的虚拟机迁移方法和装置
EP4002132A1 (en) Adaptive device behavior based on available energy
CN101923499A (zh) 执行防电源故障高速缓存而无需原子元数据的技术
US10909072B2 (en) Key value store snapshot in a distributed memory object architecture
CN104903872A (zh) 用于自适应持久化的系统、方法和接口
CN105095094A (zh) 内存管理方法和设备
CN113504954B (zh) 调用CSI LVM Plugin插件、动态持久卷供应的方法、系统及介质
CN104111897A (zh) 一种数据处理方法、装置及计算机系统
CN103412822A (zh) 操作非易失性内存和数据操作的方法和相关装置
EP3761564A1 (en) Master/standby container system switch
CN102135894B (zh) 一种多核在线补丁方法和装置
CN107395710B (zh) 一种云平台网元的配置和高可用ha实现方法和装置
CN115934366A (zh) 服务器存储扩展方法、装置、设备、介质及整机柜系统
US20230273859A1 (en) Storage system spanning multiple failure domains
CN106354428B (zh) 一种多物理层分区计算机体系结构的存储共享系统
US7793051B1 (en) Global shared memory subsystem
CN104461705A (zh) 一种业务访问的方法及存储控制器、集群存储系统
WO2024051292A1 (zh) 数据处理系统、内存镜像方法、装置和计算设备
WO2023169185A1 (zh) 内存管理方法和装置
CN105068896A (zh) 基于raid备份的数据处理方法及装置
CN105094761A (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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20150121

Termination date: 20190720

CF01 Termination of patent right due to non-payment of annual fee