CN101477496A - 基于分布式内存虚拟化的numa结构的实现方法 - Google Patents

基于分布式内存虚拟化的numa结构的实现方法 Download PDF

Info

Publication number
CN101477496A
CN101477496A CNA2008102466655A CN200810246665A CN101477496A CN 101477496 A CN101477496 A CN 101477496A CN A2008102466655 A CNA2008102466655 A CN A2008102466655A CN 200810246665 A CN200810246665 A CN 200810246665A CN 101477496 A CN101477496 A CN 101477496A
Authority
CN
China
Prior art keywords
page
node
ept
client
numa
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
CNA2008102466655A
Other languages
English (en)
Other versions
CN101477496B (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
Beihang University
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 Beihang University filed Critical Beihang University
Priority to CN2008102466655A priority Critical patent/CN101477496B/zh
Publication of CN101477496A publication Critical patent/CN101477496A/zh
Application granted granted Critical
Publication of CN101477496B publication Critical patent/CN101477496B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明是一种基于分布式硬件辅助内存虚拟化的NUMA结构的实现方法,该方法有四个步骤。步骤一、准备阶段:步骤二、正常工作阶段:步骤三、NUMA处理本地请求过程:步骤四、NUMA处理远程请求的过程:本发明采用最新的硬件辅助内存虚拟化技术,以及分布式共享存储算法,对多机内存资源进行虚拟化和整合,为上层客户操作系统提供一个NUMA结构的共享的单一物理地址空间,实现客户操作系统对多机内存资源的透明化统一管理,降低了应用程序编程的复杂性,提高了系统资源的利用性。本发明具有良好的使用和发展前景。

Description

基于分布式内存虚拟化的NUMA结构的实现方法
(一)技术领域
本发明利用最新的硬件虚拟化技术,采用国际上惯用的分布式共享存储算法对内存资源进行整合.它涉及计算机虚拟化技术中的内存虚拟化以及分布式系统中的分布式共享存储,尤其涉及一种基于分布式内存虚拟化的非均匀内存访问(NUMA)结构的实现方法。属于计算机技术领域。
(二)背景技术
早在上个世纪60年代末70年代初IBM公司就在大型机上实现了商用的虚拟机(VirtualMachine,VM)。虚拟机可以看作通过软件模拟或者硬件辅助的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。经典的虚拟机实现借助虚拟机监控器(VirtualMachine Monitor,XEN)来完成。虚拟机监控器用于控制虚拟机行为并通过陷入-模拟的方式完成对必要事件的处理或模拟。下面介绍几种虚拟化方式:
1.软件虚拟化
全虚拟化
完全虚拟化的典型代表产品是VM370和VMWare。
VMM在客户操作系统和硬件之间用于工作协调。一些受保护的指令必须由VMM来捕获和处理。因为操作系统是通过来分享底层硬件。对底层硬件进行了完全虚拟化的实现,而并非是半虚拟化的方法提供给Guest OS一个修改后的接口。
完全虚拟化技术最大的好处就是可以无需修改操作系统,直接移植到虚拟环境中,支持多个Guest OS。但是完全虚拟化的缺点就是虚拟机的Guest OS的系统性能会受到影响,而且往往比原有的系统性能下降不少。尤其是在IA32等常见体系结构上。类似VMWare的软件往往性能下降特别严重。
完全虚拟化虽然能够更容易地支持商业版本的操作系统,但是却大大降低了性能。其他常见的完全虚拟化软件包括微软推出的Microsoft Virtual Server。
准虚拟化
与二进制翻译动态修改客户操作系统不同,准虚拟化方式采用静态改写客户操作系统源代码的方式显式与虚拟机监控器(在这种方式下也被称为超级监控器hypervisor)协作。这种方式的特点是:
通过客户操作系统与超级监控器(hypervisor)之间的主动协作提高性能以及效率,更改客户操作系统源代码将不可虚拟化指令替换为直接与超级监控器通信的超级调用(hypercall)。监控器还提供了内核其他关键操作的接口如内存管理,中断处理等。
准虚拟化与全虚拟化存在显著的区别:
全虚拟化的虚拟机上运行未经修改的客户操作系统,操作系统对不能感知自己运行于虚拟机制上,敏感的操作系统调用会引发陷入。
准虚拟化的操作系统可以感知自己运行在虚拟机制上,并通过超级调用与超级监控器通信。
准虚拟化的代表是由剑桥大学研发的Xen。Xen运行在最高特权级做为超级监控器(Hypervisor)监控虚拟机行为,虚拟机中运行经过修改过的操作系统,这些操作系统通过超级调用的方式请求Xen完成关键的特权操作,包括内存管理,I/O操作等。另外Xen最新版本还支持硬件辅助的虚拟化技术实现全虚拟化,被称为硬件虚拟机(Hardware VirtualMachine)。准虚拟化的特点是其高性能,在大多数情况下准虚拟化可以达到原始性能的90%-95%。
相对于Xen采用的手工更改客户操作系统源代码的方式,之后又有人提出了一种半自动化的更改客户操作系统的方法,称为预虚拟化(Pre-virtulization)。这种方法的特点是在编译器完成编译之后,在汇编器开始汇编之前插入一个脚本。该脚本以自动化的方式替换不可虚拟化的指令。这种方式已经在L4,vNUMA中实现,并可以极大地减少准虚拟化带来的操作系统移植的工作量。
由于支持准虚拟化的虚拟机监控器种类越来越多,所以急需一种hypercall标准来规范虚拟机监控器超级调用接口以及避免重复进行操作系统移植。在这方面,Linux走在了前列:目前Linux准虚拟化标准paravirt_ops已经被合并到Linux源代码树中。这个标准规范了Linux支持的超级调用接口。基于该接口的示范虚拟机Lguest,已经被合并到Linux源代码树中。
2.硬件虚拟化
因为软件虚拟化技术的种种难以克服的缺点,CPU厂商推出了基于CPU的硬件虚拟化技术。支持虚拟技术的CPU带有特别优化过的指令集来控制虚拟过程,通过这些指令集,XEN会很容易提高性能,相比软件的虚拟实现方式会很大程度上提高性能。硬件虚拟化技术可提供基于芯片的功能,借助兼容XEN软件能够改进纯软件解决方案。由于虚拟化硬件可提供全新的架构,支持操作系统直接在上面运行,从而无需进行二进制转换,减少了相关的性能开销,极大简化了XEN设计,进而使XEN能够按通用标准进行编写,性能更加强大。另外,在纯软件XEN中,目前缺少对64位客户操作系统的支持,而随着64位处理器的不断普及,这一严重缺点也日益突出。而CPU的虚拟化技术除支持广泛的传统操作系统之外,还支持64位客户操作系统。
虚拟化技术是一套解决方案。完整的情况需要CPU、主板芯片组、BIOS和软件的支持,例如XEN软件或者某些操作系统本身。即使只是CPU支持虚拟化技术,在配合XEN的软件情况下,也会比完全不支持虚拟化技术的系统有更好的性能。
两大CPU厂商Intel和AMD都已经制定了硬件虚拟化策略,并发布了一系列支持虚拟化的产品。Intel已经发布了具有Intel VT虚拟化技术的一系列处理器产品,包括桌面平台的Pentium 4 6X2系列、Pentium D 9XO系列和Pentium EE 9XX系列,还有Core Duo系列和Core Solo系列中的部分产品,以及服务器/工作站平台上的Xeon LV系列、Xeon 5000系列、Xeon 5100系列、Xeon MP 7000系列以及Itanium 2 9000系列同时绝大多数的Intel下一代主流处理器,包括Merom核心移动处理器,Conroe核心桌面处理器,Woodcrest核心服务器处理器,以及基于Montecito核心的Itanium 2高端服务器处理器都将支持Intel VT虚拟化技术。
而AMD方面也己经发布了支持AMD Virtual Technology(AMD VT)虚拟化技术的一系列处理器产品,包括Socket S1接口的Turion 64 X2系列以及Socket AM2接口的Athlon 64X2系列和Athlon 64FX系列,以及最新的Socket F接口的Opteron等等。
(三)发明内容
1 目的:
本发明的目的是提供一种基于分布式内存虚拟化的NUMA结构的实现方法,它主要采用了当前主流处理器的硬件辅助虚拟化技术,结合分布式共享存储算法对多机资源进行整合,实现硬件辅助策略下的NUMA结构的单一物理地址空间,对多机内存资源进行统一管理和使用。
2 技术方案:
2.1 设计概述
本发明专利基于多机集群系统,集群中各节点的内存以分布的方式位于各个节点之间,集群中的计算机需要通过网络连接,通过网络传递消息。本发明专利的目标是要基于机群系统,利用虚拟化和分布式共享技术提供具有共享单一地址空间特性的虚拟机,但整个系统的内存容量是各个节点内存容量加成。多个节点的多个处理器之间共享内存,并通过共享内存完成多机资源的整合。
本发明专利通过借助部署在机群每个节点上的Xen,在机群系统结构上提供具有共享物理内存特性的客户系统。通过在Xen中实现分布式共享存储为客户系统提供共享的物理地址空间,并借助硬件辅助的内存虚拟化技术来实现,使现有操作系统无需修改即可运行,从而实现完全虚拟化。以虚拟机中的客户操作系统的观点来看,其运行于正常的单机节点之上。
在Xen中实现内存虚拟化是为客户操作系统提供单一客户物理地址空间,并且对内存寻址过程进行虚拟化,同时结合分布式共享存储为客户操作系统呈现与单节点条件下无异的的环境。
分布式共享存储实现缓存一致性,使该客户操作系统看不到具体的共享内存实现过程,从而保证了客户操作系统以及应用程序运行的正确性。
2.2 结构概述
整个系统按功能可以分为4个模块:
1)EPT模块用于为虚拟机提供一个共享客户物理地址空间。
2)NUMA模块用于实现基于分布式共享存储算法的NUMA结构共享内存空间。
3)API模块用为其它虚拟化模块提供访问共享内存的方法。
4)其它虚拟化模块。
与本发明相关的模块包括:
EPT模块:
Xen利用EPT为虚拟机提供虚拟化的内存空间,地址转换以及相应寻址。EPT中记录的是客户物理地址到机器物理地址的映射。通过查询客户页表可得到客户线性地址到客户物理地址的映射,再通过查询EPT可得到客户物理地址到机器物理地址的映射,最终得到线性地址到机器物理地址的映射。
EPT表保存客户物理地址到机器地址的映射,映射的内容包括:
●本地客户物理页面和对应的机器页面号。
●映射权限:读写权限以及是否有效。
●映射类型:内存映射还是内存映射I/O映射。
●NUMA元数据:用于实现NUMA的相关数据结构,NUMA算法依据这些结构做出决策。
EPT模块维护客户物理地址到机器物理地址的映射来实现内存虚拟化,使客户系统不用考虑虚拟地址的转换,完成对客户系统的透明操作。物理硬件使用Xen维护的EPT表进行寻址。EPT表中的映射内容由Xen启动时硬件完成,保存由客户物理地址到机器地址的映射。EPT的生成和同步由Xen负责完成,客户系统的缺页和异常都由自己完成,只有当Xen捕获EPT产生的缺页异常时,EPT模块才会进行同步操作。当EPT缺页的映射为远程映射时,就会触发NUMA模块进行远程缺页异常操作。
EPT是由系统启动时自动生成并由硬件来维护的,EPT的结构类似于普通的内存页表,具有分级结构。在虚拟机运行时,硬件使用EPT进行最终寻址。当EPT中存在有效映射项时,此次寻址请求可以直接完成;当EPT中的映射项或者寻址请求与映射权限冲突时产生的缺页异常会被Xen所捕获,触发内存虚拟化策略以及NUMA算法。
NUMA模块:
NUMA模块主要利用现有的分布式共享存储算法,实现NUMA结构内存共享,对内存资源进行管理。对于每个共享页面都有唯一的home节点,home节点分布在所有节点中,每个节点至多只能是一块共享页面的home。EPT映射的是本地客户物理地址与对应的机器地址,因此当客户指令尝试访问本地共享页面时和正常访存过程相同,当访问远程共享页面时就会产生缺页异常,并触发NUMA算法从此共享页面的home节点取得并缓存在本地。当NUMA算法迁移对应的页面至本地后,会更新相应EPT表映射。待EPT完成更新后,再次寻址此页面就不会引发缺页。缓存的页面的地址空间在所有的处理器中都是一致的,因此远程访问时就不需要就行地址转换。由于整个页面迁移过程对客户操作系统透明,使客户操作系统认为自己可以对共享的地址空间进行寻址。
客户操作系统通过EPT并借助NUMA模块完成了对整个共享地址空间的寻址。而其它的虚拟化模块需要直接的请求NUMA:
1)处理器虚拟化模块:在模拟指令执行时的取指令与取操作数都必须请求NUMA模块,因为对应的操作数与指令所在页面可能位于远程。
2)I/O虚拟化模块:在模拟DMA的时候,对应的客户操作系统主存访问也必须通过NUMA。
API模块:
为了实现单一地址空间,必须为其它的虚拟化模块如I/O虚拟化以及指令集虚拟化模块提供访问客户操作系统主存的方式。与EPT不同,接口模块就为这些模块提供了调用NUMA模块的接口,其它的虚拟化模块需要主动的调用NUMA算法,确保访问到正确的客户主存数据。
2.3 工作流程
初始化阶段:
系统在初始化阶段分为两类节点:系统中选取一个节点作为主节点,其余节点作为从节点。
EPT初始化:EPT的初始化包含初始化EPT映射以及初始化NUMA元数据。系统初始化时,在各自节点分配内存供客户操作系统使用,并初始化对应的EPT映射。对于各个节点,以此节点为home节点的共享页面被设定为读写,而其他页面映射权限被设定为缺页。NUMA元数据按照对应NUMA算法的要求进行初始化工作。
客户操作系统的启动遵循SMP多处理器启动序列:首先客户操作系统会在主节点的启动处理器(虚拟处理器)(BootStrapping Processor,BSP)上启动,此时对应的虚拟处理器位于实模式,其直接使用EPT作为页表。当其完成页表初始化并开启分页后,客户操作系统建立自己的线性地址与客户物理地址的映射,此时虚拟处理器对应的物理处理器使用EPT进行实际的硬件寻址。当寻址的页面的home节点是本节点时,不会引发缺页,直接进行访存;当访问的页面的home节点不是本节点时,就会引发缺页,通过NUMA米快将页面请求发送至请求页面的home节点,然后由home节点来处理缺页请求。当BSP启动辅助处理器(AuxiliaryProcessor,AP)时,AP会根据BSP发来的消息从指定的地址启动。位于从节点的AP启动时由于指定地址对应的映射在EPT表中可能不存在,从而引发缺页异常,同样通过NUMA模块进行页面迁移。之后AP所需要的数据和指令都通过NUMA从所需页面的home节点迁移到被启动节点,这就确保了AP的启动和运行。当AP开启分页后,与BSP一样,客户操作系统会建立自己的线性地址与客户物理地址的映射。当多处理器启动完毕后,整个系统进入正常工作模式。
系统正常工作阶段:
系统中客户操作系统的寻址首先会查询客户操作系统的页表GPT,由客户操作系统的线性地址查找到客户操作系统的物理地址,进而查找EPT,客户操作系统的物理地址再通过EPT表查找对应的机器地址,若查找成果就称为命中,此时继续执行访存等指令,若没有对应的机器页面就会产生缺页异常,此时EPT模块就要与NUMA模块进行配合,进行远程页面的迁移,将远程的页面迁移到本地,进而执行正常访存操作。
与其它虚拟化模块的协作:
NUMA模块同时负责为其它虚拟化模块提供一个访问主存的接口,确保其它虚拟化模块可以访问到正确的主存的数据。当其它虚拟化模块访问的页面位于远程时,NUMA模块负责将其迁移到本地,并供其它的内存虚拟化模块访问。
综上所述,本发明是一种基于分布式内存虚拟化的NUMA结构的实现方法,此方法具体实现步骤如下:
设虚拟机主存容量为M,
步骤一、准备阶段:
1.各结点Xen分配EPT表所需空间,并将EPT对应所有内容清零;
2.各节点Xen分别分配M大小的内存供虚拟机使用,并按照1:1映射的方式初始化EPT表中客户物理页面到机器页面的映射关系;
3.所有节点的Xen标记其EPT表中以本节点为home节点的共享页面映射有效,标记其它所有共享页面映射无效。
4.各个节点将对应虚拟处理器的页表基址寄存器指向EPT表基址;
5.当客户操作系统开启分页时,Xen将对应虚拟处理使用的页表机制更换为对应的客户操作系统页表GPT基址。
步骤二、正常工作阶段:
在客户操作系统启动并正常运行之后,客户操作系统及应用程序在全虚拟化的环境下,与正常的操作系统的寻址过程一致,此时的客户操作系统寻址首先由客户线性地址,通过查找客户页表找到相应的客户物理地址,之后由Xen继续寻址过程,Xen会查询EPT表找到之前客户物理地址对应的机器地址:
a)若对应EPT映射存在且是以本节点为home节点的共享页面则有效,然后转向步骤三;
b)若对应EPT映射存在但不是以本节点为home节点的共享页面且为读操作则有效,然后转向步骤三;
c)若对应EPT映射存在但不是以本节点为home节点的共享页面且为写操作,或者对应EPT映射不存在则无效,然后转向步骤四;
步骤三、NUMA处理本地请求过程:
1.获得请求客户物理页面与所需权限;
2.若为读操作则直接从home中或是本地cache中获得相应EPT表对应的机器页面;
3.若为写操作则由home节点根据home中NUMA元数据保存的该页面的使用节点副本,向其他节点发送页面无效通知,之后对页面进行写操作。
4.完成本地处理过程。
步骤四、NUMA处理远程请求的过程:
1.获取请求页面号以及权限;
2.若对应EPT映射不存在且为读操作,则需向home节点发送请求,由home节点将页面和权限发送到请求节点,请求节点缓存在本地cache后,继续读操作。
3.若对应EPT映射存在但不是以本节点为home节点的共享页面且为写操作,或者对应EPT映射不存在且为写操作,则需向home节点发送请求,由home节点根据home中NUMA元数据保存的该页面的使用节点副本,向其他节点发送页面无效通知,之后将请求的页面副本和权限发送给请求节点,请求节点将页面缓存在cache中后,继续访存操作。
4.完成远程处理过程。
(3)优点及效果
通过结合内存虚拟化技术与分布式共享存储技术,本发明为分布式系统提供了紧耦合的共享内存视图,极大的提高了分布式系统中的可管理性以及可编程性。通过结合其它的虚拟化策略,同时可以使商业化的操作系统以及应用软件跨节点的运行于分布式的集群系统中,降低了软件移植带来的复杂度。本发明在现有的成熟技术基础上进行创新,实施不难,具有良好的使用和发展前景。
(四)附图说明
图1系统整体结构示意图
图2EPT表寻址示意图
图3NUMA内存组织示意图
图4NUMA与EPT写作示意图
(五)具体实施方式
见图1、图2、图3、图4所示,一种基于分布式内存虚拟化的NUMA结构的实现方法,该方法具体实施步骤如下:
设虚拟机主存容量为M,
步骤一、准备阶段:
1.各结点Xen分配EPT表所需空间,并将EPT对应所有内容清零;
2.各节点Xen分别分配M大小的内存供虚拟机使用,并按照1:1映射的方式初始化EPT表中客户物理页面到机器页面的映射关系;
3.所有节点的Xen标记其EPT表中以本节点为home节点的共享页面映射有效,标记其它所有共享页面映射无效。
4.各个节点将对应虚拟处理器的页表基址寄存器指向EPT表基址;
5.当客户操作系统开启分页时,Xen将对应虚拟处理使用的页表机制更换为对应的客户操作系统页表GPT基址。
步骤二、正常工作阶段:
在客户操作系统启动并正常运行之后,客户操作系统及应用程序在全虚拟化的环境下,与正常的操作系统的寻址过程一致,此时的客户操作系统寻址首先由客户线性地址,通过查找客户页表找到相应的客户物理地址,之后由Xen继续寻址过程,Xen会查询EPT表找到之前客户物理地址对应的机器地址:
a)若对应EPT映射存在且是以本节点为home节点的共享页面则有效,然后转向步骤三;
b)若对应EPT映射存在但不是以本节点为home节点的共享页面且为读操作则有效,然后转向步骤三;
c)若对应EPT映射存在但不是以本节点为home节点的共享页面且为写操作,或者对应EPT映射不存在则无效,然后转向步骤四;
步骤三、NUMA处理本地请求过程:
1.获得请求客户物理页面与所需权限;
2.若为读操作则直接从home中或是本地cache中获得相应EPT表对应的机器页面;
3.若为写操作则由home节点根据home中NUMA元数据保存的该页面的使用节点副本,向其他节点发送页面无效通知,之后对页面进行写操作。
4.完成本地处理过程。
步骤四、NUMA处理远程请求的过程:
1.获取请求页面号以及权限;
2.若对应EPT映射不存在且为读操作,则需向home节点发送请求,由home节点将页面和权限发送到请求节点,请求节点缓存在本地cache后,继续读操作。
3.若对应EPT映射存在但不是以本节点为home节点的共享页面且为写操作,或者对应EPT映射不存在且为写操作,则需向home节点发送请求,由home节点根据home中NUMA元数据保存的该页面的使用节点副本,向其他节点发送页面无效通知,之后将请求的页面副本和权限发送给请求节点,请求节点将页面缓存在cache中后,继续访存操作。
4.完成远程处理过程。

