CN101271401B - 一种具备单一系统映像的服务器机群系统 - Google Patents

一种具备单一系统映像的服务器机群系统 Download PDF

Info

Publication number
CN101271401B
CN101271401B CN2008100942322A CN200810094232A CN101271401B CN 101271401 B CN101271401 B CN 101271401B CN 2008100942322 A CN2008100942322 A CN 2008100942322A CN 200810094232 A CN200810094232 A CN 200810094232A CN 101271401 B CN101271401 B CN 101271401B
Authority
CN
China
Prior art keywords
node
module
virtual machine
operating system
virtualization modules
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
CN2008100942322A
Other languages
English (en)
Other versions
CN101271401A (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 CN2008100942322A priority Critical patent/CN101271401B/zh
Publication of CN101271401A publication Critical patent/CN101271401A/zh
Application granted granted Critical
Publication of CN101271401B publication Critical patent/CN101271401B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种具备单一系统映像的服务器机群系统,所述系统包括硬件层、分布式虚拟机监视器层和操作系统层;所述硬件层包括多个结点,所述结点的CPU支持硬件虚拟化,各结点通过高速网络连接;所述分布式虚拟机监视器层为在每个结点的硬件之上部署一个虚拟机监视器,各结点上的虚拟机监视器之间通过底层通信软件、经由高速网络进行通信;操作系统层为支持cc-NUMA的各类商用操作系统;现行的各类面向cc-NUMA架构的并行软件可以不经修改地运行于所述系统之上。它基于对硬件资源的虚拟化,在操作系统之下实现了服务器机群系统的单一系统映像。具有透明性好、性能较高、应用面广和实现难度适中等优势。

Description

一种具备单一系统映像的服务器机群系统
技术领域
本发明涉及一种具备单一系统映像的服务器机群系统,具体地说,涉及一种利用虚拟化技术实现单一系统映像的服务器机群系统。
背景技术
虚拟化是一个广义的术语,在计算机方面通常是指计算和处理在虚拟的基础上而不是真实的基础上运行。虚拟化技术是指对物理资源进行抽象的技术。虚拟化技术可在硬件和操作系统之间构建一个虚拟平台,实现在同一个硬件平台上构建相互隔离的多个运行域,每一个运行域中都可以分别运行自己的操作系统和应用软件。
虚拟化技术起源于20世纪60年代,IBM公司在System/360计算机系统中首先运用虚拟化技术实现了虚拟机,随着System/370等系列机的成功推广,虚拟化技术逐渐成为大型机中必然采用的一项重要技术,主要目的是让更多的用户共享昂贵的硬件资源。
二十世纪八十年代,随着集成电路技术的飞速发展,计算机硬件成本急剧降低,特别是随着PC等微型机的广泛使用,共享硬件资源的必要性随之降低,关于虚拟化技术的研究和开发工作几近停顿。
二十世纪九十年代末以来,随着网络技术的迅速发展以及PC和服务器性能的大幅提高,各种新的网络应用不断涌现,同时也伴随着出现很多新的问题,如,安全性问题、可用性问题、提高服务器和PC机的资源利用率问题等。为了解决这些问题,虚拟化技术再次被使用,虚拟机及虚拟化技术又成为当今计算机界一个重要的研究热点。
当今的虚拟化技术研究的重点是基于ISA(指令集系统结构)虚拟化构建虚拟机监视器VMM(Virtual Machine Monitor)。按照实现方式不同可以分为全虚拟化技术和半虚拟化技术,全虚拟化是完全模拟客户软件运行所需要的硬件环境,客户操作系统和应用软件可以不经修改地运行在虚拟环境中;半虚拟化是为客户软件模拟一个和物理环境不完全相同的虚拟硬件环境,需要修改客户操作系统,使之与VMM相互协作,共同完成执行客户软件的任务。
虚拟化技术可以通过两个方向来抽象物理资源:一个方向是“分”,即把一个物理的计算机虚拟成若干个独立的逻辑计算机;另一个方向是“合”,就是把若干个分散的物理计算机虚拟为一个大的逻辑计算机。
当前虚拟化技术研究主要集中于服务器虚拟化(ServerVirtualization)。服务器虚拟化主要是解决服务器系统的整体效能及资源利用率问题。目前,服务器虚拟化研究的热点是位于操作系统之下监控器层面的虚拟化技术Virtual Machine Monitor(简称VMM,也称Hypervisor)。虚拟技术可在硬件和操作系统之间构建一个虚拟平台,实现一个硬件平台上构建相互隔离的运行域,每一个运行域中都可以分别运行自己的操作系统和应用软件。
虚拟化的核心是构建虚拟机,并将本来直接运行于实际硬件平台的操作系统放在虚拟机中运行,这样的操作系统称为Guest操作系统,其中原本可直接运行的某些操作通过虚拟层来运行。以VMware虚拟x86指令为例,将其分为:(1)非敏感(non-sensitive)且是非特权(non-priviledged)的指令直接在物理处理机上运行。(2)敏感(sensitive)且是特权(priviledged)的指令陷入(trap)。(3)敏感(sensitive)但却是非特权(non-priviledged)的指令(在x86中有17条这样的指令)由VMM监测。
虚拟化的关键问题是如何处理Guest操作系统中的敏感指令。不同的虚拟化方法采取不同的处理方式,目前广泛研究和使用的有三种方法:
全虚拟化(Full-Virtualization)方法:该方法提供了物理硬件的完整模拟,采用软件模拟技术处理敏感指令,在虚拟层中完整地构造一个和物理硬件相当的环境,Guest操作系统可以不加任何修改地运行于虚拟环境中。该方法的优点是很明显的,即Guest操作系统可以不加任何修改地在虚拟机上直接运行,同时也具有很好的灵活性和扩展性。然而这种技术的缺陷也很明显,最大的问题就是每条特权指令的执行都要引起用户模式与特权模式的切换,导致虚拟机的运行效率很低。典型的服务器虚拟化系统VMware ESX Server和IBMsystem/370都采用了全虚拟化方法。
部分虚拟化(Para-Virtualization)方法:该方法通过修改Guest源代码中涉及到的敏感指令,用超级调用(hypercall)来代替特权指令,让尽可能多的指令直接运行在物理处理器上。典型的服务器虚拟化系统Xen成功地使用了部分虚拟化方法。Xen通过用超级调用来“包装”多条特权指令的执行,Guest操作系统通过超级调用让VMM执行特权指令,这样就可以减少模式切换,提高执行效率。这个方法的效率可达到非虚拟化的常规执行效率的90%以上,但是,为之付出的代价也很大,需对Guest操作系统代码进行相当大范围的修改,移植成本较高,而且随着Guest操作系统的升级,其维护成本也很高。此外,将新处理器特性集成到hypervisor API的代价也比完全虚拟化方法要大得多。
预虚拟化(Pre-Virtualization)方法:德国Karlsruhe大学、澳大利亚新南威尔士大学和IBM共同提出了预虚拟化方法。这是一种提供工具支持的半自动Guest系统构造方法,利用汇编器的支持,对Guest系统的代码进行扫描,将其中的部分特权指令进行静态替换,对无法静态处理的指令采用profile方法动态地寻找并手工替换。这个方法的指导思想是采用编译工具支持,尽可能地增加可以直接执行的指令,减少需要模拟的指令。采用这个方法基于微内核操作系统L4或者开源Linux构造虚拟机,可以运行经过静态翻译和人工修改的Linux Guest OS,其运行效率也可达到非虚拟化的常规执行效率的90%以上。该方法中Guest代码需要人工干预的汇编级半自动扫描和替换修改,也就是说依然需要获得源代码,至少是汇编代码。
硬件虚拟化技术:随着虚拟化技术研究的蓬勃兴起和虚拟机应用的快速普及,为了占领此技术领域的优势地位,两大处理器厂商Intel和AMD针对IA-32体系架构的处理器进行了扩展,从硬件上支持虚拟化技术。Intel针对IA-32架构的硬件虚拟化技术称为VT-x(Virtual Technology),AMD针对IA-32架构的硬件虚拟化技术称为SVM(Safe Virtual Machine)。
以Intel的VT-x为例,它对IA32体系结构进行了如下扩展。
1、增加了一种新的处理器工作模式,称为VMX(Virtual MachineExtensions)模式,用于运行虚拟机系统。其中又分为两个子操作模式,即VMX根(root)操作模式和VMX非根(not root)操作模式,VMX根操作模式用于运行VMM,VMX非根操作模式用于运行虚拟机VM,这两种模式都能够支持四个特权级(ring0-ring3)。
2、定义了两种模式切换。由根模式进入非根模式的切换,称为VM entry;由非根模式进入根模式的切换,称为VM exit。
3、增加一个控制结构VMCS(Virtual Machine Control Structure),用于保存根模式和非根模式的上下文、控制虚拟机运行的相关信息以及控制VM entry和VM exit过程的相关信息。
4、增加10条用于控制虚拟机的新指令。
通过配置VMCS可以实现所需的虚拟化策略,使得客户软件在执行敏感指令或发生异常时能够切换到VMM,由VMM根据退出原因相应地做出处理。
在VT-x技术支持下,可以简化VMM的设计,可以在不使用二进制动态翻译技术的情况下,实现全虚拟化,即客户操作系统和应用软件可以不经修改地运行于虚拟机中。
单一系统映像,即SSI(Single System Image),就是使用软件或硬件的方式给用户造成一种幻觉,使多个计算元素统一为单一计算资源。换句话说,即使用户实际上面对的是一个分布式环境,但整个系统给用户的感觉并不是一个分布式环境,用户在使用这个系统时,他感觉不到系统中分布资源的存在,而是觉得自己正在使用一台独立的PC或工作站,只不过台独立的PC或工作站的功能要强大得多。
一般来说,单一系统映像具有以下几个特性:
1、单一系统。从用户视图来看,系统是一个具有多个CPU的单个系统,是一个整体的概念。
2、单点控制。用户在使用系统时,通过单一的接口从同一点获取服务;系统管理员在对系统进行管理和控制时,也是通过单一的接口向整个系统发送控制信息的。
3、对称性。用户可以在不同的结点获得相同的服务,也就是说,整个系统对用户而言是对称的。
4、位置透明性。在系统中,提供服务的物理设备位置对于用户是透明的。
目前,为分布式系统提供单一系统映像支持方面的研究已经成为当前并行计算机研究领域的一个重点方向。通过以单一系统映像实现的层次为标准可将现有的代表系统分为以下三类。
1、在操作系统级实现单一系统映像
有些系统的实现是在操作系统级进行的,通常可以采用修改已有的操作系统源代码的方式,将单一系统映像的实现特征和内容加入到现有操作系统的内核中去,或者采用直接实现一个新的单映像操作系统内核的方式来实现单一系统映像。在这一级别实现的代表系统有Solaris MC、SCO NSC UnixWare等。
2、在中间件级(MiddleWare)实现单一系统映像
在操作系统和应用程序之间附加一个单一系统映像层,由这一层来实现各种单一系统映像的功能。这是目前最为普遍的一种实现方式,典型的系统有Berkeley大学的GLUnix系统以及一些针对单地址空间的虚共享系统,如TreadMark,Condor等。
3、在应用级实现单一系统映像
这种实现方式是直接面向应用程序的。可以采用在应用程序中加入一些单系统映像的特征和扩展,以达到用户对应用程序的需求,但是以这种方式实现单一系统映像时,底层的分布集群环境对程序员来说并非完全透明。这种方式的典型代表是并行数据库软件如ParallelOracle和并行系统管理软件如PARMON等。
要完整地实现一个单一系统映像系统,具体内容很多,其中比较重要的方面包括:
1、单入口点
在支持单一系统映像的并行计算机系统中,一般有多个物理主机结点提供完全相同的登录服务;另外,一般都使用某种策略来平衡各登录点的负载。
2、位置透明的全局文件系统
各结点的局部磁盘和文件系统集成为统一的文件映像,用户从任意结点可以访问分布在不同结点的文件系统,并且全局文件系统具有位置透明性。
3、单点控制
系统管理员可以从任何一个结点登录,通过单一的控制点配置、监测和管理整个系统。
4、单网络
从任何一个结点都可以使用分布在不同结点的网络设备。
5、单I/O
从任何一个结点都可以使用分布在不同结点的I/O设备。
6、单一进程空间
运行在整个系统中的进程都具有全局进程标识,由虚拟的进程对象进行全局控制,并且应该具有一套一致性进程转移机制,包括进程的创建、迁移、跟踪和调度等等。
7、单一存储空间
在单一系统映像系统中,所有结点的存储空间在逻辑上是全局编址的,通过相应的一致性模型和一致性协议来保证和维护各个结点地址空间的一致性,同时,单一存储空间为程序员提供了基于共享变量的用户编程接口,体现了相对于基于消息传递的编程模型的优越性。
以上这些内容如果根据实现难易程度可分为两类:一类是在许多实际系统中已经得到了较好支持的内容,包括单入口、单点控制、单网络等;另一类是目前实现上还存在较大困难的内容,包括单一存储空间映像和单一进程空间映像等。
虚拟化的本质是通过抽象物理资源使硬件结构细节对软件系统透明,实现软件系统与硬件系统相隔离,单一系统映像的目标是隐藏分布式硬件环境,使多结点系统呈现单一系统视图,二者的目标是一致的,因此,可以利用虚拟化技术实现单一系统映像。
但现有的技术方法有的不能实现这个目标,有的能够实现但存在不足,如分别存在成本高、不能完全实现单一系统映像、透明性不好、灵活性差等缺陷。
发明内容
本发明需要解决的技术问题就在于克服现有技术的缺陷,提供一种具备单一系统映像的服务器机群系统,它基于对硬件资源的虚拟化,在操作系统之下实现了服务器机群系统的单一系统映像。它是在商用的服务器裸机上,设计、开发并部署分布式虚拟机监视器DVMM(Distributed Virtual Machine Monitor),通过分布式虚拟机监视器实现单个服务器结点的物理资源的虚拟化,通过分布式虚拟机监视器之间的通信协作,实现全局资源的感知、整合、管理和调度,为上层操作系统呈现一个具有单一系统映像的cc-NUMA结构特征的虚拟服务器。
为解决上述问题,本发明采用如下技术方案:
本发明一种具备单一系统映像的服务器机群系统,所述系统包括硬件层、分布式虚拟机监视器层和操作系统层;所述硬件层包括多个  结点,所述结点的CPU支持硬件虚拟化,各结点通过高速网络连接;所述分布式虚拟机监视器层为在每个结点的硬件之上部署一个虚拟机监视器,各结点上的虚拟机监视器之间通过底层通信软件、经由高速网络进行通信;操作系统层为支持cc-NUMA的各类商用操作系统;现行的各类面向cc-NUMA架构的并行软件可以不经修改地运行于所述系统之上。
所述虚拟机监视器由初始化模块、eBIOS模块、指令集系统虚拟化模块、I/O虚拟化模块、中断虚拟化模块、MMU虚拟化模块、DSM模块和通信模块构成:
所述初始化模块是在各个结点上引导并运行分布式虚拟机监视器;包括加载分布式虚拟机监视器映像;初始化基本的软件运行环境;初始化分布式虚拟机监视器的各个模块所必须的数据结构;为分布式虚拟机监视器各个模块构建必要的上下文环境;加载分布式虚拟机监视器的各个功能模块;为引导客户操作系统做准备;
所述指令集系统虚拟化模块是虚拟机监视器的入口点和出口点,所述指令集系统虚拟化模块可以调用通信模块以外的所有模块,也会被这些模块调用;
所述通信模块是各结点虚拟机监视器间协作的基础,该模块调用指令集系统虚拟化模块以外的所有模块,也会被这些模块调用;所述通信模块将其他模块的通信请求可靠、高效地送达目的结点,同时处理其它结点发来的通信请求,根据不同的请求调用相应模块进行服务;
所述eBIOS模块仅在初始化分布式虚拟机监视器和启动操作系统时起作用,指令集系统虚拟化模块捕获操作系统引导时的中断调用,将信息传递给eBIOS,eBIOS根据请求信息的类型,以传统BIOS兼容的方式将整个系统的虚拟资源信息反馈给操作系统,完成操作系统启动时BIOS调用的功能,eBIOS模块通过中断虚拟化模块、I/O虚拟化模块、通信模块完成操作系统引导前BIOS所做工作,感知并生成整个系统的资源信息;
所述I/O虚拟化模块接受指令集系统虚拟化模块的请求,若判别为远程I/O操作,则调用通信模块,向远程结点发出I/O操作请求,接收远程操作结果,更新客户系统状态,完成此次I/O操作;当I/O虚拟化模块接收到远程I/O请求后,对本地I/O设备进行操作,将结果经由通信系统返回至请求结点;
指令集系统虚拟化模块调用中断虚拟化模块模拟操作系统对虚拟中断控制器操作的结果;将外部中断向量转化为操作系统可识别的虚拟中断向量,并向操作系统注入一个虚拟中断;
所述MMU虚拟化模块只被指令集系统虚拟化模块调用,当指令集系统虚拟化模块捕获客户指令流中MMU相关操作,或者与MMU有关异常时,调用MMU虚拟化模块进行处理;
当MMU虚拟化模块发现客户所请求的页面不在本结点时,调用DSM模块进行页面迁移,被MMU虚拟化模块调用时,DSM模块通过通信系统向远程结点请求相应的页面;被通信模块调用时,DSM模块对请求进行服务,并通过通信系统发送结果。
所述结点为对称多处理机服务器结点,每个结点有若干个CPU,每个CPU具有若干个计算核,CPU支持硬件虚拟化。
本发明基于硬件虚拟化技术实现对称多处理机服务器机群的单一系统映像。在对称多处理机服务器机群硬件之上构建一层分布式虚拟机监视器层,由分布于各结点之上的虚拟机监视器组成,各虚拟机监视器完全对称;在分布式虚拟机监视器之上运行支持cc-NUMA的操作系统;分布式虚拟机监视器感知整个机群的物理资源并分类整合生成全局物理资源信息,虚拟化全局物理资源,构建全局虚拟资源信息并呈现给操作系统;操作系统基于所感知的虚拟资源集,调度、执行进程,管理、分配资源,对底层的分布式虚拟机监视器透明;分布式虚拟机监视器截获并代理操作系统执行访问资源的操作,实现虚拟资源到物理资源的映射,操纵物理资源。这样,保证了操作系统既能够感知到机群系统所拥有的资源,又能够管理和使用所感知的资源,从而隐藏了底层硬件的分布式特性,使整个机群对操作系统呈现为一台cc-NUMA虚拟机,实现了对称多处理机服务器机群的单一系统映像。
分布式虚拟机监视器的功能是感知、整合、虚拟化底层的物理资源,将整合后的全局系统资源呈现给客户操作系统,截获并代理操作系统执行所有的资源访问操作,向操作系统通报中断信息等。操作系统的功能是管理、分配它所感知到的全局虚拟资源,加载用户作业运行,处理虚拟中断等。
本发明通过分布式虚拟机监视器和操作系统的配合与协作成功地实现了整个机群系统的单一系统映像,具有下列优点:
1、单入口点:因为每个结点上部署的分布式虚拟机监视器是完全对等的,在其之上运行的操作系统只有一个,所以用户无论从哪个结点登陆系统所获得的用户视图是一致的,也就是说,在用户看来整个机群就是一个系统环境。同理,单点控制得到支持。
2、位置透明的全局文件系统:由于操作系统是基于分布式虚拟机监视器为其整合的全局资源来加载和运行的,并且操作系统负责管理和分配全局虚拟资源,因此整个虚拟文件系统是由操作系统创建和管理的,也就是说整个系统只有一个文件系统,所以对用户来说是位置透明的。
3、单一I/O空间:首先,操作系统感知到的是全局的I/O资源;其次,操作系统负责管理和分配虚拟的I/O资源,不受分布式虚拟机监视器的干涉;最后,操作系统在分布式虚拟机监视器的支持下能够进行跨结点的I/O操作,也能够响应跨结点的I/O设备中断。因此,对于操作系统和用户来说整个系统的I/O空间是统一的。
4、单一存储空间:首先,分布式虚拟机监视器通过MMU虚拟化模块、DSM模块、指令集系统虚拟化模块和通信模块的协作,将整个机群的内存资源整合为一个统一的内存空间,并将客户操作系统负责管理和使用的内存空间通过eBIOS模块呈现给客户操作系统;其次,客户操作系统能够自由地管理和分配其所感知的全局虚拟内存资源;最后,分布式虚拟机监视器通过MMU虚拟化(影子页表技术)技术和DSM技术支持客户操作系统进行跨结点的内存访问。所以,通过虚拟化技术,整个机群呈现给客户操作系统的是一个统一的存储空间。
5、单一进程空间:首先,分布式虚拟机监视器通过指令集系统虚拟化模块整合全局的处理器资源并呈现给客户操作系统;其次,客户操作系统负责管理和分配所有的虚拟处理器资源,并基于此加载客户进程运行;再次,由于所有进程都是由客户操作系统进行管理和调度,不受分布式虚拟机监视器的影响,所以进程号是统一的;最后,进程的指令和数据的跨机器传输是通过缺页异常的方式实现的,也就是通过内存一致性算法解决的。这样,通过单一的物理地址空间来确保单一进程空间的正确性。比如,Guest OS将某个进程加载到另一台物理机器上的某个CPU上运行,该CPU的指令指针就会指向该进程代码段的第一条指令的地址,CPU在取指令时,发现指令所在页面不在本机上,则通过DSM算法将该页面读入本机,然后进行取指、执行。这样就通过内存管理策略,透明地实现了进程跨物理节点执行,也就是实现了单一的进程空间。
本发明基于虚拟化技术,通过分布式虚拟机监视器和支持cc-NUMA架构的客户操作系统的密切配合,成功地实现了整个服务器机群系统的单一系统映像。具有透明性好、性能较高、应用面广和实现难度适中等优势。
附图说明
图1为本发明所述系统结构框图。
图2为本发明所述DVMM结构框图。
图3为本发明所述DVMM各个模块之间的关系框图。
具体实施方式
实施例1
本发明在商用的对称多处理机服务器裸机上,设计、开发并部署分布式虚拟机监视器DVMM(Distributed Virtual Machine Monitor),通过DVMM实现单个对称多处理机服务器结点的物理资源的虚拟化,通过分布式DVMM之间的通信协作,实现全局资源的感知、整合、管理和调度,为上层操作系统呈现一个具有单一系统映像的cc-NUMA结构特征的虚拟服务器。
如图1所示,本发明整个系统逻辑上分成三个层次,自下而上,分别为物理硬件层、分布式虚拟机监视器DVMM层、操作系统层。各层的构成和功能如下:
第一层为物理硬件层。该层可以包括若干个对称多处理机架构的物理服务器结点,每个结点可以有若干个CPU,每个CPU可以具有若干个计算核,CPU支持硬件虚拟化(Intel VT-x);各物理结点通过千兆以太网连接(或者通过infiniband等高速网络连接)。如图1所示,本实施例系统中包括四个对称多处理机架构的物理服务器结点,每个结点具有两个CPU,每个CPU具有两个计算核,CPU支持硬件虚拟化(Intel VT-x);每个结点具有4G字节的物理内存空间,73G的SAS硬盘存储器;四个结点通过千兆以太网连接起来,构成系统的物理硬件结构。该层是整个系统的物理基础。
第二层是分布式虚拟机监视器(DVMM)层,由各结点上的虚拟机监视器(VMM)共同组成。在每个结点的硬件之上,部署一个虚拟机监视器(VMM),通过VMM实现本结点硬件资源的虚拟化和管理;各结点VMM之间通过底层通信软件,经由千兆以太网进行相互通信,实现各VMM之间的协作。通过各VMM之间的协作,实现对全局硬件资源的感知和整合,并按照操作系统启动时所需要的信息格式进行整合,使整个机群系统对操作系统呈现为具有单一系统映像的cc-NUMA架构特征的虚拟服务器系统,即,整个系统具有统一的内存空间,统一的进程空间,统一的控制点。
第三层是操作系统层,可选用支持cc-NUMA架构的各种操作系统。本实施例所述系统选用LINUX的支持cc-NUMA架构的版本。操作系统基于DVMM所整合的系统资源集进行加载和初始化,因而,操作系统感知到的是整个系统的全部硬件资源,而不是单一结点的硬件资源。操作系统以其感知的资源为基础,进行进程的调度和资源的分配与管理。通常的指令执行和虚拟资源的分配、管理由操作系统负责,对底层的DVMM是透明的;当操作系统执行敏感指令、出现中断或异常时,由硬件虚拟化机制保证系统控制权切换到DVMM,DVMM区分不同原因进行针对性的处理,将结果返回给操作系统;必要时,各结点DVMM之间会进行协作,共同完成任务。
现行的各类面向cc-NUMA架构的并行软件可以不经修改地运行于该虚拟服务器之上。
如图2所示,DVMM按照功能分成如下几个模块。
DVMM初始化模块:该模块的功能是在各个结点上引导并运行DVMM。具体包括加载DVMM映像;初始化基本的软件运行环境;初始化DVMM的各个模块所必须的数据结构;为DVMM各个模块构建必要的上下文环境;加载DVMM的各个功能模块;为引导客户操作系统做准备。
eBIOS模块(extended Basic Input/Output System扩展的基本输入输出系统):该模块的主要功能是收集、整合并向客户操作系统提供整个系统的资源配置。eBIOS模块在DVMM初始化阶段,一方面通过本机BIOS获得本结点的资源信息,另一方面通过与其它VMM之间的通信收集其它结点的资源信息,然后按照操作系统引导所需要的格式将所感知的全局资源信息进行整合,并在客户操作系统引导时依照客户操作系统的请求呈现给客户操作系统,使得客户操作系统不但可以获得启动所必须的信息,同时也能感知到整个系统的资源。
指令集系统(ISA Instruction System Architecture)虚拟化模块:该模块的功能是实现指令集系统虚拟化,并与中断虚拟化模块协作使客户操作系统如同控制本地CPU一样地控制分布于不同物理结点上的CPU,从而使客户操作系统能够管理和调度整个机群系统的计算资源。具体是在Intel VT-X技术的支持下,利用VT提供的陷入/返回功能在执行客户指令流的特定情况下触发陷入(这些特定情况包括执行特权指令、发生异常和发生硬件中断),将控制权转移至DVMM,DVMM区分陷入原因,有针对性地进行处理后,将控制权返还客户操作系统,从而实现DVMM对客户操作系统的监视和控制。
I/O虚拟化模块(Input/Output输入输出系统):该模块的功能是使客户操作系统可以感知并使用整个机群上的I/O资源。具体是通过指令集虚拟化的方式接管客户操作系统的I/O操作,根据由eBIOS模块所生成的全局I/O资源表,判别是否本地I/O操作,如果是本地I/O操作,则DVMM执行所截获的I/O指令,并将结果反馈给客户操作系统,随后将系统控制权返还客户操作系统;如果是跨结点的I/O操作,则DVMM将I/O指令传至宿主结点(I/O设备所在结点)的DVMM,宿主结点的DVMM执行I/O指令,并将结果传回请求结点DVMM,请求结点的DVMM将结果反馈给客户操作系统,随后将系统控制权返还客户操作系统。这样,客户操作系统就能像利用本地资源一样利用整个机群的I/O资源。
中断虚拟化模块:该模块的功能是实现中断控制机制的虚拟化,负责以虚拟中断的方式通知客户操作系统中断事件的到达。是实现I/O虚拟化和CPU虚拟化的基础。具体是通过软件对各种可编程中断控制逻辑进行模拟,一方面,该模块截获客户操作系统对可编程中断控制器的操作,并相应地修改虚拟可编程中断控制器的内容以反映客户操作的效果,另一方面,该模块根据硬件中断的情况,修改虚拟可编程中断控制器的内容以便将硬件中断的情况呈现给客户操作系统,同时,通过底层通信机制实现跨结点的中断通知。
MMU虚拟化模块(Memory Management Unit内存管理单元):该模块的功能是在保证客户线性地址到客户物理地址映射的同时,实现客户线性地址到机器物理地址的映射,保证客户操作系统在虚拟化的地址空间中正确地运行。同时也是实现DSM(Distributed SharedMemory)的基础。具体是将地址空间区分为三个层次,即客户线性地址、物理地址和机器地址,其中,线性地址是指客户操作系统寻址空间0-4G,物理地址是DVMM分配给客户操作系统使用的物理内存的编址,机器地址是真实的物理内存的地址,也就是总线地址。客户操作系统管理的页表维护线性地址到物理地址的映射,但这只是形式上的,不是真正的操作地址;DVMM维护一个与客户页表保持一致的页表,称为客户页表的影子页表,影子页表中维护客户线性地址到机器地址的映射,这才是真正的用于机器寻址的页表;DVMM通过截获缺页故障、TLB刷新等操作,维持影子页表与客户页表的一致。通过影子页表与客户页表的同步,也就反映了客户操作系统的地址映射操作的效果。
DSM模块(Distributed Shared Memory分布式共享存储):该模块的功能是在MMU虚拟化的基础上实现透明的DSM,将整个系统的内存资源整合成一个分布式共享内存,为上层客户操作系统提供一个虚拟化的单一客户物理地址空间,客户操作系统如同在本地运行一样地运行于该单一客户物理地址空间中,保证客户操作系统可以充分利用整个系统的内存资源。具体策略是采用IVY算法,实现顺序一致性模型;DVMM维护物理地址到机器地址的映射表P2M表,其中包含内存页面所在结点的信息。当客户所要读取的页面在本地结点时,直接根据影子页表的寻址结果进行读写操作即可;当客户所要读写的内存页面不在本结点时,若为读操作,则拷贝该页面的一个副本到本地结点,再从该副本页面中读取数据,若为写操作,则将目标页面迁移至本结点,将页面的所有者更新为本结点,使该页面的所有副本页面无效,然后再对目标页面进行写操作。这样,就既维持整个内存系统的一致性,又实现了单一的内存空间,使客户系统像使用本地内存一样地使用外部结点的内存资源。
通信模块:该模块的功能是为运行于各个结点上的相互协作的各个DVMM提供低延迟、高带宽、可靠的通信服务。具体是在无操作系统支持的情况下,通过底层通信软件,实现DVMM之间的通信和协作。包括设计、实现简洁清晰的协议栈和网卡驱动程序两个部分。
DVMM各个模块之间的关系如图3所示,
指令集系统虚拟化模块是整个DVMM系统的入口点,在以下三种情况下,VT-x会中断客户指令流的执行,陷入到DVMM中:
1、客户执行必须由DVMM模拟执行才能得到预期结果的指令,这些是特权指令和敏感指令。
2、客户指令的执行引发异常,而该异常必须由DVMM捕获才能实现相应的虚拟化策略。
3、外部设备中断产生,DVMM负责按照I/O虚拟化策略处理中断。
当产生陷入时,DVMM的指令集系统虚拟化模块负责分析引发陷入的原因,并调用DVMM的其它模块模拟相应指令的执行、处理异常或中断或者实现相应的虚拟化策略。
eBIOS模块仅在客户操作系统启动时起作用。指令集系统虚拟化模块捕获客户操作系统在引导时的中断调用,并将相应的信息传递给eBIOS模块。eBIOS模块根据客户操作系统请求信息的类型,按照与传统BIOS兼容的方式将整个机群的信息反馈给客户操作系统,完成客户操作系统启动时BIOS调用的功能。eBIOS模块同时通过中断虚拟化模块、I/O虚拟化模块、通信模块完成客户操作系统引导前BIOS所做工作,感知并生成整个系统的资源信息,一方面用于DVMM对全局资源的虚拟化,另一方面用于确保客户操作系统的顺利引导。
通信模块是各结点DVMM中相同模块之间协作的基础,通信模块将本地各模块的远程通信请求经过协议栈处理后可靠、高效地送达目的结点。同时负责处理其它结点发来的通信请求,并根据不同的请求调用相应模块进行服务。
指令集系统虚拟化模块与通信模块都可能调用其它模块。一般地,由指令集系统虚拟化模块发起的调用都是为本地客户指令流提供服务,由通信模块发起的调用都是为远程客户指令流提供服务。
I/O虚拟化模块在接受到从指令集系统虚拟化模块发出的请求后,首先判断本次I/O是否为本地I/O,如果是则直接操纵本地外部设备完成此次请求;如果是远程I/O请求,则调用通信模块,向远程结点发出I/O操作请求。当I/O虚拟化模块接收到远程I/O请求后,对本地I/O设备进行操作,并将结果经由通信系统返回至请求结点,请求结点根据收到的操作结果,相应地更新客户系统的状态以体现此次I/O操作的结果,这样就完成一次I/O操作的模拟。
中断虚拟化模块主要是为客户操作系统提供虚拟的可编程中断控制器服务。当指令集系统虚拟化模块发起调用时,中断虚拟化模块要负责处理:模拟客户操作系统对虚拟可编程中断控制器操作执行的结果;将DVMM可见的外部中断向量经过相应的可编程中断控制器模拟例程转化为客户操作系统可识别的虚拟中断向量,并向客户操作系统注入一个虚拟的中断。当通信系统发起对中断虚拟化模块的调用时,是为了模拟跨处理器中断的执行。
MMU虚拟化模块一般只由指令集系统虚拟化模块调用,当指令集系统虚拟化模块捕获客户指令流中MMU相关操作,或者与MMU有关异常时,调用MMU虚拟化模块进行处理。当MMU虚拟化模块发现需要实现分布式共享存储时,也就是客户所请求的页面不在本结点时,会调用DSM模块进行页面迁移。
当DSM模块被MMU虚拟化模块调用时,DSM模块作为请求发起者通过通信系统向远程结点请求相应的页面。当DSM模块被通信模块调用时,DSM模块作为服务方,对DSM请求进行服务,并通过通信系统发送结果。
当不同模块完成各自任务需要返回时,会调用指令集系统虚拟化模块返回客户指令流。
通过以上各模块间的紧密协作,利用分步式虚拟机监视器,在具有对称多处理机架构的物理服务器机群上虚拟出一个具有单一系统映像的cc-NUMA架构的虚拟服务器,使支持cc-NUMA架构的客户操作系统可以不经修改地运行于该虚拟服务器之上。
本发明整个虚拟机系统的工作流程分为两个大的阶段,即初始化阶段和运行阶段。初始化阶段包括DVMM自身的加载、运行阶段和客户操作系统的加载和启动阶段;运行阶段是指客户操作系统运行后,执行用户软件的阶段。
(1)初始化阶段
开机后,DVMM初始化模块开始运行,它主要完成以下工作。
①加载DVMM映像,然后进行单结点的初始化工作,主要包括创建内存分配表、中断向量表(IDT)、全局描述符表(GDT);
②初始化网卡设备和通信子系统,加载eBIOS模块,通过各结点eBIOS模块之间的通信,感知其它结点的资源信息,将感知到的全局资源信息按照BIOS的常规格式进行分类整合,生成全局资源信息;
③DVMM基于全局资源表进行全局内存的初始分配,进行单结点处理器的初始化工作,加载MMU虚拟化模块、DSM虚拟化模块、I/O虚拟化模块和中断虚拟化模块,完成单结点的启动和初始化;
④进行跨结点多CPU的初始化,建立全局中断向量表,为客户操作系统构建全局信息表;
⑤加载处理器虚拟化模块,启动客户操作系统。在客户操作系统启动的过程中,eBIOS模块负责为其提供系统拥有的资源信息,这样保证客户操作系统能够感知到整个机群系统的资源,并能够管理和使用这些资源,也就是说整个机群系统呈现给客户操作系统的是一个单一映像的cc-NUMA系统。
(2)运行阶段
客户操作系统基于全局资源信息启动以后,基于其所管理的资源进行进程的调度和资源分配,正常地运行作业,无需DVMM的干预,也就是说,客户软件的运行对DVMM是透明的。只有当客户执行特权指令、出现异常或发生硬件中断时,才由硬件虚拟化机制触发VMexit,进入DVMM环境,DVMM分析退出的原因,调用相应的功能模块进行处理,期间可能需要进行跨结点DVMM之间的协作才能完成服务。完成服务后,DVMM通过VM entry机制返回客户状态,期间有可能通过VMCS结构向客户操作系统注入中断。此后客户操作系统继续执行用户作业。
例如,当客户操作系统发生缺页异常时,就会引起VM exit进入DVMM环境,DVMM通过分析退出原因获知客户发生了缺页异常,接着会检查内部数据结构P2M表确定请求的页面是否在本结点,分别进行处理。如果请求页在本结点,则DVMM调用MMU虚拟化模块更新客户页表以及由DVMM维护的与客户页表保持一致的“影子页表”,然后返回客户环境继续执行;如果请求页面在远程结点,则MMU虚拟化模块调用DSM模块,通过通信机制向远程结点的DVMM请求页面,远程结点的DVMM收到页面请求后,调用MMU虚拟化模块和DSM模块,经由通信机制将请求页面发送给请求结点,请求结点收到所需页面后,更新客户页表和“影子页表”的映射项,然后返回客户环境继续执行。这样就完成了一次缺页异常的处理,也是完成了客户操作系统和DVMM之间的一次交互过程。
综上所述,在系统运行期间,虚拟资源的管理和分配,用户进程的调度、执行由客户操作系统负责,客户操作系统和DVMM之间的唯一交互途径是通过VT-x所提供的VM exit和VM entry机制。通过客户操作系统和DVMM之间的相互协作,实现了整个服务器机群系统的单一系统映像,从而在分布式的服务器机群之上可以透明地运行支持cc-NUMA架构的客户操作系统和客户应用程序。
DVMM与Virtual Multiprocessor和vNUMA比较
层次 技术 难度 透明 对称 性能 对称多处理机结点 架构
Multiprocessor 应用层 泛虚拟化 不支持 IA-32
  vNUMA 系统软件 预虚拟化 较高 较高 不支持 IA64
  DVMM 系统软件 硬件虚拟化 较低 支持 IA-32
由表1可知,与Virtual Multiprocessor和vNUMA相比,本发明DVMM具有如下优势:首先,DVMM支持对称多处理机结点,能够实现对称多处理机服务器机群的单一系统映像,而VirtualMultiprocessor和vNUMA都不支持对称多处理机结点,因而不能够实现对称多处理机服务器机群的单一系统映像;其次,DVMM利用最新的硬件虚拟化技术,在硬件的支持下实现全虚拟化,无需修改客户操作系统,因而设计和实现难度较低,而Virtual Multiprocessor和vNUMA分别采用泛虚拟化和预虚拟化技术,都需要修改客户操作系统,实现难度高且应用受限;再次,DVMM在硬件辅助下实现,运行在裸机之上,因而性能高,而Virtual Multiprocessor和vNUMA都是以纯软件方式实现,性能较低,并且Virtual Multiprocessor实现在应用层,穿越的软件层次多,因而性能更低;最后,DVMM中的各节点是对称的,而Virtual Multiprocessor和vNUMA中的节点都有主次之分。此外,DVMM实现在系统软件层而VirtualMultiprocessor实现在应用层,因而DVMM在透明性方面优于VirtualMultiprocessor;IA-32比IA64应用广泛,因而DVMM比vNUMA具有更广的应用前景和更高的实用价值。
最后应说明的是:以上实施例仅用以说明本发明而并非限制本发明所描述的技术方案;因此,尽管本说明书参照上述的各个实施例对本发明已进行了详细的说明,但是,本领域的普通技术人员应当理解,仍然可以对本发明进行修改或等同替换;而一切不脱离本发明的精神和范围的技术方案及其改进,均应涵盖在本发明的权利要求范围中。

Claims (2)

1.一种具备单一系统映像的服务器机群系统,其特征在于:所述机群系统包括硬件层、分布式虚拟机监视器层和操作系统层;所述硬件层包括多个结点,所述结点的CPU支持硬件虚拟化,各结点通过高速网络连接;所述分布式虚拟机监视器层为在每个结点的硬件之上部署一个虚拟机监视器,各结点上的虚拟机监视器之间通过底层通信软件、经由高速网络进行通信;操作系统层为支持高速缓存一致性非均匀存储访问架构的各类商用操作系统;现行的各类面向高速缓存一致性非均匀存储访问的并行软件可以不经修改地运行于所述机群系统之上;
所述虚拟机监视器由初始化模块、扩展的基本输入输出系统模块、指令集系统虚拟化模块、I/O虚拟化模块、中断虚拟化模块、内存管理单元虚拟化模块、分布式共享存储模块和通信模块构成:
所述初始化模块在各个结点上引导并运行分布式虚拟机监视器;包括加载分布式虚拟机监视器映像;初始化基本的软件运行环境;初始化分布式虚拟机监视器的各个模块所必需的数据结构;为分布式虚拟机监视器各个模块构建必要的上下文环境;加载分布式虚拟机监视器的各个功能模块;为引导客户操作系统做准备;
所述指令集系统虚拟化模块是虚拟机监视器的入口点和出口点,所述指令集系统虚拟化模块可以调用通信模块以外的所有模块,也会被这些模块调用;
所述通信模块是各结点虚拟机监视器间协作的基础,该模块调用指令集系统虚拟化模块以外的所有模块,也会被这些模块调用;所述通信模块将其他模块的通信请求送达目的结点,同时处理其它结点发来的通信请求,根据不同的请求调用相应模块进行服务;
所述扩展的基本输入输出系统模块仅在初始化分布式虚拟机监视器和启动操作系统时起作用,指令集系统虚拟化模块捕获操作系统引导时的中断调用,将信息传递给扩展的基本输入输出系统模块,扩展的基本输入输出系统模块根据请求信息的类型,以传统基本输入输出系统兼容的方式将整个系统的虚拟资源信息反馈给操作系统,完成操作系统启动时基本输入输出系统调用的功能,扩展的基本输入输出系统模块通过中断虚拟化模块、I/O虚拟化模块、通信模块完成操作系统引导前基本输入输出系统所做工作,感知并生成整个系统的资源信息;
所述I/O虚拟化模块接受指令集系统虚拟化模块的请求,若判别为远程I/O操作,则调用通信模块,向远程结点发出I/O操作请求,接收远程操作结果,更新客户系统状态,完成此次I/O操作;当I/O虚拟化模块接收到远程I/O请求后,对本地I/O设备进行操作,将结果经由通信系统返回至请求结点;
指令集系统虚拟化模块调用中断虚拟化模块模拟操作系统对虚拟中断控制器操作的结果;将外部中断向量转化为操作系统可识别的虚拟中断向量,并向操作系统注入一个虚拟中断;
所述内存管理单元虚拟化模块只被指令集系统虚拟化模块调用,当指令集系统虚拟化模块捕获客户指令流中与内存管理单元相关操作,或者与内存管理单元有关异常时,调用内存管理单元虚拟化模块进行处理;
当内存管理单元虚拟化模块发现客户所请求的页面不在本结点时,调用分布式共享存储模块进行页面迁移,被内存管理单元虚拟化模块调用时,分布式共享存储模块通过通信系统向远程结点请求相应的页面;被通信模块调用时,分布式共享存储模块对请求进行服务,并通过通信系统发送结果。
2.如权利要求1所述的具备单一系统映像的服务器机群系统,其特征在于:所述结点为对称多处理机服务器结点,每个结点有若干个CPU,每个CPU具有若干个计算核。
CN2008100942322A 2008-04-23 2008-04-23 一种具备单一系统映像的服务器机群系统 Expired - Fee Related CN101271401B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008100942322A CN101271401B (zh) 2008-04-23 2008-04-23 一种具备单一系统映像的服务器机群系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008100942322A CN101271401B (zh) 2008-04-23 2008-04-23 一种具备单一系统映像的服务器机群系统

Publications (2)

Publication Number Publication Date
CN101271401A CN101271401A (zh) 2008-09-24
CN101271401B true CN101271401B (zh) 2010-04-14

Family

ID=40005394

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008100942322A Expired - Fee Related CN101271401B (zh) 2008-04-23 2008-04-23 一种具备单一系统映像的服务器机群系统

Country Status (1)

Country Link
CN (1) CN101271401B (zh)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101398768B (zh) * 2008-10-28 2011-06-15 北京航空航天大学 一种分布式虚拟机监视器系统的构建方法
CN101398769B (zh) * 2008-10-28 2012-09-05 华为技术有限公司 一种对操作系统透明的处理器资源整合利用方法
US9535767B2 (en) 2009-03-26 2017-01-03 Microsoft Technology Licensing, Llc Instantiating a virtual machine with a virtual non-uniform memory architecture
US9529636B2 (en) 2009-03-26 2016-12-27 Microsoft Technology Licensing, Llc System and method for adjusting guest memory allocation based on memory pressure in virtual NUMA nodes of a virtual machine
US8700811B2 (en) * 2010-05-25 2014-04-15 Microsoft Corporation Virtual machine I/O multipath configuration
CN101976204B (zh) * 2010-10-14 2013-09-04 中国科学技术大学苏州研究院 面向服务的异构多核计算平台及其使用的任务调度方法
JP5290446B2 (ja) * 2012-02-28 2013-09-18 株式会社シー・オー・コンヴ ネットワークブートシステム
CN103425563B (zh) * 2013-07-04 2016-05-11 上海交通大学 基于虚拟化技术的在线i/o电子取证系统及其取证方法
CN103853597B (zh) * 2014-02-21 2017-04-19 北京神舟航天软件技术有限公司 实现嵌入式虚拟机平台高频率数据采集方法
CN104917784B (zh) * 2014-03-10 2018-06-05 华为技术有限公司 一种数据迁移方法、装置及计算机系统
CN105653302A (zh) * 2014-11-13 2016-06-08 杭州华为数字技术有限公司 一种cc-numa系统中的bios的启动方法及服务器
CN104391750B (zh) * 2014-11-26 2018-05-04 浪潮(北京)电子信息产业有限公司 一种基于软件定义的混合异构主机系统
WO2016168487A1 (en) * 2015-04-14 2016-10-20 Gigavation, Inc. Paravirtualized security threat protection of a computer-driven system with networked devices
FR3040523B1 (fr) * 2015-08-28 2018-07-13 Continental Automotive France Procede de detection d'une erreur non corrigible dans une memoire non volatile d'un microcontroleur
CN106878451B (zh) * 2016-12-01 2020-06-02 广州高能计算机科技有限公司 一种基于性能需求的并序化云监控系统及构建方法
US10467211B2 (en) * 2017-11-15 2019-11-05 International Business Machines Corporation Representing and analyzing cloud computing data as pseudo systems
US10778709B2 (en) 2018-10-31 2020-09-15 International Business Machines Corporation Cloud-native extensibility provided to security analytics
CN109951527B (zh) * 2019-02-20 2020-08-25 华东师范大学 面向虚拟化系统的hypervisor完整性检测方法
US11029936B2 (en) * 2019-04-11 2021-06-08 Microsoft Technology Licensing, Llc Deploying packages to devices in a fleet in stages
GB201919236D0 (en) * 2019-12-23 2020-02-05 Toothbrush Club Ltd A method for recycling consumable items
CN113254160B (zh) * 2021-06-28 2022-04-08 北京大禹智芯科技有限公司 一种io资源请求方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6631447B1 (en) * 1993-03-18 2003-10-07 Hitachi, Ltd. Multiprocessor system having controller for controlling the number of processors for which cache coherency must be guaranteed
CN101004767A (zh) * 2006-01-19 2007-07-25 联想(北京)有限公司 计算机系统及其i/o端口访问控制方法
JP4063256B2 (ja) * 2004-06-28 2008-03-19 日本電気株式会社 計算機クラスタシステムとそれにおける管理方法、及びプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6631447B1 (en) * 1993-03-18 2003-10-07 Hitachi, Ltd. Multiprocessor system having controller for controlling the number of processors for which cache coherency must be guaranteed
JP4063256B2 (ja) * 2004-06-28 2008-03-19 日本電気株式会社 計算機クラスタシステムとそれにおける管理方法、及びプログラム
CN101004767A (zh) * 2006-01-19 2007-07-25 联想(北京)有限公司 计算机系统及其i/o端口访问控制方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
史小冬;祝明发;叶庆华.单一系统映象机群文件系统可扩展元数据服务器的设计与实现.微电子学与计算机 第2期.2002,(第2期),20-23页. *
叶庆华.单一系统映象机群文件系统可扩展元数据服务器的设计与实现.微电子学与计算机 第2期.2002,(第2期),20-23页.

Also Published As

Publication number Publication date
CN101271401A (zh) 2008-09-24

Similar Documents

Publication Publication Date Title
CN101271401B (zh) 一种具备单一系统映像的服务器机群系统
CN101398768B (zh) 一种分布式虚拟机监视器系统的构建方法
US10509686B2 (en) Distributable computational units in a continuous computing fabric environment
JP4864817B2 (ja) 仮想化プログラム及び仮想計算機システム
US7685635B2 (en) Systems and methods for multi-level intercept processing in a virtual machine environment
CN101751284A (zh) 一种分布式虚拟机监控器的i/o资源调度方法
US9747123B2 (en) Technologies for multi-level virtualization
US20210042138A1 (en) Computing devices
US7840790B1 (en) Method and system for providing device drivers in a virtualization system
CN102339229A (zh) 基于操作系统层的虚拟化方法
CN101425046A (zh) 分布式i/o资源虚拟化技术的实现方法
US11106481B2 (en) Safe hyper-threading for virtual machines
US20050246708A1 (en) Method of assigning virtual process identifier to process within process domain
Kanda et al. SIGMA system: A multi-OS environment for embedded systems
CN108304248A (zh) 一种多系统虚拟化的移动设备
Campbell et al. An introduction to virtualization
US8713545B2 (en) Architecture for accelerated computer processing
US8161477B2 (en) Pluggable extensions to virtual machine monitors
JP5369356B2 (ja) 仮想化プログラム
JP5608797B2 (ja) 仮想化プログラム、仮想計算機システム及び計算機システム制御方法
Li et al. Accelerator Virtualization Framework Based on Inter-VM Exitless Communication.
Klimiankou Towards practical multikernel OSes with MySyS
Biswas et al. Hardware virtualization support in intel, amd and ibm power processors
US20230221932A1 (en) Building a unified machine learning (ml)/ artificial intelligence (ai) acceleration framework across heterogeneous ai accelerators
Zhu To be shared and to be separated-an abstract multi-core operating system machine: Formal specification and analysis

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: 100083 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: 100083 Haidian District, Xueyuan Road, No. 37,

Patentee before: Beihang University

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

Granted publication date: 20100414

Termination date: 20170423

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