CN101425022B - 虚拟机设备的动态分配 - Google Patents

虚拟机设备的动态分配 Download PDF

Info

Publication number
CN101425022B
CN101425022B CN200810173958.5A CN200810173958A CN101425022B CN 101425022 B CN101425022 B CN 101425022B CN 200810173958 A CN200810173958 A CN 200810173958A CN 101425022 B CN101425022 B CN 101425022B
Authority
CN
China
Prior art keywords
virtual
virtual machine
request
virtual unit
unit
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.)
Active
Application number
CN200810173958.5A
Other languages
English (en)
Other versions
CN101425022A (zh
Inventor
T·卡尼
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.)
Hewlett Packard Enterprise Development LP
Original Assignee
Hewlett Packard Development Co LP
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 Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of CN101425022A publication Critical patent/CN101425022A/zh
Application granted granted Critical
Publication of CN101425022B publication Critical patent/CN101425022B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明公开了虚拟机设备的动态分配。在此描述了用于高效地动态分配虚拟机资源的系统和方法。至少一些说明性实施例包括一种方法,其包括:在真实计算机系统(100)上执行虚拟机软件(300),所述虚拟机软件包括管理程序(200)和虚拟机,所述虚拟机包括多个虚拟设备(220,221);把所述多个虚拟设备当中的每一个与所述真实计算机系统(100)内的真实设备(110)的唯一子集相关联;所述管理程序(200)发送针对弹出的请求;虚拟设备资源对象(330)把所述针对弹出的请求转发到虚拟设备资源驱动器(315);以及所述虚拟设备资源驱动器(315)导致单独弹出所述虚拟设备(220,221)当中的每一个。

Description

