CN104346240B - 用于在迁移操作期间利用多个存储器池的方法和装置 - Google Patents
用于在迁移操作期间利用多个存储器池的方法和装置 Download PDFInfo
- Publication number
- CN104346240B CN104346240B CN201410379937.4A CN201410379937A CN104346240B CN 104346240 B CN104346240 B CN 104346240B CN 201410379937 A CN201410379937 A CN 201410379937A CN 104346240 B CN104346240 B CN 104346240B
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- memory
- memory pool
- machine monitor
- logical partition
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种用于在迁移操作期间利用多个存储器池的方法和装置。提供了一种数据处理系统中用于利用多条路径执行逻辑分区迁移的机制。响应于虚拟机监视器发起逻辑迁移操作以将逻辑分区从源系统移动至目的地系统,该机制从移动者服务分区向虚拟机监视器分配多个存储器池和多个线程。该虚拟机监视器利用多个线程中的每一个将该多个存储器池中相对应的一个从源系统传输至目的地系统以实施逻辑分区迁移操作而执行逻辑分区迁移操作。
Description
技术领域
本发明总体上涉及有所改进的数据处理装置和方法,尤其涉及用于在迁移操作期间利用多个存储器池以提升性能并更好地利用系统资源的机制。
背景技术
动态分区迁移(LPM)是和服务器的特征其允许正在运行的逻辑分区(LPAR)从一个系统重新定位至另一系统。POWER6和POWER7是国际商业机器公司在美国和其它国家的商标。源和目标系统必须对相同网来进行访问,而存储域网络(SAN)则无需为相同类型。虽然可能使用多路径软件在移动的持续时间内针对虚拟适配器进行故障处理,但是有待重新定位的分区必须被完全虚拟化(即,没有专用的输入/输出(I/O)适配器)。
能够对任意大小的分区进行移动;实质上,存储器被异步地从一个系统复制到另一个系统而创建正在运行的分区的克隆,其具有在必要情况下被重复复制的“脏”页面。当达到阈值时(即,当高百分比的页面已被成功跨越复制时),分区被迁移至目标机器并且任何剩余页面被同时跨越复制。执行存储器复制的代理在每个机器上被命名为虚拟I/O服务器(VIOS)。为了跨多个服务器的负载平衡以及节能,LPM被用来避免计划服务器维护的中断。
发明内容
在一个说明性实施例中,提供了一种数据处理系统中的方法,其包括:响应于虚拟机监视器发起逻辑迁移操作以将逻辑分区从源系统移动至目的地系统,从移动者(mover)服务分区向虚拟机监视器分配多个存储器池和多个线程。该方法进一步包括:由虚拟机监视器执行逻辑分区迁移操作。该虚拟机监视器使用该多个线程中的每一个将该多个存储器池中相对应的一个从源系统传输至目的地系统以实施逻辑分区迁移操作。
在其它说明性实施例中,提供了一种计算机程序产品,其包括具有计算机可读程序的计算机可用或可读介质。当在计算设备上执行时,该计算机可读程序使得该计算设备执行以上关于方法说明性实施例所概述的各项操作及其组合。
在又另一个说明性实施例中,提供了一种系统/装置。该系统/装置可以包括一个或多个处理器以及耦合至该一个或多个处理器的存储器。该存储器可以包括指令,当被该一个或多个处理器所执行时,该指令使得该一个或多个处理器执行以上关于方法说明性实施例所概述的各项操作及其组合。
本发明的这些和其它特征将在随后对本发明的示例实施例的详细描述中进行描述,或者将在本领域技术人员考虑到上述描述时变得显而易见。
附图说明
通过在结合附图进行阅读时参考以下对说明性实施例的详细描述,将最佳地理解本发明及其优选使用模式以及另外的目标和优势,其中:
图1描绘了可以在其中实施说明性实施例的各方面的示例分布式数据处理系统的图形表示形式;
图2是可以在其中实施说明性实施例的各方面的示例数据处理系统的框图;
图3是图示依据一个实施例的利用单个存储器池进行分区迁移的框图;
图4是图示依据说明性实施例的利用多个存储器池和多线程分配进行分区迁移的框图;
图5是图示依据说明性实施例的利用多条路径进行分区迁移的框图;
图6是图示依据说明性实施例的利用多条路径执行分区迁移的源系统的操作的流程图;和
图7是图示依据说明性实施例的利用多条路径执行分区迁移的目的地系统的操作的流程图。
具体实施方式
说明性实施例提供了一种在迁移操作期间利用多个存储器池以提升性能并更好地利用系统资源的机制。动态分区迁移(LPM)提供了将正在运行的分区连同其操作系统(OS)和应用一起从一个物理服务器(即,计算机电子综合(CEC))移动至另一个而并不中断该分区的操作的能力。虚拟异步服务接口(VASI)虚拟机和虚拟I/O服务器(VIOS)分区上的移动者内核扩展提供了将分区状态从一个系统传输至另一个的功能。被配置为利用该功能的VIOS被认为是移动者服务分区(MSP)。
管理程序(PHYP)是了解包括客户端分区的存储器在内的客户端分区状态的瘦固件等级。管理程序一种数据处理系统的虚拟机监视器(VMM),其创建、运行并管理虚拟机(逻辑分区)。管理程序或VMM还执行分配至逻辑分区的资源的虚拟化并且执行用于运行和管理逻辑分区的其它功能。虽然这里所描述的示例实施例可以被称作PHYP或者更一般地被称作管理程序,但是本发明的各方面应用于任意形式的虚拟化组件或VMM。
在主动迁移期间,PHYP在每个迁移操作使用单个存储器池以将源系统上的客户端存储器发送至目的地系统,并且PHYP在每个迁移操作使用单个存储器池以在目的地系统上接收客户端存储器。这种往来于PHYP的发送和接收存储器缓冲器的处理当前是单线程的。所有缓冲器都必须以正确顺序每次一个地进行发送和接收。这种方法的缺陷在于,其并未充分利用系统资源和网络带宽。
说明性实施例为PHYP提供了将该处理划分为单独线程以提高迁移性能并更好地利用系统资源的机制,其中每个线程在不同存储器上进行操作。说明性实施例创建往来于PHYP的多条路径。通过去除PHYP按顺序发送存储器页面的要求,说明性实施例能够得以被建立以利用均连接至不同套接字(socket)的多个线程,由此创建在其自己的单独存储器池上进行操作的独立并行路径,因此显著提高LPM的性能。
说明性实施例的机制减少了动态迁移操作运行的时间量,并且这些机制提供了一种减少迁移操作所必须的VIOS资源数量的机制,其优势在于允许整体系统利用并且可能节约成本。说明性实施例的机制减少了移动操作对由VIOS服务的非迁移客户端的影响。
本发明的说明性实施例的以上方面和优势将在下文中参考附图进行更为详细地描述。应当意识到的是,附图仅意在说明本发明的示例性实施例。本发明可以包含所描绘的实施例并未在图中明确示出但是将本领域技术人员在考虑到这里对说明性实施例的描述时轻易变为显而易见的方面、实施例和修改。
如本领域技术人员将会意识到的,本发明的各方面可以被体现为系统、方法或计算机程序产品。因此,本发明的各方面可以采取全硬件实施例、全软件实施例(包括固件、驻留软件、微代码等)或将软件和硬件方面相结合的实施例的形式,它们全部在这里可以被统称为“电路”、“模块”或“系统”。此外,本发明的各方面可以采取在具有记录于其上的计算机可用程序代码的一个或多个计算机可读介质中所体现的计算机程序产品的形式。
可以利用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。计算机可读存储介质可以是电子、磁性、光学、电磁或半导体属性的系统、装置或设备,以上的任意组合或者其等同物。计算机可读存储介质的更为具体的示例(非穷举列举)将包括以下:具有存储能力的电子设备、便携式计算机碟片、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、基于光纤的设备、便携式紧致盘只读存储器(CDROM)、光学存储设备、磁性存储设备,或者以上的任意适当组合。在本文的上下文中,计算机可读存储介质可以是能够包含或存储程序以便例如由指令执行系统、装置或设备所使用或者结合其使用的任意有形介质。
在一些说明性实施例中,计算机可读介质是非瞬时计算机可读介质。非瞬时计算机可读介质并非是无实质信号或传播波形即单纯的信号或传播波形本身的任意介质。非瞬时计算机可读介质可以利用信号和传播波形,但并非信号或传播波形本身。因此,例如,以任意方式对信号加以利用以例如保持其状态的各种形式的存储器设备和其它类型的系统、设备或装置都可以被认为是处于本描述范围之内的计算机可读介质。
另一方面,计算机可读信号介质可以包括具有例如在基带中或者作为载波的一部分而记录于其中的计算机可读程序代码的传播数据信号。这样的传播信号可以采取任何的各种形式,包括但并不局限于电磁、光学或者其任意适当组合。计算机可读信号介质可以是并非计算机可读存储介质并且能够传输、传播或输送程序以便由指令执行系统、装置或设备使用或者结合它们使用的任意计算机可读介质。类似地,计算机可读存储介质是并非计算机可读信号介质的任意计算机可读介质。
记录在计算机可读介质上的程序代码可以使用任意适当介质进行传送,包括但并不局限于无线、有线、光纤线缆、射频(RF)等或者以上的任意适当组合。
用于执行本发明各方面的计算机程序代码可以以一种或多种编程语言的任意组合进行编写,包括诸如JavaTM、SmalltalkTM、C++等的面向对象编程语言或诸如“C”编程语言的常规过程编程语言或者类似的编程语言。程序代码可以完全在用户计算机上执行,作为独立软件包部分地在用户计算机上执行,部分地在用户计算机上执行而部分地在远程计算机上执行,或者完全在远程计算机上执行。在后者的情况下,远程计算机可以通过任意类型的网络连接至用户计算机,包括局域网(LAN)或广域网(WAN),或者可以形成到外部计算机的连接(例如,使用互联网服务提供商而通过互联网)。
以下参考根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图对本发明的各方面进行描述。将要理解的是,流程图和/或框图中的每个框以及流程图和/或框图中的框的组合能够由计算机程序指令来实施。这些计算机程序指令可以被提供至通用计算机、专用计算机或者其它可编程数据处理装置的处理器以产生机器,而使得经由计算机或其它可编程数据处理装置的处理器执行的指令创建用于实施流程图和/或框图中的一个或多个框中所指定的功能/操作的器件。
这些计算机程序指令还可以存储在计算机可读介质中,其能够指示计算机、其它可编程数据处理装置或其它设备以特定方式进行工作,而使得计算机可读介质中所存储的指令产生制品,其包括实施流程图和/或框图中的一个或多个框中所指定的功能/操作的指令。
计算机程序指令还可以被加载到计算机、其它可编程数据处理装置或其它设备上以使得一系列操作步骤得以在计算机、其它可编程装置或其它设备上执行而产生计算机实施的处理,从而使得在计算机或其它可编程装置上执行的指令提供用于实施流程图和/或框图中的一个或多个框中所指定的功能/操作的处理。
附图中的流程图和框图图示了根据本发明各个实施例的系统、方法和计算机程序产品的可能实施方式的架构、功能和操作。就此而言,流程图或框图中的每个框可以表示代码的模块、分段或部分,其包括用于实施所指定的(多种)逻辑功能的一个或多个可执行指令。还应当注意的是,在一些可替换实施方式中,框中所提到的功能可以以与不同与图中所提及的顺序来执行。例如,根据所涉及的功能,连续示出的两个框实际上可以基本上并行执行,或者这些框有时可以以相反顺序来执行。还将要注意到的是,框图和/或流程图图示中的每个框以及框图和/或流程图图示中的框的组合可以由执行所指定功能或操作的专用的基于硬件的系统来实施,或者由专用硬件和计算机指令的组合来实施。
因此,说明性实施例可以在许多不同类型的数据处理环境中得以被利用。为了提供说明性实施例的具体要素和功能的描述的背景,随后提供图1和2作为可以在其中实施说明性实施例的各个方面的示例环境。应当意识到的是,图1和2仅是示例而并非意在于在可以在其中实施本发明实施例或各方面的环境方面声明或暗示任何限制。可以针对所描绘环境进行许多修改而并不背离本发明的精神和范围。
图1描绘了可以在其中实施说明性实施例的各方面的示例分布式数据处理系统的图形表示形式。分布式数据处理系统100可以包括可以在其中实施说明性实施例的各方面的计算机的网络。分布式数据处理系统100包含至少一个网络102,其是用来在分布式数据处理系统100内连接在一起的各种设备和计算机之间提供通信链路的介质。网络102可以包括连接,诸如连线、无线通信链路或光纤线缆。
在所描绘的实施例中,服务器104和服务器106连同存储单元108一起连接至网络102。此外,客户端110、112和114也连接至网络102。这些客户端110、112和114例如可以是个人计算机、网络计算机等。在所描绘的示例中,服务器104向客户端110、112和114提供诸如引导文件、操作系统镜像和应用之类的数据。客户端110、112和114在所描绘示例中是指向服务器104的客户端。分布式数据处理系统可以包括另外的服务器、客户端以及没有示出的其它设备。
在所描绘的示例中,分布式数据处理系统100是互联网,其中网络102表示使用传输控制协议/互联网协议(TCP/IP)协议套接字以互相通信的网络和网关的全球性集合。在互联网的核心处是主要节点或主机计算机之间的高速数据通信线路的骨干,其由路由数据和消息的成千上万个商业、政府、教育和其它计算机系统所组成。显然,分布式数据处理系统100还可以被实施为包括多种不同类型的网络,例如企业内部网、局域网(LAN)、广域网(WAN)等。如以上所指出的,图1意在作为本发明不同实施例的示例而非其架构限制,因此图1所示的特定部件并不应当被视为在可以在其中实施本发明的说明性实施例的环境方面进行限制。
图2是可以在其中实施说明性实施例的各方面的示例数据处理系统的框图。数据处理系统200是诸如图1的客户端110的计算机的示例,实施本发明说明性实施例的处理的计算机可用代码或指令可以位于其中。
在所描绘的示例中,数据处理系统200采用集线器架构,其包括北桥和存储器控制器集线器(NB/MCH)202以及南桥和输入/输出(I/O)控制器集线器(SB/ICH)204。处理器单元206、主存储器208和图形处理器210连接至NB/MCH202。图形处理器210可以通过加速图形端口(AGP)连接至NB/MCH202。
在所描绘的示例中,局域网(LAN)适配器212连接至SB/ICH204。音频适配器216、键盘和鼠标适配器220、调制解调器222、只读存储器(ROM)224、硬盘驱动器(HDD)226、CD-ROM驱动器230、通用串行总线(USB)端口和其它通信端口232以及PCI/PCIe设备234通过总线238和总线240连接至SB/ICH204。PCI/PCIe设备例如可以包括以太网适配器、插卡以及用于笔记本计算机的PC卡。PCI使用卡总线控制器,而PCIe则并非如此。ROM224例如可以是闪存基本输入/输出系统(BIOS)。
HDD226和CD-ROM驱动器230通过总线240连接至SB/ICH204。HDD226和CD-ROM驱动器230例如可以使用集成驱动电子器件(IDE)或串行高级技术附件(SATA)接口。超级I/O(SIO)设备236可以连接至SB/ICH204。
操作系统在处理单元206上运行。操作系统协调并提供图2中的数据处理系统200内的各个组件的控制。作为客户端,操作系统可以是可商业获得的操作系统,诸如诸如JavaTM编程系统之类的面向对象编程系统可以结合操作系统运行并且从数据处理系统200上执行的JavaTM程序或应用向操作系统提供调用。
作为服务器,数据处理系统200例如可以是 计算机系统,其运行高级交互执行()操作系统或操作系统。数据处理系统200可以是对称多处理器(SMP)系统,其在处理单元206中包括多个处理器。可替换地,可以采用单处理器系统。
用于操作系统、面向对象编程系统以及应用或程序的指令位于诸如HDD226的存储设备上,并且可以被加载到主存储器208中以便由处理单元206所执行。例如,本发明的说明性实施例的处理可以由处理单元206使用计算机可用程序代码来执行,后者可以被加载到例如主存储器208、ROM224或者一个或多个外围设备226和230的存储器中。
诸如图2所示的总线238或总线240的总线系统可以由一个或多个总线所组成。显然,该总线系统可以使用在接合至构造(fabric)或架构的不同组件或设备之间提供数据传输的任意类型的通信构造或架构来实施。诸如图2的调制解调器222或网络适配器212的通信单元可以包括用来传送和接收数据的一个或多个设备。存储器可以是例如主存储器208、ROM224或者诸如在图2的NB/MCH202所找到的高速缓存。
本领域技术人员将会意识到,图1和2的硬件可以根据实施方式而有所变化。除了图1和2中所描绘的硬件之外或者作为其替代,可以使用诸如闪存、等同非易失性存储器或光盘驱动器等的其它内部硬件或外围设备。而且,说明性实施例的处理可以被应用于多处理器数据处理系统,而不是之前所提到的SMP系统,这并不背离本发明的精神和范围。
此外,数据处理系统200可以采取任意多种不同数据处理系统的形式,包括客户端计算设备、服务器计算设备、平板计算机、膝上计算机、电话或其它通信设备、个人数字助理(PDA)等。例如,在一些说明性示例中,数据处理系统200可以是便携式计算设备,其被配置有闪存以提供用于存储操作系统文件和/或用户所生成数据的非易失性存储器。实质上,数据处理系统200可以是任意已知或后续研发的数据处理系统而并没有架构限制。
图3是图示依据一个实施例的利用单个存储器池进行分区迁移的框图。离开的移动分区311正在从源系统310迁移至目的地系统320。在分区迁移操作中,虚拟机监视器(VMM)315提供支持以将离开的移动分区311的状态和存储器镜像从原系统310中的移动者服务分区(MSP)传输至目的地系统320中的MSP 321。VMM 325提供支持以使用目的地系统320中的MSP321接收到达的移动分区322的状态和存储器镜像。
MSP 312包括移动者/VASI设备驱动器313,并且MSP 321包括移动者/VASI设备驱动器323。移动者/VASI设备驱动器313向VMM315分配线程和存储器池,而移动者/VASI设备驱动器323向VMM325分配线程和存储器池以执行分区迁移操作。VMM315发送并追踪客户端分区的存储器并且潜在可能地在客户端分区在几乎所有迁移操作期间继续运行时重新发送脏页面。
客户端的存储器镜像可能非常大,特别是在运行数据库的客户端中。此外,由于当前采用LPM功能的速率,存在着朝向支持更高数量的并行迁移操作的持续推动力。然而,使用单个线程和单个存储器池发送和接收客户端存储器镜像的处理并未充分利用系统资源和网络带宽。
图4是图示依据说明性实施例的利用多个存储器池和多线程分配进行分区迁移的框图。离开的移动分区411正从源系统410迁移至目的地系统420。在分区迁移操作中,VMM415提供支持以将离开的移动分区411的状态和存储器镜像从源系统410中的移动者服务分区(MSP)412传输至目的地系统420中的MSP 422。VMM 425提供支持以使用目的地系统420中的MSP 422接收到达的移动分区421状态和存储器镜像。
MSP 412包括移动者/VASI设备驱动器413,而MSP 422包括移动者/VASI设备驱动器423。移动者/VASI设备驱动器413向VMM415分配线程和存储器池,而移动者/VASI设备驱动器423向VMM425分配线程和存储器池以执行分区迁移操作。VMM 415发送并追踪客户端分区的存储器并且潜在可能地在客户端分区在几乎所有迁移操作期间继续运行时重新发送脏页面。
依据该说明性实施例,MSP 412向VMM 415分配多个存储器池和多个线程,而MSP422向VMM 425分配多个存储器池和多个线程。VMM 415、425在用于单个迁移操作的每个MSP配对使用多个池和线程而使得离开的分区411的存储器能够在多个可用配对之间进行划分,因此潜在地以指数方式增加带宽。将存储器划分为多个池能够在不对诸如硬件管理控制台(HMC)(未示出)的LPM编制器(orchestrator)进行任何改变的情况下来实施,因为迁移操作的数据通过单个流标识符(ID)进行追踪。MSP412向VMM 415以及MSP 422向VMM 425所分配的每个线程都向其流添加子ID以便在MSP 412、422之间以及在VMM 415、425之间得以识别。HMC仅了解存在单个迁移而并不知道存在多个存储器池、线程或套接字(socket)。
图5是图示依据说明性实施例的利用多条路径进行分区迁移的框图。离开的移动分区(未示出)正从源系统510迁移至目的地系统520。在分区迁移操作中,VMM 515提供支持以将离开的移动分区511的状态和存储器镜像从源系统510中的移动者服务分区(MSP)传输至目的地系统520中的MSP 522。VMM 525提供支持以使用目的地系统520中的MSP 522接收到达的移动分区521状态和存储器镜像。
依据该说明性实施例,MSP 512向VMM 515分配多个存储器池531、532和多个线程541、542以便进行分区迁移操作。作为移动操作的一部分,MSP 522向VMM525分配多个存储器池561、562和多个线程551、552以便进行分区迁移操作。VMM 515将离开的移动分区511的存储器镜像划分为存储器池531、532。VMM 515将每个存储器池531、532分割为缓冲器。VMM515去除存储器池531、532之间的排序,但是保持每个存储器池531、532内的排序。在一个实施例中,VMM 515并不对存储器页面进行拆分,这导致存储器池531、532内的缓冲器被部分填充。
线程1 541经由套接字1 571将存储器池1 531的内容发送至目的地系统520上的MSP 522。与之并行地,线程2 542经由套接字2 572将存储器池2 532的内容发送至目的地系统520的MSP 522。套接字571、572将流ID用于分区迁移操作。线程1 541将子ID添加至套接字1 571,并且线程2542将不同的子ID添加至套接字2572。就涉及到硬件管理控制台(HMC)而言,存在一个利用单个流ID的分区迁移。
线程1 551经由套接字1571接收到达分区521的内容并且将该内容存储在存储器池1 561中。与之并行地,线程522经由套接字2 572接收到达分区521的内容并且将该内容存储在存储器池2 562中。每个存储器池561、562按顺序到达。VMM 525将存储器池1 561和存储器池2 562进行合并,保持离开分区511的存储器镜像的存储器页面的原有顺序,以形成到达分区521的存储器页面。
虽然在图5中所描绘的示例示出了两个存储器池和两个线程,但是根据可用的系统资源、所期望性能和其它考虑而可以使用任意数量的存储器池和线程。例如,当管理员预期大量分区迁移时,管理员可以向移动服务分区分配附加系统资源以便可用于分配给VMM进行分区迁移操作。为分区迁移分配附加系统资源减少了分区迁移操作所需的时间量,为到脏页面的移动分区留下更少的时间并且最终减少迁移操作所必需的VIOS(MSP)资源的数量。
图6是图示依据说明性实施例的利用多条路径执行分区迁移的源系统的操作的流程图。操作开始(框600),并且移动者服务分区(MSP)分配多个存储器池和多个线程以便由虚拟机管理器(VMM)用于分区迁移操作(框601)。VMM在多个存储器池之间对离开分区的存储器镜像进行划分(框602)。VMM将每个存储池分割为缓冲器。VMM去除存储器池之间的排序但是保持每个存储器池内的排序。在一个实施例中,VMM并不拆分存储器页面,使得存储器池内的缓冲器被部分填充。
VMM随后并行地使用多个流将存储器池的内容发送至目的地系统(框603)。每个线程经由个体套接字而将相对应存储器池的内容发送至目的地系统的MSP。套接字将流ID用于分区迁移操作。每个线程向其相对应的套接字添加唯一的子ID。就涉及到硬件管理控制台(HMC)而言,存在有一个利用单个流ID进行的分区迁移。随后,操作结束(框604)。
图7是图示依据说明性实施例的利用多条路径执行分区迁移的目的地系统的操作的流程图。操作开始(框700),并且MSP分配多个存储器池和多个线程以便由VMM用于分区迁移(框701)。VMM经由多个线程从源系统并行接收多个流(框702)。
VMM按顺序接收每个流并且将内容存储到多个存储器池中(框703)。每个线程经由个体套接字接收相对应的流并且将内容存储在相对应的存储器池中。随后,VMM将多个存储器池进行合并以形成到达分区的存储器镜像(框704)。随后,操作结束(框705)。
如以上所提到的,应当意识到的是,说明性实施例可以采取全硬件实施例、全软件实施例或包含软件和硬件二者的实施例的形式。在一个示例实施例中,说明性实施例的机制以软件或程序代码来实施,其包括但并不局限于固件、驻留软件、微代码等。
适用于存储和/或执行程序代码的数据处理系统将包括至少一个处理器,其通过系统总线直接或间接耦合至存储器部件。该存储器部件可以包括在程序代码的实际执行期间所采用的本地存储器、分块存储,以及提供至少一些程序代码的临时存储以便减少在执行期间必须从分块存储获取代码的次数的高速缓存存储器。
输入/输出或I/O设备(包括但并不局限于键盘、显示器、指示设备等)能够直接或者通过中间I/O控制器耦合至系统。网络适配器也可以耦合至系统而使得数据处理系统能够变为通过中间的私有或公众网络而耦合至其它数据处理系统或远程打印机或存储设备。调制解调器、有线调制解调器和以太网卡仅是几种当前可用的网络适配器类型。
已经出于说明和描述的目的给出了本发明的描述,并且其并非意在是穷举的或者将本发明限制为所公开的形式。许多修改和变化对于本领域技术人员将是显而易见的。实施例被选择并描述以便遍对本发明的原理、实际应用进行最佳解释,并且使得本领域技术人员能够理解适用于所预期的特定用途的具有各种修改的各个实施例的本发明。
Claims (16)
1.一种数据处理系统中的用于处理迁移的方法,包括:
响应于虚拟机监视器发起逻辑分区迁移操作以将逻辑分区从源系统移动至目的地系统,从移动者服务分区向所述虚拟机监视器分配多个存储器池和多个线程;并且
由虚拟机监视器执行所述逻辑分区迁移操作,其中所述虚拟机监视器使用所述多个线程中的每一个将所述多个存储器池中相对应的一个存储器池从所述源系统传输至所述目的地系统以实施所述逻辑分区迁移操作。
2.根据权利要求1所述的方法,其中所述虚拟机监视器在所述源系统中执行,其中执行所述逻辑分区迁移操作包括在所述多个存储器池之间对所述逻辑分区的存储器镜像进行拆分。
3.根据权利要求2所述的方法,其中所述虚拟机监视器将每个存储器池分割为多个缓冲器并且按顺序将整个存储器页面分配给所述多个缓冲器。
4.根据权利要求2所述的方法,其中所述虚拟机监视器按顺序传输每个存储器池。
5.根据权利要求2所述的方法,其中所述虚拟机监视器并行传输所述多个存储器池。
6.根据权利要求2所述的方法,其中所述多个线程中的每一个经由相应套接字传输所述多个存储器池中相对应的一个存储器池,其中所述逻辑分区迁移操作与流标识符相关联,其中所述多个线程中的每一个添加子标识符,并且其中每个相应套接字与所述流标识符和相对应的子标识符相关联。
7.根据权利要求1所述的方法,其中所述虚拟机监视器在所述目的地系统中执行,所述方法进一步包括将所述多个存储器池进行组合以在所述目的地系统形成所述逻辑分区的存储器镜像。
8.根据权利要求7所述的方法,其中所述多个线程中的每一个经由相应套接字接收流并且将所述流存储在所述多个存储器池中相对应的一个存储器池中。
9.根据权利要求8所述的方法,其中所述逻辑分区迁移操作与流标识符相关联,并且其中每个相应套接字与所述流标识符和相对应的子标识符相关联。
10.根据权利要求8所述的方法,其中所述多个线程并行接收并存储所述多个存储器池。
11.一种用于处理迁移的装置,包括:
处理器;和
耦合至所述处理器的存储器,其中所述存储器包括指令,当被所述处理器执行时,所述指令使得所述处理器:
响应于虚拟机监视器发起逻辑迁移操作以将逻辑分区从源系统移动至目的地系统,从移动者服务分区向所述虚拟机监视器分配多个存储器池和多个线程;并且
由所述虚拟机监视器执行所述逻辑分区迁移操作,其中所述虚拟机监视器使用所述多个线程中的每一个以将所述多个存储器池中相对应的一个存储器池从所述源系统传输至所述目的地系统以实施所述逻辑分区迁移操作。
12.根据权利要求11所述的装置,其中所述虚拟机监视器在所述源系统中执行,其中执行所述逻辑分区迁移操作包括在所述多个存储器池之间对所述逻辑分区的存储器镜像进行拆分。
13.根据权利要求12所述的装置,其中所述虚拟机监视器按顺序传输每个存储器池,并且其中所述虚拟机监视器并行传输所述多个存储器池。
14.根据权利要求12所述的装置,其中所述多个线程中的每一个经由相应套接字传输所述多个存储器池中相对应的一个存储器池,其中所述逻辑分区迁移操作与流标识符相关联,其中所述多个线程中的每一个添加子标识符,并且其中每个相应套接字与所述流标识符和相对应的子标识符相关联。
15.根据权利要求11所述的装置,其中所述虚拟机监视器在所述目的地系统中执行,所述指令使得所述处理器将所述多个存储器池进行组合以在所述目的地系统形成所述逻辑分区的存储器镜像。
16.根据权利要求15所述的装置,其中所述多个线程中的每一个经由相应套接字接收流并且将所述流存储在所述多个存储器池中相对应的一个存储器池,其中所述逻辑分区迁移操作与流标识符相关联,其中每个相应套接字与所述流标识符和相对应的子标识符相关联,并且其中所述多个线程并行接收并存储所述多个存储器池。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/959,134 US9274853B2 (en) | 2013-08-05 | 2013-08-05 | Utilizing multiple memory pools during mobility operations |
US13/959,134 | 2013-08-05 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104346240A CN104346240A (zh) | 2015-02-11 |
CN104346240B true CN104346240B (zh) | 2018-03-30 |
Family
ID=52428918
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410379937.4A Active CN104346240B (zh) | 2013-08-05 | 2014-08-04 | 用于在迁移操作期间利用多个存储器池的方法和装置 |
Country Status (2)
Country | Link |
---|---|
US (2) | US9274853B2 (zh) |
CN (1) | CN104346240B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9280371B2 (en) | 2013-07-10 | 2016-03-08 | International Business Machines Corporation | Utilizing client resources during mobility operations |
US9274853B2 (en) * | 2013-08-05 | 2016-03-01 | International Business Machines Corporation | Utilizing multiple memory pools during mobility operations |
US9563481B2 (en) * | 2013-08-06 | 2017-02-07 | International Business Machines Corporation | Performing a logical partition migration utilizing plural mover service partition pairs |
US9792057B1 (en) * | 2014-09-23 | 2017-10-17 | Primaryio, Inc. | Data caching system and method for hypervisor-based computer systems |
US9563475B2 (en) | 2014-09-30 | 2017-02-07 | International Business Machines Corporation | Merging connection pools to form a logical pool of connections during a preset period of time thereby more efficiently utilizing connections in connection pools |
US10079729B2 (en) | 2015-06-29 | 2018-09-18 | International Business Machines Corporation | Adaptive storage-aware multipath management |
US9336042B1 (en) * | 2015-11-19 | 2016-05-10 | International Business Machines Corporation | Performing virtual machine live migration within a threshold time by adding available network path in multipath network |
US9928112B2 (en) * | 2015-11-24 | 2018-03-27 | International Business Machines Corporation | Configuration of floating node boundaries |
US9983917B2 (en) | 2015-11-30 | 2018-05-29 | International Business Machines Corporation | Monitoring and responding to operational conditions of a logical partition from a separate logical partition |
CN105718507A (zh) * | 2016-01-06 | 2016-06-29 | 杭州数梦工场科技有限公司 | 一种数据迁移方法和装置 |
US10606487B2 (en) | 2017-03-17 | 2020-03-31 | International Business Machines Corporation | Partitioned memory with locally aggregated copy pools |
US11086686B2 (en) * | 2018-09-28 | 2021-08-10 | International Business Machines Corporation | Dynamic logical partition provisioning |
US11425183B2 (en) * | 2019-06-07 | 2022-08-23 | Eaton Intelligent Power Limited | Multi-threaded data transfer to multiple remote devices using wireless hart protocol |
CN112764992B (zh) * | 2021-01-20 | 2024-04-12 | 网银在线(北京)科技有限公司 | 线程池的监控方法、装置及设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1536845A (zh) * | 2003-03-26 | 2004-10-13 | ���ֿ˰뵼������˾ | 分组缓存管理 |
CN1645294A (zh) * | 2004-01-22 | 2005-07-27 | 国际商业机器公司 | 在逻辑分区的数据处理系统中降低功耗的方法和装置 |
CN101290595A (zh) * | 2007-04-17 | 2008-10-22 | 国际商业机器公司 | 在异步环境下探查系统管理程序任务的系统和方法 |
CN103189846A (zh) * | 2010-11-02 | 2013-07-03 | 国际商业机器公司 | 计算环境的数据网络的管理 |
Family Cites Families (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4291664B2 (ja) * | 2003-10-14 | 2009-07-08 | 株式会社日立製作所 | 通信バッファ予約機能を備えるストレージ装置およびシステム |
JP2005122640A (ja) * | 2003-10-20 | 2005-05-12 | Hitachi Ltd | サーバシステム及びi/oスロット共有方法。 |
US20060206891A1 (en) | 2005-03-10 | 2006-09-14 | International Business Machines Corporation | System and method of maintaining strict hardware affinity in a virtualized logical partitioned (LPAR) multiprocessor system while allowing one processor to donate excess processor cycles to other partitions when warranted |
US20070067488A1 (en) * | 2005-09-16 | 2007-03-22 | Ebay Inc. | System and method for transferring data |
US7478272B2 (en) | 2005-09-30 | 2009-01-13 | International Business Machines Corporation | Replacing a failing physical processor |
US20080222700A1 (en) * | 2007-03-07 | 2008-09-11 | Itzhack Goldberg | Challenge/Response in a Multiple Operating System Environment |
US7882326B2 (en) | 2007-03-23 | 2011-02-01 | International Business Machines Corporation | Live migration of a logical partition |
US7941414B2 (en) * | 2007-03-28 | 2011-05-10 | Microsoft Corporation | Executing non-blocking parallel scans |
US20080256530A1 (en) * | 2007-04-16 | 2008-10-16 | William Joseph Armstrong | System and Method for Determining Firmware Compatibility for Migrating Logical Partitions |
US7849347B2 (en) * | 2007-04-16 | 2010-12-07 | International Business Machines Corporation | System and method for updating a time-related state of a migrating logical partition |
US7756888B2 (en) | 2007-07-03 | 2010-07-13 | Oracle America, Inc. | Method and apparatus for providing heterogeneous resources for client systems |
US8185907B2 (en) | 2007-08-20 | 2012-05-22 | International Business Machines Corporation | Method and system for assigning logical partitions to multiple shared processor pools |
US7984262B2 (en) | 2008-01-16 | 2011-07-19 | International Business Machines Corporation | Data transmission for partition migration |
US8302102B2 (en) | 2008-02-27 | 2012-10-30 | International Business Machines Corporation | System utilization through dedicated uncapped partitions |
US8407515B2 (en) * | 2008-05-06 | 2013-03-26 | International Business Machines Corporation | Partition transparent memory error handling in a logically partitioned computer system with mirrored memory |
US8312230B2 (en) * | 2008-06-06 | 2012-11-13 | International Business Machines Corporation | Dynamic control of partition memory affinity in a shared memory partition data processing system |
US8352940B2 (en) * | 2008-06-09 | 2013-01-08 | International Business Machines Corporation | Virtual cluster proxy to virtual I/O server manager interface |
US7844757B2 (en) | 2008-06-12 | 2010-11-30 | International Machines Business Corporation | Method and system for providing multiple paths to user data stored on a SCSI disk |
US8260925B2 (en) * | 2008-11-07 | 2012-09-04 | International Business Machines Corporation | Finding workable virtual I/O mappings for HMC mobile partitions |
US8201167B2 (en) * | 2008-11-12 | 2012-06-12 | International Business Machines Corporation | On-demand allocation of virtual asynchronous services interfaces |
US8862538B2 (en) * | 2008-12-18 | 2014-10-14 | International Business Machines Corporation | Maintaining a network connection of a workload during transfer |
US8265079B2 (en) * | 2009-01-19 | 2012-09-11 | International Business Machines Corporation | Discriminatory MTU fragmentation in a logical partition |
US8307367B2 (en) * | 2009-03-05 | 2012-11-06 | International Business Machines Corporation | Smart scheduling of automatic partition migration by the use of timers |
US9454405B2 (en) | 2009-03-30 | 2016-09-27 | International Business Machines Corporation | Paging partition arbitration of paging devices to shared memory partitions |
US20110125979A1 (en) | 2009-11-25 | 2011-05-26 | International Business Machines Corporation | Migrating Logical Partitions |
US8677004B2 (en) * | 2010-09-10 | 2014-03-18 | International Business Machines Corporation | Migration of logical partitions between two devices |
US8959323B2 (en) | 2010-10-27 | 2015-02-17 | International Business Machines Corporation | Remote restarting client logical partition on a target virtual input/output server using hibernation data in a cluster aware data processing system |
US8521703B2 (en) | 2010-11-05 | 2013-08-27 | International Business Machines Corporation | Multiple node/virtual input/output (I/O) server (VIOS) failure recovery in clustered partition mobility |
US9619378B2 (en) * | 2013-06-14 | 2017-04-11 | Globalfoundries Inc. | Dynamically optimizing memory allocation across virtual machines |
US9274853B2 (en) * | 2013-08-05 | 2016-03-01 | International Business Machines Corporation | Utilizing multiple memory pools during mobility operations |
US9563481B2 (en) * | 2013-08-06 | 2017-02-07 | International Business Machines Corporation | Performing a logical partition migration utilizing plural mover service partition pairs |
-
2013
- 2013-08-05 US US13/959,134 patent/US9274853B2/en not_active Expired - Fee Related
- 2013-09-27 US US14/039,172 patent/US9286132B2/en not_active Expired - Fee Related
-
2014
- 2014-08-04 CN CN201410379937.4A patent/CN104346240B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1536845A (zh) * | 2003-03-26 | 2004-10-13 | ���ֿ˰뵼������˾ | 分组缓存管理 |
CN1645294A (zh) * | 2004-01-22 | 2005-07-27 | 国际商业机器公司 | 在逻辑分区的数据处理系统中降低功耗的方法和装置 |
CN101290595A (zh) * | 2007-04-17 | 2008-10-22 | 国际商业机器公司 | 在异步环境下探查系统管理程序任务的系统和方法 |
CN103189846A (zh) * | 2010-11-02 | 2013-07-03 | 国际商业机器公司 | 计算环境的数据网络的管理 |
Also Published As
Publication number | Publication date |
---|---|
US9274853B2 (en) | 2016-03-01 |
US20150040128A1 (en) | 2015-02-05 |
US20150040126A1 (en) | 2015-02-05 |
CN104346240A (zh) | 2015-02-11 |
US9286132B2 (en) | 2016-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104346240B (zh) | 用于在迁移操作期间利用多个存储器池的方法和装置 | |
CN104281468B (zh) | 分布式虚拟机图像管理的方法和系统 | |
CN103916455B (zh) | 用于数据复制的方法和系统 | |
US20190378016A1 (en) | Distributed computing architecture for large model deep learning | |
CN105359100B (zh) | 在移动性操作期间利用客户端资源 | |
CN103856480B (zh) | 虚拟机迁移中的用户数据报协议分组迁移方法和装置 | |
CN104040515B (zh) | 在逻辑驱动器模型下呈现直接存取的存储设备 | |
US8862538B2 (en) | Maintaining a network connection of a workload during transfer | |
US10169238B2 (en) | Memory access for exactly-once messaging | |
CN104252320B (zh) | 在网络附接存储中提供协议服务的方法、系统及设备 | |
CN103927216B (zh) | 用于管理虚拟装置的方法和系统 | |
CN103763173A (zh) | 数据传输方法和计算节点 | |
US20150088816A1 (en) | Cost reduction for servicing a client through excess network performance | |
CN103562895B (zh) | 通过选择性聚合相邻数据单元来便于路由 | |
US10936361B2 (en) | Cloud and datacenter migration wave planning using analytics and flow modeling | |
US11093362B2 (en) | Packet flow tracing in a parallel processor complex | |
CN103229172A (zh) | 复制数据 | |
CN104133718A (zh) | 带宽高效的虚拟机映像传送的方法和系统 | |
CN103294556A (zh) | 用于主机系统准入控制的方法和系统 | |
CN105847231A (zh) | 服务发布方法、装置及系统 | |
CN104951238A (zh) | 用于在分布式虚拟环境中管理数据存储的方法和装置 | |
US11334446B2 (en) | Backup system for an overlay network | |
CN115552418A (zh) | 使用分类错误率来注释未标记数据 | |
WO2017113895A1 (zh) | 一种创建虚拟机的方法及装置 | |
US11010248B2 (en) | Reuse of resources in a storage controller for executing write commands over a plurality of interfaces |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |