CN104932940B - 用于优化计算机硬件使用的装置和方法 - Google Patents
用于优化计算机硬件使用的装置和方法 Download PDFInfo
- Publication number
- CN104932940B CN104932940B CN201510120017.5A CN201510120017A CN104932940B CN 104932940 B CN104932940 B CN 104932940B CN 201510120017 A CN201510120017 A CN 201510120017A CN 104932940 B CN104932940 B CN 104932940B
- Authority
- CN
- China
- Prior art keywords
- cpu
- cpus
- boot
- available
- computer
- 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
Landscapes
- Stored Programmes (AREA)
Abstract
在包括多个填充的中央处理单元(‘CPU’)插槽的计算系统中优化计算机硬件使用,包括:由插槽配置模块确定在计算系统的操作期间将被利用的CPU的数目;由插槽配置模块确定与每个可用的CPU相关联的性能特性,与每个可用的CPU相关联的性能特性包括描述被耦合至可用的CPU中的一个或者多个CPU的诸如存储器设备、输入/输出(‘I/O’)设备和其他下游设备的计算设备的信息;以及由插槽配置模块根据与每个可用的CPU相关联的性能特性和预定的性能策略来选择目标CPU以用作引导CPU。
Description
技术领域
本发明的领域是数据处理,或者,更具体地,是用于在包括多个填充(populated)的中央处理单元(‘CPU’)插槽(socket)的计算系统中优化计算机硬件使用的方法、装置和产品。
背景技术
现代计算系统可以包括多个计算机处理器,诸如多个CPU。每个CPU可以被包括在CPU插槽中。在一些计算系统中,CPU中的一个或者多个CPU可以不作为CPU,一个或者多个CPU可以作为故障转移CPU而不是主引导CPU,或者计算系统可以被配置为使得并非所有的CPU都被利用。在多插槽系统中被选择为活跃的CPU经常是基于顺序的插槽标识符分配的。例如,在插槽0、插槽1、插槽2和插槽3中的CPU可以是活跃的,而在插槽4和插槽5中的CPU可以是非活跃的。此外,将被用来引导计算系统的CPU也可以基于插槽标识符来指定,使得将利用插槽0中的CPU来引导计算系统。这样,在不考虑个体CPU或者CPU的特定组合的相关的性能能力的情况下,插槽标识符的指定被用于标识活跃的CPU和引导CPU。
发明内容
在包括多个填充的CPU插槽的计算系统中优化计算机硬件使用,包括:由插槽配置模块确定在计算系统的操作期间将被利用的CPU的数目;由插槽配置模块确定与每个可用的CPU相关联的性能特性;以及由插槽配置模块根据与每个可用的CPU相关联的性能特性和预定的性能策略来选择目标CPU以用作引导CPU。
从如附图中所示的本发明的示例实施例的以下更详细的描述中,本发明的前述和其他目标、特征和优点将是明显的,其中相似的参考标号通常代表本发明的示例实施例的相似的部分。
附图说明
图1阐述根据本发明的实施例的包括在优化计算机硬件使用中有用的示例计算机的自动计算机器的框图。
图2阐述根据本发明的实施例的图示用于在包括多个填充的CPU插槽的计算系统中优化计算机硬件使用的示例方法的流程图。
图3阐述根据本发明的实施例的图示用于在包括多个填充的CPU插槽的计算系统中优化计算机硬件使用的示例方法的流程图。
图4阐述根据本发明的实施例的图示用于在包括多个填充的CPU插槽的计算系统中优化计算机硬件使用的示例方法的流程图。
具体实施方式
从图1开始,将参考附图来描述根据本发明的用于在包括多个填充的CPU插槽的计算系统中优化计算机硬件使用的示例方法、装置和产品。图1阐述了根据本发明的实施例的包括在优化计算机硬件使用的过程中有用的示例计算机(152)的自动的计算机器的框图。图1的计算机(152)包括至少一个计算处理器(156)或者‘CPU’以及通过高速存储器总线(166)和总线适配器(158)被连接至处理器(156)和计算机(152)的其他组件的随机存取存储器(168)(‘RAM’)。尽管在图1中未图示,但在图1中描绘的计算机(152)可以包括多个填充的CPU插槽。每个CPU插槽可以被具体化为提供处理器(156)和印刷电路板(‘PCB’)之间的机械的和电连接的机械组件。当CPU被安装在CPU插槽内时,CPU插槽是‘填充的’。
存储于RAM(168)中的是应用程序(155),它是计算机程序指令的模块,当在诸如处理(156)的计算机硬件上执行该计算机程序指令的模块时,促使计算机(152)在计算机(152)自身的运行之外执行有用的任务。应用程序(155)例如可以被具体化为统计软件、企业软件、图形软件、媒体播放器、办公套件等。
还存储于RAM(168)中的是操作系统(154)。根据本发明的实施例在优化计算机硬件使用的过程中有用的操作系统包括UNIXTM、LinuxTM、Microsoft XPTM、AIX、IBM的i5/OSTM,以及如本领域的技术人员将想到的其他操作系统。在图1的示例中的操作系统(154)和应用程序(155)被示出在RAM(168)中,但是这种软件的许多组件通常也被存储在非易失性存储器中,诸如举例而言,存储在磁盘驱动器(170)上。
图1的计算机(152)包括通过扩展总线(160)和总线适配器(158)被耦合至处理器(156)和计算机(152)的其他组件的磁盘驱动器适配器(172)。磁盘驱动器适配器(172)以磁盘驱动器(170)的形式将非易失性数据存储连接至计算机(152)。根据本发明的实施例在用于优化计算机硬件使用的计算机中有用的磁盘驱动器适配器包括电子集成驱动器(‘IDE’)适配器、小型计算机系统接口(‘SCSI’)适配器,以及如本领域的技术人员将想到的其他磁盘驱动器适配器。非易失性计算机存储器也可以被实现为如本领域的技术人员将想到的光盘驱动器、电可擦除只读存储器(也称为‘EEPROM’或‘快闪’存储器)、RAM驱动器等。
图1的示例计算机(152)包括一个或者多个输入/输出(‘I/O’)适配器(178)。I/O适配器,例如,通过用于控制到诸如计算机显示屏幕的显示设备的输出以及来自诸如键盘和鼠标的用户输入设备(181)的用户输入的计算机硬件和软件驱动器,实现面向用户的输入/输出。图1的示例计算机(152)包括视频适配器(209),视频适配器(209)是为了图形输出至诸如显示屏幕或者计算机监视器的显示设备(180)而专门设计的I/O适配器的示例。视频适配器(209)通过高速视频总线(164)、总线适配器(158)和也作为高速总线的前端总线(162)被连接至处理器(156)。
图1的示例计算机(152)包括用于与其他计算机(182)的数据通信和用于与数据通信网络(100)的数据通信的通信适配器(167)。可以通过RS-232连接、通过诸如通用串行总线(‘USB’)的外部总线、通过诸如IP数据通信网络的数据通信网络,以及以本领域的技术人员将想到的其他方式来串行地执行这种数据通信。通信适配器直接地或者通过数据通信网络实现硬件级的数据通信,通过该硬件级的数据通信一个计算机向另一计算机发送数据通信。根据本发明的实施例对于优化计算机硬件使用有用的通信适配器的示例包括用于有线拨号通信的调制解调器、用于有线数据通信网络通信的以太网(IEEE 802.3)适配器和用于无线数据通信网络通信的802.11适配器。
为了进一步的说明,图2阐述根据本发明的实施例的图示用于在包括多个填充的CPU插槽(204、206、208、210)的计算系统(202)中优化计算机硬件使用的示例方法的流程图。图2的计算系统(202)可以例如被具体化为服务器、在刀片中心中的刀片服务器、台式计算机等。在图2中所示的计算系统包括四个CPU插槽(204、206、208、210),但是在其他实施例中计算系统(202)可以包括两个或者多个CPU插槽中的任何数目的CPU插槽。在图2中的每个CPU插槽(204、206、208、210)可以被具体化为提供CPU(212、214、216、218)和PCB之间的机械的和电连接的机械组件。当CPU(212、214、216、218)被安装在CPU插槽(204、206、208、210)内时,CPU插槽(204、206、208、210)是‘填充的’。
在图2中所描绘的示例方法至少部分地由插槽配置模块(220)执行。图2的插槽配置模块(220)可以例如被具体化作为在计算机硬件上执行的计算机程序指令的模块。在一些实施例中,插槽配置模块(220)可以被具体化作为诸如现场可编程门阵列(‘FPGA’)、专用集成电路(‘ASIC’)等的独立的组件。在备选的实施例中,插槽配置模块(220)可以被具体化为计算机程序指令,该计算机程序指令被包括在系统管理模块或者其他的集中管理工具中并且在支持这种系统管理模块或者其他的集中管理工具的计算机硬件上被执行。
在图2中所描绘的示例方法包括由插槽配置模块(220)确定(222)在计算系统(202)的操作期间将被利用的CPU(212、214、216、218)的数目。图2的计算系统(202)可以例如被配置为在计算系统(202)的操作期间利用数目是二的幂的CPU(212、214、216、218),使得计算系统(202)可以使用一个CPU、两个CPU、四个CPU、八个CPU等来操作。如果在图2中所示的一个CPU(212)故障并且变得不可操作,则图2的计算系统(202)可能因此不能使用在图2中所描绘的剩余的三个CPU(214、216、218)中的每个CPU,因为计算系统(202)可能没有被配置为使用三个CPU的配置来操作。
确定(222)在计算系统(202)的操作期间将被利用的CPU(212、214、216、218)的数目例如可以通过插槽配置模块(220)确定在计算系统(202)中安装了多少可操作的CPU来执行。在这样的示例中,插槽配置模块(220)可以通过发起发现过程来确定在计算系统(202)中安装了多少可操作的CPU。在确定在计算系统(202)中安装了多少可操作的CPU之后,插槽配置模块(220)可以接下来标识计算系统(202)被配置来利用的CPU的最大数目,该最大数目小于或者等于被安装在计算系统(202)中的可操作的CPU的数目。例如,如果计算系统(202)具有七个可操作的CPU并且被配置为在一个CPU的配置、两个CPU的配置、四个CPU的配置和八个CPU的配置中操作,插槽配置模块(220)可以确定(222)在计算系统(202)的操作期间将被利用的CPU的数目应当被设置为值四。
在图2中所描绘的示例方法还包括由插槽配置模块(220)确定(224)与每个可用的CPU(212、214、216、218)相关联的性能特性(226)。与每个可用的CPU(212、214、216、218)相关联的性能特性(226)可以包括描述每个可用的CPU(212、214、216、218)的操作的性能特性,诸如举例而言,每个可用的CPU(212、214、216、218)能够处理指令所处的频率以及对于每个可用的CPU(212、214、216、218)的片上存储器的大小。与每个可用的CPU(212、214、216、218)相关联的性能特性(226)还可以包括描述被附接到每个可用的CPU(212、214、216、218)的其他计算设备的操作的性能特性。描述被附接到每个可用的CPU(212、214、216、218)的其他计算设备的操作的这种性能特性可以例如包括被耦合至每个可用的CPU(212、214、216、218)的诸如RAM的片外存储器的大小、被耦合至每个可用的CPU(212、214、216、218)的诸如RAM的片外存储器的延时、被耦合至每个可用的CPU(212、214、216、218)的I/O设备的类型、被耦合至每个可用的CPU(212、214、216、218)的网络适配器的带宽等。在图2中描绘的示例方法中,确定(224)与每个可用的CPU(212、214、216、218)相关联的性能特性(226)例如可以通过插槽配置模块(222)从每个可用的CPU(212、214、216、218)请求重要产品数据(‘VPD’)、通过插槽配置模块(220)接收来自被耦合至每个CPU(212、214、216、218)的存储器模块的串行存在检测(‘SPD’)信息、通过插槽配置模块(220)接收标识被耦合至每个CPU(212、214、216、218)的I/O设备的类型的信息、通过插槽配置模块(220)接收标识被耦合至每个可用的CPU(212、214、216、218)的通信适配器(例如,光纤通道适配器、以太网适配器)的类型的信息等来执行。
在图2中描绘的示例方法还包括由插槽配置模块(220)根据与每个可用的CPU(212、214、216、218)相关联的性能特性(226)和预定的性能策略(230)选择(228)目标CPU以用作引导CPU。在图2的示例方法中,当计算系统(202)最初被引导时,一个CPU将负责执行系统BIOS和用来引导计算系统(202)的其他计算机程序指令。负责执行用于引导计算系统(202)的计算机程序指令的CPU在此被称为引导CPU。
图2的预定的性能策略(230)表示针对计算系统(202)的性能偏好的规范,包括在计算系统(202)的引导启动(boot-up)期间针对计算系统(202)的性能偏好。预定的性能策略(230)例如可以指示在计算系统(202)的引导启动期间能够每时间单位执行最高数目的指令的CPU是优选的,在计算系统(202)的引导启动期间被附接至具有最小数量的延迟的存储器模块的CPU是优选的,在计算系统(202)的启动期间被连接至具有最大存储容量的存储器模块的CPU是优选的等。选择(228)目标CPU以用作引导CPU可以通过将与每个可用的CPU(212、214、216、218)相关联的性能特性(226)与预定的性能策略(230)进行比较以标识具有最好地满足预定的性能策略(230)的性能特性(226)的可用CPU(212、214、216、218)。在这个示例中,最好地满足预定的性能策略(230)的CPU可以被选择(228)作为目标CPU以用作引导CPU,使得使用提供由预定的性能策略(230)指定的最佳期望的性能的CPU来引导计算系统(202)。
在图2中描绘的示例方法还包括由插槽配置模块(220)向插有引导CPU的CPU插槽指派(232)引导插槽标识符值。图2的计算系统(202)可以被配置为自动地利用插在由预定的插槽标识符标识的CPU插槽中的CPU作为引导CPU。例如,计算系统(202)可以被配置为自动地利用插在由为‘0’的插槽标识符标识的CPU插槽中的CPU作为引导CPU,其中每个CPU插槽(204、206、208、210)与为0、1、2或者3的插槽标识符值相关联。在这个示例中,插槽配置模块(220)可以向插有被选择(228)为用作引导CPU的CPU的CPU插槽指派(232)为‘0’的插槽标识符值。
为了进一步的说明,图3阐述根据本发明的实施例的图示用于在包括多个填充的CPU插槽(204、206、208、210)的计算系统(202)中优化计算机硬件使用的附加的示例方法的流程图。在图3中描绘的示例方法与在图2中描绘的示例方法类似,因为它也包括确定(222)在计算系统(202)的操作期间将被利用的CPU(212、214、216、218)的数目、确定(224)与每个可用的CPU(212、214、216、218)相关联的性能特性(226)、以及根据与每个可用的CPU(212、214、216、218)相关联的性能特性(226)和预定的性能策略(230)选择(228)目标CPU以用作引导CPU。
在图3中描绘的示例方法也包括由插槽配置模块(220)确定(302)CPU(212、214、216、218)中的一个或者多个CPU是否已经发生故障。确定(302)CPU(212、214、216、218)中的一个或者多个CPU是否已经发生故障例如可以通过插槽配置模块(220)监控由CPU(212、214、216、218)中的一个或者多个CPU生成的错误信息的通信通道、通过插槽配置模块(220)确定CPU(212、214、216、218)中的一个或者多个CPU已经变得无响应等来执行。
在图3中描绘的示例方法中,在图3中描绘的并且参考图2在上述的步骤222、224和228响应于肯定(306)确定CPU(212、214、216、218)中的一个或者多个CPU已经发生故障而被执行。读者将理解,当CPU(212、214、216、218)中的一个或者多个CPU已经发生故障时,在计算系统(202)的操作期间可使用的CPU的总数目已经改变。鉴于仅特定的CPU配置(例如,1个CPU、2个CPU、4个CPU、8个CPU等)被计算系统(202)支持的事实,在计算系统(202)的操作期间将利用的CPU的数目可能需要被重新评估。
考虑一个示例,其中当特定CPU(212)故障时计算系统(202)正操作于4个CPU配置中。在这个示例中,计算系统(202)可能不能简单地使用剩余3个可用的CPU(214、216、218)来操作。插槽配置模块(220)可以因此例如被配置为确定(222)在计算系统(202)的操作期间将被利用的剩余可用的CPU(214、216、218)的数目、确定(224)与每个可用的CPU(214、216、218)相关联的性能特性(226)、以及根据与剩余的三个可用的CPU(214、216、218)中的每个CPU相关联的性能特性(226)和预定的性能策略(230)选择(228)目标CPU以用作引导CPU。
在图3中描绘的示例方法还包括由插槽配置模块(220)根据与每个可用的CPU(212、214、216、218)相关联的性能特性(226)、将被利用的CPU的数目和预定的性能策略(230),选择(308)一个或者多个附加的CPU以用作非引导CPU。如上所述,插槽配置模块(220)选择(228)特定的目标CPU以用作引导CPU。在选择(228)特定的目标CPU以用作引导CPU之后,插槽配置模块(220)可以选择(308)一个或者多个附加的CPU以用作非引导CPU,以便于通过计算系统利用最好地满足预定的性能策略(230)的CPU来提高系统性能。
考虑一个示例,其中预定的性能策略(230)指定每单位时间能够处理最多指令的CPU是优选的。在这个示例中,假设凭借表现出高于剩余CPU(214、216、218)的时钟频率,CPU(212)被选择(228)为引导CPU。在选择(228)CPU(212)作为引导CPU之后,插槽配置模块(220)可以检查与剩余CPU(214、216、218)相关联的性能特性(226)以标识剩余CPU(214、216、218)中的哪个CPU表现出最高时钟频率。由最高时钟频率的剩余CPU(214、216、218)可以接下来被选择(308)为用作非引导CPU。在这个示例中,可以重复这个过程直到插槽配置模块(220)已经标识出等于插槽配置模块(220)之前确定的在计算系统(202)的操作期间将利用的CPU的数目的CPU的数目。
为了进一步的说明,图4阐述根据本发明的实施例的图示用于在包括多个填充的CPU插槽(204、206、208、210)的计算系统(202)中优化计算机硬件使用的附加的示例方法的流程图。在图4中描绘的示例方法与在图2中描绘的示例方法类似,因为它也包括确定(222)在计算系统(202)的操作期间将被利用的CPU(212、214、216、218)的数目、确定(224)与每个可用的CPU(212、214、216、218)相关联的性能特性(226)、以及根据与每个可用的CPU(212、214、216、218)相关联的性能特性(226)和预定的性能策略(230)来选择(228)目标CPU以用作引导CPU。
在图4中描绘的示例方法中,根据与每个可用的CPU(212、214、216、218)相关联的性能特性(226)和预定的性能策略(230)来选择(228)目标CPU以用作引导CPU可以包括根据被耦合至每个可用的CPU(212、214、216、218)的一个或者多个存储器模块(402、406、410、414)的特性来选择(418)目标CPU。在图4中描绘的示例方法中,每个CPU(212、214、216、218)可以经由存储器总线和存储器控制器被耦合至一个或者多个存储器模块(402、404,406、408)。每个存储器模块(402、404、406、408)可以例如被具体化为双列直插存储器模块(‘DIMM’)、单列直插存储器模块(‘SIMM’)等。
在图4中描绘的示例方法中,被耦合至目标CPU的一个或者多个存储器模块(402、406、410、414)的特性描述了存储器模块(402、406、410、414)的一个或者多个属性。一个或者多个存储器模块(402、406、410、414)的特性可以例如包括在被耦合至目标CPU的一个或者多个存储器模块(402、406、410、414)中可用的存储器的总数、数据可以从被耦合至目标CPU的一个或者多个存储器模块(402、406、410、414)中被读取或者被写入至被耦合至目标CPU的一个或者多个存储器模块(402、406、410、414)的速率等。这样,诱发快速存取存储器的预定的性能策略(230)可以导致被连接至具有较快存取速率的存储器模块的目标CPU被选择(228)为引导CPU,而诱发可用存储器的较高容量的预定的性能策略(230)可以导致被连接至具有大存储容量的存储器模块的目标CPU被选择(228)为引导CPU。
在图4中描绘的示例方法中,根据与每个可用的CPU(212、214、216、218)相关联的性能特性(226)和预定的性能策略(230)来选择(228)目标CPU以用作引导CPU可以包括根据被耦合至每个目标CPU的一个或者多个输入/输出(I/O)资源(404、408、412、416)的特性来选择(420)目标CPU。在图4中描绘的该一个或者多个输入/输出(I/O)资源(404、408、412、416)可以例如被具体化为夹层卡、扩展卡或者作为经由诸如外部部件互连(‘PCI’)总线、外部部件互连高速(‘PCIe’)总线等的扩展总线被耦合至特定CPU的另一件计算设备。这种I/O资源(404、408、412、416)可以包括视频卡、声卡、网卡、调制解调器或者用于向计算系统(202)的用户递送输出和从计算系统(202)的用户接收输入的任何其他计算组件。
被耦合至目标CPU的一个或者多个输入/输出(I/O)资源(404、408、412、416)的特性例如可以包括被耦合至特定CPU的I/O资源(404、408、412、416)的类型的标识、I/O资源(404、408、412、416)和特定CPU之间可用的带宽,以及甚至I/O资源(404、408、412、416)对特定CPU的可用性或者存在。考虑一个示例,其中两个CPU(216、218)通过PCIe总线被直接地连接至PCIe存储设备,而剩余的CPU(212,214)并不通过PCIe总线直接地连接至PCIe存储设备。在这个示例中,当用户宁愿利用具有到PCIe存储设备的直接连接的CPU来引导启动计算系统(202)时,诱发至PCIe存储设备的直接连接的预定的性能策略(230)可以导致被直接地连接至PCIe存储设备的目标CPU被选择(228)为引导CPU。
在图4中描绘的示例方法中,根据与每个可用的CPU(212、214、216、218)相关联的性能特性(226)和预定的性能策略(230)来选择(228)目标CPU以用作引导CPU可以包括根据每个可用的CPU(212、214、216、218)的热特性来选择(422)目标CPU。在图4中描绘的示例方法中,每个可用的CPU(212、214、216、218)的热特性可以包括标识在特定CPU(212、214、216、218)的操作期间产生了多少热量的信息。此外,每个可用的CPU(212、214、216、218)的热特性可以包括标识在CPU(212、214、216、218)的特定组合的操作期间多少热量被引入到计算系统(202)中的信息。
考虑一个示例,其中CPU(218)已经发送故障,使得不包括CPU(218)的2-CPU配置将被利用。在这个示例中,假设CPU(212)和CPU(214)以关于诸如风扇的冷却元件的如下方式为导向,该方式使得风扇不导致空气在CPU(212)和CPU(214)之间流动,由此导致由CPU(212)和CPU(214)产生的热量留在计算系统(202)中。然而,在这个示例中进一步假设,CPU(212)和CPU(216)以关于相同风扇的如下方式为导向,该方式使得风扇确实导致空气在CPU(212)和CPU(216)之间流动,由此导致由(212)和CPU(216)产生的热量经由通风孔或者其他机制被排出计算系统(202)。在这个示例中,与CPU(212)和CPU(216)的组合相关联的热特性将比CPU(212)和CPU(214)的热特性更优选。这样,考虑到CPU(216)能够以热有利的方式与其他活跃的CPU(例如,CPU(212))组合,根据每个可用的CPU(212、214、216)的热特性来选择(422)目标CPU可以导致CPU(216)被选作引导CPU。
在图4中描绘的示例方法中,根据与每个可用的CPU(212、214、216、218)相关联的性能特性(226)和预定性能策略(230)来选择(228)目标CPU以用作引导CPU可以包括根据每个可用的CPU(212、214、216、218)的功耗特性来选择(424)目标CPU。在图4中描绘的示例方法中,每个可用的CPU(212、214、216、218)可以消耗不同数量的功率。这样,根据每个可用的CPU(212、214、216、218)的功耗特性来选择(424)目标CPU可以因此通过选择消耗最少数量的功率的可用的CPU(212、214、216、218)作为引导CPU来执行。
在图4中描绘的示例方法还包括重新引导(426)计算系统(202)。在图4中描绘的示例方法中,重新引导(426)计算系统(202)可以包括由目标CPU执行包含在系统BIOS中的计算机程序指令。如上所述,可以选择(228)目标CPU以用作引导CPU,并且可以向插有所选择的CPU的插槽指派(在图2中的232)针对所选择的CPU的插槽标识符。这样,在重新引导计算系统(202)时,目标CPU可以开始执行在系统BIOS中所包含的计算机程序指令作为引导过程的一部分。
读者将理解,上述的方法和系统在包括多个填充的CPU插槽的计算系统中支持最佳的计算机硬件使用,因为具有更理想的性能特性的这些CPU(包括更理想的连接的计算组件),优于具有不够理想的性能特性的那些CPU被选择用于利用。考虑四CPU计算系统的示例,其中CPU3变得不可操作。这样,可用的配置可以包括利用CPU1和CPU2的组合、CPU1和CPU4的组合、或者CPU2和CPU4的组合作为可用的系统配置。在这个示例中,如果CPU1和CPU4的组合包括被耦合至CPU的任意组合的最大种类的网络适配器,则当预定的性能策略更强调I/O设备的多样性时,可以利用CPU1和CPU4的组合。可替代地,如果CPU2和CPU4的组合具有被耦合至CPU的任意组合的最大容量的存储器时,当预定的性能策略更强调存储空间时,可以利用CPU2和CPU4的组合。这样,可以利用CPU的任何可用的组合,该组合可以通过评估与每个CPU相关联的性能能力如何以及每个CPU的连接的设备如何满足在预定的性能策略中所表达的性能偏好来确定。
本发明可以是系统、方法和/或计算机程序产品。该计算机程序产品可以包括其上具有计算机可读程序指令用于使得处理器执行本发明的方面的计算机可读存储媒介(或者介质)。
计算机可读存储媒介可以是能够保留和存储由指令执行设备使用的指令的有形的设备。计算机可读存储媒介可以是,例如但不限于,电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者前述的任意适当的组合。计算机可读存储介质的更具体的示例的非穷尽的列表包括以下:便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或者闪存存储器)、静态随机存取存储器(SRAM)、便携式光盘只读存储器(CR-ROM)、数字化通用磁盘(DVD)、记忆棒、软盘、诸如穿孔卡片或者具有指令记录于其上的凹槽中的凸起结构的机械编码设备、以及前述的任意适当的组合。在此使用的计算机可读存储媒介,将不被理解为是瞬态信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或者其他传输介质传播的电磁波(例如,通过光纤电缆传播的光脉冲)、或者通过导线传输的电信号。
在此所述的计算机可读程序指令可以从计算机可读存储媒介下载至各自的计算/处理设备中,或者经由网络,例如,互联网、局域网、广域网和/或无线网络下载至外部计算机或者外部存储设备中。该网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。在每个计算/处理设备中的网络适配器或者网络接口就从网络接收计算机可读程序指令并且转发计算机可读程序指令用于在各自的计算/处理设备内的计算机可读媒介中的存储。
用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者用一种或者多种编程语言的任意组合编写的源代码或者目标代码,包括诸如Smalltalk、C++等的面向对象的编程语言、以及诸如“C”编程语言或者类似编程语言的传统的过程式编程语言。计算机可读程序指令可以完全地在用户的计算机上执行,部分地在用户的计算机上执行,作为独立软件包,部分地在用户的计算上并且部分地在远程计算机上执行,或者完全地在远程计算机或者服务器上执行。在后面的场景中,远程计算机可以通过任何类型的网络,包括局域网(LAN)或者广域网(WAN),被连接至用户的计算机,或者该连接可以是与外部计算机建立的(例如,使用互联网服务提供商通过互联网)。在一些实施例中,电子电路包括,例如,可编程逻辑电路、现场可编程门阵列(FPGA)或者可编程逻辑阵列(PLA),可以通过使用计算机可读程序指令的状态来执行计算机可读程序指令以个性化电子电路,以便于执行本发明的方面。
根据本发明的实施例参考方法、装置(系统)和计算机程序产品的流程图示图和/或框图在此描述了本发明的方面。应当理解,流程图示图和/或框图中的每个框,以及在流程图示图和/或框图中的框的组合,可以由计算机可读程序指令来实现。
这些计算机可读程序指令可以被提供给通用计算机、专用计算机或者其他可编程数据处理装置的处理器以生产一台机器,使得经由计算机或者其他可编程数据处理装置的处理器执行的这些指令,创造用于实现在流程图和/或框图的一个框或者多个框中指定的功能/动作的装置。这些计算机可读程序指令也可以存储于计算机可读存储媒介中,该计算机可读存储媒介可以指向计算机、可编程数据处理装置、和/或以特定方式作用的其他设备,使得具有指令存储于其中的计算机可读存储媒介包括含有实现在流程图和/或框图的一个框或者多个框中指定的功能/动作的方面的指令的一件制品。
也可以将计算机可读程序指令加载到计算机、其他可编程数据处理装置或者其他设备上以导致一系列的操作步骤在计算机、其他可编程装置或者其他设备上被执行以产生计算机实现的过程,使得在计算机、其他可编程装置或者其他设备上执行的指令实现在流程图和/或框图的一个框或者多个框中指定的功能/动作。
在图中的流程图和框图图示根据本发明的各种实施例的系统、方法和计算机程序产品的可能的实现的架构、功能和操作。就这一点而言,在流程图或者框图中的每个框可以代表指令的模块、分段或者部分,该指令的模块、分段或者部分包括用于实现特定逻辑功能的一条或者多条可执行的指令。在一些可替代的实现中,框中所注的功能可以不按照图中所注的顺序发生。例如,根据所涉及的功能,连续地示出的两个框,事实上,可以基本上并发地被执行,或者这些框可以有时按相反的顺序来执行。还应当注意,框图和/或流程图示图中的每个框,以及在框图和/或流程图示图中的框的组合,可以通过执行特定功能或动作或者执行专用硬件和计算机指令的组合的基于专用硬件的系统来实现。
从前述描述中应当理解,可以在本发明的各种实施例中做出修改和变化而不背离本发明的真正的精神。在本说明书中的描述仅为了说明的目的而不从限制的意义来被理解。本发明的范围仅通过以下权利要求的语言来限定。
Claims (18)
1.一种用于优化计算机硬件使用的装置,所述装置包括计算机处理器以及操作地耦合至所述计算机处理器的计算机存储器,所述计算机存储器在其内安置有计算机程序指令,当所述计算机程序指令由所述计算机处理器执行时,促使所述装置执行以下步骤:
由所述装置中的插槽配置模块确定在计算系统的操作期间将被利用的所述计算系统的中央处理单元CPU的数目;
由所述插槽配置模块确定与计算设备相关联的性能特性,所述计算设备耦合到所述数目个CPU中的一个或多个CPU;以及
由所述插槽配置模块根据与所述计算设备相关联的所述性能特性和预定的性能策略来选择所述数目个CPU中的目标CPU以用作引导CPU。
2.根据权利要求1所述的装置,其中所述计算设备在所述计算系统内,并且其中所述计算设备包括片外存储器、输入/输出设备或者网络带宽适配器中的一个或多个。
3.根据权利要求1所述的装置,进一步包括如下计算机程序指令,当所述计算机程序指令由所述计算机处理器执行时,促使所述装置执行由所述插槽配置模块根据与每个可用的CPU相关联的性能特性、将被利用的CPU的数目和所述预定的性能策略来选择一个或者多个附加的CPU以用作非引导CPU的步骤。
4.根据权利要求1所述的装置,其中CPU的所述数目小于所述计算系统的所有可用CPU,并且其中CPU的所述数目根据指定多个CPU的CPU配置的配置策略而被确定,所述CPU配置的最大数目小于或者等于所述计算系统的所有可用CPU的数目。
5.根据权利要求1所述的装置,其中由所述插槽配置模块根据与所述计算设备相关联的所述性能特性和预定的性能策略来选择所述数目个CPU中的目标CPU以用作引导CPU进一步包括:根据被耦合至每个可用的CPU的一个或者多个存储器模块的特性来选择目标CPU。
6.根据权利要求1所述的装置,其中由所述插槽配置模块根据与所述计算设备相关联的所述性能特性和预定的性能策略来选择所述数目个CPU中的目标CPU以用作引导CPU进一步包括:根据被耦合至每个可用的CPU的一个或者多个输入/输出(I/O)资源的特性来选择目标CPU。
7.根据权利要求1所述的装置,其中由所述插槽配置模块根据与所述计算设备相关联的所述性能特性和预定的性能策略来选择所述数目个CPU中的目标CPU以用作引导CPU进一步包括:根据每个可用的CPU的热特性来选择目标CPU。
8.根据权利要求1所述的装置,其中由所述插槽配置模块根据与所述计算设备相关联的所述性能特性和预定的性能策略来选择所述数目个CPU中的目标CPU以用作引导CPU进一步包括:根据每个可用的CPU的功耗特性来选择目标CPU。
9.根据权利要求1所述的装置,进一步包括如下计算机程序指令,当所述计算机程序指令由所述计算机处理器执行时,促使所述装置执行重新引导所述计算系统的步骤,包括由所述目标CPU执行包含在系统BIOS中的计算机程序指令。
10.一种用于优化计算机硬件使用的方法,所述方法包括:
确定在计算系统的操作期间将被利用的所述计算系统的中央处理单元CPU的数目;
确定与计算设备相关联的性能特性,所述计算设备耦合到所述数目个CPU中的一个或多个CPU;以及
根据与所述计算设备相关联的所述性能特性和预定的性能策略来选择所述数目个CPU中的目标CPU以用作引导CPU。
11.根据权利要求10所述的方法,进一步包括向插有所述引导CPU的CPU插槽指派引导插槽标识符值。
12.根据权利要求10所述的方法,进一步包括根据与每个可用的CPU相关联的性能特性、将被利用的CPU的数目和所述预定的性能策略来选择一个或者多个附加的CPU以用作非引导CPU。
13.根据权利要求10所述的方法,进一步包括确定所述CPU中的一个或者多个CPU是否已经发生故障。
14.根据权利要求10所述的方法,其中根据与所述计算设备相关联的所述性能特性和预定的性能策略来选择所述数目个CPU中的目标CPU以用作引导CPU进一步包括:根据被耦合至每个可用的CPU的一个或者多个存储器模块的特性来选择目标CPU。
15.根据权利要求10所述的方法,其中根据与所述计算设备相关联的所述性能特性和预定的性能策略来选择所述数目个CPU中的目标CPU以用作引导CPU进一步包括:根据被耦合至每个可用的CPU的一个或者多个输入/输出(I/O)资源的特性来选择目标CPU。
16.根据权利要求10所述的方法,其中根据与所述计算设备相关联的所述性能特性和预定的性能策略来选择所述数目个CPU中的目标CPU以用作引导CPU进一步包括:根据每个可用的CPU的热特性来选择目标CPU。
17.根据权利要求10所述的方法,其中根据与所述计算设备相关联的所述性能特性和预定的性能策略来选择所述数目个CPU中的目标CPU以用作引导CPU进一步包括:根据每个可用的CPU的功耗特性来选择目标CPU。
18.根据权利要求10所述的方法,进一步包括由所述目标CPU执行包含在系统BIOS中的计算机程序指令。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/219,286 US9471329B2 (en) | 2014-03-19 | 2014-03-19 | Optimizing computer hardware usage in a computing system that includes a plurality of populated central processing unit (‘CPU’) sockets |
US14/219,286 | 2014-03-19 | ||
US14/220,194 US9477485B2 (en) | 2014-03-19 | 2014-03-20 | Optimizing computer hardware usage in a computing system that includes a plurality of populated central processing unit (‘CPU’) sockets |
US14/220,194 | 2014-03-20 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104932940A CN104932940A (zh) | 2015-09-23 |
CN104932940B true CN104932940B (zh) | 2019-12-06 |
Family
ID=54120115
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510120017.5A Active CN104932940B (zh) | 2014-03-19 | 2015-03-18 | 用于优化计算机硬件使用的装置和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104932940B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1664784A (zh) * | 2005-03-30 | 2005-09-07 | 中国人民解放军国防科学技术大学 | 大规模并行计算机系统分组并行启动方法 |
CN103197959A (zh) * | 2013-04-08 | 2013-07-10 | 合肥联宝信息技术有限公司 | 一种多核cpu的切换方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7065641B2 (en) * | 2002-06-13 | 2006-06-20 | Intel Corporation | Weighted processor selection apparatus and method for use in multiprocessor systems |
-
2015
- 2015-03-18 CN CN201510120017.5A patent/CN104932940B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1664784A (zh) * | 2005-03-30 | 2005-09-07 | 中国人民解放军国防科学技术大学 | 大规模并行计算机系统分组并行启动方法 |
CN103197959A (zh) * | 2013-04-08 | 2013-07-10 | 合肥联宝信息技术有限公司 | 一种多核cpu的切换方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104932940A (zh) | 2015-09-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6532142B2 (ja) | サーバシステムにおける最大ファンデューティの動的調整 | |
TWI534708B (zh) | 用於管理電腦系統中之基本輸入輸出系統組態之方法、管理裝置、及電腦可讀取媒體 | |
US9471329B2 (en) | Optimizing computer hardware usage in a computing system that includes a plurality of populated central processing unit (‘CPU’) sockets | |
US20140122931A1 (en) | Performing diagnostic tests in a data center | |
US9940275B2 (en) | System and method to avoid SMBus address conflicts via a baseboard management controller | |
US9934021B2 (en) | System and method for adaptive application self-updating | |
US10212844B2 (en) | System and method for improving fan life in an information handling system | |
US9916476B2 (en) | Maintaining cryptoprocessor types in a multinode environment | |
US9817735B2 (en) | Repairing a hardware component of a computing system while workload continues to execute on the computing system | |
US11922176B2 (en) | Containerized firmware services | |
US8819484B2 (en) | Dynamically reconfiguring a primary processor identity within a multi-processor socket server | |
US9979799B2 (en) | Impersonating a specific physical hardware configuration on a standard server | |
US9471433B2 (en) | Optimizing computer hardware usage in a computing system that includes a plurality of populated central processing unit (‘CPU’) sockets | |
US10996942B1 (en) | System and method for graphics processing unit firmware updates | |
US9003172B2 (en) | Intelligently controlling loading of legacy option ROMs in a computing system | |
US9292396B2 (en) | System and method for secure remote diagnostics | |
CN104932940B (zh) | 用于优化计算机硬件使用的装置和方法 | |
US9811345B2 (en) | Utilizing computing resources under a disabled processor node without fully enabling the disabled processor node | |
US8645600B2 (en) | Configuring expansion component interconnect (‘ECI’) physical functions on an ECI device in a computing system | |
US20240012743A1 (en) | Automation test accelerator | |
US11513575B1 (en) | Dynamic USB-C mode configuration | |
US11366673B1 (en) | Managing transitioning of computing system to power-on state from standby-power state | |
US11947825B2 (en) | System and method for content addressable storage system update appliance | |
US11347675B2 (en) | System and method for dynamically configuring storage mapping | |
US10048970B2 (en) | Portable boot configuration solution for thin client device |
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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20210609 Address after: 23 / F, Lincoln building, 979 King's road, Quarry Bay, Hong Kong, China Patentee after: Lenovo Global Technology International Co.,Ltd. Address before: Singapore City Patentee before: Lenovo Enterprise Solutions (Singapore) Pte. Ltd. |