CN101290593B - 追踪转移逻辑分区的存储器状态的系统和方法 - Google Patents

追踪转移逻辑分区的存储器状态的系统和方法 Download PDF

Info

Publication number
CN101290593B
CN101290593B CN2008100911907A CN200810091190A CN101290593B CN 101290593 B CN101290593 B CN 101290593B CN 2008100911907 A CN2008100911907 A CN 2008100911907A CN 200810091190 A CN200810091190 A CN 200810091190A CN 101290593 B CN101290593 B CN 101290593B
Authority
CN
China
Prior art keywords
page
leaf
logical partition
state
subregion
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
CN2008100911907A
Other languages
English (en)
Other versions
CN101290593A (zh
Inventor
斯图尔特·Z·雅各布斯
威廉·J·阿姆斯特朗
迈克尔·J·克里根
戴维·A·拉森
内尔什·内亚
韦德·B·奥伦
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN101290593A publication Critical patent/CN101290593A/zh
Application granted granted Critical
Publication of CN101290593B publication Critical patent/CN101290593B/zh
Active 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/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • 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/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • G06F12/1036Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] for multiple virtual address spaces, e.g. segmentation
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

提供用于追踪转移逻辑分区的状态的装置、程序产品和方法。实施例可以使用该状态来确定用于传送的逻辑分区的页的准备和/或适合性。该状态可以包括用于追踪影响该页或转移该页的相对容易性和/或适合性的变化的值或其他数据。当逻辑分区在转移期间继续运行时,具有对应于逻辑分区的每页的状态的条目的页管理器表格可以被用于追踪该状态。

Description