虚拟机设备的动态分配
背景技术
近来对虚拟机软件的使用已经经历了空前的增长。虚拟机软件最初被设计为软件测试平台,其对真实计算机系统的硬件进行模拟和/或仿真,从而允许在不做修改的情况下在所模拟/仿真的环境中执行在实机上执行的软件。对于在这种虚拟机上执行的软件来说,由虚拟化软件所给出的虚拟化机器就好像是真实计算机系统。
随着真实计算机系统中的可热插拔设备的出现,现在可以获得能够模拟/仿真与实机相同的设备热插拔的虚拟机。这种虚拟热插拔能力允许在单个真实计算机系统上执行的多个虚拟机在按需的基础上针对所述虚拟机的配置动态地添加及去除虚拟化硬件资源。此外,由于所述虚拟机模拟/仿真真实计算机系统,因此所述虚拟机还模拟/仿真真实计算机系统的固件,其中包括到所述虚拟化硬件的工业标准固件接口(比如Intel
Figure G2008101739585D0001114432QIETU
的可扩展固件接口(EFI))以及作为开放式工业标准的高级配置与电源接口(ACPI)。
利用上述固件接口,由所述真实/虚拟化计算机系统内的嵌入式固件把硬件表示为一系列对象,可以通过在所述计算机系统内的处理器上执行的软件(例如操作系统)经由所述固件接口来管理其中的每一个对象。这些对象特别允许把设备操作为“可热插拔”设备,即可以在无需断电或重启所述计算机系统的情况下被插入该计算机系统或者从该计算机系统拔出的设备。例如,当插入某一设备时,一旦所述设备硬件已被初始化,则所述固件就向所述操作系统通知该设备可用。所述通知是通过由所述计算机系统所使用的固件接口(例如通过一条或多条ACPI通知消息)而提供的。类似地,如果将要拔出某一设备,则所述固件向所述操作系统通知已经接收到针对弹出该设备的请求。所述操作系统验证该设备不在使用中,并且随后通过所述固件接口(例如通过一条或多条ACPI请求)向所述固件发出针对“弹出”所述硬件的请求。
所述虚拟化硬件资源的能力允许把实机的真实硬件资源的各子集表示为具有减小的尺寸或性能的各单独的虚拟硬件资源,并且还允许把这些虚拟化资源热插入及热拔出一个或多个虚拟机。因此,例如可以把某一真实计算机系统内的一个1GB存储器表示为8个128MB虚拟存储器,其中可以在该真实计算机系统上执行的一个或多个虚拟机之间动态分配所述虚拟存储器。被分配给某一虚拟机的每一项资源由该机的虚拟固件表示为一个对象(例如ACPI对象),其中使得由到在该虚拟机上执行的操作系统的固件接口能够访问该对象。可以在按需的基础上把每一个虚拟存储器虚拟地热插入或热拔出在所述真实计算机系统上执行的任何一个所述虚拟机。
然而,有时会使用较大数目的对象以便在给定资源的各子集的分配过程中实现更大的灵活性。使用大数目的虚拟化资源允许以更精细的粒度来分配所述真实资源,并且降低了由于虚拟资源在使用中并且不可用于再分配而将拒绝针对弹出所述虚拟资源的请求的概率。但是随着虚拟化资源的数目增大,与大量虚拟化资源的再分配相关联的开销可能会对系统的性能造成不利影响,特别是那些执行大量所述再分配的系统(例如在各虚拟机之间执行动态负载平衡的系统)。
附图说明
现在将参考附图来详细描述本发明的示例性实施例,其中:
图1示出根据至少一些说明性实施例的执行虚拟机软件的多个实例的计算机系统;
图2A示出根据至少一些说明性实施例构造的图1的计算机系统的一个例子;
图2B示出根据至少一些说明性实施例构造的图2A的计算机系统的方框图;
图3A到3C示出根据至少一些说明性实施例把附加的虚拟存储器资源添加到虚拟机的一个例子;
图4A到4E示出根据至少一些说明性实施例把虚拟存储器资源从一个虚拟机再分配到另一个虚拟机的一个例子;以及
图5示出根据至少一些说明性实施例的用于把虚拟设备从第一虚拟机弹出并且可选地把虚拟设备再分配到第二虚拟机的方法。
符号和命名法
在下面的描述以及权利要求书中使用特定术语来指代特定系统组件。本领域技术人员将认识到,各个计算机公司可能会用不同的名称来指代某一组件。本文献不打算在名称不同而功能相同的组件之间进行区分。在下面的讨论以及权利要求书中,术语“包括”是按照开放式方式来使用的,因此其应当被解释为是指“包括但不限于...”。此外,术语“耦合”打算指间接的、直接的、光学的或无线的电连接。因此,如果第一设备耦合到第二设备,那么该连接可以是通过直接电连接、通过经由其他设备和连接的间接电连接、通过光学电连接、或者通过无线电连接。另外,术语“系统”指代两个或更多个硬件和/或软件组件的集合,并且可以被用来指代电子设备,比如计算机、计算机的一部分、计算机的组合等等。此外,术语“软件”包括能够在处理器上运行的任何可执行代码,而不管被用来存储所述软件的介质如何。因此,在软件的定义内包括了存储在非易失性存储器中并且有时被称作“嵌入式固件”的代码。此外,术语“真实计算机系统”指代实际的物理计算机系统,举例来说,比如图2A和2B中示出的计算机系统。
术语“虚拟机”指代对计算机系统的仿真、模拟或者其他类似的功能表示,由此所述虚拟机包括不受限定一个或多个真实或物理计算机系统的物理边界的约束的一个或多个功能组件。所述功能组件可以包括真实或物理设备、互连总线和网络、以及在一个或多个CPU上执行的软件程序。虚拟机例如可以包括功能组件的子集,其包括某一真实或物理计算机系统内的一些而非全部功能组件;虚拟机可以包括多个真实或物理计算机系统的一些功能组件;虚拟机可以包括一个真实或物理计算机系统的全部功能组件,但是仅仅包括另一个真实或物理计算机系统的一些组件;或者虚拟机可以包括多个真实或物理计算机系统的全部功能组件。还可能有许多其他组合,并且所有这种组合都打算在本公开内容的范围内。此外,在与其他组件、系统和/或子系统(例如存储器、固件、资源、存储设备以及输入/输出设备)相关联时,术语“虚拟”类似地指代对所述组件、系统和/或子系统的仿真、模拟或者其他类似的功能表示,其被实施为虚拟机的一部分或者被实施为虚拟机软件程序的一部分。
具体实施方式
图1示出包括处理逻辑102(例如微处理器)和易失性存储装置110(例如随机存取存储器或RAM)的计算机系统100,其适合用于执行虚拟化软件(包括管理程序以及一个或多个虚拟机)并且是根据至少一些说明性实施例而构造的。管理程序200(有时被称作“虚拟机监视器”)包括一个或多个虚拟机软件程序,所述虚拟机软件程序被加载到存储器110中并且由处理器102执行。管理程序200保持对在由该管理程序200创建的操作环境内执行的所述一个或多个虚拟机的控制并且保持所述虚拟机之间的隔离。在一些说明性实施例中,管理程序200包括基本输入输出系统(BIOS)软件,而在其他说明性实施例中,所述BIOS包括管理程序200。在另一些说明性实施例中,管理程序200作为在处理器102上执行的操作系统的一部分被包括,而在又一些说明性实施例中,管理程序200作为已经在处理器102上执行的操作系统内的应用程序来执行。BIOS软件、操作系统软件和管理程序软件的其他变型和组合对于本领域技术人员而言将变得显而易见,并且所有这种变型和组合都在本公开内容的范围内。
示出了在由图1的管理程序200创建的操作环境内执行的3个虚拟机(VM300、VM400和VM500)。每一个虚拟机都模拟和/或仿真类似于计算机系统100的真实计算机系统。因此,每一个虚拟机都包括虚拟处理器(vProc312、412和512)、虚拟存储器设备(被包括在VM300内的vMem[0](220)和vMem[1](221)、VM400内的vMem[2](222)、以及VM500内的vMem[3](223))以及虚拟固件(vF/W316、416和516)。所述虚拟固件包括类似于被包括在真实固件中的程序,比如BIOS代码(未示出)以及硬件与电源控制接口代码(比如在虚拟机300的虚拟固件316内示出的虚拟高级控制与电源接口(vACPI)固件318)。虽然图1的实施例包括虚拟ACPI接口,但是其他说明性实施例可以包括其他虚拟化硬件接口固件(例如Intel
Figure 2008101739585100002G2008101739585D0001114432QIETU
的可扩展固件接口(EFI)),并且所有这种虚拟化硬件接口固件都在本公开内容的范围内。
vACPI318提供在虚拟处理器312上执行的软件,其具有到虚拟机300的虚拟化硬件的接口。这种软件例如包括图1的操作系统314(其包括虚拟存储器资源驱动器(vMRDvr)315)。vACPI318保持一系列对象,其中每一个对象对应于一个虚拟化硬件元件,并且其中每一个对象包括与每一个虚拟化硬件元件的配置和状态相关的信息。因此,例如vMemObj[0](虚拟存储器对象320)是虚拟机300内的一个虚拟化ACPI对象,其包括与vMem[0](虚拟存储器设备220)相关的信息,类似地,vMemObj[1](虚拟存储器对象321)是包括与vMem[1](虚拟存储器设备221)相关的信息的虚拟化ACPI对象。被包括在这些对象内的信息例如可以包括所述设备在虚拟机300的存储器地址空间内的基地址和地址范围。
图1的说明性实施例的虚拟ACPI318还保持虚拟存储器资源对象(vMRsrcObj)330,其与一组虚拟设备(这里在所示出的该说明性实施例中是一组虚拟存储器设备)的设备类型相关联。虚拟存储器资源对象330提供单个状态点以及针对“热插拔”各组虚拟存储器设备(即在无需复位或重启相应的虚拟机的情况下添加或去除虚拟存储器设备)的控制。因此,例如如果由vACPI318(例如通过通用事件或者说GPE)从管理程序200接收到针对弹出特定数量的存储器的请求,则由vACPI318向虚拟存储器资源对象330发送单个聚集弹出通知,该虚拟存储器资源对象330又向虚拟存储器资源驱动器315发送请求。虚拟存储器资源对象330还提供用于获得关于各组设备对象的状态和/或信息的单个点。因此,虚拟存储器资源驱动器315例如可以向虚拟存储器资源对象330发出单个查询以便获得关于某一虚拟机内的每一个所述虚拟存储器的信息(例如对应于将被弹出的各虚拟存储器设备的虚拟存储器对象的列表,或者将被弹出的存储器数量的大小)。
虚拟存储器资源驱动器315与操作系统314进行交互,以便确定是否有用以满足所述请求的足够的虚拟存储器设备不在使用中或者正被可以移出存储器的可交换任务所访问(从而使得所述存储器可用于弹出)。如果虚拟存储器资源驱动器315识别出满足所述请求的足够的虚拟存储器设备,则由虚拟存储器资源驱动器315内部地(即在操作系统314内)生成对应于每一个虚拟存储器设备的各单独的弹出请求,并且将所述弹出请求发送到对应于将被弹出的存储器设备的每一个虚拟存储器对象(例如图1的虚拟存储器对象320)。一旦完成了所述各单独的弹出操作,虚拟存储器资源对象330就(基于从虚拟存储器资源驱动器315接收到的完成状态)把所述聚集弹出的完成状态返回到管理程序200。
图1的说明性实施例的虚拟存储器资源对象330和虚拟存储器资源驱动器315的操作允许利用单个请求来弹出多个虚拟存储器设备,并且还允许在无需首先尝试弹出一个或多个虚拟存储器设备的情况下拒绝所述弹出请求。由于虚拟存储器资源驱动器315在把任何所述单独的弹出请求发出到所述各单独的虚拟存储器对象之前确定是否有足够的存储器设备可用于满足所述请求,因此所述请求将不会改变所述系统的配置,除非该请求可以成功地弹出所请求的存储器数量。此外,与管理程序尝试单独地弹出每一个虚拟存储器设备并且可能必须一次一个地弹出所述虚拟机中的所有虚拟存储器设备的情况相比,通过使用被导向虚拟存储器资源驱动器315的单个请求以及仅仅发出满足所述原始请求所需的单独弹出的次数,得到更为高效的弹出操作。此外,如果有多于所需的存储器设备可用,则虚拟存储器资源驱动器可以选择弹出那些需要最小开销来弹出的虚拟存储器设备(例如是不在使用中的存储器,而不是需要交换出数据的存储器)。这种选择允许总体上更快地执行所述弹出。
在至少一些说明性实施例中,由管理程序200发送到虚拟资源对象330的针对弹出虚拟存储器设备的请求包括被标识以供弹出的特定虚拟存储器设备的列表而不是将要弹出的存储器数量。在这种实施例中,虚拟资源对象330再次向虚拟存储器资源驱动器315发送单个请求,但是取代扫描所有可用存储器以找到满足所述请求的足够的虚拟存储器设备,仅仅检查在所述请求中列出的那些虚拟存储器设备以便确定对应于所述虚拟存储器设备的存储器范围是否不在使用中(或者正被可交换任务所使用)。如果任何所列出的设备不可用,则拒绝所述请求。否则就把弹出请求发送到对应于每一个所列出的虚拟存储器设备的每一个虚拟存储器对象。一旦完成了所述各单独的弹出操作,虚拟存储器资源对象330就(基于从虚拟存储器资源驱动器315接收到的完成状态)把所述聚集弹出的完成状态返回到管理程序200。
在至少一些说明性实施例中,管理程序200保持未分配的虚拟存储器设备(即尚未被添加到虚拟机的虚拟存储器设备)的存储库,正如图1中所示出的那样(虚拟存储器设备224-227(vMem[4-7]))。可以把该存储库中的虚拟存储器设备与从一个或多个虚拟机弹出的虚拟存储器设备一起利用来在按需的基础上向计算机系统100内的其他虚拟机提供虚拟存储器设备。在其他说明性实施例中,可以“在操作中”按照需要创建虚拟存储器设备并且将其分配给各虚拟机,而不是将其保持在管理程序200内的未分配的虚拟存储器设备池中。
图1的说明性实施例的已分配和未分配的虚拟存储器设备都包括一个或多个真实存储器设备的细分或子集,所述真实存储器设备被包括在存储器110内。因此,例如在至少一个说明性实施例中,存储器110包括4个真实的1GB存储器设备(例如4个1GB双列直插存储器模块或者说DIMM),而每一个虚拟存储器设备仅仅包括256MB的真实存储器。虚拟存储器220-223利用第一DIMM中的所述1GB的存储器,虚拟存储器224-227利用第二DIMM的所述1GB的存储器,以及剩余的2个DIMM的剩余的2GB的存储器由管理程序200和/或在真实处理器102上执行的任何其他应用程序来利用。真实与虚拟存储器设备的许多其他组织和组合对于本领域技术人员而言将变得显而易见,并且所有这种组织和组合都在本公开内容的范围内。
图2A和2B示出一个说明性计算机系统100,其适合用于执行图1的虚拟化软件(管理程序200以及虚拟机300、400和500)。如所示,所述说明性计算机系统100包括机箱180、显示器140和输入设备170。所述计算机系统100包括处理逻辑102、易失性存储装置110和非易失性存储装置164。处理逻辑102可以用硬件(例如微处理器)、软件(例如微代码)、或者硬件与软件的组合来实施。计算机系统100还包括计算机可读介质。所述计算机可读介质包括易失性存储装置110(例如随机存取存储器(RAM))、非易失性存储装置164(例如闪速RAM、只读存储器(ROM)、硬盘驱动器、软盘(例如软盘194)、光盘只读存储器(CD-ROM,例如CD196))、或其组合。
易失性存储装置110和非易失性存储装置164当中的任何一个或二者例如包括软件,所述软件由处理逻辑102执行并且为所述计算机系统100提供在此所述的一些或全部功能。所述计算机系统100还包括网络接口(网络I/F)162,其使得该计算机系统100能够通过在图2A的例子中由以太网插座192表示的局域网和/或有线或无线广域网来接收信息。视频接口(视频I/F)142耦合到所述显示器140。用户通过耦合到外围接口168的所述输入设备170(例如键盘)和/或定点设备172(例如鼠标)与所述站进行通信。所述显示器140可以与所述输入设备170和/或定点设备172一起作为用户接口来操作。
计算机系统100可以是基于总线的计算机,其中多种总线通过一系列集线器或桥接器互连图2B中示出的各种元件,其中包括存储器控制器集线器(MCH)104(有时被称作“北桥”)和接口控制器集线器(ICH)106(有时被称作“南桥”)。图2B的说明性实施例的总线包括:前端总线103,其把处理逻辑102耦合到MCH104;加速图形端口(AGP)总线141,其把视频接口142耦合到MCH104;外围组件互连(PCI)总线161,其把网络接口162、非易失性存储装置164、外围接口168和ICH106彼此耦合;PCI快速(PCIe)总线151,其把一个或多个PCI快速设备152耦合到MCH104;以及存储器总线111,其把MCH104耦合到易失性存储装置110内的双列直插存储器模块(DIMM)120和130。
所述外围接口168接受来自所述输入设备170和其他输入设备(比如定点设备172)的信号,并且把所述信号转换成适合用于在PCI总线161上传送的形式。所述视频接口142可以包括图形卡或者其他合适的视频接口,其接受来自所述AGP总线141的信息并且将其转换成适合用于所述显示器140的形式。所述处理逻辑102收集来自其他系统元件的信息,其中包括来自所述外围接口168的输入数据,以及来自非易失性存储装置164或易失性存储装置110或者来自通过所述网络接口162耦合到局域网或广域网的其他系统(例如被用来存储及分发可执行代码的拷贝的服务器)的程序指令或其他数据。所述处理逻辑102执行所述程序指令(例如管理程序200)并且相应地处理所述数据。所述程序指令可以进一步把所述处理逻辑102配置成向其他系统元件发送数据,比如通过所述视频接口142和显示器140呈现给用户的信息。所述网络接口162使得所述处理逻辑102能够通过网络(例如因特网)与其他系统进行通信。易失性存储装置110可以充当用于所述处理逻辑102的信息的低等待时间的临时存储装置,以及非易失性存储装置164可以充当信息的长期(但是更高等待时间的)存储装置。
所述处理逻辑102(以及从而作为一个整体的所述计算机系统100)根据存储在非易失性存储装置164上的或者通过所述网络接口162接收的一个或多个程序进行操作。所述处理逻辑102可以把所述程序的各部分拷贝到易失性存储装置110中以用于更快地访问,并且可以响应于所述输入设备170的用户启动而在各程序之间进行切换或者实施附加的程序。可以从非易失性存储装置164检索所述附加的程序,或者可以通过所述网络接口162从其他位置检索或接收所述附加的程序。这些程序当中的一个或多个在计算机系统100上执行,从而使得该计算机系统执行在此公开的至少一些功能。
图3A到3C示出根据至少一些说明性实施例由管理程序300把虚拟存储器设备添加到虚拟机300的一个例子。图3A示出已经分配了虚拟存储器设备220的虚拟机300。虚拟存储器设备221和222由管理程序200保持为未分配虚拟存储器设备池内的未分配的虚拟存储器设备,其可用于在请求时被分配。虽然图3A到3C的实施例示出未分配虚拟存储器设备的静态池,但是在其他说明性实施例中,可以例如在以下情况下在“按需”或者“在操作中”的基础上创建所述虚拟存储器设备:在由管理程序200(例如通过与计算机系统100相关联的用户接口从发出请求的操作者)接收到分配请求时;在由管理程序200基于该管理程序200所监视的已经被分配给每一个虚拟机的存储器的存储器利用率水平来内部地生成请求时;或者在由虚拟机基于该虚拟机所监视的该虚拟机的存储器利用率水平向所述管理程序生成请求时。
图3A示出从管理程序200发送到vACPI318的针对添加虚拟存储器设备的初始请求351。管理程序200按照虚拟“热插入”指示的形式(例如作为ACPI通用事件或者说GPE)把所述添加请求发送到vACPI318。图3B示出对所述请求的初始响应,其中,先前未分配的虚拟存储器设备221和222被添加到虚拟机300,但是如由虚拟存储器设备221和222与把虚拟处理器312耦合到虚拟存储器设备220的总线之间的虚线所指示的那样,所述先前未分配的虚拟存储器设备221和222尚不可用。虚拟存储器设备对象321和322由vACPI318添加,但是尚未由操作系统314识别(如由所述存储器对象周围的虚线所指示的那样)。在至少一些说明性实施例中,所述虚拟存储器对象已经存在于所述ACPI名称空间中,并且响应于虚拟存储器设备221和222的添加而从禁用状态过渡到启用状态。所述热插入通知353由虚拟存储器资源对象330转发到虚拟存储器资源驱动器315,并且向虚拟机300的虚拟硬件配置反映了虚拟存储器设备221和222的添加。在至少一些说明性实施例中,所述通知353包括新虚拟存储器对象的列表,而在其他说明性实施例中,可以通过查询所述虚拟存储器资源对象而获得所述新虚拟存储器对象的列表。虚拟存储器资源驱动器315内部地生成两个单独的热插入指示(每一个指示对应于一个虚拟存储器设备),从而使得操作系统314识别出所添加的虚拟存储器设备并且把所述设备添加到操作系统314的配置中,正如图3C中所示出的那样。一旦完成了对各单独的虚拟存储器设备的添加,虚拟存储器资源驱动器315就向虚拟存储器资源对象330发送完成状态355,所述虚拟存储器资源对象330又向管理程序200返回完成状态357。
图4A到4D示出根据至少一些说明性实施例的从一个虚拟机到另一个虚拟机的虚拟存储器设备的再分配。图4A示出已经被分配给虚拟机300的虚拟存储器设备220、221和222,以及已经被分配给虚拟机400的虚拟存储器设备223。在接收到针对把虚拟存储器从虚拟机300再分配到虚拟机400的请求时,管理程序200首先按照“热拔出”或者“弹出”指示的形式向vACPI318发出针对解除分配必要的存储器的请求451。在一些说明性实施例中,所述请求可以列出将要弹出的虚拟存储器设备,而在其他说明性实施例中,所述请求可以指定一个或多个量度(例如存储器大小以及诸如回写、易失性/非易失性、以及存储器位置之类的存储器属性),所述量度被虚拟存储器资源驱动器315内的一个或多个功能转换成所需的虚拟存储器设备的数目。
参考图4B,虚拟聚集对象330把所述弹出请求453转发到虚拟存储器资源驱动器315,该驱动器确定所需的资源是否可用。在图4A到4E的例子中,所述请求要求两个可用的虚拟存储器设备,所述虚拟存储器设备可用并且可以从虚拟机300解除分配(弹出)。图4B示出去除虚拟存储器对象321和322(由所述存储器对象的虚线边界来指示)以及相应的虚拟存储器设备221和222(由从虚拟存储器设备221和222到把虚拟存储器设备220耦合到虚拟处理器312的总线的虚线来指示)。如图4C中所示,一旦完成了所述弹出,虚拟存储器资源驱动器315就向虚拟存储器资源对象330发送完成状态455,所述虚拟存储器资源对象330又向管理程序200发送完成状态457。
一旦从虚拟机300解除分配(弹出)虚拟存储器设备221和222,管理程序200就使得(按照“热插入”指示的形式)向vACPI418发送分配请求459(图4C),所述vACPI418又创建虚拟存储器对象421和422(由虚线虚拟存储器对象来指示),并且向虚拟存储器资源驱动器415发送热插入通知消息(461),如图4D中所示。图4D还示出把虚拟存储器设备221和222添加到虚拟机400以及对所述添加的初始识别(由从虚拟存储器设备221和222到耦合虚拟存储器设备223与虚拟处理器412的总线的虚线来指示)。图4E示出最终得到的虚拟存储器设备221和222到虚拟机400的分配。一旦完成了对虚拟存储器设备221和222的添加,虚拟存储器资源驱动器就向虚拟存储器资源对象430发送完成状态,所述虚拟存储器资源对象430又向管理程序200发送完成状态465。
在至少一些说明性实施例中,所述针对弹出虚拟设备的请求包括反映将要弹出的虚拟设备的特性的量度。因此,这种实施例(例如如图4A到4C中所示)中的针对从虚拟机300弹出虚拟存储器设备221和222的请求例如包括以字节计的将要弹出的存储器数量。基于所述虚拟存储器设备的大小,通过虚拟存储器资源驱动器315内的一个或多个功能来确定所需的设备的数目,并且如果满足所述请求的所需数目的设备不在使用中或者正由可交换任务使用(从而是可用的),则弹出所请求的虚拟存储器。例如,如果每一个虚拟存储器设备是128MB并且请求弹出2GB的存储器,则如果至少16个存储器设备可用就将弹出所请求的存储器。在针对弹出虚拟设备的请求内可以使用与不同类型的虚拟设备相关联的其他量度,并且所有这种量度和虚拟设备类型都在本公开内容的范围内。通过允许针对设备的请求是基于某一量度而不是所请求的特定设备的列表,对资源的负载平衡得到简化,这是因为请求和/或管理所述虚拟设备的程序(例如在虚拟机上执行的应用、或者管理程序)不需要在作出所述请求之前跟踪或检查哪些设备正在使用中。
图5示出根据至少一些说明性实施例的用于从一个虚拟机到另一个虚拟机弹出及添加(即再分配)一个或多个虚拟设备的方法600。向第一虚拟机内的虚拟资源对象发送请求,以便弹出(解除分配)当前被分配给第一虚拟机的一个或多个虚拟设备(块602)。如块604中所示,如果满足所述请求所需的虚拟设备当前未被所述第一虚拟机使用或者正在使用中但是可以使其可用(例如可以从存储器设备交换出和/或清除出的内容),则从所述第一虚拟机弹出所请求的虚拟设备(块608)。如块604中所示,如果所需的虚拟设备正在使用中并且无法使其可用(即无法被清除),则拒绝所述请求(块606),从而结束所述方法(块616)。如果将不把所弹出的设备添加到另一个虚拟机(块610),则所述方法结束(块616)。如果所请求的虚拟设备被弹出(块608)并且将把一个或多个所弹出的设备添加到第二虚拟机(块610),则向所述第二虚拟机内的某一虚拟设备资源对象发送命令,以便把一个或多个虚拟设备添加到该虚拟机(块612)。所述请求使得由所述虚拟机生成虚拟热插入事件并为之服务,并且所请求的虚拟设备被添加到该虚拟机(块614),从而结束所述方法(块616)。
上面的讨论打算说明本发明的原理和各种实施例。对于本领域技术人员而言,一旦完全理解了上面的公开内容,许多变型和修改就将变得显而易见。例如,虽然本公开内容的至少一些说明性实施例描述了添加及弹出虚拟存储器设备,但是也可以如在此所述的那样添加及弹出许多其他虚拟设备,其中包括诸如虚拟硬盘、虚拟网络适配器以及虚拟处理器(每个虚拟机具有多于一个虚拟处理器,或者具有不同有效速度的虚拟处理器)之类的设备,在这里仅仅举出几个例子。此外,在所述弹出请求中提供的所述量度不限于存储器大小,并且可以是与可以被弹出的所述许多虚拟设备相关联的任何数目的量度。这种量度的例子可以包括虚拟硬盘的传输带宽、虚拟网络适配器的通信带宽、虚拟处理器的数目、虚拟处理器的处理能力(例如以每秒百万指令或者说MIPS计)以及虚拟处理器的速度,其中的每一项可以被表示为一个或多个真实设备的相应量度的一定比例。后面的权利要求书打算被解释为包含所有上述的变型和修改。

