履行硬件线程的硬件权利的方法和系统的制作方法

文档序号:8412318阅读:209来源:国知局
履行硬件线程的硬件权利的方法和系统的制作方法
【技术领域】
[0001]本发明一般地涉及计算机虚拟化领域。更具体地说,本发明涉及硬件线程权利(entitlement)。
【背景技术】
[0002]系统虚拟化通过单个物理系统创建多个虚拟系统。该物理系统可以是独立的计算机,或者可以是利用计算机和组件集群的计算系统。虚拟系统是独立的操作环境,其使用由处理器、存储器和输入/输出(I/o)适配器之类的物理资源的逻辑分类构成的虚拟资源。系统虚拟化一般通过系统管理程序(hypervisor)技术实现。系统管理程序也称为虚拟机管理器,它使用薄层软件或固件代码实现细粒度动态资源共享。
[0003]系统管理程序提供将物理系统资源分为隔离的逻辑分区(也称为LPAR)的能力。每个LPAR像独立的系统那样操作,运行自己的操作环境(即,虚拟系统)。系统管理程序可将专用的处理器、I/O适配器和存储器分配给每个LPAR。系统管理程序也可将共享的处理器分配给每个LPAR。更具体地说,系统管理程序通过物理处理器创建虚拟处理器,这样,LPAR便可在运行独立操作环境的同时共享物理处理器。
[0004]尽管每个LPAR充当独立的服务器,但是物理服务器上的LPAR可彼此共享资源。系统管理程序在许多LPAR之间共享资源的能力允许通过将服务器资源转移到所需位置来提高资源利用率。
[0005]处理器是执行可编程指令的设备。处理器核由用于执行可编程指令的组件构成:浮点单元、定点单元、分支单元、加载/存储单元、内部高速缓冲存储器、关联的管线、通用寄存器(GPR)、专用寄存器(SPR)和浮点寄存器(FPR)。在现代超标量处理器中,为了提高执行单元的利用率,从而增加处理器的工作吞吐量,以分时使用的方式在多个硬件线程之间共享执行单元,从而对于执行软件而言,就像处理器专用于它自己一样。为此,复制诸如GPR、FPR、SPR之类的某些重要处理器资源以创建“硬件线程”的概念,有时也称为“中央处理单元(CPU)线程”。在某种意义上,LPAR由多个软件进程构成,其中软件进程由多个软件线程构成,其中每个软件线程可在硬件线程上执行。
[0006]分配给LPAR的处理器越多,LPAR在任何给定时间可运行的并发操作数就越大。专用处理器是被分配给单个分区的物理处理器。相反,共享处理器是其处理能力在多个LPAR之间共享的处理器。
[0007]同时多线程是单个物理处理器同时调度来自一个以上硬件线程的指令的能力。由于每个物理处理器具有两个或更多硬件线程,因此附加的指令可同时运行。
[0008]上下文切换是这样的过程:将一个程序换出中央处理单元(CPU)并使用另一进程的指令取代它。上下文切换是计算机的操作系统同时处理不同程序的方式。使用上下文切换,一个程序执行一段时间,然后保存程序执行状态(例如寄存器值)的副本,恢复下一程序的执行状态以在处理器上执行。上下文切换可称为“寄存器上下文切换”或“帧切换”或“线程上下文切换”。

【发明内容】

[0009]本发明的实施例的方面公开了一种调度计算机指令的执行的方法、计算机程序产品和计算系统。所述方法包括接收计算机系统上逻辑分区的权利处理器资源百分比。所述方法进一步包括将所述逻辑分区与所述计算机系统的处理器的硬件线程进行关联。所述方法进一步包括将所述逻辑分区的所述权利处理器资源百分比存储在与所述逻辑分区关联的硬件线程的寄存器中。所述方法进一步包括从所述计算机系统的所述逻辑分区接收指令以及所述处理器基于存储在与所述逻辑分区关联的硬件线程的寄存器中的权利处理器资源百分比调度所述指令。
【附图说明】
[0010]图1是根据本发明的一个实施例的计算机基础架构的图表。
[0011]图2示出LPAR、SPR和硬件线程之间的关系。
[0012]图3示出根据本发明的一个实施例由指令调度单元控制的硬件处理器的操作。
[0013]图4是示出根据本发明的一个实施例的任意权利能力(arbitrary entitlementcapacity)程序的步骤的流程图。
[0014]图5是示出根据本发明的一个实施例的硬件处理器管理程序的步骤的流程图。
[0015]图6示出根据本发明的一个实施例的图1的计算机组件的框图。
【具体实施方式】
[0016]所属技术领域的技术人员知道,本发明的各方面可以实现为系统、方法或计算机程序产品。因此,本发明的各方面可以具体实现为以下形式,即,完全的硬件实施方式、完全的软件实施方式(包括固件、驻留软件、微代码等)、或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。此外,在一些实施例中,本发明的各方面还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码/指令。
[0017]可以采用计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是一但不限于一电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPR0M或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0018]计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0019]计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括一但不限于一无线、有线、光缆、RF等等,或者上述的任意合适的组合。
[0020]可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言一诸如Java、Smalltalk、C++等,还包括常规的过程式程序设计语言一诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络一包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0021]下面将参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些计算机程序指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。
[0022]也可以把这些计算机程序指令存储在计算机可读介质中,这些指令使得计算机、其它可编程数据处理装置、或其他设备以特定方式工作,从而,存储在计算机可读介质中的指令就产生出包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的指令的制造品(article of manufacture)。
[0023]也可以把计算机程序指令加载到计算机、其它可编程数据处理装置或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而在计算机或其它可编程装置上执行的指令提供实现流程图和/或框图中的一个或多个方框中规定的功能/动作的过程。
[0024]现在参考附图详细地描述本发明。下面的图提供一个实施例的说明。无论部分地还是整体地使用,该实施例都不暗示对其中可实现不同实施例的环境的任何限制。
[0025]图1是根据本发明的一个实施例的计算机基础架构100的图。计算机基础架构100包括:中央电子复合体(CEC) 102、系统管理程序105、LPAR IlOa到LPAR 110d、需求百分比(REQ) % Illa到REQ% llld、处理器资源120、硬件处理器管理程序150、权利专用寄存器(ESPR) I % 160a,ESPR2% 160b,ESP
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1