追踪转移逻辑分区的存储器状态的系统和方法
技术领域
本发明涉及计算系统,并且更具体地,涉及管理计算机系统之间的逻辑分区转移(logical partition migration)。
背景技术
数据转移一般指将计算机数据从一个计算机位置转移到另一个的处理。例如,管理员可以通过将应用和/或存储从一个操作系统或计算机传送到另一个来帮助维护或更新。尽管有必要,但是数据转移可能对依赖于不间断的计算机访问的商业、政府机构和个人造成极大挑战和风险。经常出现软件安装问题。这种问题可能归因于处理环境中的不完善的程序代码或不可预见的交互。例如,在传送期间可能丢失或破坏所存储的数据。这种问题可能导致损失惨重的系统错误和当机时间(downtime)。
关于数据传送的问题可能混合在逻辑分区环境中,其中,唯一资源共享和访问实践可能带来另外的考虑。逻辑分区提供了适合于分配和共享计算资源的编程体系。分区可以逻辑地包括机器的物理处理器、存储器和其他资源的一部分。如此,管理员可以将相同的资源分配给不止一个分区。除了多个虚拟处理器之外,每个分区可以另外存有(host)操作系统。被称作管理程序(hypervisor)或分区管理器的底层程序将物理处理器分配和指派给每个虚拟处理器。每个分区典型地具有用于与网络通信的唯一连接。以这种方式,每个分区很大程度上如作为单独的计算机一样操作。
在转移期间,包括可应用存储器、处理器/寄存器状态信息和关于与虚拟分区组件关联的物理接口/盘的连接信息等在内的转移逻辑分区的状态被传送到另一计算机的另一逻辑分区。可以激发转移以在转移逻辑分区的计算机上容纳新的硬件或程序更新。时常,被转移的逻辑分区最终被返回到原始逻辑分区位置。
理想地,逻辑分区在新逻辑分区上不间断地,例如显然地连续工作。最后,在要与下面的物理硬件分离的转移期间,转移分区可以运行在虚拟化环境中。管理程序可以负责提供允许发生从源逻辑分区到目标逻辑分区的转移的基础结构。目标逻辑分区可以是为转移新创建的,其典型位于分离的、物理计算机上,并且被配置用于容纳所传送的逻辑分区的状态。
在逻辑分区正向另一服务器计算机转移的情况下,可能有必要说明或者保护影响转移逻辑分区的例如被存储的存储器的状态的存储操作或页条目(page entry)。一旦分区已经转移,所保存的这种条目的完整性对于该分区的适当操作可能是必要的。换另一种方式,应该在转移期间保护或维护对于转移分区的每页的状态/条目,以允许相对无缝地恢复被转移的分区的工作。由于此原因,分区页、例如存储器的部分的维护将不会需要计算机系统的明显的当机时间。
不能维持转移分区的状态可能导致在转移分区中的分区停歇或数据完整性的缺乏。由不成功的转移引起的任何这种问题可能导致商业和工时的损失。人为地追踪相当大量的存储器更新将会非常缓慢、乏味和复杂。在这种传送将另外改进系统性能的情况下,这些潜在问题可能进一步转化为对转移分区的阻碍。
因此需要在逻辑分区的环境中的转移数据和相关处理的改进方式。
发明内容
本发明提供了被配置用于通过自动追踪转移逻辑分区的页的状态来促进在逻辑分区的环境中的固件转移的装置、方法和程序产品。在本发明的一个方面中,处理使用具有对应于多个页状态的多个条目的表格来促进逻辑分区的转移。当逻辑分区转移时表格条目可以记录和维持各个页的状态。
根据本发明的一个方面,提供了一种管理将逻辑分区转移到另一逻辑分区的转移的方法,该方法包括当所述逻辑分区转移时自动追踪所述逻辑分区的页的状态,以及基于相对于所述逻辑分区的另一页的另一状态的所述页的状态来转移所述页。
根据本发明的另一方面,提供了一种管理将逻辑分区转移到另一逻辑分区的转移的装置,包括:用于当所述逻辑分区转移时自动追踪所述逻辑分区的页的状态的模块;以及用于基于相对于所述逻辑分区的另一页的另一状态的所述页的状态来转移所述页的模块。
在本发明的一个实施例中,页的状态包括指示在转移期间影响页的变化的量的数值。响应于允许存储操作的页的条目,可以提高或增加该数值。相反,响应于不允许存储操作的页的条目,可以减少该数值。
在本发明的另一方面中,页的状态可以被用于确定相比于另一页的状态的关于该页的潜在转移的相对复杂性程度。此外,页的状态可以被用于指示关于该页是否已经被转移、应该被转移或不应该转移的状态。该状态可以另外指示在一页的初始转移之后该页是否已经被变更。
如此,与本发明一致的实施例可以基于相对于逻辑分区的另一页的另一状态的该页的状态来转移该页。在这样配置的情况下,实施例可以采取行动来通过驱逐页条目、例如不允许存储操作来减少页状态,以便使状态接近用于转移的理想状态。
从附图和其描述,本发明的以上和其他目的和优点将变得明显。
附图说明
被并入并组成本说明述的一部分的附图图示了本发明的实施例,并与以上给出的本发明的概括描述和以下给出的实施例的详细描述一起用于说明本发明的原理。
图1是被配置用于以与本发明的原理一致的方式来追踪转移逻辑分区的状态的计算机系统的方框图。
图2是具有可由图1的系统所执行的用于指导图1的逻辑分区的转移的步骤的流程图。
图3是具有可由图1的系统所执行的用于在逻辑分区转移期间追踪对分区页存储器所做出的变化的步骤的流程图。
具体实施方式
本发明的特征包括用于追踪转移逻辑分区的页的状态的装置、程序产品和方法。实施例可以使用该状态来确定用于传送的逻辑分区的页的准备和/或适合性。该状态可以包括指示影响页或转移该页的相对容易性和/或适合性的变化的数量的值或其他数据。在转移期间逻辑分区继续运行的同时,具有对应于逻辑分区的每页的状态的条目的页管理器表格可以被用于追踪该状态。
当转移时,逻辑分区可以优势地在虚拟化环境中运行以与下面的物理硬件分离。管理程序可以负责提供允许发生从源逻辑分区到目标逻辑分区的转移的基础结构。目标逻辑分区可以是为转移而新创建的,具有被配置用于容纳所传送的逻辑分区的框架结构。
当在转移期间以虚拟化分区存储器模式来操作时,系统可以提供定向于类似于存储中断,ISI(指令存储中断)和DSI(数据存储中断)的管理程序。该特征可以允许管理程序响应页表格错失。因此实施例可以进一步允许管理程序追踪页条目到分区的存储器,并且在这样做时在分区的存储器中维持每页的状态。
由于分区以虚拟化分区存储器模式运行并引用存储器,因此可以将页条目添加到页表格。在一个实施例中,表格的页可以包括用于定位物理存储器的地址。由于引用了分区的存储器,因此处理器可以更新页条目的被引用的、变化的和标签设置的位。这些位一般可以分别指示页是否被使用、变更或处于不可变更的状态。
作为将正运行的分区从一个物理系统转移到不同的物理系统的部分,可能需要传送分区的全部状态。该状态可以包括被分配给分区的存储器的一些或全部。传送存储器的所有内容将需要完全停止正运行的分区。然而,该分区可能具有大量存储器,这可能要求分区停止且不可用长达不可接受的时间量。
为了避免停止正运行的分区达太长的时间段,需要在运行的同时传送分区的存储器的内容。然而,由于分区继续运行,因此分区的存储器的内容可能是一直变化的。这可能引起如何正确有效地将内容传送到目标系统的问题。为了有效进行,可能需要某种形式的追踪来确定(从最后将其传送到目标分区开始)何时页已经变更。
处理该问题的一种处理可以包括使用单一位来追踪分区的存储器的每页。该位可以指示从上次被传送到目标开始页内容是否已经变化。然而,该追踪技术可能不是相对有效的,这是因为可能没有容易的方式来再次确定每页变化的可能性(一旦其已经被变更和/或被转移)。例如,如果将页映射在页表格中,则很可能仍然可以通过直接的存储器访问操作的存储操作来进一步修改该页。没有在管理程序中构建任何智能,这种页很可能被传输很多次。不必要的发送可能增加转移的总时间。
与本发明一致的实施例可以通过使管理程序能够做出关于何时传送每页的有效决定来进一步处理这些问题。更具体地,本发明的方面可以提供管理程序可以使用来做出决定、比如何时将页传送到目标系统的另外的信息。为此,管理程序可以在页管理器表格中维持在分区的存储器中的每页的状态值,例如字节值。
当初始化分区的转移时,可以将每页的状态初始化为0x00以指示该页的内容可能需要传送到目标系统。由于分区引用了存储器,因此该状态可以被用于保持对于页的引用计数(reference count)的追踪。该引用计数可以是指示写访问的引用(页表格条目或转换(translation)控制条目)的数量。这些被计数的引用可以是可能由于转移分区或直接的存储器访问操作进行的存储而导致页变化的类型。
当页的内容被传送到目标系统时,可以将用于该页的状态设置为0xFF以指示源和目标现在包含确切的页副本。由于0xFF是具体值,因此可能需要覆盖所记录的引用的数量。例如,当引用的数量达到0xFD时,任何另外的引用都可能导致状态字节变化为0xFE,其被用于指示被永久地引用。该状态值可能在该状态中持续直到页内容可以被传送,例如当源分区不再运行时。
维持状态值可能涉及每次页被映射在页表格中时增加状态或引用计数。相反,每次页未被映射在页表格中时可以减少引用计数。如果将页的状态字节设置为0xFF并且当管理程序进行操作时发生页的存储,则状态可能变化为0x00以指示可能需要将该页转换到目标系统。不能投机地(speculatively)转移具有非零引用计数的页。
可能有可以被每页的状态所支持的由管理程序做出的各种决定。例如,在初始化分区的转移之后,但在分区的临时挂起(suspension)之前(这是将处理器状态和其他所需信息发送到目标系统的一个很短的时间段),管理程序可能投机地将分区的存储器的内容传送到目标系统。更具体地,管理程序可以使用每个分区存储器页的状态来确定要传送哪些页。没有(或具有很低的)引用计数的页可能是极好的候选者,这是因为它们不太可能变化(它们在页表格中没有任何条目)。
一旦分区已经恢复在目标系统上运行,可以进行对还没有从源传送的页的请求页面调度(demand paging)。管理程序可以使用每个分区存储器页的状态字节来识别高使用页(具有高引用计数并很可能导致在目标系统上的页错误的那些页)。当分区被临时挂起时,管理程序可以在目标系统上恢复分区之前传送这些高使用页,并且可能降低需要请求页面调度的页错误的数量。
在一个实施例中,管理程序可以后台扫描页表格并驱逐(evict)带有写访问的条目,例如不允许存储操作。管理程序可以使用每个分区存储器页的状态来识别当驱逐页表格条目时瞄准的页。例如,管理程序可以试图通过驱逐条目以便减小页的引用计数来降低带有低引用计数的页的引用计数。例如,如果驱逐页表格条目使得引用计数达到零,则可以投机地转移该页。
状态值本身还可以被用于指示关于分区存储器页的具体信息。其他具体值可以被用于指示例如需要在特定时间传送的页。以上机制可以在活动的分区转移期间为管理程序提供用于有力并有效地处理转移分区的存储器的内容的信息。
硬件和软件环境
更具体地转向附图,图1图示了被配置用于以与本发明的原理一致的方式来追踪转移逻辑分区的状态的数据处理系统10或装置。更具体地,系统10表示用于实现与本发明的实施例一致的逻辑分区的环境的主要软件组件和资源。
如此,图1包括特征为虚拟机器设计的计算体系结构,如由国际商业机器公司开发的。联网的装置/系统10包括可以在其各个服务器计算机31、32内在多个处理之间共享公共处理资源的多个分区41、42和44、45。每个计算机31、32可以依赖于具有一个或多个物理处理器12的单一计算机器或中央处理单元(CPU)。物理处理器12可以执行被配置用于模拟多个虚拟处理器13的软件。
分区41、42、44、45可以逻辑地包括如由管理员分配的系统的物理处理器12、存储器和其他资源的一部分。每个分区41、42、44、45典型地具有操作系统48、50、56、57,并且可以具有多个虚拟处理器13。以这种方式,每个分区41、42、44、45可以很大程度上像作为单独的计算机来操作。
如图1所示,在图1中与各个分区50、56、57、58关联地示出物理页表格52、53、54、55和高速缓存页表格58、59、61、63。然而,该关联不旨在暗示页表格、即物理页表格52、53、54、55和高速缓存页表格58、59、61、63是分区资源。例如,页表格可以实际上是管理程序46的资源。如此,图1所示的表格的布置意要更清楚地示出每个表格与各个分区的关联。虽然不以虚拟化分区存储器模式操作,但是高速缓存页表格58、59、61、63可以仅作为从分区41、42、44、45和处理器12接受条目的页表格而分别操作。物理页表格52、53、54、55相对地比高速缓存页表格58、59、61、63小,并且可以在逻辑分区41、42、44、45处于虚拟化分区存储器模式时从处理器12接收页条目。在页已经被映射在物理存储器中的情况下,处理器可以使用页表格来将程序的虚拟地址透明地转换为物理地址。
称作管理程序46的基本程序或分区管理器一般可以使用物理页表格52、53、54、55来更新高速缓存页表格58、59、61、63。管理程序46典型地负责将物理资源分配给每个分区41、42、44、45。例如,管理程序46可以从操作系统48、50、56、57截取对于资源的请求以全局地共享和分配资源。如果在每个服务器31、32内的分区41、42和44、45正在分别共享处理器12,则管理程序46在共享物理处理器12的分区41和42、44和45的虚拟处理器13之间分配物理处理器循环。
如图1所示,当在虚拟化分区存储器模式中时,SDR1寄存器14可以指向物理页表格52、53、54、55。SDR1寄存器14可以为处理器12提供物理页表格52的位置和大小。页管理器15、16可以由管理程序46使用来追踪转移期间逻辑分区页的变化。例如,页管理器15、16可以包括指示分区存储器的每页的状态的条目。
尽管在图1中示出物理页表格52、53、54、55、高速缓存页表格58、59、61、63和页管理器15、16被包括在逻辑分区41、42、44、45或管理程序46中,但是本领域技术人员将理解,这些特征的虚拟特性可以允许可以另外在图1的系统10内的其他位置上呈现物理页表格52、53、54、55、高速缓存页表格58、59、61、63和页管理器15、16。如所示,特征的相对位置一般意要表示物理页表格52、53、54、55、高速缓存页表格58、59、61、63和页管理器15、16关于逻辑分区41、42、44、45的其他组件的访问、控制和/或关联。
每个操作系统50、55、56、57以与非分区计算机的操作系统类似的方式来控制其各个逻辑分区41、42、44、45的主要操作。每个逻辑分区41、42、44、45可以在由逻辑存储器60表示的单独的存储器空间中执行。此外,可以在其联网的系统10的各个计算机31、32内静态和/或动态地为每个逻辑分区41、42、44、45分配可用资源的一部分。例如并如在此所述的,每个逻辑分区41、42、44、45可以共享一个或多个物理处理器12,以及在逻辑存储器60中使用的可用存储器空间的一部分。以这种方式,可以由不止一个逻辑分区利用给定的处理器。
管理程序46可以包括管理将虚拟处理器分派到分派列表上的物理处理器的调度程序51或准备队列47。准备队列47包括这样的存储器:该存储器包括具有正等待要被分派到物理处理器12上的工作的虚拟处理器的列表。除了处理器控制块49之外,图1所示的管理程序46还包括物理处理器12。处理器控制块49包括这样的存储器:该存储器包括等待对特定物理处理器12的访问的虚拟处理器的列表。
以本领域公知的方式将另外的资源、比如海量存储、备份存储、用户输入、网络连接等典型地分配到一个或多个逻辑分区。可以以多种方式、例如基于逐总线、或基于逐资源,为共享同一总线上的资源的多个逻辑分区分配资源。甚至可以一次将某些资源分配给多个逻辑分区。图1图示了例如三条逻辑总线62、64和66,其中总线62上有多个资源,包括被分配给分区的直接存取存储设备(DASD)68、控制面板70、磁带驱动72和光盘驱动74。另一方面,总线64可以具有基于逐资源分配的资源,例如具有被分配给逻辑分区42的局域网(LAN)适配器76、光盘驱动78和DASD 80,以及被分配给逻辑分区44的LAN适配器82和84。总线66可以表示例如被具体分配给逻辑分区44的总线,以便该总线上的所有资源例如DASD 86和88都被分配给相同的逻辑分区。
掌管器(orchestrator)程序85可以与转移分区通信以协调并另外促进转移,如以下将详细描述的。虽然图1中将掌管器程序85程序示为与系统30的一对服务器31和32联网,但是本领域技术人员应当认识到,其他掌管器程序也可以位于服务器计算机31、32内或系统30内的适合于一对管理转移分区之间的转移的其他位置。
将认识到,图1中的具体资源的图示实际上仅仅是示意性的,并且可替换地,可以将资源的任意组合和排列分配到任意逻辑分区。例如,本领域技术人员将认识到,在一些实施方式中,可以基于动态基础来分配资源以服务于其他逻辑分区的需要。此外,将认识到,还可以根据用于连接计算机与具体硬件设备的输入/输出处理器(IOP)来表示资源。
可以以多种方式、包括使用各种计算机软件应用、例程、组件、程序、对象、模块、数据结构等、下文中称作“计算机程序”、“工具”、“程序”或“程序代码”来实现图1所示的各种软件组件和资源。程序代码典型地包括在各种时期常驻于计算机中的各种存储器和存储设备中的、并且当由计算机中的一个或多个处理器读取并执行时致使计算机进行用于执行实施本发明的不同方面的步骤或要素所必须的步骤的一个或多个指令。
此外,虽然已经并在下文中将要在具有充分功能的计算机的背景中描述本发明,但是本领域技术人员将认识到,能够以各种形式将本发明的各种实施例作为程序产品而分发,并且无论用于实际实现分发的计算机可读介质的具体类型,本发明同样适用。计算机可读介质的例子包括但不限于其他中的诸如易失性和非易失性存储器设备、软盘和其他可转移盘、硬盘驱动、磁带、光盘(例如CD-ROM、DVD等)的有形的、可记录型介质,以及诸如数字和模拟通信链路的传输类型介质。
另外,可以基于在本发明的具体实施例中实现的应用来标识下文中所述的各种程序。然而,应当认识到,仅仅出于方便而使用以下的任何具体程序命名,因此不应将本发明限制于仅用于由这种命名所识别和/或暗示的特定应用中。
本领域技术人员将认识到,图1所示的示意性环境不意要限制本发明。尽管图1中没有示出,例如,本领域技术人员将认识到,其他分区可以被包括在其他实施例中,该其他分区包括:包括了管理程序46的部分在内的分区。该管理程序分区可以像传统分区41、42、44、45(和关联的操作系统)那样以多种方式运作,但是没有用于客户保护其免遭可能另外通过用户交互而产生的失败的用户接口。此外,虽然图1中示出了四个逻辑分区41、42、44、45,但是本领域技术人员将认识到,如需要可以实现更多或更少的分区。因此,不脱离本发明的范围,可以使用其他替换的硬件和/软件环境。
在转移期间追踪分区页的状态并促进转移的处理
与本发明一致的处理可以允许管理程序46标识容易转移的分区存储器页,例如,还没有变更或变更最少的那些页。在这样做时,管理程序46可以标识当分区未在运行或被挂起时的时间段之前的转移期间要被转移的存储器页。被挂起的时间段可以与当大概更复杂的那些剩余的存储器页应该最有效发生的时间一致。以这种方式,实施例可以减轻负担和传送全部存储器所需的时间。
图2是具有可由图1的系统执行的用于执行图1的逻辑分区42的转移的步骤的流程图90。一般在转移期间,转移逻辑分区42的状态被传送到新创建的逻辑分区44。理想地,转移分区42连续工作,而没有在新逻辑分区44和目标系统32上的中断。
更具体地转向流程图90,可以在块91开始转移处理。开始处理可以包括激发掌管器程序85与即将发生的转移涉及的一对逻辑分区42、44初始地通信。因此该掌管器程序85可以开始协调和促进转移。
同样,掌管器程序85可以在图2的块92开始目标分区44的创建。如在此所述,目标分区44典型地位于分离的、物理计算机32上,并且可以包括用于容纳被传送的逻辑分区42的状态的相对空的框架。在这样配置的情况下,目标逻辑分区44可以包括由系统10使用以确保在目标和源逻辑分区42、44之间的基本固件兼容性的数据。
可以在块93将存储器和其他状态信息、例如处理器、时钟和寄存器状态信息从源逻辑分区42传送到目标逻辑分区44。系统处理可以继续追踪可能在存储器的转移期间发生的状态信息的变化。
类似地,可以在块94将虚拟I/O数据从源逻辑分区42传送到目标逻辑分区44。虚拟I/O的例子可以包括从转移分区的虚拟组件到源系统31上的接口和例如盘的物理资源的连接。可以在块94传送这种连接信息,以便被转移的逻辑分区可以接近无缝地继续其工作。
当被转移的逻辑分区在源计算机31上是活动的时,分区42可能已经利用了为源计算机31上的分区42所保留的存储器和其他资源。然而,一旦分区已经转移,其不再需要这些资源。在图2的块95,掌管器程序85可以释放这些资源用于源计算机31上的其他应用。
图3是具有可由图1的系统10执行的用于追踪在逻辑分区转移期间对分区页做出的变化的步骤的流程图100。可以从源分区的管理程序46的观点出发采用流程图100的处理。如此,流程图100的处理可以具有图2的存储器传送和追踪处理中的应用。更具体地转向图3的块102,逻辑分区42可以切换到促进转移的存储器模式,即,虚拟分区存储器模式。
管理程序46可以在块104将被存储在状态页管理器表格15中的分区存储器的每页的状态、例如字节值初始化为0x00。该状态可以与准备要转移的页一致。
管理程序46可以在块106确定是否已经添加了写访问引用。写访问引用的例子可以包括页表格条目或转换控制条目。转换控制条目可以包括诸如典型地由一块硬件实现的到物理存储器的I/O映射,例如直接存储器访问。如果在块106是如此,则逻辑分区42可以在块108确定引用计数是否小于或等于0xFD。该条目可以对应于关于出于投机地传送该页的目的而有效考虑的页、管理员在此处已经确定有太多变化的预定计数,例如200引用计数。同样,该页可以是一旦转移被挂起就应该被管理程序传送的类型。如此可以在块110指定该页。
替换地,在引用计数小于或等于0xFD的情况下,则在块112可以将引用计数增加所引用的页的字节值。
如果在块106没有添加写访问,则管理程序46可以在块114确定是否已经发生了被移除的写访问引用。如果是,则管理程序46可以在块116确定引用计数是否小于或等于0xFD。响应于引用计数小于或等于0xFD,然后可以在块118减少页的状态/引用计数。
系统10可以在块120确定页状态是否等于0xFF,以及是否已经发生了管理程序存储。0xFF的状态可以指示已经转移、即已经传送了该页。管理程序存储的例子可以包括由分区做出的管理程序调用。这种情况将指示页已经被变更,尽管事实上其已经被转移。如此,可以在块122将分区的页状态设置回到0x00,其指示必须再次转移该页。该指定将确保将在转移中说明更新(管理程序调用)。也就是,将再次以反映管理程序存储的方式来转移该页(以及在目标分区44上的被更新的相应页)。
对于如在块124所确定的等于0x00的所有页状态,在块126管理程序46可以将页传送到目标分区44。然后在块128可以将该页设置为0xFF。
虽然已经通过各种实施例的描述阐述了本发明,并且虽然相当详细地描述了本发明。本申请的不是意要将所附权利要求的范围约束或以任何方式限制为如此详细。例如,另一实施例支持在同一计算机的逻辑分区间的转移。如此,对与本领域技术人员来说,其他的优点和修改将很容易出现。在其较宽方面本发明因此不限于所示和所述的特定细节,代表性的装置和方法以及示意性的例子。因此,不脱离本申请的一般发明思想,可以从这些细节做出变更。