Claims (10)

1.一种用于虚拟机设备的方法,包括:
在真实计算机系统(100)上执行虚拟机软件(300),所述虚拟机软件包括管理程序(200)和虚拟机,所述虚拟机包括多个虚拟设备(220,221);
把所述多个虚拟设备当中的每一个与所述真实计算机系统内的真实设备(110)的唯一子集相关联;
所述管理程序向所述虚拟机内的虚拟固件(316)发送针对弹出的请求,所述请求要求从该虚拟机弹出所述多个虚拟设备当中的一个或多个虚拟设备;
所述虚拟固件内的虚拟设备资源对象把所述针对弹出的请求转发到在所述虚拟机上执行的虚拟设备资源驱动器(315);以及
所述虚拟设备资源驱动器导致响应于所转发的请求而从所述虚拟机单独弹出所述一个或多个虚拟设备当中的每一个。
2.根据权利要求1所述的方法,还包括:把所述虚拟设备资源对象与所述多个虚拟设备(220,221)的设备类型相关联。
3.根据权利要求1所述的方法,还包括:
基于被包括在所述针对弹出的请求中的量度来确定满足所述针对弹出的请求所需的虚拟设备(220,221)的数目;以及
如果有足够数目的虚拟设备可用,并且确定了所述多个虚拟设备当中的哪些被用来满足所述针对弹出的请求,则从所述虚拟机弹出被确定需要的所述虚拟设备;
其中,由所述虚拟设备资源驱动器(315)来执行对所需的虚拟设备的数目的所述确定以及对使用所述多个虚拟设备当中的哪些的所述确定。
4.根据权利要求1所述的方法,还包括:
基于被包括在所述请求中的虚拟设备的列表来确定哪些虚拟设备(220,221)被识别以供弹出;以及
如果在所述请求中列出的虚拟设备可用,则从所述虚拟机弹出所列出的所述虚拟设备。
5.根据权利要求1所述的方法,还包括:
所述管理程序(200)向所述虚拟设备资源对象发送针对把一个或多个虚拟设备(220,221)添加到所述虚拟机的请求;
所述虚拟设备资源对象把所述针对添加的请求转发到所述虚拟设备资源驱动器(315);以及
所述虚拟设备资源驱动器使得分别把所述一个或多个虚拟设备单独地添加到所述虚拟机。
6.一种计算机系统,包括:
执行虚拟机软件(300)的真实处理器,所述虚拟机软件实施虚拟机,所述虚拟机包括:虚拟处理器、虚拟资源设备驱动器、包括虚拟设备资源对象的虚拟固件(316)、以及多个虚拟设备(220,221);以及
耦合到所述处理器的真实设备(110),所述虚拟机软件把所述多个虚拟设备当中的每一个与该真实设备的唯一细分相关联;
其中,在所述真实处理器上执行的执行软件向所述虚拟固件发送请求,所述请求要求从所述虚拟机弹出所述多个虚拟设备当中的一个或多个虚拟设备;以及
其中,所述虚拟设备资源对象使得所述虚拟资源设备驱动器从所述虚拟机单独地弹出所请求的所述一个或多个虚拟设备。
7.根据权利要求6所述的计算机系统,其中,所述虚拟设备资源对象与所述多个虚拟设备(220,221)的设备类型相关联。
8.根据权利要求6所述的计算机系统,其中,所述真实设备(110)包括真实存储器设备,并且所述多个虚拟设备(220,221)包括多个虚拟存储器设备,所述多个虚拟存储器设备中的每一个与由所述真实存储器设备所占据的地址空间的唯一子范围相关联。
9.根据权利要求6所述的计算机系统,
其中,所述虚拟资源设备驱动器基于被包括在所述针对弹出的请求中的量度来确定满足所述请求所需的虚拟设备(220,221)的数目,并且还确定选择使用所述多个虚拟设备当中的哪些来满足所述针对弹出的请求;以及
其中,如果所述虚拟资源设备驱动器确定有足够数目的虚拟设备不在使用中,则所述虚拟机软件(300)弹出被确定需要并且被选择使用的所述虚拟设备。
10.根据权利要求6所述的计算机系统,
其中,所述虚拟资源设备驱动器基于在所述请求中提供的虚拟设备的列表来确定哪些虚拟设备(220,221)被识别以供弹出;以及
其中,如果在所述请求中列出的虚拟设备可用,则所述虚拟机软件(300)从所述虚拟机弹出所列出的所述虚拟设备。
CN200810173958.5A 2007-10-31 2008-10-31 虚拟机设备的动态分配 Active CN101425022B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/932,440 2007-10-31
US11/932440 2007-10-31
US11/932,440 US8281303B2 (en) 2007-10-31 2007-10-31 Dynamic ejection of virtual devices on ejection request from virtual device resource object within the virtual firmware to virtual resource driver executing in virtual machine