Claims (1)

1、一种基于分布式内存虚拟化的NUMA结构的实现方法,该实现方法步骤如下:
设虚拟机主存容量为M,
步骤一、准备阶段:
(1)各结点Xen分配EPT表所需空间,并将EPT对应所有内容清零;
(2)各节点Xen分别分配M大小的内存供虚拟机使用,并按照1:1映射的方式初始化EPT表中客户物理页面到机器页面的映射关系;
(3)所有节点的Xen标记其EPT表中以本节点为home节点的共享页面映射有效,标记其它所有共享页面映射无效;
(4)各个节点将对应虚拟处理器的页表基址寄存器指向EPT表基址;
(5)当客户操作系统开启分页时,Xen将对应虚拟处理使用的页表机制更换为对应的客户操作系统页表GPT基址;
步骤二、正常工作阶段:
在客户操作系统启动并正常运行之后,客户操作系统及应用程序在全虚拟化的环境下,与正常的操作系统的寻址过程一致,此时的客户操作系统寻址首先由客户线性地址,通过查找客户页表找到相应的客户物理地址,之后由Xen继续寻址过程,Xen会查询EPT表找到之前客户物理地址对应的机器地址:
a)若对应EPT映射存在且是以本节点为home节点的共享页面则有效,然后转向步骤三;
b)若对应EPT映射存在但不是以本节点为home节点的共享页面且为读操作则有效,然后转向步骤三;
c)若对应EPT映射存在但不是以本节点为home节点的共享页面且为写操作,或者对应EPT映射不存在则无效,然后转向步骤四;
步骤三、NUMA处理本地请求过程:
(1)获得请求客户物理页面与所需权限;
(2)若为读操作则直接从home中或是本地cache中获得相应EPT表对应的机器页面;
(3)若为写操作则由home节点根据home中NUMA元数据保存的该页面的使用节点副本,向其他节点发送页面无效通知,之后对页面进行写操作;
(4)完成本地处理过程;
步骤四、NUMA处理远程请求的过程:
(1)获取请求页面号以及权限;
(2)若对应EPT映射不存在且为读操作,则需向home节点发送请求,由home节点将页面和权限发送到请求节点,请求节点缓存在本地cache后,继续读操作;
(3)若对应EPT映射存在但不是以本节点为home节点的共享页面且为写操作,或者对应EPT映射不存在且为写操作,则需向home节点发送请求,由home节点根据home中NUMA元数据保存的该页面的使用节点副本,向其他节点发送页面无效通知,之后将请求的页面副本和权限发送给请求节点,请求节点将页面缓存在cache中后,继续访存操作;
(4)完成远程处理过程。
CN2008102466655A 2008-12-29 2008-12-29 基于分布式内存虚拟化的numa结构的实现方法 Expired - Fee Related CN101477496B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008102466655A CN101477496B (zh) 2008-12-29 2008-12-29 基于分布式内存虚拟化的numa结构的实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008102466655A CN101477496B (zh) 2008-12-29 2008-12-29 基于分布式内存虚拟化的numa结构的实现方法