Claims (17)

1.一种管理将逻辑分区转移到另一逻辑分区的转移的方法,该方法包括当所述逻辑分区转移时自动追踪所述逻辑分区的页的状态,以及基于相对于所述逻辑分区的另一页的另一状态的所述页的状态来转移所述页。
2.如权利要求1所述的方法,其中,追踪所述逻辑分区的页的状态还包括使用具有对应于多个页状态的多个条目的表格。
3.如权利要求1所述的方法,其中,追踪所述逻辑分区的页的状态还包括追踪指示影响所述页的变化的量的数值。
4.如权利要求3所述的方法,还包括响应于允许存储操作的页的条目来增加所述数值。
5.如权利要求3所述的方法,还包括响应于不允许存储操作的页的条目来减少所述数值。
6.如权利要求1所述的方法,还包括从所述逻辑分区的页的状态来确定相比于另一页的状态的关于所述页的潜在转移的相对复杂性程度。
7.如权利要求1所述的方法,还包括从所述逻辑分区的页的状态来确定关于以下的至少一个的状态:所述页是否已经被转移、所述页是否应该被转移和所述页是否不应该被转移。
8.如权利要求1所述的方法,还包括通过驱逐页条目来减少所述页的状态。
9.如权利要求1所述的方法,还包括从所述状态来确定在一页的初始转移之后该页已经被变更。
10.如权利要求1所述的方法,还包括进行所述逻辑分区转移。
11.一种管理将逻辑分区转移到另一逻辑分区的转移的装置,包括:
用于当所述逻辑分区转移时自动追踪所述逻辑分区的页的状态的模块;以及
用于基于相对于所述逻辑分区的另一页的另一状态的所述页的状态来转移所述页的模块。
12.如权利要求11所述的装置,其中用于当所述逻辑分区转移时自动追踪所述逻辑分区的页的状态的模块还使用具有对应于多个页状态的多个条目的表格。
13.如权利要求11所述的装置,其中用于当所述逻辑分区转移时自动追踪所述逻辑分区的页的状态的模块还追踪对所述页所做出的多个变化。
14.如权利要求11所述的装置,其中用于当所述逻辑分区转移时自动追踪所述逻辑分区的页的状态的模块还包括追踪指示影响所述页的变化的量的数值。
15.如权利要求14所述的装置,还包括用于响应于允许存储操作的页的条目来增加所述数值的模块。
16.如权利要求14所述的装置,还包括用于响应于不允许存储操作的页的条目来减少所述数值的模块。
17.如权利要求11所述的装置,还包括用于从所述状态来确定在一页的初始转移之后该页已经被变更的模块。
CN2008100911907A 2007-04-16 2008-04-09 追踪转移逻辑分区的存储器状态的系统和方法 Active CN101290593B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/735,809 US8019962B2 (en) 2007-04-16 2007-04-16 System and method for tracking the memory state of a migrating logical partition
US11/735,809 2007-04-16

