将物理计算资源的一部分分配给逻辑分区的制作方法

文档序号:6350782阅读:216来源:国知局
专利名称:将物理计算资源的一部分分配给逻辑分区的制作方法
技术领域
本发明一般地涉及将物理计算资源的一部分分配给逻辑分区。
背景技术
物理计算资源的逻辑分区可允许创建多个系统映像。每个系统映像(也称为虚拟机(VM))可以以逻辑上独立于其他VM的方式运行,同时使用物理计算环境的共享资源。每个对应于VM的逻辑分区可以被单独重置、加载可以与其他分区的操作系统不同的操作系统,以及与使用不同输入/输出(I/O)设备的不同软件程序一起运行。物理计算资源可以包括执行特定功能的专用硬件资源。当前的操作系统可能无法利用这些专用硬件资源。尝试重写操作系统以利用专用硬件资源可以是困难而耗时的。

发明内容
在一个特定实施例中,一种计算机实现的方法包括确定第一逻辑分区的第一特征,其中所述第一特征包括存储器占用(memory footprint)特征。所述计算机实现的方法包括将第一物理计算资源集的第一部分分配给所述第一逻辑分区。所述第一物理计算资源集包括多个处理器。所述多个处理器包括具有第一处理器类型的第一处理器和具有不同于所述第一处理器类型的第二处理器类型的第二处理器。所述第一物理计算资源集的所述第一部分包括所述第二处理器。所述计算机实现的方法还包括分派所述第一逻辑分区以使用所述第一物理计算资源集的所述第一部分来执行。所述计算机实现的方法还包括创建第二逻辑分区。所述计算机实现的方法还包括将所述第一物理计算资源集的第二部分分配给所述第二逻辑分区。所述第一物理计算资源集的所述第二部分包括所述第二处理器。所述计算机实现的方法还包括分派所述第二逻辑分区以使用所述第一物理计算资源集的所述第二部分来执行。在另一特定实施例中,一种计算机程序产品包括其上具有计算机可读程序代码的计算机可读存储介质。所述计算机可读程序代码由处理器执行以将物理计算资源的第一部分分配给第一逻辑分区。所述物理计算资源包括处理资源,所述处理资源包括具有通用处理器类型的第一处理器和具有科学处理器类型的第二处理器。所述物理计算资源的所述第一部分包括所述第二处理器。所述计算机可读程序代码还可由处理器执行以将所述物理计算资源的第二部分分配给第二逻辑分区,其中所述物理计算资源的所述第二部分包括第二处理器。所述计算机可读程序代码还可由处理器执行以分派所述第一逻辑分区以使用所述物理计算资源的所述第一部分来执行。所述计算机可读程序代码还可由处理器执行以分派所述第二逻辑分区以使用所述物理计算资源的所述第二部分来执行。所述计算机可读程序代码还可由处理器执行以确定所述第一逻辑分区的第一特征,其中所述第一特征包括存储器占用特征和每指令周期数特征。所述计算机可读程序代码还可由处理器执行以根据所述第一逻辑分区的所述第一特征将所述物理计算资源的第三部分分配给所述第一逻辑分区, 其中所述物理计算资源的所述第三部分不包括所述第二处理器。
在另一特定实施例中,一种数据处理系统包括具有多个处理器的物理计算资源。 所述多个处理器包括具有第一处理器类型的第一处理器和具有不同于所述第一处理器类型的第二处理器类型的第二处理器。所述数据处理系统还包括分配要在执行逻辑分区时使用的所述物理计算资源的各部分的资源管理器。所述资源管理器被配置为将所述物理计算资源的第一部分分配给逻辑分区;确定所述逻辑分区的特征,所述特征包括存储器占用特征;根据所述逻辑分区的特征分配所述物理计算资源的第二部分;以及分派所述逻辑分区以使用所述物理计算资源的所述第二部分来执行。


