用于在综合工作负载环境中实现最佳性能的系统和方法_3

文档序号:8395769阅读:来源:国知局
、 其它可编程数据处理装置、或其他设备以特定方式工作,从而,存储在计算机可读介质中的 指令就产生出包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的指令 的制造品(article of manufacture) 〇
[0039] 也可以把计算机程序指令加载到计算机、其它可编程数据处理装置或其它设备 上,以使得一系列操作步骤在计算机、其它可编程装置或其它设备上执行,以产生一种计算 机可实现过程,从而使得在计算机或其它编程装置上执行的指令提供用于实现流程图和/ 或框图中的一个或多个方框中规定的功能/动作。
[0040] 附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程 序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以 代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个 用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所 标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以 基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的 是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行 规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的 组合来实现。
[0041] 因此,示例性实施例可在许多不同类型的数据处理环境中使用。为了提供用于描 述示例性实施例的特定单元和功能的上下文,在下文提供图2以作为其中可实现示例性实 施例的各方面的示例性环境。应当知道,图2仅仅是一个例子,并不意味着声明或暗示对其 中可实现本发明的实施例或各方面的环境的限制。在不脱离本发明的精神和范围的情况 下,可以对所描述的环境进行许多修改。
[0042] 图2是其中可实现示例性的实施例的各方面的示例性数据处理系统的框图。数据 处理系统200是计算机的例子,诸如客户端计算系统或服务器计算系统,在其中可保存用 于实现本发明的示例性实施例的过程的计算机可用代码或指令。
[0043] 在所描述的例子中,数据处理系统200采用集线器体系结构,其包括北桥和存储 器控制器集线器(NB/MCH)202、南桥和输入/输出(I/O)控制器集线器(SB/ICH)204。处理 单元206、主存储器208和图形处理器210被连接到NB/MCH 202。图形处理器210可以通 过加速图形端口(AGP)连接到NB/MCH 202。
[0044] 在所描述的例子中,局域网(LAN)适配器212连接到SB/ICH 204。音频适配器 216、键盘和鼠标适配器220、调制解调器222、只读存储器(ROM) 224、硬盘驱动器(HDD) 226、 ⑶-ROM驱动器230、通用串行总线(USB)端口和其它通信端口 232、以及PCI/PCIe设备234 通过总线238和总线240连接到SB/ICH 204。PCI/PCIe设备例如可包括以太网适配器、插 卡、用于笔记本计算机的PC卡。PCI使用卡总线控制器,而PCIe不使用。ROM 224例如可 以是闪速基本输入/输出系统(BIOS)。
[0045] HDD 226 和 CD-ROM 驱动器 230 通过总线 240 连接到 SB/ICH 204。HDD 226 和 ⑶-ROM驱动器230例如可以使用集成驱动器电路(IDE)或串行高级连接技术(SATA)接口。 超级1/0 (SI0)设备236可连接到SB/ICH 204。
[0046] 操作系统在处理单元206上运行。操作系统协调并提供图2中的数据处理系 统200内的各种组件的控制。作为客户端,操作系统可以是商业可用的操作系统,诸如 Microsoft^ Windows 7?'。面向对象的编程系统,诸如Java?编程系统,可与操作系统 一起运行,并根据在数据处理系统200上执行的Java?程序或应用提供对操作系统的调用。
[0047] 作为服务器,数据处理系统200例如可以是ibm? eSei^ei*?系统P??计算机系 统,其运行高级交互执行(AIX?)操作系统或LINUX?操作系统。数据处理系统2〇〇可 以是对称多处理器(SMP)系统,其在处理单元206中包括多个处理器。可选择地,可以采用 单处理器系统。
[0048] 操作系统、面向对象的编程系统的指令和应用或程序位于诸如HDD226的存储器 设备上,并可以被加载到主存储器208中以由处理单元206执行。本发明的示例性实施例 的过程可通过处理单元206使用计算机可用程序代码执行,该代码可位于存储器中,诸如 例如主存储器208、ROM 224或例如一个或多个外部设备226和230中。
[0049] 诸如图2所示的总线238或总线240的总线系统可包括一个或多个总线。当然, 可以使用任何类型的通信结构或体系来实现总线系统,它在连接到该结构或体系的不同组 件或设备之间提供数据的传输。诸如图2的调制解调器222或网络适配器212的通信单元 可包括用于发送和接收数据的一个或多个设备。储存器例如可以是主存储器208、R0M 224 或诸如在图2的NB/MCH 202中发现的缓存器。
[0050] 本领域技术人员知道图1和2中的硬件可以根据实现而变化。其它内部硬件或外 部设备,诸如闪存、等同非易失性存储器或光盘驱动器等,可用于添加到或者替换图1和2 所示的硬件。另外,在不脱离本发明的精神和范围的情况下,除了上述的SMP系统外,示例 性实施例的过程可以被应用于多处理器数据处理系统。
[0051] 另外,数据处理系统200可采用多个不同数据处理系统的任何一个的形式,包括 客户端计算设备、服务器计算设备、平板计算机、膝上型计算机、电话或其它通信设备、个人 数字助理(PDA)等。在某些示例性实施例中,数据处理系统200可以是便携式计算设备, 其被配置了闪存以提供非易失性存储器,用于存储例如操作系统文件和/或用户生成的数 据。基本上,数据处理系统200可以是任何已知或以后开发的数据处理系统,而没有体系结 构的限制。
[0052] 根据示例性实施例,图2中的数据处理系统200可以实现一个或多个逻辑分区 (LPAR),其中每个LPAR包括具有执行一个或多个线程的一个或多个虚拟处理器(VP)的一 个或多个虚拟机(VM)。数据处理系统200的这些虚拟资源共享数据处理系统的物理资源, 例如处理单元206、主存储器208等。在这种情况下,例如时间切分可用于提供每个LPAR的 每个VM的每个VP对物理资源的访问,以使得每个虚拟资源可利用一部分物理资源。在一 个示例性实施例中,处理单元206可包括多个处理单元,例如32个处理单元或核,其可由一 个或多个LPAR的多个VM的多个VP共享。
[0053] 处理单元206还可执行管理数据处理系统200的虚拟资源(例如LPAR、VM、VP等) 的虚拟管理机制。在一个示例性实施例中,虚拟管理机制是管理程序或主机操作系统,其包 括虚拟管理逻辑和用于提供有关资源可用性和某些虚拟机对相同或不同逻辑分区的其它 虚拟机的利用的"提示"或信息,以用于调整由虚拟机或逻辑分区的客机操作系统执行的线 程调度的逻辑。例如,处理单元206可以实现图1的管理程序150,其例如包括用于向客机 操作系统提供资源可用性和相同或不同逻辑分区的其它虚拟资源的资源利用的提示的逻 辑,以使得客机操作系统可以利用该信息调整由这些客机操作系统执行的线程调度。
[0054] 如前面所述,管理程序可以监控在数据处理系统200上执行的多个虚拟机(VM)的 资源利用,并可以将这种信息传送给每个逻辑分区(LPAR)或VM的客机操作系统。客机操 作系统可包括用于从管理程序摄取这种提示信息并调整它们自己的线程调度操作以考虑 数据处理系统资源的可用性或缺乏可用性的逻辑。例如,客机操作系统可以折叠或展开与 客机操作系统和对应的VM相关联的虚拟处理器(VP),以便降低或增加由VM使用的VP的数 量。此后,线程可以被分派到各个VP,以便通过当在系统级别(即在所有虚拟机上)的工 作负载低时将线程遍布在利用与每个VP相关联的主线程的较大数量的VP上以实现更高性 能,或者通过当工作负载水平高时将线程压缩到较小数量的VP上以便避免妨碍在其它VM 的其它VP上的较高优先级的工作负载的性能,来实现最佳性能。
[0055] 与VM相关联的VP的折叠或展开可不仅根据由管理程序发送给客机操作系统的反 馈信息或"提示",而且根据与工作负载相关联的优先级和随客机操作系统建立的优先级策 略来执行。因此,根据工作负载优先级、反馈信息和优先级策略,客机操作系统可以确定是 否折叠或者展开VM的VP以达到计算系统作为整体在分派线程和由VP的线程共享物理资 源方面达到最佳性能。
[0056] 图3是概括根据一个示例性实施例的虚拟管理机制的示例性操作的流程图。如图 3所示,操作从虚拟管理机制(VMM)从在数据处理系统上执行的虚拟机接收有关正由各种 虚拟机执行的工作负载的优先级的指示(步骤310)开始。虚拟管理机制根据正由各种虚 拟机执行的工作负载的指示来确定各种虚拟机的资源利用(步骤320)。虚拟管理机制向在 数据处理系统上执行的每个虚拟机提供资源利用的通知(步骤330)。然后,每个虚拟机根 据在来自虚拟管理机制的通知中指定的资源利用,基于虚拟机优先级、所分配物理/虚拟 处理器的当前数量和如根据资源利用确定的计算系统中的共享资源的当前可用性,确定是 否折叠或展开它们相关联的虚拟处理器(VP)的数量(步骤340)。然后,每个虚拟机折叠或 展开与虚拟机相关联的虚拟处理器(步骤350),并向虚拟处理器分配线程(步骤360)。然 后,操作终止。
[0057] 图4是概括根据一个示例性实施例的虚拟机的客机操作
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1