Publications (2)

Publication Number Publication Date
CN101290593A CN101290593A (zh) 2008-10-22
CN101290593B true CN101290593B (zh) 2011-04-20

Family

ID=39854816

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008100911907A Active CN101290593B (zh) 2007-04-16 2008-04-09 追踪转移逻辑分区的存储器状态的系统和方法

Country Status (3)

Country Link
US (1) US8019962B2 (zh)
JP (1) JP5698432B2 (zh)
CN (1) CN101290593B (zh)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009069573A1 (ja) * 2007-11-26 2009-06-04 Nec Corporation 仮想計算機移行システム、仮想計算機移行方法および仮想計算機移行プログラム
JP4894745B2 (ja) * 2007-12-14 2012-03-14 富士通株式会社 仮想マシン移動制御方式
US8347307B2 (en) * 2008-03-12 2013-01-01 International Business Machines Corporation Method and system for cost avoidance in virtualized computing environments
US8166254B2 (en) * 2008-06-06 2012-04-24 International Business Machines Corporation Hypervisor page fault processing in a shared memory partition data processing system
US8732716B2 (en) * 2008-09-30 2014-05-20 International Business Machines Corporation Virtualization across physical partitions of a multi-core processor (MCP)
WO2010116402A1 (ja) * 2009-03-30 2010-10-14 富士通株式会社 情報処理装置
US8090911B2 (en) 2009-04-16 2012-01-03 International Business Machines Corporation Selecting a target number of pages for allocation to a partition
US8239609B2 (en) * 2009-10-23 2012-08-07 Sap Ag Leveraging memory similarity during live migrations
US8700752B2 (en) * 2009-11-03 2014-04-15 International Business Machines Corporation Optimized efficient LPAR capacity consolidation
US8370560B2 (en) * 2009-11-16 2013-02-05 International Business Machines Corporation Symmetric live migration of virtual machines
US20110125979A1 (en) * 2009-11-25 2011-05-26 International Business Machines Corporation Migrating Logical Partitions
US9886312B2 (en) 2011-09-28 2018-02-06 Microsoft Technology Licensing, Llc Dynamic provisioning of virtual video memory based on virtual video controller configuration
US10965742B2 (en) 2012-02-13 2021-03-30 SkyKick, Inc. Migration project automation, e.g., automated selling, planning, migration and configuration of email systems
CN103293734B (zh) 2012-08-27 2015-12-02 上海天马微电子有限公司 内嵌式触控显示装置
US8984240B2 (en) 2012-08-30 2015-03-17 International Business Machines Corporation Reducing page faults in host OS following a live partition mobility event
GB2506177A (en) 2012-09-25 2014-03-26 Ibm Method of migrating an operating system executing an application
US9459900B2 (en) * 2014-01-13 2016-10-04 Red Hat Israel, Ltd. Hypervisor-based balloon page initialization
US9542100B2 (en) 2014-09-02 2017-01-10 International Business Machines Corporation Management of memory pages
US9348655B1 (en) * 2014-11-18 2016-05-24 Red Hat Israel, Ltd. Migrating a VM in response to an access attempt by the VM to a shared memory page that has been migrated
US9912741B2 (en) 2015-01-20 2018-03-06 International Business Machines Corporation Optimization of computer system logical partition migrations in a multiple computer system environment
US10771452B2 (en) 2015-03-04 2020-09-08 SkyKick, Inc. Autonomous configuration of email clients during email server migration
US10592483B2 (en) 2015-04-05 2020-03-17 SkyKick, Inc. State record system for data migration
US10635307B2 (en) 2015-06-30 2020-04-28 International Business Machines Corporation Memory state indicator
US10884945B2 (en) 2015-06-30 2021-01-05 International Business Machines Corporation Memory state indicator check operations
US9720721B2 (en) 2015-07-01 2017-08-01 International Business Machines Corporation Protected guests in a hypervisor controlled system
US10817320B2 (en) 2015-12-11 2020-10-27 International Business Machines Corporation High resolution timer expiry in live partition migration
US11422851B2 (en) * 2019-04-22 2022-08-23 EMC IP Holding Company LLC Cloning running computer systems having logical partitions in a physical computing system enclosure
US11340938B2 (en) 2019-09-25 2022-05-24 International Business Machines Corporation Increasing the performance of cross the frame live updates

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005101181A2 (en) * 2004-04-12 2005-10-27 Network Appliance, Inc. System and method for supporting block-based protocols on a virtual storage appliance executing within a physical storage appliance
CN1723440A (zh) * 2003-03-13 2006-01-18 国际商业机器公司 在逻辑分区的计算机系统中控制资源转移的装置和方法
CN1759378A (zh) * 2003-03-13 2006-04-12 国际商业机器公司 用于在经过逻辑分区的计算机系统中控制资源转移的装置和方法
CN1892612A (zh) * 2005-06-28 2007-01-10 国际商业机器公司 集群可用性管理方法和系统

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5636373A (en) 1991-09-04 1997-06-03 International Business Machines Corporation System for synchronizing logical clock in logical partition of host processor with external time source by combining clock adjustment value with specific value of partition
US5440727A (en) * 1991-12-18 1995-08-08 International Business Machines Corporation Asynchronous replica management in shared nothing architectures
GB2271251B (en) * 1992-10-01 1996-08-14 Digital Equipment Int Timer synchronisation system
US6044447A (en) 1998-01-30 2000-03-28 International Business Machines Corporation Method and apparatus for communicating translation command information in a multithreaded environment
US6209106B1 (en) * 1998-09-30 2001-03-27 International Business Machines Corporation Method and apparatus for synchronizing selected logical partitions of a partitioned information handling system to an external time reference
JP4123621B2 (ja) * 1999-02-16 2008-07-23 株式会社日立製作所 主記憶共有型マルチプロセッサシステム及びその共有領域設定方法
US8949468B2 (en) * 2001-09-21 2015-02-03 International Business Machines Corporation Method and system for time synchronization among systems using parallel sysplex links
US7506023B2 (en) * 2002-06-13 2009-03-17 International Business Machines Corporation Apparatus, system and method of relating time set on one computer system to time set on another computer system
JP2004206257A (ja) 2002-12-24 2004-07-22 Hitachi Ltd メモリ管理装置,及びマイグレーション処理プログラムを記憶した記憶媒体
US7330488B2 (en) * 2004-12-17 2008-02-12 International Business Machines Corporation System, method, and article of manufacture for synchronizing time of day clocks on first and second computers
US7356725B2 (en) * 2005-09-09 2008-04-08 International Business Machines Corporation Method and apparatus for adjusting a time of day clock without adjusting the stepping rate of an oscillator
US7877358B2 (en) * 2006-11-21 2011-01-25 Microsoft Corporation Replacing system hardware
US7673113B2 (en) * 2006-12-29 2010-03-02 Intel Corporation Method for dynamic load balancing on partitioned systems
US8078827B2 (en) 2007-07-05 2011-12-13 International Business Machines Corporation Method and apparatus for caching of page translations for virtual machines

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1723440A (zh) * 2003-03-13 2006-01-18 国际商业机器公司 在逻辑分区的计算机系统中控制资源转移的装置和方法
CN1759378A (zh) * 2003-03-13 2006-04-12 国际商业机器公司 用于在经过逻辑分区的计算机系统中控制资源转移的装置和方法
WO2005101181A2 (en) * 2004-04-12 2005-10-27 Network Appliance, Inc. System and method for supporting block-based protocols on a virtual storage appliance executing within a physical storage appliance
CN1892612A (zh) * 2005-06-28 2007-01-10 国际商业机器公司 集群可用性管理方法和系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JP特开平-2004206221A 2004.07.22