图1是将物理计算资源的一部分分配给逻辑分区的系统的第一特定实施例的方块图;图2是将物理计算资源的一部分分配给逻辑分区的系统的第二特定实施例的方块图;图3是将物理计算资源的一部分分配给逻辑分区的系统的第三特定实施例的方块图;图4是将物理计算资源的一部分分配给逻辑分区的方法的第一示例性实施例的流程图;图5是将物理计算资源的一部分分配给逻辑分区的方法的第二示例性实施例的流程图;以及图6是计算系统的总体示意图。
具体实施例方式图1是将物理计算资源的一部分分配给逻辑分区的系统100的第一特定实施例的方块图。系统100包括第一物理计算资源集102、第二物理计算资源集124、硬件控制台 104、第一逻辑分区(LPAR) 106以及第二逻辑分区108。第一物理计算资源集102包括处理资源130、存储器资源140、存储设备资源150、 输入/输出(I/O)资源160、第一固件110以及第一资源管理器112。处理资源130包括第一处理器131和第二处理器132。第一处理器131是包括至少第一核1;35和第二核136 的多核处理器。第一处理器131具有第一处理器类型133。第二处理器132是包括第一核 138和第二核139的多核处理器。第二处理器132具有第二处理器类型134。处理器类型 133-134中的每种类型可以是通用处理器类型、科学处理器类型、密码处理器类型、另一处理器类型或上述处理器类型的任意组合。在一个特定实施例中,第一处理器类型133是通用处理器类型并且第二处理器类型134是科学处理器类型。例如,第二处理器132可以是具有用于执行科学计算的附加浮点寄存器(未示出)的专用处理器。第一物理计算资源集 102可以位于第一物理框架(未示出)中并且可以被称为中央电子复合体(CEC)、处理节点或服务器。第二物理计算资源集1 可以位于不同于所述第一物理框架的第二物理框架 (未示出)内。第一物理计算资源集102可以位于不同于第二物理计算资源集124的位置。存储器资源140可以包括随机存取存储器(RAM),例如动态RAM(DRAM)或静态 RAM(SRAM)。存储设备资源150可以包括诸如盘驱动器之类的存储驱动器。I/O资源160可以包括用于输入和输出数据的接口,例如通用串行总线(USB)接口、火线接口以及以太网接口。第一固件110可以包括与第一物理计算资源集102关联的固件。第一资源管理器112可以在第一固件110的上层执行。第一资源管理器112可以被称为系统管理程序。第一资源管理器112可以使用第一固件110来确定第一物理计算资源集102中的资源以及经由第一固件110监视和管理第一物理计算资源集102。例如,第一资源管理器112可以使用第一固件110确定第二处理器132具有核138-139并且是诸如科学处理器之类的专用处理器。第一资源管理器112可以使用第一固件110监视逻辑分区106和108对第一物理计算资源集102的使用。第一资源管理器112可以使用第一固件 110指示第一物理计算资源集102的未用部分关闭电源。第一资源管理器112可以使用第一固件110监视逻辑分区106和108对第一物理计算资源集102的使用以确定第一逻辑分区106的第一特征181和第二逻辑分区108的第二特征182。根据特征181-182,第一资源管理器112可以将第一物理计算资源集102的各部分分配给逻辑分区106和108。硬件控制台104可以是能够指示第一资源管理器112创建逻辑分区106和108的专用计算设备。例如,系统管理员(未示出)可以使用硬件控制台104指示第一资源管理器112创建逻辑分区106和108以及将第一物理计算资源集102的各部分分配给逻辑分区 106 和 108。第二物理资源集IM包括处理资源141、存储器资源142、存储设备资源143、I/O 资源144、第二固件145以及第二资源管理器146。处理资源141可以包括一个或多个具有不同处理器类型的处理器。例如,处理资源141可以包括通用处理器类型、密码处理器类型、科学处理器类型、另一处理器类型或上述处理器类型的任意组合。存储器资源142可以包括各种类型的存储器,例如随机存取存储器(RAM)。存储设备资源143可以包括诸如盘驱动器之类的存储驱动器。I/O资源144可以包括用于输入和输出数据的接口,例如通用串行总线(USB)接口、火线接口以及以太网接口。第二资源管理器146可以使用第二固件145来识别第二物理资源集IM的特定资源。第二资源管理器146可以使用第二固件145监视被分派为在第二物理资源集IM处执行的逻辑分区对第二物理资源集124的使用。逻辑分区106可以是在逻辑上独立于逻辑分区108而运行,同时与逻辑分区108 共用第一物理计算资源集102的系统映像(例如,虚拟机)。逻辑分区106和108可以分别具有一个或多个工作负载,例如工作负载183和184。例如,工作负载183和184可以是能够在逻辑分区处被执行的软件进程。第一逻辑分区106具有表示与第一逻辑分区106关联的工作负载的特征的第一特征181。第二逻辑分区108具有表示与第二逻辑分区108关联的工作负载的特征的第二特征182。例如,第一特征181可以指示第一逻辑分区106具有科学工作负载特征。第二特征182可以指示第二逻辑分区108具有密码工作负载特征。
在操作中,硬件控制台104可用于指示第一资源管理器112创建第一逻辑分区106 和第二逻辑分区108。硬件控制台104可用于将第一物理计算资源集的第一部分120分配 170给第一逻辑分区106以及将第一物理计算资源集102的第二部分121分配171给第二逻辑分区108。所述部分120-121被示出为包括第二处理器132、存储器资源140、存储设备资源150以及I/O资源160的至少一部分。第一部分120被示出为包括第一处理器131的至少一部分,而第二部分121被示出为不包括第一处理器131的任何部分。例如,第一物理计算资源集102的部分120-121可以包括第二处理器132的至少一部分。为了例示,第一物理计算资源集102的第一部分120可以包括对第二处理器132的第一核138的访问,并且第一物理计算资源集102的第二部分121可以包括对第二处理器132的第二核139的访问。因此,当逻辑分区106和108都具有科学工作负载并且第二处理器132具有科学处理器类型时,部分120-121可以包括第二处理器132的一部分。第一资源管理器112可以分派第一逻辑分区106以使用第一物理计算资源集102 的第一部分120来执行。第一资源管理器112可以监视第一逻辑分区106如何使用第一物理计算资源集102的第一部分120并确定第一特征181。第一资源管理器112可以分派第二逻辑分区108以使用第一物理计算资源集102的第二部分121来执行。第一资源管理器 112可以监视第二逻辑分区108如何使用第一物理计算资源集102的第二部分121并确定第二特征182。第一资源管理器112可以经由第一固件110确定工作负载特征181-182。当分派特定逻辑分区来执行时,该特定逻辑分区可能需要时间和资源来重新填充与该特定逻辑分区关联的处理器状态和存储器状态,然后该特定逻辑分区才能开始执行。 用于重新填充与该特定逻辑分区关联的处理器状态和存储器状态的时间和资源被称为存储器占用特征并且可以被包括在工作负载特征181-182中。此外,工作负载特征181和182 可以包括每指令周期数特征、已完成浮点运算数(FLOP)特征、已完成指令数特征、带宽使用率特征、高速缓存未命中数特征、高速缓存行计数特征、高速缓存亲和性特征、其他工作负载特征中的一个或多个或上述特征的任意组合。第一资源管理器112可以确定包括存储器占用特征185和每指令周期数特征186 的第二特征182。第一资源管理器112可以将第二物理计算资源集IM的部分122分配172 给第二逻辑分区108并将第二逻辑分区108的分派目标从第一物理计算资源集102更改为第二物理计算资源集124,如分派173所示。当第一物理计算资源集102和第二物理计算资源集1 是单独的CEC时,将第二逻辑分区108从第一物理计算资源集102分派到第二物理计算资源集124的过程可以被称为迁移。例如,第一物理计算资源集102可能不包括密码处理器,而第二物理资源集1 可能包括密码处理器。第一资源管理器112可以在确定第二特征182指示第二工作负载184执行密码计算时,将第二物理计算资源集124的部分 122分配172给第二逻辑分区108。通过将第二物理计算资源集124的部分122分配172给第二逻辑分区108以及将第二逻辑分区108从第一物理计算资源集102迁移173到第二物理计算资源集124,当第二物理计算资源集1 包括更适合于执行第二逻辑分区108的资源时,第二逻辑分区108可以更有效地运行。图2是将物理计算资源的一部分分配给逻辑分区的系统200的第二特定实施例的方块图。系统200包括物理计算资源202、硬件控制台204、第一逻辑分区206以及第二逻辑分区208。物理计算资源202包括处理器230、固件210以及存储器237。存储器237包括资源管理器212,资源管理器212也可以被称为系统管理程序。处理器230可以包括第一处理器231、第二处理器232和第三处理器233。在图2中,第一处理器231具有通用处理器类型234,第二处理器232具有科学处理器类型235,以及第三处理器233具有密码处理器类型236。与通用处理器类型234相比,科学处理器类型235可以具有附加的浮点寄存器(未示出)以使第二处理器232能够更有效地处理科学工作负载。密码处理器类型236可以包括加密质量随机数发生器、高级加密标准(AEQ处理能力、数据加密标准(DEQ处理能力、 三重数据加密标准(TDEQ处理能力、安全散列算法(SHA)处理能力、其他密码处理能力或上述处理能力的任意组合。逻辑分区206和208可以是执行特定操作系统并使用物理计算资源202的一部分的虚拟计算环境。逻辑分区206和208可以执行一个或多个工作负载(例如,进程)。在图2中,第一逻辑分区206具有第一工作负载观3,并且第二逻辑分区208具有第二工作负载观4。逻辑分区206和208可以被分派以在预定时间间隔期间执行,并且在被分派时,可以使用物理计算资源202的一部分。在给定时间间隔期间,可以分派一个以上的逻辑分区。 在一个特定实施例中,所述时间间隔可以约为10毫秒。硬件控制台204可以由系统管理员(未示出)用于指示资源管理器212创建逻辑分区206和208。硬件控制台204可以由系统管理员用于指示资源管理器212将物理计算资源202的各部分分配给逻辑分区206和208以便在逻辑分区206和208执行时使用。资源管理器212可以恰好在固件210的上层执行。资源管理器212可以包括可由处理器231-233中的一个或多个执行以完成各种功能的指令。例如,资源管理器212可以识别、监视和管理物理计算资源202,如根据图1的资源管理器112所描述的那样。在操作中,资源管理器212可以将物理计算资源202的第一部分220分配270给第一逻辑分区206。物理计算资源202的第一部分220可以包括第二处理器232的至少一部分。资源管理器212可以将物理计算资源202的第二部分221分配271给第二逻辑分区 208。物理计算资源202的第二分221可以包括第二处理器232的至少一部分。资源管理器212可以分派第一逻辑分区206以使用物理计算资源202的第一部分220执行。资源管理器212可以分派第二逻辑分区208以使用物理计算资源202的第二部分221执行。资源管理器212可以确定第一逻辑分区206的第一特征,例如存储器占用特征285和每指令周期数特征观6。资源管理器212可以根据第一特征281确定第一工作负载观3为科学工作负载。 资源管理器212可以确定第二特征观2以及根据第二特征282确定第二工作负载284为科学工作负载。因此,可以分派逻辑分区206和208两者以使用具有科学处理器类型235的第二处理器232的一部分执行。资源管理器212可以根据第一逻辑分区206的第一特征281将物理计算资源202 的第三部分222(替代第一部分220)分配272给第一逻辑分区206。物理计算资源202的第三部分222可以包括第一处理器231但可以不包括第二处理器232的任何部分。为了例示,科学工作负载的一个特征是科学工作负载在工作负载的一个执行时间片完成之前,不会在处理器处停止执行。此外,科学工作负载可以是计算密集的并且不会阻止输入/输出 (I/O)请求,因为通常在处理器自身处执行计算。因此,在某些情况下,科学工作负载在与专用通用处理器类型关联的逻辑分区上执行的速度可以快于在与共享科学处理器类型关联的逻辑分区上执行的速度。在图2中,第一工作负载283可以使用物理计算资源202的第三部分222更快地执行,因为第一工作负载283不再与第二工作负载284进行竞争。因此,资源管理器212可以确定第一逻辑分区206的第一特征281并将分配给第一逻辑分区206的物理计算资源202的部分从第一部分220更改为第三部分222。通过更改分配给第一逻辑分区206的物理计算资源202的部分,第一逻辑分区206的第一工作负载283可以使用包括通用处理器类型234但不包括科学处理器类型235的第三部分222更快地执行。图3是将物理计算资源的一部分分配给逻辑分区的系统300的第三特定实施例的方块图。系统300包括物理计算资源302、硬件控制台304和逻辑分区306。物理计算资源302包括处理资源330、存储器资源340、存储设备资源350、输入/ 输出(I/O)资源360、固件310、资源管理器312、第一阈值313、第二阈值314、第三阈值315 以及第四阈值316。处理资源330包括第一处理器331和第二处理器332。第一处理器331 具有第一类型333以及第二处理器332具有第二类型334。例如,第一类型333可以是通用处理器类型以及第二类型334可以是不同于第一类型333的科学处理器类型。在一个特定实施例中,第二处理器332的第二类型334可以是密码处理器类型。第二处理器332具有至少第一浮点寄存器(FPR) 335和第二 FPR336。存储器资源340包括第一存储器341和第二存储器;342。存储设备资源350包括第一盘351和第二盘352。I/O资源360包括第一 I/O接口 361和第二 I/O接口 362。固件310可以在分派逻辑分区306以便执行时,使得资源管理器312能够监视逻辑分区306对物理计算资源302的使用。硬件控制台304可用于指示资源管理器312创建逻辑分区306。硬件控制台304 可用于指示资源管理器302将物理计算资源302的一部分分配给第一逻辑分区306。当资源管理器312分派第一逻辑分区306以便执行时,第一逻辑分区306可以使用物理计算资源302的所分配部分。在操作中,资源管理器312可以将物理计算资源302的第一部分320分配370给逻辑分区306。第一部分320可以包括第一处理器331的一部分但不包括第二处理器332 的任何部分。例如,系统管理员(未示出)可以使用硬件控制台304指示资源管理器312 将物理计算资源302的第一部分320分配370给逻辑分区306。资源管理器312可以确定在第一逻辑分区306处执行的工作负载386的特征381。工作负载386可以是进程的一个实例。特征381可以包括一个或多个资源使用率特征390。资源使用率特征390可以包括存储器占用特征391、已完成浮点运算数(FLOP)特征392、已完成指令数特征393、带宽使用率特征394、高速缓存未命中数特征395、高速缓存行计数特征396、高速缓存亲和性特征 397、每指令周期数特征398、其他工作负载特征或上述特征的任意组合。资源管理器312可以确定特征381指示工作负载386为科学工作负载。固件310 可以为资源管理器312提供物理计算资源302的详细信息。例如,固件310可以为资源管理器312提供将第一处理器331识别为通用处理器类型以及将第二处理器332识别为科学处理器类型的信息。资源管理器312可以根据特征381将物理计算资源302的第二部分321分配371 给逻辑分区306。当分派逻辑分区306以便执行时,物理计算资源302的第二部分321可以替代逻辑分区306可以使用的物理计算资源302的第一部分320。资源管理器312可以将物理资源302的第二部分321分配371给逻辑分区306,因为物理计算资源302的第二部分321包括第二处理器332。资源管理器312可以分派逻辑分区306以使用物理计算资源 302的第二部分321执行。在分派逻辑分区306以使用物理计算资源302的第二部分321 执行之后,第二处理器332的浮点寄存器335-336可允许工作负载386更快地执行。
资源管理器312可以使用阈值313-316确定将物理计算资源302的哪一部分分配给逻辑分区306。例如,资源管理器312可以响应于确定已完成FLOP数特征392与已完成指令数特征393的比率大于或等于第一阈值313,将物理计算资源302的第二部分321分配 371给逻辑分区306。例如,资源管理器312可以响应于确定已完成FLOP数特征392与已完成指令数特征393相比的比率大于或等于0. 70,将物理计算资源302的第二部分321分配371给逻辑分区306。为了例示,当逻辑分区306完成的指令的百分之七十或更多为浮点运算时,资源管理器312可以确定工作负载386为科学工作负载并在第二处理器332是科学处理器类型时,分配371包括第二处理器332的第二部分321。在另一实例中,资源管理器312可以响应于确定已完成FLOP数特征392与已完成指令数特征393相比的比率小于第二阈值314并且带宽使用率特征394大于第三阈值315, 将物理计算资源302的第二部分321分配371给逻辑分区306。例如,资源管理器312可以响应于确定已完成FLOP数特征392与已完成指令数特征393的比率小于0. 70并且带宽使用率特征394大于0. 40,将物理计算资源302的第二部分321分配371给逻辑分区306。 为了例示,当逻辑分区306完成的指令的百分之七十以下为浮点运算并且逻辑分区306具有相对较高的带宽使用率时,资源管理器312可以确定工作负载386为科学工作负载并在第二处理器332是科学处理器类型时,分配371包括第二处理器332的第二部分321。在又一实例中,资源管理器312可以响应于确定已完成FLOP数特征392与已完成指令数特征393相比的比率小于第四阈值316,将物理计算资源302的第一部分320分配 370给逻辑分区306。例如,资源管理器312可以响应于确定已完成FLOP数特征392与已完成指令数特征393的比率小于0. 40,将物理计算资源302的第一部分320分配370给逻辑分区306。为了例示,当逻辑分区306完成的指令的百分之四十以下为浮点运算时,资源管理器312可以确定工作负载386不是科学工作负载并在第一处理器331是通用处理器类型时,分配370包括第一处理器331但不包括第二处理器332的第一部分320。因此,资源管理器312可以确定逻辑分区306的特征381并根据特征381分配371 物理计算资源302的第二部分321。例如,资源管理器312可以确定特征381、根据特征381 计算各种统计信息,以及将各种统计信息与阈值313-316相比较以判定是否更改物理计算资源302的当前分配的部分。通过分配物理计算资源302的不同部分,资源管理器312可以使工作负载386能够更有效地执行,因为物理计算资源302的第二部分321可以更适合工作负载386。可以修改阈值313-316以允许系统管理员细致地调整系统300。图4是将物理计算资源的一部分分配给逻辑分区的方法的第一示例性实施例的流程图。例如,所述方法可以由图1的资源管理器112、图2的资源管理器212或图3的资源管理器312执行。在402,确定第一逻辑分区的第一特征。所述第一特征包括存储器占用特征。移至 404,将第一物理计算资源集的第一部分分配给第一逻辑分区。例如,可以在初始运行时收集所述第一逻辑分区的所述第一特征,并且在后续运行时将所述第一物理计算资源集的第一部分分配给所述第一逻辑分区。所述第一物理计算资源集包括多个处理器,所述多个处理器包括具有第一处理器类型的第一处理器和具有不同于所述第一处理器类型的第二处理器类型的第二处理器。所述第一物理计算资源集的所述第一部分包括所述第二处理器。 例如,所述第一物理计算资源集的所述第一部分可以是图1的第一物理计算资源集102的第一部分120。继续到406,分派所述第一逻辑分区以使用所述第一物理计算资源集的所述第一部分来执行。继续到408,可以创建第二逻辑分区。继续到410,可以将所述第一物理计算资源集的第二部分分配给所述第二逻辑分区。所述第一物理计算资源集的所述第二部分可以包括所述第二处理器。移至412,可以分派所述第二逻辑分区以使用所述第一物理计算资源集的所述第二部分来执行。例如,在图1中,第一资源管理器112可以创建逻辑分区106和 108并将第一计算资源集的部分120-121分配给逻辑分区106和108。第一资源管理器112 可以分派逻辑分区106和108以使用所述第一物理计算资源集的第一部分120和第二部分 121来执行。继续到414,可以确定所述第二逻辑分区的第二特征。所述第二逻辑分区的第二特征可以包括存储器占用特征和每指令周期数特征。继续到416,可以根据所述第二逻辑分区的第二特征将第二物理计算资源集的一部分分配给所述第二逻辑分区。继续到418,可以将所述第二逻辑分区从所述第一物理资源集分派到所述第二物理资源集以使用所述第二物理计算资源集的所述部分来执行。例如,在图1中,第一资源管理器112可以确定第二特征 182并通过将第二逻辑分区108的分派目标更改为第二物理计算资源集124,将第二逻辑分区108从第一物理计算资源集102迁移到第二物理计算资源集124。所述方法在420结束。因此,通过确定逻辑分区的特征,诸如图1的工作负载管理器112之类的工作负载管理器可以将逻辑分区的分派目标从第一物理计算资源集更改为与该逻辑分区的特征更紧密匹配的第二物理计算资源集。图5是将物理计算资源的一部分分配给逻辑分区的方法的第二示例性实施例的流程图。例如,所述方法可以由图1的资源管理器112、图2的资源管理器212或图3的资源管理器312执行。在502,将物理计算资源的第一部分分配给第一逻辑分区。所述物理计算资源包括处理资源,所述处理资源包括具有通用处理器类型的第一处理器和具有科学处理器类型的第二处理器。所述物理计算资源的第一部分可以包括所述第二处理器。移至504,将所述物理计算资源的第二部分分配给第二逻辑分区。所述物理计算资源的第二部分可以包括所述第二处理器。继续到506,分派所述第一逻辑分区以使用所述物理计算资源的第一部分来执行。继续到508,分派所述第二逻辑分区以使用所述物理计算资源的第二部分来执行。 继续到510,可以确定第一逻辑分区的第一特征。所述第一特征可以包括存储器占用特征和每指令周期数特征。继续到512,可以根据所述第一逻辑分区的第一特征将所述物理计算资源的第三部分分配给所述第一逻辑分区。所述物理计算资源的第三部分可以不包括所述第二处理器。继续到514,可以分派所述第一逻辑分区以使用所述物理计算资源的第三部分来执行。 所述方法在516结束。因此,通过确定逻辑分区的特征,工作负载管理器可以将物理计算资源的不同部分分配给逻辑分区,以便物理计算资源的所分配部分与所述逻辑分区的特征更紧密地匹配。图6是其中可以实现本发明的系统和方法的计算系统的方块图。计算系统600包括图1的资源管理器112和146、图2的资源管理器212以及图3的资源管理器312的一个实例。在所示实例中,计算系统600采用包括北桥及存储器控制器集线器(MCH)602和南桥及输入/输出(I/O)控制器集线器(ICH) 604的集线器体系结构。处理器606、主存储器608和图形处理器610与MCH 602耦合。例如,图形处理器610可以通过加速图形端口 (AGP)(未示出)与MCH 602耦合。在所示的实例中,网络适配器612与ICH 604耦合,并且音频适配器616、键盘及鼠标适配器620、调制解调器622、只读存储器(ROM) 624、通用串行端口(USB)及其他通信端口 632,以及外围组件互连(PCI)和高级外围组件互连(PCIe)设备634经由总线638与 ICH 604耦合。盘驱动器拟6和⑶-ROM驱动器630经由总线638与ICH 604耦合。PCI/ PCIe设备634可以例如包括用于笔记本计算机的以太网适配器、附加卡和PC卡。ROM 6 可以例如是闪速二进制输入/输出系统(BIOS)。盘驱动器6 和⑶-ROM 驱动器630可以例如使用集成驱动电子设备(IDE)或串行高级技术附件(DATA)接口。超级1/0(SIO)设备636可以与ICH 604耦合。网络644与第一资源648和第二资源650耦合。例如,网络644可以是局域网 (LAN)、广域网(WAN)、无线网络或上述网络的任意组合。资源648和650可以包括物理资源,例如图1的物理计算资源102、图2的物理计算资源202和图3的物理计算资源302中的一个或多个。主存储器608包括资源管理器640。资源管理器640可以实现图1的资源管理器112、图2的资源管理器212和图3的资源管理器312的功能中的一个或多个。资源管理器640可以经由固件641识别、监视和管理第一资源648和第二资源650。固件641可以实现图1的固件110和145、图2的固件210和图3的固件310的功能中的一个或多个。操作系统(未示出)在处理器606上运行并且协调和提供对计算系统600内的各个组件的控制。操作系统可以是诸如Microsoft Windows XP (Microsoft和Windows是 Microsoft Corporation在美国和/或其他国家/地区的商标)之类的商用操作系统。诸如Java 编程系统之类的面向对象的编程系统可以与操作系统结合运行并通过在计算系统600上执行的Java程序或应用提供对操作系统的调用(Java和所有基于Java的商标是 SunMicrosystems, Inc在美国和/或其他国家/地区的商标)。用于操作系统、面向对象的编程系统和应用或程序的指令位于诸如盘驱动器626 之类的存储设备上,并可以被载入主存储器608以便由处理器606执行。所披露的示例性实施例的过程可以由处理器606使用计算机实现的指令执行,所述计算机实现的指令可以位于诸如主存储器608、只读存储器6M之类的存储器中,也可以位于一个或多个外围设备中。计算系统600中的硬件可以随实施方式而变化。作为图6所示的硬件的补充或替代,可以使用诸如闪存、等效的非易失性存储器或光盘驱动器之类的其他内部硬件或外围设备。此外,所披露的示例性实施例的过程可以应用于多处理器数据处理系统。在某些示例性实例中,计算系统600的各部分可以在个人数字助理(PDA)中实现, 所述PDA通常具备闪存以提供用于存储操作系统文件和/或用户产生的数据的非易失性存储器。总线系统可以包括诸如系统总线、1/0总线和PCI总线之类的一条或多条总线。所述总线系统可以使用在与其相连的不同组件或设备之间提供数据传输的任何类型的通信结构或体系结构实现。通信单元可以包括诸如调制解调器622或网络适配器612之类的一个或多个用于发送和接收数据的设备。存储器可以例如是主存储器608或在MCH 602中找到的高速缓存。处理单元可以包括一个或多个处理器或CPU。图6中所示的实例和上述实例并非暗示对体系结构的限制。例如,除了采取PDA的形式以外,计算系统600的各部分还可以在平板计算机、膝上型计算机或电话设备中实现。适合于存储和/或执行程序代码的数据处理系统可包括至少一个直接或通过系统总线间接连接到存储器元件的处理器。所述存储器元件可以包括在程序代码的实际执行期间采用的本地存储器、大容量存储装置以及提供至少某些程序代码的临时存储以减少必须在执行期间从大容量存储装置检索代码的次数的高速缓冲存储器。输入/输出或I/O设备(包括但不限于键盘、显示器、指点设备等)可以直接或通过中间I/O控制器与数据处理系统耦合。网络适配器也可以被耦合到数据处理系统以使所述数据处理系统能够通过中间专用或公共网络变得与其他数据处理系统或远程打印机或存储设备相连。调制解调器、电缆调制解调器和以太网卡只是几种当前可用的网络适配器类型。在此使用的术语仅出于描述特定实施例的目的,并非对本发明进行限制。如在此使用的,单数形式“一”、“一个”和“所述”旨在同样包括复数形式,除非上下文另外明确指出。还将理解,当在本说明书中使用时,术语“包括”和/或“包含”指定存在所声明的特性、 整数、步骤、操作、元件和/或组件,但并不排除存在或增加一个或多个其他特性、整数、步骤、操作、元件、组件和/或它们的组合。以下的权利要求中的对应结构、材料、操作以及所有功能性限定的装置或步骤的等同替换,旨在包括任何用于与在权利要求中具体指出的其它单元相组合地执行该功能的结构、材料或操作。所给出的对本发明的描述其目的在于示意和描述,并非是穷尽性的,也并非是要把本发明限定到所表述的形式。对于所属技术领域的普通技术人员来说,在不偏离本发明范围和精神的情况下,显然可以作出许多修改和变型。对实施例的选择和说明,是为了最好地解释本发明的原理和实际应用,使所属技术领域的普通技术人员能够明了,本发明可以有适合所要的特定用途的具有各种改变的各种实施方式。所属技术领域的技术人员知道,本发明的各方面可以实现为方法、系统或计算机程序产品。因此,本发明的各方面可以具体实现为以下形式,即可以是完全的硬件、也可以是完全的软件(包括固件、驻留软件、微代码等),还可以是硬件和软件结合的形式,本文一般称为“电路”、“模块”或“系统”。此外,本发明还可以实现为在一个或多个计算机可用存储介质中的计算机程序产品的形式,该计算机可用存储介质中包含计算机可用程序代码。可以使用一个或多个计算机可读介质的任意组合。所述计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。计算机可读存储介质可以是(例如但不限于) 电、磁、光、电磁、红外线或半导体系统、装置、设备或它们的任何适当组合。计算机可读存储介质的更具体的实例(非穷举列表)可以包括以下项具有一条或多条线的电连接、便携式计算机软盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦写可编程只读存储器 (EPR0M或闪存)、光纤、便携式光盘只读存储器(CD-ROM)、光存储设备、磁存储设备或它们的任何适当组合。在本文档的上下文中,计算机可读存储介质可以是任何能够包含或存储由指令执行系统、装置或设备使用或与所述指令执行系统、装置或设备结合的程序的有形介质。
可以使用任何适当的介质(包括但不限于有线、光缆、RF等或它们的任何适当组合)来传输计算机可读介质中包含的程序代码。用于执行本发明的各方面的操作的计算机程序代码可以使用一种或多种编程语言的任意组合来编写,所述编程语言包括诸如Java、 SmalltalKC++或类似语言之类的面向对象的编程语言以及诸如“C”编程语言或类似的编程语言之类的常规过程编程语言。所述程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为独立的软件包、部分地在用户计算机上并部分地在远程计算机上执行,或者完全地在远程计算机或服务器上执行。在后者的情况中,所述远程计算机可以通过包括局域网(LAN)或广域网(WAN)的任何类型网络与用户的计算机相连,也可以与外部计算机进行连接(例如,使用因特网服务提供商通过因特网连接)。在此参考根据本发明的各实施例的方法、装置(例如,系统)和计算机程序产品的流程图和/或方块图对本发明的各方面进行描述。将理解,所述流程图和/或方块图的每个方块以及所述流程图和/或方块图中的方块的组合可以由计算机程序指令来实现。这些计算机程序指令可以被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,以便通过所述计算机或其他可编程数据处理装置的处理器执行的指令产生用于实现在一个或多个流程图和/或方块图方块中指定的功能/操作的装置。这些计算机程序指令也可以被存储在可引导计算机、其他可编程数据处理装置或其他设备以特定方式工作的计算机可读介质中,以便存储在所述计算机可读介质中的指令产生一件包括实现在所述一个或多个流程图和/或方块图方块中指定的功能/操作的指令的制品。所述计算机程序指令还可被加载到计算机、其他可编程数据处理装置或其他设备,以导致在所述计算机、其他可编程装置或其他设备上执行一系列操作步骤以产生计算机实现的过程,从而在所述计算机或其他可编程装置上执行的指令提供用于实现在一个或多个流程图和/或方块图方块中指定的功能/操作的过程。图1-6中的流程图和方块图示出了根据本发明的各实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或方块图中的每个方块可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方块中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方块实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。 也要注意的是,方块图和/或流程图中的每个方块、以及方块图和/或流程图中的方块的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。提供上述对所披露的实施例的描述是为了使本领域中任何技术人员都能够构建或使用所披露的实施例。对于本领域的技术人员而言,对这些实施例的各种修改将是显而易见的,并且在不偏离本发明的范围的情况下,在此定义的一般原理可以应用于其他实施例。因此,本发明并非旨在被限于在此所示的实施例,而是旨在被赋予与以下权利要求限定的原理和特征一致的可能的最广泛范围。
权利要求
1.一种操作计算机的方法,所述方法包括以下步骤确定第一逻辑分区的第一特征,其中所述第一特征包括存储器占用特征;根据所述第一特征将第一物理计算资源集的第一部分分配给所述第一逻辑分区,其中所述第一物理计算资源集包括多个处理器,所述多个处理器包括具有第一处理器类型的第一处理器和具有不同于所述第一处理器类型的第二处理器类型的第二处理器,并且其中所述第一物理计算资源集的所述第一部分包括所述第二处理器;分派所述第一逻辑分区以使用所述第一物理计算资源集的所述第一部分来执行;创建第二逻辑分区;将所述第一物理计算资源集的第二部分分配给所述第二逻辑分区,所述第一物理计算资源集的所述第二部分包括所述第二处理器;以及分派所述第二逻辑分区以使用所述第一物理计算资源集的所述第二部分来执行。
2.如权利要求1中所述的方法,还包括确定所述第二逻辑分区的第二特征,其中所述第二逻辑分区的所述第二特征包括存储器占用特征和每指令周期数特征。
3.如权利要求2中所述的方法,还包括根据所述第二逻辑分区的所述第二特征将第二物理计算资源集的一部分分配给所述第二逻辑分区;将所述第二逻辑分区的分派目标从所述第一物理资源集更改为所述第二物理资源集;以及分派所述第二逻辑分区以使用所述第二物理计算资源集的所述部分来执行。
4.一种存储在计算机可读存储介质上并包括计算机程序代码的计算机程序产品,所述计算机程序代码当加载到计算机系统中并在其上执行时,使所述计算机系统执行权利要求 1至3中的任一权利要求中的方法的所有步骤。
5.一种数据处理系统,包括物理计算资源,其包含多个处理器,所述多个处理器包括具有第一处理器类型的第一处理器和具有不同于所述第一处理器类型的第二处理器类型的第二处理器;以及资源管理器,其分配要在执行逻辑分区时使用的所述物理计算资源的各部分,其中所述资源管理器被配置为将所述物理计算资源的第一部分分配给逻辑分区;确定所述逻辑分区的特征,所述特征包括存储器占用特征;根据所述逻辑分区的特征分配所述物理计算资源的第二部分;以及分派所述逻辑分区以使用所述物理计算资源的所述第二部分来执行。
6.如权利要求5中所述的数据处理系统,其中所述第二处理器是具有一个或多个浮点寄存器的科学处理器并且其中所述逻辑分区的特征还包括已完成浮点运算数特征和已完成指令数特征。
7.如权利要求6中所述的数据处理系统,其中所述物理计算资源的所述第二部分包括所述科学处理器并且其中所述资源管理器被配置为当所述已完成浮点运算数特征与所述已完成指令数特征相比的比率大于或等于第一阈值时,将所述物理计算资源的所述第二部分分配给所述逻辑分区。
8.如权利要求7中所述的数据处理系统,其中所述逻辑分区的特征还包括带宽使用率特征。
9.如权利要求8中所述的数据处理系统,其中所述物理计算资源的所述第二部分包括所述科学处理器并且其中所述资源管理器被配置为响应于确定所述已完成浮点运算数特征与所述已完成指令数特征相比的比率小于第二阈值并且所述带宽使用率特征大于第三阈值,将所述物理计算资源的所述第二部分分配给所述逻辑分区。
10.如权利要求5至9中的任一权利要求中所述的数据处理系统,其中所述第一处理器是通用处理器并且其中所述物理计算资源的所述第一部分包括所述通用处理器但不包括所述科学处理器。
11.如权利要求10中所述的数据处理系统,其中所述资源管理器被配置为在确定所述已完成浮点运算数特征与所述已完成指令数特征相比的比率小于第四阈值之后,将所述物理计算资源的所述第一部分分配给所述逻辑分区。
12.如权利要求5至11中的任一权利要求中所述的数据处理系统,其中所述第二处理器是密码处理器。
13.如权利要求5至12中的任一权利要求中所述的数据处理系统,其中所述逻辑分区的特征还包括以下项中的至少一个高速缓存未命中数特征;高速缓存行计数特征;高速缓存亲和性特征;以及每指令周期数特征。
14.如权利要求5至13中的任一权利要求中所述的数据处理系统,其中所述资源管理器被配置为确定所述逻辑分区的第二特征;根据所述第二特征分配所述物理计算资源的第三部分;以及分派所述逻辑分区以使用所述物理计算资源的所述第三部分来执行。
15.如权利要求7中所述的数据处理系统,其中所述物理计算资源还包括存储器资源、 存储设备资源以及输入/输出资源中的至少一个。
全文摘要
一种数据处理系统,包括具有多个处理器的物理计算资源。所述多个处理器包括具有第一处理器类型的第一处理器和具有不同于所述第一处理器类型的第二处理器类型的第二处理器。所述数据处理系统还包括分配要在执行逻辑分区时使用的所述物理计算资源的各部分的资源管理器。所述资源管理器被配置为将所述物理计算资源的第一部分分配给逻辑分区;确定所述逻辑分区的特征,所述特征包括存储器占用特征;根据所述逻辑分区的特征分配所述物理计算资源的第二部分;以及分派所述逻辑分区以使用所述物理计算资源的所述第二部分来执行。
文档编号G06F9/45GK102576310SQ201080045939
公开日2012年7月11日 申请日期2010年8月25日 优先权日2009年10月21日
发明者D·G·弗雷明, M·S·斯里尼瓦斯, O·F·海雷斯库, W·马龙 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1