Publications (2)

Publication Number Publication Date
CN101477496A true CN101477496A (zh) 2009-07-08
CN101477496B CN101477496B (zh) 2011-08-31

Family

ID=40838217

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008102466655A Expired - Fee Related CN101477496B (zh) 2008-12-29 2008-12-29 基于分布式内存虚拟化的numa结构的实现方法

Country Status (1)

Country Link
CN (1) CN101477496B (zh)

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102239478A (zh) * 2011-04-19 2011-11-09 华为技术有限公司 数据访问处理方法和设备
CN102262557A (zh) * 2010-05-25 2011-11-30 运软网络科技(上海)有限公司 通过总线架构构建虚拟机监控器的方法及性能服务框架
CN102308282A (zh) * 2011-07-20 2012-01-04 华为技术有限公司 多处理器体系结构远端内存访问的模拟方法及模拟器
CN102323899A (zh) * 2011-09-05 2012-01-18 浪潮电子信息产业股份有限公司 Numa体系结构下面向容错的操作系统内存管理方法
CN102360345A (zh) * 2011-10-11 2012-02-22 浪潮电子信息产业股份有限公司 一种实现可配置共享库多副本的方法
CN102662722A (zh) * 2010-12-23 2012-09-12 韩国电子通信研究院 用于完全虚拟化的地址空间变换方法和设备
CN103197957A (zh) * 2013-03-20 2013-07-10 无锡江南计算技术研究所 一种用户程序执行时页面复制方法
CN103577382A (zh) * 2013-10-24 2014-02-12 华为技术有限公司 一种配置节点控制器的方法和装置
CN103902459A (zh) * 2012-12-25 2014-07-02 华为技术有限公司 确定共享虚拟内存页面管理模式的方法和相关设备
WO2015043376A1 (zh) * 2013-09-26 2015-04-02 华为技术有限公司 一种页的访问方法和页的访问装置、服务器
CN104714837A (zh) * 2013-12-11 2015-06-17 北京慧正通软科技有限公司 工作流引擎集群环境下实例并发处理的一种技术方法
WO2015117405A1 (zh) * 2014-08-22 2015-08-13 中兴通讯股份有限公司 Xen虚拟化系统的全映射方法及装置
WO2016023166A1 (zh) * 2014-08-12 2016-02-18 华为技术有限公司 管理文件的方法、分布式存储系统和管理节点
CN106647412A (zh) * 2017-01-17 2017-05-10 爱普(福建)科技有限公司 一种基于组态元件的分布式控制器之间的数据共享方法
CN107102888A (zh) * 2017-04-25 2017-08-29 华中科技大学 一种基于硬件虚拟化技术的共享库隔离保护方法及系统
CN107402803A (zh) * 2017-07-28 2017-11-28 郑州云海信息技术有限公司 一种资源管理方法及装置
CN107463426A (zh) * 2016-06-06 2017-12-12 阿里巴巴集团控股有限公司 一种kvm虚拟化下虚拟机克隆的方法及装置
CN107807851A (zh) * 2016-09-09 2018-03-16 华为数字技术(苏州)有限公司 一种虚拟机内存在numa节点间的迁移方法和装置
CN110058921A (zh) * 2019-03-13 2019-07-26 上海交通大学 客户虚拟机内存动态隔离和监控方法及系统
CN110245135A (zh) * 2019-05-05 2019-09-17 华中科技大学 一种基于numa架构的大规模流式图数据更新方法
CN110727611A (zh) * 2019-09-09 2020-01-24 无锡江南计算技术研究所 一种带状态监测的可配置一致性验证系统
CN111143244A (zh) * 2019-12-30 2020-05-12 海光信息技术有限公司 计算机设备的内存访问方法和计算机设备
CN112099914A (zh) * 2020-09-03 2020-12-18 海光信息技术股份有限公司 一种虚拟机多核启动方法、虚拟机及处理器芯片

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09506988A (ja) * 1993-09-30 1997-07-08 アップル コンピュータ,インコーポレイテッド コンピュータの仮想メモリにおける補助記憶の分散制御システム
US6029237A (en) * 1997-10-08 2000-02-22 Dell Usa, L.P. Method for simulating the presence of a diskette drive in a NetPC computer that contains only a hard disk drive