Also Published As

Publication number Publication date
US20080256321A1 (en) 2008-10-16
JP2008269600A (ja) 2008-11-06
CN101290593A (zh) 2008-10-22
US8019962B2 (en) 2011-09-13
JP5698432B2 (ja) 2015-04-08

Similar Documents

Publication Publication Date Title
CN101290593B (zh) 追踪转移逻辑分区的存储器状态的系统和方法
US11627041B2 (en) Dynamic reconfiguration of resilient logical modules in a software defined server
US9671967B2 (en) Method and system for implementing a distributed operations log
CN101385009B (zh) 从源物理适配器向目的物理适配器迁移虚拟适配器的方法、装置和计算机可用程序代码
CN101410813B (zh) 在存储器迁移期间停止dma操作的计算机实现的方法、设备和计算机程序产品
CN100489787C (zh) 一种虚拟机的外存在线迁移方法
CN102365626B (zh) 用于虚拟机的虚拟非一致存储器体系结构
CN102460400B (zh) 基于管理程序的本地和远程虚拟内存页面管理
US20220174130A1 (en) Network attached memory using selective resource migration
CN102365625B (zh) 用于虚拟机的虚拟非一致存储器体系结构
JP6882662B2 (ja) マイグレーションプログラム、情報処理装置およびマイグレーション方法
EP3992790B1 (en) Information processing method, physical machine and pcie device
US20080256327A1 (en) System and Method for Maintaining Page Tables Used During a Logical Partition Migration
CN101243396B (zh) 用于在虚拟化环境中支持通用串行总线装置的方法和设备
CN104636181A (zh) 用于迁移虚拟机的方法和系统
CN103098043A (zh) 随需虚拟机映像流式传输
CN103282881A (zh) 通过虚拟化直接共享智能设备
CN101171572A (zh) 在具有动态逻辑分区的计算环境中管理计算机存储器
US20220229688A1 (en) Virtualized i/o
US20190146803A1 (en) Fast boot
US7650476B2 (en) System, method and computer program product for generating a consistent point in time copy of data
US9164909B1 (en) Method for the use of process identifiers to invalidate cached data in environments that allow processes to migrate between physical machines
JP2017033375A (ja) 並列計算システム、マイグレーション方法、及びマイグレーションプログラム
CN107480075B (zh) 低开销的转换后备缓冲器下拉
CN104077171A (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