CN101794238A - 重新映射引擎的有效利用 - Google Patents

重新映射引擎的有效利用 Download PDF

Info

Publication number
CN101794238A
CN101794238A CN200911000149A CN200911000149A CN101794238A CN 101794238 A CN101794238 A CN 101794238A CN 200911000149 A CN200911000149 A CN 200911000149A CN 200911000149 A CN200911000149 A CN 200911000149A CN 101794238 A CN101794238 A CN 101794238A
Authority
CN
China
Prior art keywords
remapping engine
engine
portfolio
remapping
equipment
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
CN200911000149A
Other languages
English (en)
Other versions
CN101794238B (zh
Inventor
R·萨里帕利
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of CN101794238A publication Critical patent/CN101794238A/zh
Application granted granted Critical
Publication of CN101794238B publication Critical patent/CN101794238B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/145Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being virtual, e.g. for virtual blocks or segments before a translation mechanism
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1081Address translation for peripheral access to main memory, e.g. direct memory access [DMA]

Abstract

公开了一种设备、系统和方法。在一个实施例中,设备包括重新映射引擎重新分配逻辑,该逻辑能够监测由第一重新映射引擎转换的第一业务量。如果第一业务量达到第一重新映射引擎的阈值级别,则该逻辑将转移业务量的一部分以由第二重新映射引擎来转换。

Description

重新映射引擎的有效利用
技术领域
本发明涉及在实现虚拟化的计算机平台中重新映射引擎转换。
背景技术
许多计算机平台使用虚拟化来更有效地管理资源和对资源区分优先级。输入/输出(I/O)设备也可从虚拟化中受益。Intel公司已经发布了用于直接I/O的虚拟化技术(VT-d)规范(2008年9月,修订版1.0),其中描述了在虚拟化的环境中利用直接存储器存取(DMA)使能的I/O设备的实现细节。
为了有效地将虚拟地址转换为接收自I/O设备的DMA请求和中断请求中的物理存储器地址,已经开发出执行转换的逻辑,称为重新映射引擎。给定的计算机平台可以有若干重新映射引擎。VT-d规范允许给定的I/O设备,诸如平台部件互联(PCI)或PCI-Express设备在单个重新映射引擎的范围内。设备到重新映射引擎的这种映射可在硬件设计时实现,并且是计算机平台的设计的特性。
映射I/O设备到单个重新映射引擎使得对于虚拟机监控器(VMM)或操作系统(OS)来说是不灵活的,并且可能导致性能下降。
发明内容
按照本发明的一个方面,提供一种设备,包括:重新映射引擎重新分配逻辑,用于监测正在由第一重新映射引擎转换的第一业务量;以及当所述第一业务量达到第一重新映射引擎业务量阈值级别时,将所述第一业务量的一部分转移给第二重新映射引擎来转换。
按照本发明的另一方面,提供一种系统,包括:第一设备和第二设备;第一重新映射引擎和第二重新映射引擎,每个重新映射引擎都耦合至所述第一设备和第二设备;以及重新映射引擎重新分配逻辑,耦合至所述第一重新映射引擎和第二重新映射引擎,所述重新映射引擎重新分配逻辑用于监测正在由第一重新映射引擎转换的第一业务量;以及当所述第一业务量达到第一重新映射引擎业务量阈值级别时,将所述第一业务量的一部分转移给第二重新映射引擎来转换。
按照本发明的又一方面,提供一种方法,包括:监测正在由第一重新映射引擎转换的第一业务量;以及当所述第一业务量达到第一重新映射引擎业务量阈值级别时,将所述第一业务量的一部分转移给第二重新映射引擎来转换。
附图说明
通过例子来说明本发明,本发明不限于附图,附图中类似的符号表明类似的部件,并且其中:
图1示出了重新分配重新映射引擎以在可用的重新映射引擎之间平衡总体重新映射负载的系统和设备的一个实施例。
图2是将I/O设备从一个重新映射引擎迁移到另一个重新映射引擎的过程的一个实施例的流程图。
具体实施方式
公开了重新分配重新映射引擎以在可用的重新映射引擎之间平衡总体重新映射负载的设备、系统和方法的实施例。在许多情况中,由于特定的所映射的I/O设备(通过DMA或中断请求)所请求的高转换量,计算机平台上的初始重新映射引擎可能变得压力较大。计算机平台内的逻辑可以注意到这种压力大的状况,并且找到当前没有压力的第二重新映射引擎。该逻辑可以将I/O设备迁移到没有压力的第二重新映射引擎以减轻初始重新映射引擎的负担。一旦迁移完成,所有需要转换的来自I/O设备的后续DMA和中断请求由第二重新映射引擎来转换。
以下描述及权利要求中提到所公开的技术的“一个实施例”或“实施例”意味着,结合实施例来描述的特定的特征、结构或特性包括在所公开的技术的至少一个实施例中。因此,在整个说明书中各个地方出现的用语“在一个实施例中”并不一定都指的是同一实施例。
在以下描述及权利要求中,术语“包括”和“包含”连同它们的派生词都可能被使用,并且要作为彼此的同义词来对待。另外,在以下描述及权利要求中,术语“耦合”和“连接”以及它们的派生词可能被使用。应当理解,这些术语并不要作为彼此的同义词。相反地,在具体实施例中,“连接”可用于表明两个或更多部件相互直接物理接触或电接触。“耦合”可意味着两个或更多部件直接物理接触或电接触。但是,“耦合”也可意味着两个或更多部件不是相互直接接触,但是仍然互相协作或互相影响。
图1示出重新分配重新映射引擎以在可用的重新映射引擎之间平衡总体重新映射负载的系统和设备的一个实施例。重新映射重新分配系统可以是包括一个或多个处理器的计算机平台(即计算机系统)的一部分。每个处理器可以具有一个或多个核。在不同的实施例中,处理器可以是Intel
Figure GSA00000029383600031
品牌的微处理器或其它品牌的微处理器。处理器并未在图1中示出。
系统包括物理系统存储器100。在一些实施例中,系统存储器100可以是一种动态随机存取存储器(DRAM)。例如,系统存储器可以是一种双倍数据速率(DDR)同步DRAM。在其它实施例中,系统存储器可以是如闪存之类的其它类型的存储器。
系统包括直接存储器存取(DMA)和中断重新映射逻辑102。诸如DMA和中断重新映射逻辑102之类的虚拟化重新映射逻辑,通过将诸如I/O设备1(104)和I/O设备2(106)之类的输入/输出(I/O)设备的DMA限制到预先分配的物理存储器区域,诸如用于I/O设备1(104)的域A(108)和用于I/O设备2(106)的域B(110),来保护系统存储器100的物理区域。重新映射逻辑也同样将I/O设备产生的中断限制到这些区域。DMA和中断重新映射逻辑102可位于系统中的处理器中、系统中的I/O复合体中或其它地方。I/O复合体可以是计算机系统内的与一个或多个处理器分离的集成电路。I/O复合体可包括一个或多个I/O主机控制器以促进处理器/存储器与系统中的一个或多个I/O设备,诸如I/O设备1(104)和I/O设备2(106)之间的信息交换。虽然在特定实施例中,DMA和中断重新映射逻辑102可以集成到I/O复合体中,但是I/O复合体的其它部分未在图1中示出。在一些实施例中,诸如在许多芯片上系统的实施例中,I/O复合体可以集成到处理器中,因此,在这些实施例中,如果DMA和中断重新映射逻辑102集成到I/O复合体中,则也会因此集成到处理器中。
在一些允许在计算机系统内的虚拟化环境的实施例中,DMA和中断重新映射逻辑102可通过虚拟机监控器(VMM)来编程。在其它实施例中,DMA和中断重新映射逻辑102可通过操作系统(OS)来编程。
在许多实施例中,I/O设备1(104)和I/O设备2(106)是可DMA的并且可中断的设备。在这些实施例中,DMA和中断重新映射逻辑102将来自I/O设备的每个到来的DMA请求和中断的地址转换为系统存储器100中正确的物理存储器地址。在许多实施例中,DMA和中断重新映射逻辑102基于VMM或OS提供的信息来检查是否许可访问转换的物理地址。
DMA和中断重新映射逻辑102使VMM或OS能创建多个DMA保护域,诸如用于I/O设备1(104)的域A(108)和用于I/O设备2(106)的域B(110)。每个保护域是包含主机物理存储器的子集的隔离的环境。DMA和中断重新映射逻辑102使VMM或OS能把一个或多个I/O设备分配到保护域。当任何给定的I/O设备试图获得对系统存储器100中的某个存储器位置的访问时,DMA和中断重新映射逻辑102查询重新映射页面表112以确定是否许可该I/O设备对该特定保护域的访问。如果I/O设备试图访问其被允许访问的范围以外的范围,DMA和中断重新映射逻辑102阻止访问并向VMM或OS报告错误。
在许多实施例中,存在两个或更多重新映射引擎,诸如集成在DMA和中断重新映射逻辑102中的重新映射引擎1(114)和重新映射引擎2(116)。每个重新映射引擎包括处理来自一个或多个I/O设备的DMA请求和中断流的逻辑。重新映射引擎一般开始被分配给特定的I/O设备。例如,重新映射引擎1(114)可被分配为处理从I/O设备1(104)接收的对域A(108)的DMA请求和中断,重新映射引擎2(116)可被分配为处理从I/O设备2(106)接收的对域B(110)的DMA请求和中断。
虽然最初可分配重新映射引擎为特定I/O设备将DMA请求和中断转换到物理地址,但是在许多实施例中,重新映射重新分配逻辑118可因所观察的工作量而动态地修改对于每个重新映射引擎的这些初始分配。在许多实施例中,DMA和中断重新映射逻辑102以及重新映射重新分配逻辑118都被用在利用了I/O虚拟化技术的计算机平台中。例如,I/O设备1(104)可能产生非常繁重的DMA请求工作量,而I/O设备2(106)处于休眠状态。来自I/O设备1(104)的繁重的DMA请求工作量可能使重新映射引擎1(114)的容量过载,这将导致对于来自I/O设备1(104)以及一个或多个也可能依赖于重新映射引擎1(114)的附加I/O设备(未图示)的请求的执行(即响应时间)的降级。在这个例子中,重新映射重新分配逻辑118可能注意到工作量的差异,并决定在重新映射引擎1(114)和另外的未使用的重新映射引擎2(116)之间平等地分配从I/O设备1(104)接收的DMA请求工作量。因此,重新映射引擎2(116)增加的容量将减轻对于重新映射引擎1(114)要求的工作量,并且可增加对于I/O设备1(104)的请求的响应度性能。
在另一例子中,可能刚好相反,其中,重新映射引擎2(116)因从I/O设备2(106)接收的DMA请求而过载,因此,重新映射重新分配逻辑118可将一部分接收到的工作分配给重新映射引擎1(114)。在又一例子中,初始分配到重新映射引擎1(114)的第三I/O设备(未图示)可能发送大量的中断业务量给重新映射引擎1(114)以进行转换。这个来自I/O设备3的中断业务量可能比来自I/O设备1和2组合的DMA和中断请求加起来的业务量还大。在这个例子中,重新映射重新分配逻辑118可以让重新映射引擎1(114)处理来自I/O设备3的即将到来的请求,但也可重新分配I/O设备1(104)给重新映射引擎2(116)。因此,重新映射引擎2(116)可能现在需要同时为I/O设备1和2转换即将到来的请求。
在许多DMA和中断业务量情况中,重新映射重新分配逻辑118可尝试将DMA请求从一个重新映射引擎重新分配给另一个重新映射引擎,以便在所有可用的重新映射引擎之中均衡接收到的工作量。在图1没有示出的许多实施例中,可存在包括总共不止两个重新映射引擎的重新映射引擎池。在这些实施例中,重新映射重新分配逻辑118可在池中的每个重新映射引擎之中再分配工作,以便在整个池之中公平地平衡DMA请求的总数。在一些实施例中,如果单个重新映射引擎、例如重新映射引擎1(114)正在执行所有的DMA请求工作,而工作量足够小以致于没有对该特定的重新映射引擎的容量造成负担,则重新映射重新分配逻辑118可以不重新分配一部分DMA请求工作量。因此,在一些实施例中,一般在给定的重新映射引擎的工作量已经达到重新映射引擎的请求的阈值级别时执行重新分配。再者,在许多实施例中,在利用I/O虚拟化技术的计算机平台中同时使用了DMA和中断重新映射逻辑102和重新映射重新分配逻辑118。
在许多实施例中,请求的阈值级别是在给定的时间周期中的请求的数量,它等于重新映射引擎在性能不下降时能够处理的极限。因为重新映射引擎接收请求的速率大于重新映射引擎能够转换请求的速率,DMA请求队列堵塞可能引起重新映射引擎性能的下降。重新映射重新分配逻辑118可利用多种不同方法其中之一来比较DMA请求的当前工作量与阈值级别。例如,在系统时钟周期中的请求比率可与阈值比率进行比较。监控逻辑可集成于重新映射重新分配逻辑118中,因为它接收来自I/O设备组的所有请求并分配每个请求给重新映射引擎。
在许多实施例中,DMA重新映射逻辑102为VMM或OS提供一个或多个控制寄存器,以启用或禁用重新映射重新分配逻辑118在重新映射引擎之间重新分配DMA请求工作量的能力。在许多实施例中,如果同一组I/O设备对于每一个重新映射引擎都是可用的,那么这些重新映射引擎可认为是等价的重新映射引擎。因此,一个重新映射引擎理论上能够为一组I/O设备执行DMA请求转换,而第二重新映射引擎是空闲的,相反也同样成立。如果I/O设备对于一个重新映射引擎是可访问的而对于另一个重新映射引擎却不是,就不可以认为这些重新映射引擎是等价的。等价的重新映射引擎允许重新映射重新分配逻辑118自由地将DMA请求工作量混合并与每一个等价的重新映射引擎相匹配。
当VMM或OS通过一个或多个控制寄存器使得重新映射引擎之间等价时,那么每一个重新映射引擎可以有效地使用同一组重新映射页面表112以及任何其它的重新映射相关的寄存器来参与DMA请求转换过程。在许多实施例中,一个或多个控制寄存器是位于系统存储器中的基于软件的寄存器,例如控制寄存器120A。在其它实施例中,一个或多个控制寄存器是物理上位于DMA重新映射逻辑102中的基于硬件的寄存器,例如控制寄存器120B。
在许多实施例中,DMA重新映射逻辑102可使用IntelVT-d规范中定义的对当前DRHD(DMA重新映射硬件单元定义)结构的扩展,向VMM或OS传达两个或更多重新映射引擎之间的等价关系。
每个重新映射引擎具有存储器中的DRHD结构。例如,DRHD结构可位于系统存储器100的重新映射页面表/结构112部分中。在其它实施例中,DRHD结构可位于系统存储器100内的另一位置中。每个重新映射引擎的DRHD结构包括等价于所讨论的重新映射引擎的重新映射引擎的阵列,此阵列称为“等价DRHD阵列”。此阵列是字段的集合并且定义在表1中。该阵列用于向VMM或OS传达这样的等价。必要时,要由VMM或OS来决定使用初始分配给给定I/O设备的重新映射引擎的备选重新映射引擎。
表1.等价DRHD阵列的结构布局。
  等价阵列中的单元数量   间接指明这个总字段长度的16位字段
  第一个等价单元的基地址   这是64位字段。请参见DRHD中的寄存器基地址(VT-d规范的8.3节)
  第n个等价单元的基地址   在第一字段中指明N
在一些实施例中,重新映射重新分配逻辑118可向VMM或OS报告每个重新映射引擎的DMA请求转换工作量,这将允许VMM或OS做出关于是否使能和利用备选重新映射引擎以减少初始重新映射引擎上的转换压力的决定。
DMA重新映射逻辑102也可传送关于与在重新映射引擎之间迁移重新映射页面表相关的每个重新映射引擎的能力的信息。具体地说,一旦VMM或OS做出将用于DMA和中断请求的映射条目从一个重新映射引擎迁移到另一个重新映射引擎的决定,则可能有基于软件的或基于硬件的页面表拷贝。
在一些实施例中,VMM或OS能够设置与新重新分配的I/O设备相关的页面表,然后将重新映射页面表从页面表的旧重新映射引擎存储器空间拷贝到页面表的新重新映射引擎存储器空间。在其它实施例中,DMA和中断重新映射逻辑102能够在重新映射引擎存储器空间之间默默地拷贝页面表。默默地拷贝这些页面表允许开销从VMM或OS软件级中移除,并且在较低硬件级完成。这可不必具有软件知识就能进行。
一旦页面表从旧重新映射引擎存储器空间拷贝(即迁移)到新重新映射引擎存储器空间,新的重新映射引擎是负责服务于来自所讨论的I/O设备的所有未来转换请求的重新映射引擎。旧的重新映射引擎不再负责该I/O设备,并且不再转换从该设备接收的DMA或中断请求。
图2是将I/O设备从一个重新映射引擎迁移到另一个重新映射引擎的过程的一个实施例的流程图。该过程由可以是硬件、软件或者硬件和软件这两者的组合的处理逻辑来执行。该过程从处理逻辑从I/O设备接收DMA或中断请求开始(处理块200)。
处理逻辑确定所分配以服务于请求的初始重新映射引擎是否在特定时间周期上已经达到它的请求的阈值级别(处理块202)。该确定可利用执行计数器、时间戳、算法和其它方法来确定该初始重新映射引擎当前是否有足够的转换请求,足以使引擎对每个请求的转换响应度恶化。
例如,VMM或OS能够直接地或通过重新映射重新分配逻辑108查询每个重新映射引擎上的重新映射转换压力的当前状态,轮询每个重新映射引擎。在另一个例子中,当重新映射引擎中的至少一个开始感到转换压力或对其转换资源的约束时,DMA和中断重新映射逻辑102可中断VMM或OS。在这两个例子中,DMA和中断重新映射逻辑102也可传送关于转换压力的确切性质的更详细的信息,包括引起转换压力的层级或确切的I/O设备。当确定是否将I/O设备的转换条目迁移到另一个等价的重新映射引擎时,VMM或OS可决定使用什么性能信息(如果有的话)。
返回到图2,如果没有达到请求的这个阈值级别,处理逻辑令初始重新映射引擎转换DMA或中断请求,并且该过程完成。
否则,如果已经达到请求的阈值级别,则处理逻辑确定一个或多个其它等价重新映射引擎中的哪一个是可用的,而且或者是当前未充分利用的,或者是根本没有使用的。这可包括确定在给定的后备重新映射引擎中是否有足够的额外容量以解决增加的设备业务量中涉及的增加的压力。
一旦发现可用的后备重新映射引擎,则处理逻辑将用于I/O设备的重新映射页面表从初始重新映射引擎迁移到后备重新映射引擎(处理块206)。一旦后备重新映射引擎已经接收到可用于重新映射的I/O设备的页面表,处理逻辑则将DMA或中断请求转给后备重新映射引擎(处理块208)并且该过程完成。
在许多实施例中,一旦处理逻辑已经核实了存在可用的等价重新映射引擎,则处理逻辑可对在硬件中的控制寄存器(图1,120B)编程以指示新的后备重新映射引擎应当被认为等价于初始重新映射引擎。
为了适应该寄存器编程,全局命令寄存器(当前定义于Intel
Figure GSA00000029383600101
VT-d规范中)中当前保留的字段可为此命令(例如称为使能等价重新映射引擎的命令)重新定义。出于该目的,新的重新映射引擎可通过另一个8字节寄存器来标识。表2示出为核实重新映射引擎之间的等价而实现对全局命令和状态寄存器进行的修改的例子。
表2.用于重新映射引擎等价的全局命令和状态寄存器位。
  全局命令寄存器位21  若设置为1,新的等价重新映射引擎已经被标识若设置为0,任何现有的等价关系被移除
  全局状态寄存器位21  在硬件完成命令的操作后,该位设置为1
VMM或OS能够使得属于重新映射引擎A的范围的所有当前设备等价,或者仅使得当前处于重新映射引擎A的范围内的特定的一组设备等价。如果不能执行等价,DMA和中断重新映射逻辑102可通过错误寄存器传达这个错误状态。
因此,公开了重新分配重新映射引擎以在可用的重新映射引擎之间平衡总体重新映射负载的设备、系统和方法的实施例。这些实施例已经参考其具体的示例性实施例进行了描述。对于受益于本公开的人员显而易见的是,可对这些实施例进行各种修改和变化而不脱离本文描述的实施例的广义精神和范围。因此,说明书和附图应当视为说明性的而不是限制性的。

Claims (24)

1.一种设备,包括:
重新映射引擎重新分配逻辑,用于
监测正在由第一重新映射引擎转换的第一业务量;以及
当所述第一业务量达到第一重新映射引擎业务量阈值级别时,将所述第一业务量的一部分转移给第二重新映射引擎来转换。
2.根据权利要求1的设备,其中所述重新映射引擎重新分配逻辑还能用于:
在转移所述第一业务量的一部分之前,查询所述第二重新映射引擎以确定可用的转换容量;以及
当所述可用的转换容量能够服务于要转移的所述第一业务量的一部分时,允许所述转移。
3.根据权利要求2的设备,其中所述重新映射引擎重新分配逻辑还能用于:
确定所述第一重新映射引擎和第二重新映射引擎的容量;以及
将所述第一业务量的一部分分配给所述第一重新映射引擎和第二重新映射引擎中的每一个,使得每个引擎具有相对于每个引擎的最大容量而言基本上相同的业务量百分比。
4.根据权利要求3的设备,其中所述重新映射引擎重新分配逻辑还能用于:
将所述第一业务量的一部分转移给一个或多个附加的重新映射引擎,其中所述第一重新映射引擎、第二重新映射引擎以及一个或多个附加的重新映射引擎均具有相对于每个引擎的最大容量而言基本上相同的业务量百分比。
5.根据权利要求1的设备,其中所述第一业务量包括来自至少第一设备和第二设备的业务量。
6.根据权利要求5的设备,其中转移到所述第二重新映射引擎的所述第一业务量的一部分至少包括来自至少所述第二设备的业务量。
7.根据权利要求1的设备,其中所述重新映射引擎重新分配逻辑还能用于:
监测正在由所述第一重新映射引擎和所述第二重新映射引擎转换的第一业务量;以及
当所述第一业务量回到第一业务量阈值级别以下时,将正在由所述第二重新映射引擎转换的所述第一业务量的一部分转移至所述第一重新映射引擎。
8.根据权利要求7的设备,其中所述重新映射引擎重新分配逻辑还能用于:
通知电源管理逻辑,在正在由所述第二重新映射引擎转换的所述第一业务量的一部分转回给所述第一重新映射引擎之后,可关闭所述第二重新映射引擎。
9.一种系统,包括:
第一设备和第二设备;
第一重新映射引擎和第二重新映射引擎,每个重新映射引擎都耦合至所述第一设备和第二设备;以及
重新映射引擎重新分配逻辑,耦合至所述第一重新映射引擎和第二重新映射引擎,所述重新映射引擎重新分配逻辑用于
监测正在由第一重新映射引擎转换的第一业务量;以及
当所述第一业务量达到第一重新映射引擎业务量阈值级别时,将所述第一业务量的一部分转移给第二重新映射引擎来转换。
10.根据权利要求9的系统,其中所述重新映射引擎重新分配逻辑还能用于:
在转移所述第一业务量的一部分之前,查询所述第二重新映射引擎以确定可用的转换容量;以及
在所述可用的转换容量能够服务于要转移的所述第一业务量的一部分时,允许所述转移。
11.根据权利要求10的系统,其中所述重新映射引擎重新分配逻辑还能用于:
确定所述第一重新映射引擎和第二重新映射引擎的容量;以及
将所述第一业务量的一部分分配给所述第一重新映射引擎和第二重新映射引擎中的每一个,使得每个引擎具有相对于每个引擎的最大容量而言基本上相同的业务量百分比。
12.根据权利要求11的系统,其中所述重新映射引擎重新分配逻辑还能用于:
将所述第一业务量的一部分转移给一个或多个附加的重新映射引擎,其中所述第一重新映射引擎、第二重新映射引擎以及一个或多个附加的重新映射引擎均具有相对于每个引擎的最大容量而言基本上相同的业务量百分比。
13.根据权利要求9的系统,其中所述第一业务量包括来自至少所述第一设备和所述第二设备的业务量。
14.根据权利要求13的系统,其中转移给所述第二重新映射引擎的所述第一业务量的一部分至少包括来自至少所述第二设备的业务量。
15.根据权利要求9的系统,其中所述重新映射引擎重新分配逻辑还能用于:
监测正在由所述第一重新映射引擎和所述第二重新映射引擎转换的第一业务量;以及
当所述第一业务量返回至第一业务量阈值级别以下时,将正在由所述第二重新映射引擎转换的所述第一业务量的一部分转移给所述第一重新映射引擎。
16.根据权利要求15的系统,还包括:
电源管理逻辑,用来管理供给至少所述第一重新映射引擎和第二重新映射引擎中每一个的电力,
其中所述重新映射引擎重新分配逻辑还能用于通知所述电源管理逻辑,在正在由所述第二重新映射引擎转换的所述第一业务量的一部分转回到所述第一重新映射引擎之后,至少降低供给所述第二重新映射引擎的电量。
17.一种方法,包括:
监测正在由第一重新映射引擎转换的第一业务量;以及
当所述第一业务量达到第一重新映射引擎业务量阈值级别时,将所述第一业务量的一部分转移给第二重新映射引擎来转换。
18.根据权利要求17的方法,还包括:
在转移所述第一业务量的一部分之前,查询所述第二重新映射引擎以确定可用的转换容量;以及
当所述可用的转换容量能够服务于要转移的所述第一业务量的一部分时,允许所述转移。
19.根据权利要求18的方法,还包括:
确定所述第一重新映射引擎和所述第二重新映射引擎的容量;以及
将所述第一业务量的一部分分配给所述第一重新映射引擎和第二重新映射引擎中的每一个,使得每个引擎具有相对于每个引擎的最大容量而言基本上相同的业务量百分比。
20.根据权利要求19的方法,还包括:
将所述第一业务量的一部分转移至一个或多个附加的重新映射引擎,其中所述第一重新映射引擎、第二重新映射引擎以及一个或多个附加的重新映射引擎均具有相对于每个引擎的最大容量而言基本上相同的业务量百分比。
21.根据权利要求17的方法,其中所述第一业务量包括来自至少第一设备和第二设备的业务量。
22.根据权利要求21的方法,其中转移至所述第二重新映射引擎的所述第一业务量的一部分至少包括来自至少所述第二设备的业务量。
23.根据权利要求17的方法,还包括:
监测正在由所述第一重新映射引擎和所述第二重新映射引擎转换的第一业务量;以及
当所述第一业务量返回至第一业务量阈值级别以下时,将正在由所述第二重新映射引擎转换的所述第一业务量的一部分转移至所述第一重新映射引擎。
24.根据权利要求23的方法,还包括:
通知电源管理逻辑,在正在由所述第二重新映射引擎转换的所述第一业务量的一部分转回到所述第一重新映射引擎之后,可关闭所述第二重新映射引擎。
CN200911000149.5A 2008-12-31 2009-12-25 重新映射引擎的有效利用 Expired - Fee Related CN101794238B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/319,060 US20100169673A1 (en) 2008-12-31 2008-12-31 Efficient remapping engine utilization
US12/319060 2008-12-31

Publications (2)

Publication Number Publication Date
CN101794238A true CN101794238A (zh) 2010-08-04
CN101794238B CN101794238B (zh) 2014-07-02

Family

ID=41716941

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200911000149.5A Expired - Fee Related CN101794238B (zh) 2008-12-31 2009-12-25 重新映射引擎的有效利用

Country Status (5)

Country Link
US (1) US20100169673A1 (zh)
JP (1) JP2010157234A (zh)
CN (1) CN101794238B (zh)
DE (1) DE102009060265A1 (zh)
GB (1) GB2466711A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104169879A (zh) * 2012-04-24 2014-11-26 英特尔公司 用于有效功率管理的动态中断重新配置
CN109783196A (zh) * 2019-01-17 2019-05-21 新华三信息安全技术有限公司 一种虚拟机的迁移方法及装置

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5320140B2 (ja) * 2009-04-14 2013-10-23 株式会社日立製作所 計算機システム、割込み中継回路及び割込み中継方法
US8285915B2 (en) * 2010-01-13 2012-10-09 International Business Machines Corporation Relocating page tables and data amongst memory modules in a virtualized environment
US8478845B2 (en) * 2010-08-16 2013-07-02 International Business Machines Corporation End-to-end provisioning of storage clouds
KR101867960B1 (ko) * 2012-01-05 2018-06-18 삼성전자주식회사 매니 코어 시스템을 위한 운영체제 동적 재구성 장치 및 방법
US10303618B2 (en) * 2012-09-25 2019-05-28 International Business Machines Corporation Power savings via dynamic page type selection
US8966132B2 (en) * 2012-11-16 2015-02-24 International Business Machines Corporation Determining a mapping mode for a DMA data transfer
US8984179B1 (en) 2013-11-15 2015-03-17 International Business Machines Corporation Determining a direct memory access data transfer mode
US20180039518A1 (en) * 2016-08-02 2018-02-08 Knuedge Incorporated Arbitrating access to a resource that is shared by multiple processors
FR3070514B1 (fr) 2017-08-30 2019-09-13 Commissariat A L'energie Atomique Et Aux Energies Alternatives Controleur d'acces direct en memoire, dispositif et procede de reception, stockage et traitement de donnees correspondants

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4633387A (en) * 1983-02-25 1986-12-30 International Business Machines Corporation Load balancing in a multiunit system
JP2774862B2 (ja) * 1990-07-16 1998-07-09 株式会社日立製作所 Dma制御装置および情報処理装置
JPH05216842A (ja) * 1992-02-05 1993-08-27 Mitsubishi Electric Corp 資源管理装置
US7266823B2 (en) * 2002-02-21 2007-09-04 International Business Machines Corporation Apparatus and method of dynamically repartitioning a computer system in response to partition workloads
JPWO2003075161A1 (ja) * 2002-03-07 2005-06-30 富士通株式会社 ストレージ仮想化システムの変換管理装置およびストレージ仮想化システムの変換管理方法
JP2005293427A (ja) * 2004-04-02 2005-10-20 Matsushita Electric Ind Co Ltd データ転送処理装置及びデータ転送処理方法
US9264384B1 (en) * 2004-07-22 2016-02-16 Oracle International Corporation Resource virtualization mechanism including virtual host bus adapters
US8843727B2 (en) * 2004-09-30 2014-09-23 Intel Corporation Performance enhancement of address translation using translation tables covering large address spaces
JP2006113827A (ja) * 2004-10-15 2006-04-27 Hitachi Ltd Cpu余裕管理とトランザクション優先度による負荷分散方法
US20060288130A1 (en) * 2005-06-21 2006-12-21 Rajesh Madukkarumukumana Address window support for direct memory access translation
US20070061549A1 (en) * 2005-09-15 2007-03-15 Kaniyur Narayanan G Method and an apparatus to track address translation in I/O virtualization
US20070067505A1 (en) * 2005-09-22 2007-03-22 Kaniyur Narayanan G Method and an apparatus to prevent over subscription and thrashing of translation lookaside buffer (TLB) entries in I/O virtualization hardware
US8001543B2 (en) * 2005-10-08 2011-08-16 International Business Machines Corporation Direct-memory access between input/output device and physical memory within virtual machine environment
US7613898B2 (en) * 2006-01-17 2009-11-03 Globalfoundries Inc. Virtualizing an IOMMU
US20080077767A1 (en) * 2006-09-27 2008-03-27 Khosravi Hormuzd M Method and apparatus for secure page swapping in virtual memory systems

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104169879A (zh) * 2012-04-24 2014-11-26 英特尔公司 用于有效功率管理的动态中断重新配置
CN104169879B (zh) * 2012-04-24 2019-01-04 英特尔公司 用于动态中断重新配置的方法和计算机系统
US10990407B2 (en) 2012-04-24 2021-04-27 Intel Corporation Dynamic interrupt reconfiguration for effective power management
CN109783196A (zh) * 2019-01-17 2019-05-21 新华三信息安全技术有限公司 一种虚拟机的迁移方法及装置
CN109783196B (zh) * 2019-01-17 2021-03-12 新华三信息安全技术有限公司 一种虚拟机的迁移方法及装置

Also Published As

Publication number Publication date
JP2010157234A (ja) 2010-07-15
CN101794238B (zh) 2014-07-02
US20100169673A1 (en) 2010-07-01
GB2466711A (en) 2010-07-07
DE102009060265A1 (de) 2011-02-03
GB0922600D0 (en) 2010-02-10

Similar Documents

Publication Publication Date Title
CN101794238B (zh) 重新映射引擎的有效利用
JP4255457B2 (ja) エラー処理方法
US9760455B2 (en) PCIe network system with fail-over capability and operation method thereof
CN103080918B (zh) 功率优化的中断传递
RU2431186C2 (ru) Воплощение качества обслуживания ресурсов платформы
US20190188024A1 (en) Virtual machine hot migration method and apparatus, and system
CN101819564B (zh) 协助在虚拟机之间进行通信的方法和装置
CN101689106B (zh) 多处理器控制装置、多处理器控制方法以及多处理器控制电路
CN102023932B (zh) 为本地与远程物理存储器之间的共享虚拟存储器提供硬件支持
CN100570563C (zh) 在具有动态逻辑分区的计算环境中管理计算机存储器
US6925421B2 (en) Method, system, and computer program product for estimating the number of consumers that place a load on an individual resource in a pool of physically distributed resources
CN1323362C (zh) 网络设备及其外围器件互连资源的分配方法
CN104917784A (zh) 一种数据迁移方法、装置及计算机系统
US8255577B2 (en) I/O forwarding technique for multi-interrupt capable devices
US8139595B2 (en) Packet transfer in a virtual partitioned environment
US7266631B2 (en) Isolation of input/output adapter traffic class/virtual channel and input/output ordering domains
CN104460938A (zh) 利用存储器高速缓存在系统范围内节省电力的方法和系统
CN101639814B (zh) 面向多核平台和网络化操作系统的输入输出系统及方法
CN100456250C (zh) 用于执行恢复的方法和系统
US20090037939A1 (en) Cell compatibilty in multiprocessor systems
JP5704176B2 (ja) プロセッサ処理方法、およびプロセッサシステム
CN1957334B (zh) 用于总线设备的隔离存储器机制
CN114691296A (zh) 中断处理方法、装置、介质及设备
CN106850749A (zh) 一种在线更新内核的方法及装置、电子设备
CN115733842A (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: 20140702

Termination date: 20191225

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