Publications (2)

Publication Number Publication Date
CN101425022A CN101425022A (zh) 2009-05-06
CN101425022B true CN101425022B (zh) 2013-03-27

Family

ID=40469933

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200810173958.5A Active CN101425022B (zh) 2007-10-31 2008-10-31 虚拟机设备的动态分配

Country Status (4)

Country Link
US (1) US8281303B2 (zh)
EP (1) EP2056199A3 (zh)
JP (1) JP5376496B2 (zh)
CN (1) CN101425022B (zh)

Families Citing this family (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8479194B2 (en) 2007-04-25 2013-07-02 Microsoft Corporation Virtual machine migration
US8332847B1 (en) 2008-01-10 2012-12-11 Hewlett-Packard Development Company, L. P. Validating manual virtual machine migration
US8185894B1 (en) * 2008-01-10 2012-05-22 Hewlett-Packard Development Company, L.P. Training a virtual machine placement controller
US20090216519A1 (en) * 2008-02-25 2009-08-27 Mohan Parthasarathy Data Processing System And Method
JP5645014B2 (ja) * 2008-05-28 2014-12-24 日本電気株式会社 I/o接続システム、方法及びプログラム
US8145871B2 (en) * 2008-06-09 2012-03-27 International Business Machines Corporation Dynamic allocation of virtual real memory for applications based on monitored usage
US9262194B2 (en) * 2008-06-10 2016-02-16 Apple Inc. Virtual machine communications
CN102177501B (zh) * 2008-08-25 2015-08-12 宝威电源意大利股份公司 电子设备及其管理方法
EP2202639B1 (en) * 2008-12-24 2012-09-12 VirtualLogix SA Virtual machine monitor
US9405347B2 (en) * 2009-02-26 2016-08-02 Microsoft Technology Licensing, Llc Power-saving operating system for virtual environment
US9396042B2 (en) 2009-04-17 2016-07-19 Citrix Systems, Inc. Methods and systems for evaluating historical metrics in selecting a physical host for execution of a virtual machine
US8291416B2 (en) * 2009-04-17 2012-10-16 Citrix Systems, Inc. Methods and systems for using a plurality of historical metrics to select a physical host for virtual machine execution
US8954487B2 (en) * 2009-06-23 2015-02-10 Samsung Electronics Co., Ltd. Management server and method for providing cloud computing service
US20110029971A1 (en) * 2009-07-30 2011-02-03 Fujitsu Limited Information processing apparatus, image processing method and computer program
US9037717B2 (en) * 2009-09-21 2015-05-19 International Business Machines Corporation Virtual machine demand estimation
US11132237B2 (en) * 2009-09-24 2021-09-28 Oracle International Corporation System and method for usage-based application licensing in a hypervisor virtual execution environment
US8402461B2 (en) * 2009-11-15 2013-03-19 Hewlett-Packard Development Company, L. P. Switching between direct mode and indirect mode for virtual machine I/O requests
US8301818B2 (en) * 2009-12-11 2012-10-30 Oracle America, Inc. Virtual hot plugging of devices and virtual devices
US8434081B2 (en) * 2010-07-02 2013-04-30 International Business Machines Corporation Storage manager for virtual machines with virtual storage
US8943260B2 (en) * 2011-03-13 2015-01-27 International Business Machines Corporation Dynamic memory management in a virtualized computing environment
US9183030B2 (en) 2011-04-27 2015-11-10 Microsoft Technology Licensing, Llc Virtual processor allocation techniques
EP2521035B1 (de) * 2011-05-06 2018-02-21 Siemens Aktiengesellschaft Verfahren und Anordnung zur Konfigurierung einer Ressource für eine virtuelle Laufzeitumgebung
TW201250464A (en) * 2011-06-01 2012-12-16 Hon Hai Prec Ind Co Ltd System and method for monitoring virtual machines
US9432258B2 (en) 2011-06-06 2016-08-30 At&T Intellectual Property I, L.P. Methods and apparatus to configure virtual private mobile networks to reduce latency
US9386035B2 (en) 2011-06-21 2016-07-05 At&T Intellectual Property I, L.P. Methods and apparatus to configure virtual private mobile networks for security
US10044678B2 (en) * 2011-08-31 2018-08-07 At&T Intellectual Property I, L.P. Methods and apparatus to configure virtual private mobile networks with virtual private networks
US8666723B2 (en) * 2011-08-31 2014-03-04 Oregon State Board Of Higher Education On Behalf Of Portland State University System and methods for generating and managing a virtual device
EP2570920A1 (en) 2011-09-16 2013-03-20 France Télécom System and method for cross-platform application execution and display
US9886312B2 (en) 2011-09-28 2018-02-06 Microsoft Technology Licensing, Llc Dynamic provisioning of virtual video memory based on virtual video controller configuration
DE112011105752T5 (de) * 2011-10-21 2014-10-02 Hewlett-Packard Development Company, L.P. Webbasierte Schnittstelle zum Zugriff auf eine Funktion eines Basic Input/Output-Systems
WO2013058766A1 (en) 2011-10-21 2013-04-25 Hewlett-Packard Development Company, L.P. Providing a function of a basic input/output system (bios) in a privileged domain
WO2013088818A1 (ja) * 2011-12-13 2013-06-20 株式会社日立製作所 仮想計算機システム、仮想化機構、及びデータ管理方法
WO2013123650A1 (zh) * 2012-02-22 2013-08-29 华为技术有限公司 虚拟机分配方法和虚拟机分配装置
EP2842039A4 (en) * 2012-04-25 2015-12-09 Hewlett Packard Development Co ASSIGNMENT OF DYNAMIC MEMORY
US9122418B2 (en) * 2012-08-07 2015-09-01 Xyratex Technology Limited—A Seagate Company Method of controlling the capacity of a virtual storage system, and a virtual storage system
US9152540B2 (en) 2012-08-31 2015-10-06 Oregon State Board Of Higher Education On Behalf Of Portland State University System and methods for generating and managing a virtual device
US9575788B2 (en) * 2012-09-04 2017-02-21 Red Hat Israel, Ltd. Hypervisor handling of processor hotplug requests
US9195585B2 (en) * 2013-01-23 2015-11-24 Vmware, Inc. Techniques for allocating and surfacing host-side storage capacity to virtual machines
US9323552B1 (en) 2013-03-14 2016-04-26 Amazon Technologies, Inc. Secure virtual machine memory allocation management via dedicated memory pools
US11669441B1 (en) 2013-03-14 2023-06-06 Amazon Technologies, Inc. Secure virtual machine reboot via memory allocation recycling
US9507540B1 (en) * 2013-03-14 2016-11-29 Amazon Technologies, Inc. Secure virtual machine memory allocation management via memory usage trust groups
US10095606B2 (en) * 2014-06-20 2018-10-09 Red Hat Israel, Ltd. Guest-independent testing of guest firmware in virtualized systems
CN104461731B (zh) * 2014-10-23 2018-06-15 新华三技术有限公司 一种动态资源扩展中虚拟机资源回收方法和装置
CN107209685B (zh) * 2015-01-27 2020-06-19 慧与发展有限责任合伙企业 虚拟机布置
US10491667B1 (en) 2015-03-16 2019-11-26 Amazon Technologies, Inc. Customized memory modules in multi-tenant service provider systems
CN105138389B (zh) * 2015-07-30 2019-01-11 北京京东尚科信息技术有限公司 一种集群中虚拟设备的管理方法及系统
US10394586B2 (en) * 2015-08-13 2019-08-27 Red Hat Israel, Ltd. Using capability indicators to indicate support for guest driven surprise removal of virtual PCI devices
CN106959889A (zh) * 2016-01-11 2017-07-18 阿里巴巴集团控股有限公司 一种服务器资源调整的方法和装置
GB201603469D0 (en) * 2016-02-29 2016-04-13 Ibm Securely removing system capabilities from a logical partition
US10459751B2 (en) * 2017-06-30 2019-10-29 ATI Technologies ULC. Varying firmware for virtualized device
WO2019024994A1 (en) * 2017-08-02 2019-02-07 Huawei Technologies Co., Ltd. SYSTEM, METHOD AND COMPUTER PROGRAM FOR VIRTUAL MACHINE RESOURCE ALLOCATION
WO2019028596A1 (zh) * 2017-08-07 2019-02-14 深圳前海达闼云端智能科技有限公司 一种虚拟机的启动方法、装置和智能终端
US11099789B2 (en) 2018-02-05 2021-08-24 Micron Technology, Inc. Remote direct memory access in multi-tier memory systems
US11416395B2 (en) * 2018-02-05 2022-08-16 Micron Technology, Inc. Memory virtualization for accessing heterogeneous memory components
US10782908B2 (en) 2018-02-05 2020-09-22 Micron Technology, Inc. Predictive data orchestration in multi-tier memory systems
US10880401B2 (en) 2018-02-12 2020-12-29 Micron Technology, Inc. Optimization of data access and communication in memory systems
US10877892B2 (en) 2018-07-11 2020-12-29 Micron Technology, Inc. Predictive paging to accelerate memory access
US10852949B2 (en) 2019-04-15 2020-12-01 Micron Technology, Inc. Predictive data pre-fetching in a data storage device
US11494297B2 (en) * 2020-07-23 2022-11-08 Vmware, Inc. Concurrent memory management in a computing system
US11487694B1 (en) * 2021-12-17 2022-11-01 SambaNova Systems, Inc. Hot-plug events in a pool of reconfigurable data flow resources

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4253145A (en) * 1978-12-26 1981-02-24 Honeywell Information Systems Inc. Hardware virtualizer for supporting recursive virtual computer systems on a host computer system
US4649479A (en) * 1985-02-28 1987-03-10 International Business Machines Corp. Device driver and adapter binding technique

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0799501B2 (ja) * 1991-11-18 1995-10-25 インターナショナル・ビジネス・マシーンズ・コーポレイション 複数アプリケーションの同時実行装置
US5898861A (en) * 1996-10-18 1999-04-27 Compaq Computer Corporation Transparent keyboard hot plug
JP2002041305A (ja) * 2000-07-26 2002-02-08 Hitachi Ltd 仮想計算機システムにおける計算機資源の割当て方法および仮想計算機システム
US20050108711A1 (en) * 2003-11-13 2005-05-19 Infineon Technologies North America Corporation Machine instruction for enhanced control of multiple virtual processor systems
US7467381B2 (en) * 2003-12-16 2008-12-16 Intel Corporation Resource partitioning and direct access utilizing hardware support for virtualization
US7971203B2 (en) * 2004-03-05 2011-06-28 Intel Corporation Method, apparatus and system for dynamically reassigning a physical device from one virtual machine to another
US7401240B2 (en) * 2004-06-03 2008-07-15 International Business Machines Corporation Method for dynamically managing power in microprocessor chips according to present processing demands
US7281124B2 (en) * 2004-06-17 2007-10-09 Intel Corporation Establishing a virtual drive accessible to pre-boot and operating system runtime phases
US8914606B2 (en) 2004-07-08 2014-12-16 Hewlett-Packard Development Company, L.P. System and method for soft partitioning a computer system
US20060107262A1 (en) * 2004-11-03 2006-05-18 Intel Corporation Power consumption-based thread scheduling
US20060184938A1 (en) * 2005-02-17 2006-08-17 Intel Corporation Method, apparatus and system for dynamically reassigning memory from one virtual machine to another
US20060294401A1 (en) * 2005-06-24 2006-12-28 Dell Products L.P. Power management of multiple processors
US7937701B2 (en) * 2005-06-30 2011-05-03 Intel Corporation ACPI communication between virtual machine monitor and policy virtual machine via mailbox
US20070074199A1 (en) * 2005-09-27 2007-03-29 Sebastian Schoenberg Method and apparatus for delivering microcode updates through virtual machine operations
US20070074067A1 (en) * 2005-09-29 2007-03-29 Rothman Michael A Maintaining memory reliability
US8777737B2 (en) * 2006-04-13 2014-07-15 Igt Method and apparatus for integrating remotely-hosted and locally rendered content on a gaming device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4253145A (en) * 1978-12-26 1981-02-24 Honeywell Information Systems Inc. Hardware virtualizer for supporting recursive virtual computer systems on a host computer system
US4649479A (en) * 1985-02-28 1987-03-10 International Business Machines Corp. Device driver and adapter binding technique

Also Published As

Publication number Publication date
US8281303B2 (en) 2012-10-02
CN101425022A (zh) 2009-05-06
EP2056199A2 (en) 2009-05-06
JP2009110518A (ja) 2009-05-21
JP5376496B2 (ja) 2013-12-25
US20090113422A1 (en) 2009-04-30
EP2056199A3 (en) 2013-04-17

Similar Documents

Publication Publication Date Title
CN101425022B (zh) 虚拟机设备的动态分配
US7478177B2 (en) System and method for automatic reassignment of shared storage on blade replacement
US7761622B2 (en) Centralized server rack management using USB
CN100590607C (zh) 存储系统以及存储区域释放方法以及存储装置
US7523178B2 (en) Tolerating failure of traffic management systems
CN101699825B (zh) 网络文件系统访问方法、装置及系统
CN102929707B (zh) 并行任务动态分配方法
US8484416B2 (en) High availability raid using low-cost direct attached raid controllers
CN101142553A (zh) 跨越多个计算平台的操作系统不可知的资源共享
EP3547102B1 (en) Object storage system with multi-level hashing function for storage address determination
CN101470667A (zh) Linux系统平台上指定地址范围分配物理内存的方法
CN108880898A (zh) 主备容器系统切换方法及装置
CN104272242A (zh) 创建加密存储体
CN117032812B (zh) 服务器的管理方法、设备、装置、存储介质和电子设备
CN112131196A (zh) 一种分布式日志处理方法、装置、终端设备及存储介质
CN116723198A (zh) 一种多节点服务器主机控制方法、装置、设备、存储介质
US7437505B2 (en) Logical to physical device topological location mappings
CN104272273A (zh) 动态存储器分配
CN113190273B (zh) 一种多芯片设备及其pcie枚举方法、存储介质
CN110308865A (zh) 存储器系统、计算系统及其操作方法
US6598105B1 (en) Interrupt arbiter for a computing system
CN116483740B (zh) 内存数据的迁移方法、装置、存储介质及电子装置
CN100412779C (zh) 提供主机通过存储控制器端口访问设备的方法和系统
CN104503924A (zh) 一种分层存储系统中的区域分配方法及装置
CN103929335A (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
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20170203

Address after: American Texas

Patentee after: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP

Address before: American Texas

Patentee before: Hewlett Packard Development Co.