Cited By (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102262557A (zh) * 2010-05-25 2011-11-30 运软网络科技(上海)有限公司 通过总线架构构建虚拟机监控器的方法及性能服务框架
CN102262557B (zh) * 2010-05-25 2015-01-21 运软网络科技(上海)有限公司 通过总线架构构建虚拟机监控器的方法及性能服务框架
CN102662722A (zh) * 2010-12-23 2012-09-12 韩国电子通信研究院 用于完全虚拟化的地址空间变换方法和设备
US8862857B2 (en) 2011-04-19 2014-10-14 Huawei Technologies Co., Ltd. Data access processing method and apparatus
WO2011107040A3 (zh) * 2011-04-19 2011-12-29 华为技术有限公司 数据访问处理方法和设备
CN102239478A (zh) * 2011-04-19 2011-11-09 华为技术有限公司 数据访问处理方法和设备
CN102308282A (zh) * 2011-07-20 2012-01-04 华为技术有限公司 多处理器体系结构远端内存访问的模拟方法及模拟器
CN102323899A (zh) * 2011-09-05 2012-01-18 浪潮电子信息产业股份有限公司 Numa体系结构下面向容错的操作系统内存管理方法
CN102323899B (zh) * 2011-09-05 2013-05-08 浪潮电子信息产业股份有限公司 Numa体系结构下面向容错的操作系统内存管理方法
CN102360345A (zh) * 2011-10-11 2012-02-22 浪潮电子信息产业股份有限公司 一种实现可配置共享库多副本的方法
CN103902459B (zh) * 2012-12-25 2017-07-28 华为技术有限公司 确定共享虚拟内存页面管理模式的方法和相关设备
CN103902459A (zh) * 2012-12-25 2014-07-02 华为技术有限公司 确定共享虚拟内存页面管理模式的方法和相关设备
WO2014101423A1 (zh) * 2012-12-25 2014-07-03 华为技术有限公司 确定共享虚拟内存页面管理模式的方法和相关设备
US10019178B2 (en) 2012-12-25 2018-07-10 Huawei Technologies Co., Ltd. Method and related device for determining management mode of shared virtual memory page
CN103197957A (zh) * 2013-03-20 2013-07-10 无锡江南计算技术研究所 一种用户程序执行时页面复制方法
CN103197957B (zh) * 2013-03-20 2016-06-08 无锡江南计算技术研究所 一种用户程序执行时页面复制方法
WO2015043376A1 (zh) * 2013-09-26 2015-04-02 华为技术有限公司 一种页的访问方法和页的访问装置、服务器
CN103577382B (zh) * 2013-10-24 2017-01-04 华为技术有限公司 一种配置节点控制器的方法和装置
CN103577382A (zh) * 2013-10-24 2014-02-12 华为技术有限公司 一种配置节点控制器的方法和装置
CN104714837A (zh) * 2013-12-11 2015-06-17 北京慧正通软科技有限公司 工作流引擎集群环境下实例并发处理的一种技术方法
WO2016023166A1 (zh) * 2014-08-12 2016-02-18 华为技术有限公司 管理文件的方法、分布式存储系统和管理节点
US11656763B2 (en) 2014-08-12 2023-05-23 Huawei Technologies Co., Ltd. File management method, distributed storage system, and management node
US11029848B2 (en) 2014-08-12 2021-06-08 Huawei Technologies Co., Ltd. File management method, distributed storage system, and management node
US10152233B2 (en) 2014-08-12 2018-12-11 Huawei Technologies Co., Ltd. File management method, distributed storage system, and management node
WO2015117405A1 (zh) * 2014-08-22 2015-08-13 中兴通讯股份有限公司 Xen虚拟化系统的全映射方法及装置
CN107463426B (zh) * 2016-06-06 2020-11-27 阿里巴巴集团控股有限公司 一种kvm虚拟化下虚拟机克隆的方法及装置
CN107463426A (zh) * 2016-06-06 2017-12-12 阿里巴巴集团控股有限公司 一种kvm虚拟化下虚拟机克隆的方法及装置
CN107807851A (zh) * 2016-09-09 2018-03-16 华为数字技术(苏州)有限公司 一种虚拟机内存在numa节点间的迁移方法和装置
CN106647412A (zh) * 2017-01-17 2017-05-10 爱普(福建)科技有限公司 一种基于组态元件的分布式控制器之间的数据共享方法
CN106647412B (zh) * 2017-01-17 2018-12-18 爱普(福建)科技有限公司 一种基于组态元件的分布式控制器之间的数据共享方法
CN107102888B (zh) * 2017-04-25 2019-11-22 华中科技大学 一种基于硬件虚拟化技术的共享库隔离保护方法及系统
CN107102888A (zh) * 2017-04-25 2017-08-29 华中科技大学 一种基于硬件虚拟化技术的共享库隔离保护方法及系统
CN107402803A (zh) * 2017-07-28 2017-11-28 郑州云海信息技术有限公司 一种资源管理方法及装置
CN110058921A (zh) * 2019-03-13 2019-07-26 上海交通大学 客户虚拟机内存动态隔离和监控方法及系统
CN110058921B (zh) * 2019-03-13 2021-06-22 上海交通大学 客户虚拟机内存动态隔离和监控方法及系统
CN110245135A (zh) * 2019-05-05 2019-09-17 华中科技大学 一种基于numa架构的大规模流式图数据更新方法
CN110245135B (zh) * 2019-05-05 2021-05-18 华中科技大学 一种基于numa架构的大规模流式图数据更新方法
CN110727611A (zh) * 2019-09-09 2020-01-24 无锡江南计算技术研究所 一种带状态监测的可配置一致性验证系统
CN110727611B (zh) * 2019-09-09 2022-01-07 无锡江南计算技术研究所 一种带状态监测的可配置一致性验证系统
CN111143244B (zh) * 2019-12-30 2022-11-15 海光信息技术股份有限公司 计算机设备的内存访问方法和计算机设备
CN111143244A (zh) * 2019-12-30 2020-05-12 海光信息技术有限公司 计算机设备的内存访问方法和计算机设备
CN112099914A (zh) * 2020-09-03 2020-12-18 海光信息技术股份有限公司 一种虚拟机多核启动方法、虚拟机及处理器芯片
CN112099914B (zh) * 2020-09-03 2023-07-21 海光信息技术股份有限公司 一种虚拟机多核启动方法、虚拟机及处理器芯片

Also Published As

Publication number Publication date
CN101477496B (zh) 2011-08-31

Similar Documents

Publication Publication Date Title
CN101477496B (zh) 基于分布式内存虚拟化的numa结构的实现方法
US7484073B2 (en) Tagged translation lookaside buffers in a hypervisor computing environment
Bugnion et al. Disco: Running commodity operating systems on scalable multiprocessors
CN101398768B (zh) 一种分布式虚拟机监视器系统的构建方法
US6075938A (en) Virtual machine monitors for scalable multiprocessors
US8661181B2 (en) Memory protection unit in a virtual processing environment
CN101477495B (zh) 分布式内存虚拟化技术的实现方法
JP5214670B2 (ja) マルチプロセッサ仮想マシン環境においてアドレス変換をサポートする方法及び装置
US20140108701A1 (en) Memory protection unit in a virtual processing environment
US20060224815A1 (en) Virtualizing memory management unit resources
CN101149688A (zh) 虚拟化系统、内存管理方法及控制程序
CN103793260A (zh) 一种平台虚拟化系统
JP2004110809A (ja) マルチプロセッサ・ホスト・システム上でのマルチプロセッサ・エミュレーションのための方法およびシステム
CN101425046A (zh) 分布式i/o资源虚拟化技术的实现方法
US9772951B2 (en) Preemptive guest merging for virtualization hypervisors
Skarlatos et al. Babelfish: Fusing address translations for containers
CN104503825A (zh) 一种基于kvm混合式设备虚拟化方法
Ewais et al. Disaggregated memory in the datacenter: A survey
Madhavapeddy et al. Turning Down the {LAMP}: Software Specialisation for the Cloud
US20140208034A1 (en) System And Method for Efficient Paravirtualized OS Process Switching
Kim et al. NHVM: design and implementation of linux server virtual machine using hybrid virtualization technology
US20230185593A1 (en) Virtual device translation for nested virtual machines
Campbell et al. An introduction to virtualization
KR20120070326A (ko) 메모리 가상화 장치 및 방법
US20220405111A1 (en) Improving memory access handling for nested virtual machines

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
ASS Succession or assignment of patent right

Owner name: HUAWEI TECHNOLOGY CO LTD

Free format text: FORMER OWNER: BEIJING AERONAUTICS AND ASTRONAUTICS UNIV.

Effective date: 20110926

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 100191 HAIDIAN, BEIJING TO: 518129 SHENZHEN, GUANGDONG PROVINCE

TR01 Transfer of patent right

Effective date of registration: 20110926

Address after: 518129 headquarter office building of Bantian HUAWEI base, Longgang District, Shenzhen, Guangdong, China

Patentee after: Huawei Technologies Co., Ltd.

Address before: 100191 School of computer science, Beihang University, Xueyuan Road 37, Beijing, Haidian District

Patentee before: Beihang University

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

Granted publication date: 20110831

Termination date: 20171229