用于调整冷却设置的方法和数据处理系统的制作方法

文档序号:6602161阅读:178来源:国知局
专利名称:用于调整冷却设置的方法和数据处理系统的制作方法
技术领域
本发明一般涉及处理器冷却管理,更具体来说,涉及在处理器温度变化之前基于 一组指令所需的能量来调整处理器冷却设置。
背景技术
在同一个底盘中提供多个处理器并通过相同的冷却系统进行冷却,增加了热能和 成本效率。然而,合并的冷却的某些得益会部分地被不匹配的冷却的低效率所抵消。换句话 说,一个处理器可能由于其工作负荷需要高强度的冷却,而其他模块却需要低强度的冷却。提高冷却的效率一种方式是在全部处理器之间统一地使用冷却。每一个处理器都 具有均勻的温度。提高效率也可以通过将带有最高的热辐射的任务分配到其温度最低的处 理器。

发明内容
说明性实施例提供了用于调整冷却设置的计算机实现的方法,数据处理系统,以 及计算机程序产品。计算机实现的方法包括分析应用程序的指令集,以确定指令集将使至 少一个处理器核的温度上升的度数。计算机实现的方法进一步计算所述至少一个处理器核 的至少一个冷却系统的冷却设置。计算机实现的方法基于所述冷却设置调整所述至少一个 冷却系统。分析所述指令集的步骤是在所述指令集在所述至少一个处理器核上执行之前执 行的。调整所述至少一个冷却系统的步骤是在所述指令集在所述至少一个处理器核上执行 之前执行的。


图1是根据说明性实施例所描述的数据处理系统的图;图2是根据说明性实施例的冷却管理系统的组件的方框图;图3是使用根据说明性实施例的冷却管理系统的过程的流程图;图4是使用根据说明性实施例的冷却管理系统的过程的流程图;以及图5是使用根据说明性实施例的冷却管理系统的过程的流程图。
具体实施例方式如本领域技术人员所了解的,本发明可以作为系统、方法或计算机程序产品来实 现。相应地,本发明可以采用完全是硬件实施例、完全是软件实施例(包括固件、常驻软件, 微代码等等)或可以一般性地全部被称为“电路”、“模块”或“系统”的组合了软件和硬件 方面的实施例的形式。此外,本发明还可以采用在任何有形的介质中实现的计算机程序产 品的形式,在介质上有计算机可使用的程序代码。可以使用一个或多个计算机可使用的或计算机可读取的介质的任何组合。计算机 可使用的或计算机可读取的介质可以是,例如,但不仅限于,电子、磁性、光学、电磁、红外线或半导体系统、设备或传播介质。计算机可读取的介质的更具体的示例(不完全)包括下列各项具有一个或多个线路的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只 读存储器(ROM)、可擦与可编程只读存储器(EPR0M或快擦写存储器)、光纤、便携式压缩光 盘只读存储器(⑶ROM)、光存储器设备、诸如那些支持因特网或内部网的传输介质,或磁存 储设备。注意,计算机可使用的或计算机可读取的介质甚至可以是纸张或在其上打印了程 序的另一种合适的介质,由于程序可以通过,例如,对纸张或其他介质进行光学扫描,以电 子方式捕获,然后,汇编、解释,或以别的合适的方式进行处理,如有必要,然后,存储在计算 机存储器中。在此文档的上下文中,计算机可使用的或计算机可读取的介质可以是可以包 含、存储、传递、传播或传输供指令执行系统、设备使用或与它们一起使用的程序的任何介 质。计算机可使用的介质可以包括其中带有计算机可使用的程序代码的传播的数据信号, 无论是在基带中,还是作为载波的一部分。计算机可使用的程序代码可以使用任何合适的 介质进行传输,包括,但不仅限于,无线、有线线路、光缆、RF等等。用于执行本发明的操作的计算机程序代码可以以一种或多种编程语言的任何组 合来进行编写,包括诸如Java、Smalltalk, C++等等之类的面向对象编程语言,以及诸如 “C”编程语言或类似的编程语言之类的常规过程编程语言。程序代码可以作为独立软件包 完全在用户的计算机上,部分地在用户的计算机上执行,部分地在用户的计算机上并且部 分地在远程计算机上执行,或者完全在远程计算机或服务器上执行。在后一种情况下,远程 计算机可以通过任何网络类型连接到用户的计算机,包括局域网(LAN)或广域网(WAN),或 者可以连接到外部计算机(例如,使用因特网服务提供商,通过因特网)。下面将参考根据本发明的实施例的方法、设备(系统)和计算机程序产品的流程 图和/或方框图来描述本发明。可以理解,流程图和/或方框图的每一方框,流程图和/或 方框图中的方框的组合,都可以通过计算机程序指令来实现。这些计算机程序指令可以被提供到通用计算机、专用计算机的处理器,或其他可 编程数据处理设备,以产生机器,以便通过计算机或其他可编程数据处理设备的处理器执 行的指令产生用于实现在该流程图和/或方框图方框或方框所指定的功能的装置。这些计 算机程序指令还可以存储在计算机可读的介质中,该介质可以指示计算机或其他可编程数 据处理设备以特定方式运转,以便存储在计算机可读的介质中的指令产生一种包括了指令 装置的产品,该指令装置实现了在该流程图和/或方框图方框所指定的功能。计算机程序指令也可以加载到计算机或其他可编程数据处理设备中,以使一系列 操作步骤在计算机上或其他可编程设备上执行,以产生计算机实现的进程,以便在计算机 或其他可编程设备上执行的指令提供用于实现在流程图和/或方框图方框所指定的功能 的过程。现在请参看图1,根据说明性实施例描述了数据处理系统的图。在此说明性示例 中,数据处理系统100包括在处理器单元104、存储器106、永久性存储器108、通信单元 110、输入/输出(I/O)单元112,以及显示器114之间提供通信的通信结构102。如这里所 使用的,术语“处理器”可用来与“处理器核”和“处理器单元”可互换地使用。处理器单元104用于执行可以加载到存储器106中的软件的指令,处理器单元104 可以是一组一个或多个处理器,也可以是多处理器核,取决于特定的实现方式。此外,处理 器单元104可以通过使用一个或多个异构型处理器系统来实现,其中在单一芯片上为主处理器提供了辅助处理器。作为另一个说明性示例,处理器单元104可以是包含相同类型的 多个处理器的对称的多处理器系统。在本发明的说明性实施例中,处理器单元104可以通过诸如冷却系统210之类的 冷却系统来进行冷却,如图2所示。提供到处理器单元104的冷却方式和冷却的量可以由 将由处理器单元104执行的一组指令将需要的能量的量来确定。存储器106和永久性存储器108是存储设备的示例。存储设备是能够存储诸如, 例如,但不仅限于,功能形式的数据,程序代码之类的信息,和/或临时地和/或永久性地存 储其他适当的信息的任何硬件片段。在这些示例中,存储器106可以是,例如,随机存取存 储器或任何其他适当的易失性或非易失性存储器设备。取决于特定实现方式,永久性存储 器108可以采用各种形式。例如,永久性存储器108可以包含一个或多个组件或设备。例 如,永久性存储器108可以是硬盘驱动器、闪存、可重写光盘、可重写磁带,或上面各项的一 些组合。由永久性存储器108所使用的介质也可以是可移动的。例如,可移动硬盘驱动器 可以用于永久性存储器108。在这些示例中,通信单元110提供了与其他数据处理系统或设备的通信。在这些 示例中,通信单元110是网络接口卡。通信单元110可以通过使用物理和无线通信链路中 的任何一种或两者一起来提供通信。输入/输出单元112允许利用可以连接到数据处理系统100的其他设备输入和输 出数据。例如,输入/输出单元112可以为通过键盘、鼠标和/或某种其他适当的输入设备 进行用户输入来提供连接。此外,输入/输出单元112还可以向打印机发送输出。显示器 114提供向用户显示信息的机制。操作系统、应用程序和/或程序的指令可以位于存储设备120上,存储设备120通 过通信结构102与处理器单元104进行通信。在这些说明性示例中,指令在永久性存储器 108上是功能形式。这些指令可以加载到存储器106中,供处理器单元104执行。不同的实 施例的过程可以由处理器单元104使用计算机实现的指令来执行,指令可以位于诸如存储 器106之类的存储器中。这些指令被称为程序代码、计算机可使用的程序代码或计算机可读取的程序代 码,可以由处理器单元104中的处理器读取和执行。不同的实施例中的程序代码可以在诸 如存储器106或永久性存储器108之类的不同的物理的或有形的计算机可读取的介质上实 现。程序代码116以功能形式位于计算机可读取的介质118上,计算机可读取的介质 118有选择地可移动,并可以加载到或传输到数据处理系统100,供处理器单元104执行。在 这些示例中,程序代码116和计算机可读取的介质118构成了计算机程序产品120。在一个 示例中,计算机可读取的介质118可以是有形的形式,诸如,例如,插入或放入驱动器或作 为永久性存储器108的一部分的其他设备的光盘或磁盘,用于传输到诸如作为永久性存储 器108的一部分的硬盘驱动器之类的存储设备上。在有形的形式下,计算机可读取的介质 118也可以采用永久性存储器的形式,如连接到数据处理系统100的硬盘驱动器、拇指驱动 器或闪存。计算机可读取的介质118的有形的形式也被称为计算机可记录的存储介质。在 某些情况下,计算机可读取的介质118可以不是可移动的。或者,程序代码116可以通过与通信单元110的通信链路和/或通过与输入/输出单元112的连接,从计算机可读取的介质118传输到数据处理系统100。在说明性示例中,通信链路和/或连接可以是物理的或无线的。计算机可读取的介质还可以采用非有形 的介质的形式,如包含程序代码的通信链路或无线传输。在一些说明性实施例中,可以通过网络从另一个设备或数据处理系统将程序代码 116下载到永久性存储器108,供在数据处理系统100内使用。例如,可以通过网络将存储 在服务器数据处理系统中的计算机可读取的存储介质中的程序代码从服务器下载到数据 处理系统100。提供程序代码116的数据处理系统可以是服务器计算机、客户端计算机,或 能够存储和传输程序代码116的某种其他设备。为数据处理系统100所说明的不同的组件不意味着对可以实现不同的实施例的 方式提供体系结构限制。不同的说明性实施例可以在包括除为数据处理系统100所显示的 那些组件之外的组件或代替那些组件的数据处理系统中实现。如图1所示的其他组件可以 不同于所显示的说明性示例。可以使用能够执行程序代码的任何硬件设备或系统来实现不 同的实施例。作为一个示例,数据处理系统可以包括与无机组件集成的有机组件和/或可 以完全由人之外的有机组件构成。例如,存储设备可以由有机半导体构成。作为另一个示例,数据处理系统100中的存储设备是可以存储数据的任何硬件设 备。存储器106、永久性存储器108和计算机可读取的介质120是有形的形式的存储设备的 示例。在另一个示例中,可以使用总线系统来实现通信结构102,总线系统可以由诸如系 统总线或输入/输出总线之类的一个或多个总线构成。当然,总线系统可以使用任何适当 的种类的体系结构来实现,用于在连接到总线系统的不同组件或设备之间进行数据传输。 另外,通信单元可以包括诸如调制解调器或网络适配器之类的用来传输与接收数据的一个 或多个设备。此外,存储器可以是,例如,存储器106或高速缓存,如在可以存在于通信结构 102中的接口和存储器控制器集线器中的那些。请参看图2,显示了根据说明性实施例的冷却管理系统200的组件的方框图。冷 却管理系统200依赖于图1的数据处理系统100的组件,但是,在操作中,不会对这些组件 进行寻址。在此说明性实施例中,冷却管理系统200的组件包括应用程序202、冷却管理程 序204、储存库206、操作系统208,以及数据处理系统226。数据处理系统226进一步包括 冷却系统210和处理器212-218。取决于特定实现方式,每一个处理器212、214、216和218 可以是一组一个或多个处理器,或者,也可以是多处理器核。此外,每一个处理器212、214、 216和218可以通过使用一个或多个异构型处理器系统来实现,其中在单一芯片上为主处 理器提供了辅助处理器。作为另一个说明性示例,每一个处理器212、214、216,以及218可 以是包含相同类型的多个处理器的对称的多处理器系统。冷却系统210进一步包括液体冷却220、空气冷却222、热电冷却224中的至少一 种,和/或某种其他适当的冷却设备。如这里所使用的短语“至少一个”,当与项目列表一起 使用时,意味着,可以使用列出的项目中的一个或多个的不同的组合,可能只需要列表中的 每一个项目中的一个。例如,“项目A、项目B,以及项目C中的至少一个”可以包括,例如,但 不仅限于,项目A或项目A和项目B。此示例还可以包括项目A、项目B,以及项目C。此示 例还可以只包括项目B和项目C。应用程序202可以是在计算机系统上运行的任何应用程序类型。应用程序202是程序代码的形式,是可以由诸如处理器单元104和/或处理器212-218之类的处理器单元 执行的功能形式。应用程序202可以包含源代码或可执行的机器代码。通常,在应用程序 202的正常的操作过程中,应用程序202与操作系统208进行通信。例如,应用程序202可 以通过应用程序编程接口(API)与操作系统208进行通信。在此说明性实施例中,冷却管理程序204可以识别接下来要执行的指令集,如指 令集228。指令集228可以包括循环或任何其他指令集,小到单个指令,大到整个应用程序。 如这里参考项目所使用的集是指一个或多个项目。例如,指令集228可以是一个或多个指 令。冷却管理程序204可以分析指令集228,以确定指令集228将使至少一个处理器核的温 度上升的度数。冷却管理程序204可以从储存库206中检索有关指令集228的信息。例如,如果 指令集228正在执行某一计算,则储存库可以包含有关当执行时计算将消耗多少能量的信 息。冷却管理程序204确定指令集228将消耗的能量的量,并将此与处理器的热惯性组合 起来,以确定处理器的变化量和/或变化速率。储存库206可以是任何形式的存储器,诸如 如图1所示的永久性存储器108。此外,储存库206可以包括在同一个设备、计算机或诸如 冷却管理程序204之类的冷却管理系统上,但是,也可以位于远程位置和/或服务器上。冷却管理程序204在约束方程中使用来自处理器的信息和储存库中的信息来确 定数据处理系统226的更新的冷却设置。冷却管理程序204也可以确定使用哪一个冷却系 统或以什么组合来使用冷却系统。冷却管理程序204将更新的冷却设置230发送到操作系 统208。操作系统208可以根据从冷却管理程序204接收到的更新的冷却设置232,改变冷 却系统210的冷却设置230。消耗的能量将导致诸如处理器212-218之类的处理器温度升高。由此说明性实施 例所提供的特征是,在温度实际变化之前,处理器212、214、216以及218的温度的未来变化 是已知的。这有助于延长处理器的寿命。另外,由于在变化发生之前温度变化是已知的,因 此,操作系统208能够更有效地调整至少一个冷却系统的冷却设置230。可以基于约束方程来调整冷却设置230,以提高冷却系统210的效率。约束方程可 以具有许多约束,如处理器的最高温度,或必须保持的温度的范围。所需的温度配置文件表 示处理器单元中的每一个处理器的冷却设置230。温度配置文件是每一个冷却系统和处理 器单元中的每一个处理器的共同的设置。约束方程基于能量成本和/或货币成本的最小化,最大化了效率。例如,可以判断 处理器212将接收到需要高能量的量的指令块。在此示例中,冷却管理程序204基于约束 方程,确定处理器212上的冷却需要开到最大冷却,而处理器212、214、216以及218上的冷 却可以降低到最小冷却。在指令集228到达处理器212之前,增加冷却。一些指令集比其 他指令集需要更多的能量。可以在储存库中查找指令集228需要的能量的量。另外,如果指令集228是等待循环,则冷却管理程序204可以判断,由于没有指令 集228,在至少一个处理器212,214,216或218上降低冷却。循环也可以包含增量式计数 器,允许冷却管理程序204确定循环的整个迭代集的能量成本。冷却管理程序204可以考 虑应用程序202取得分支指令的次数的数量和/或比率。应用程序202执行分支指令的次 数的数量和/或比率可以被用来计算冷却设置。例如,如果分支指令A被执行了 99%的时 间,则由于分支指令A被执行的概率比较高,冷却管理程序204可以在执行分支指令A之前调整冷却设置,以考虑分支指令A的能量需求。冷却管理程序202也可以使用应用程序202 的一部分上的编译器线索来判断指令集228是否在多个处理器上并行运行。例如,编译器 线索可以指出一个循环和/或指令集228包含过程调用。如果循环包含过程调用,那么,可 能不并行运行,因为并行循环将干扰该函数本地的任何变量。或者,如果循环可以并行运 行,则在更新冷却设置时,冷却管理程序204将考虑并行/多线程处理。储存库中可以预先加载信息,或被动态地更新。例如,每当执行新的指令集时,可 以更新储存库。信息可以从新指令集使处理器的温度上升了多少来获取。指令集228需要 的能量可以以英国热单位(BTU)表示。另外,储存库可以包含每一个处理器212、214、216 以及218的热惯性。热惯性被冷却管理程序204用来确定每一个处理器212、214、216以及 218的温度的变化量和变化速率。图2中的冷却管理系统200的说明并不暗示对可以实现不同的优选实施例的方式 施加物理的或体系结构限制。还可以使用除所显示的那些组件之外的其他组件作为其补 充,和/或代替这些组件。在一些优选实施例中,一些组件可能不需要。此外,还呈现了方 框,用于显示一些功能组件。当在不同的优选实施例中实现时,这些方框中的一个或多个可 以组合起来,和/或分成不同的方框。例如,冷却管理程序204可以应用于一个以上的应用 程序。此外,冷却管理程序204还可以直接改变冷却系统210中的冷却设置。另外,冷却系 统204还可以作为数据处理系统226、处理器212-218,和/或冷却系统210中的微代码来 实现。请参看图3,显示了根据说明性实施例的使用图2的冷却管理系统200的过程的流 程图。过程可以通过图2的冷却管理程序204来实现。过程开始,分析应用程序的指令集,以确定指令集将使至少一个处理器的温度上 升的度数(步骤302)。在指令集在处理器上执行之前,分析指令集。对至少一个处理器的 至少一个冷却系统,进行冷却设置的计算(步骤304)。冷却设置的计算可以基于约束方程 来进行。约束方程可以使用每一个处理器的温度、能量成本,货币成本,每一个处理器的热 惯性,和/或与处理器相关的任何其他特征。然后,基于冷却设置,对至少一个冷却系统进 行调整(步骤306)。对冷却系统的调整包括关闭、打开至少一个冷却系统,提高和/或降低 至少一个冷却系统的强度,或这些操作的任何组合。然后,过程结束。请参看图4,显示了根据说明性实施例的使用图2的冷却管理系统200的过程的流 程图。过程可以通过图2的冷却管理程序204来实现。过程开始,在指令集在处理器上执行之前,分析应用程序的指令集,以确定指令集 将使至少一个处理器的温度上升的度数(步骤402)。对至少一个处理器的至少一个冷却系 统,进行冷却设置的计算(步骤404)。在指令集在处理器上执行之前,基于冷却设置,对至 少一个冷却系统进行调整(步骤406)。然后,过程结束。请参看图5,显示了根据说明性实施例的使用图2的冷却管理系统200的过程的流 程图。过程可以通过图2的冷却管理程序204来实现。过程开始,在指令集在处理器核上执行之前,分析应用程序的指令集,以确定指令 集将使至少一个处理器核的温度上升的度数(步骤502)。识别至少一个处理器核的温度 (步骤504)。从储存库中检索关于指令集的信息(步骤506)。储存库包括关于多个指令集 的信息。信息包括多个指令集中的每一个指令集的能量消耗数据。信息包括至少一个处理器核的中的每一个的热惯性数据。对至少一个处理器核的至少一个冷却系统,进行冷却设 置的计算(步骤508)。在指令集在处理器核上执行之前,基于冷却设置,对至少一个冷却系 统进行调整(步骤510)。然后,过程结束。图中的流程图和方框图显示了根据本发明的各个实施例的系统、方法和计算机程 序产品的可能的实现方式的体系结构、功能,以及操作。关于这一点,流程图或方框图中的 每一个方框都可以代表包括用于实现指定的逻辑功能的一个或多个可执行的指令的一个 模块、一段、或代码部分。还应注意,在某些替代实现方式中,在方框中所指出的功能可以不 按照图中所说明的顺序发生。例如,依次显示的两个方框可以,事实上,基本上同时地执行, 或者,取决于涉及的功能,方框有时也可以按相反的顺序执行。还应该注意,方框图和/或 流程图例图的每一个方框,以及方框图和/或流程图例图中的方框的组合,可以通过执行 指定的功能或操作,或专用硬件以及计算机指令的组合的基于专用硬件的系统来实现。与当前可用的冷却技术相比,一个或多个说明性实施例可以提供更加有效的冷却 技术。说明性实施例可以提供超前的冷却。超前冷却允许在处理器开始改变温度之前或正 要改变温度时,改变处理器上的冷却。超前冷却通过计算发送到处理器的指令集的能量需 求,在变化发生之前确定处理器的温度变化。一个或多个说明性实施例可以利用约束方程来确定处理器和/或一组处理器所 需的最高温度或所需的温度范围。通过使用约束方程,可以最大化处理器、冷却系统、能量 成本和/或货币成本的效率。在一个或多个说明性实施例中,冷却管理系统可以识别将由于指令集的执行而发 生的处理器单元中的多个处理器的温度变化。接下来,冷却管理系统可以识别与处理器的 数量关联的冷却系统的变化来维护所述处理器单元所需的温度配置文件,以形成识别的变 化。然后,冷却管理系统和/或操作系统可以使用识别的变化来调整冷却系统。另外,可以 使用约束方程来识别变化。变化可以是冷却系统的更新的冷却设置。在一个或多个说明性实施例中,冷却管理系统可以识别将由于指令集的执行而发 生的处理器单元中的多个处理器的温度变化。接下来,冷却管理系统可以识别与处理器的 数量关联的工作负荷的变化来维护所述处理器单元所需的温度配置文件,以形成识别的变 化。工作负荷是发送到某一处理器的指令的量和类型。然后,冷却管理系统和/或操作系 统可以使用识别的变化来调整工作负荷。例如,操作系统可以向具有低温和高温最高温度 的处理器发送能量消耗量比较大的指令。可以使用约束方程来确定工作负荷的分布的最高 效率。可以使用约束方程来识别变化。这里所使用的术语只是为了描述特定实施例,而不对本发明作出限制。如这里所 使用的,单数形式“一个”也包括复数形式,除非上下文明确地指出。还应该进一步理解,本 说明中所使用的术语“包括”,表示存在指定的特点、整体、步骤、操作、元件和/或组件,但 是,不排除存在或增加一个或多个其他特征、整体、步骤、操作、元件、组件或其组合。下面的权利要求中的所有装置或步骤加功能元件的对应的结构、材料、操作,以及 等效的东西计划包括用于与专门主张的其他主张的元件相结合地执行功能的任何结构、材 料或操作。对本发明的描述只作说明,而不是详尽的说明或限于所说明的形式。所属领域 的技术人员将认识到,在不偏离本发明的范围和精神的情况下,可以进行各种修改。所选择 的实施例只是为了最好地说明本发明的原理和实际应用,并使其他本领域技术人员懂得,带有各种修改的各种实施例也是可以接受的。本发明可以采用完全是硬件、完全是软件或包含硬件和软件元件两者的实施方式 的形式。在优选实施例中,本发明是以软件实现的,包括但不仅限于固件、常驻软件、微代
码等等。此外,本发明还可以采用计算机程序产品的形式,该产品可以从计算机可使用的 或计算机可读取的介质进行访问,介质提供了程序代码,供计算机或任何指令执行系统使 用或与它们一起使用。对于此说明书,计算机可使用的或计算机可读取的介质可以是可以 包含、存储、传递、传播或传输供指令执行系统、设备使用或与它们一起使用的程序的任何 有形的设备。介质可以是电子的、磁性的、光学的、电磁的、红外线的或半导体系统(或设备) 或传播介质。计算机可读取的介质的示例包括半导体或固态存储器,磁带,可移动计算机 磁盘,随机存取存储器(RAM),只读存储器(ROM),硬磁盘和光盘。光盘的当前示例包括光 盘_只读存储器(CD-ROM),光盘读取/写入(CD-R/W),以及DVD。适用于存储和/或执行程序代码的数据处理系统将至少包括一个通过系统总线 直接或间接地连接到存储器元件的处理器。存储器元件可以包括在程序代码的实际执行过 程中使用的本地存储器,大容量存储器,以及高速缓冲存储器,该高速缓冲存储器提供了至 少某些程序代码的临时存储器,以便减少在执行过程中必须从大容量存储器检索代码的次数。输入/输出或I/O设备(包括但不仅限于,键盘、显示器、指示设备,等等)可以直 接或者通过I/O控制器连接到系统。网络适配器也可以连接到系统,以使得数据处理系统通过私有的或公共网络连接 到其他数据处理系统或远程打印机或存储设备。调制解调器,电缆调制解调器和以太网卡 只是几个当前可用的网络适配器类型。对本发明的描述只作说明,而不是详尽的说明或限于所说明的形式。那些本领域 技术人员将认识到,可以进行许多修改。所选择的实施例只是为了最好地说明本发明的原 理,实际应用,并使其他本领域技术人员懂得,带有各种修改的各种实施例也是可以接受 的。
权利要求
一种用于调整冷却设置的方法,该计算机实现的方法包括以下步骤分析应用程序的指令集,以确定所述指令集将使至少一个处理器核的温度上升的度数;计算所述至少一个处理器核的至少一个冷却系统的冷却设置;以及基于所述冷却设置调整所述至少一个冷却系统。
2.根据权利要求1所述的方法,其中,分析所述指令集的步骤是在所述至少一个处理 器核的温度由于所述指令集的执行而上升之前执行的,并且其中,调整所述至少一个冷却 系统的步骤是在所述指令集在所述至少一个处理器核上执行之前执行的。
3.根据权利要求1所述的方法,进一步包括识别所述至少一个处理器核的所述温度。
4.根据权利要求1所述的方法,其中,调整所述至少一个冷却系统的步骤包括,在所述 至少一个处理器核中的每一个处理器核上调整从下列组中选择的组合关闭所述至少一个 冷却系统,打开所述至少一个冷却系统,提高所述至少一个冷却系统的强度,以及降低所述 至少一个冷却系统的所述强度。
5.根据权利要求1所述的方法,其中,计算所述冷却设置的步骤包括使用约束方程。
6.根据权利要求5所述的方法,其中,所述约束方程基于能量成本和货币成本。
7.根据权利要求1所述的方法,其中,确定度数的步骤进一步包括在储存库中检索关于指令集的信息,其中,所述储存库包括关于多个指令集的信息,其 中,所述信息包括所述多个指令集中的每一个指令集的能量消耗数据,并且其中,所述信息 包括所述至少一个处理器核中的每一个处理器核的热惯性数据。
8.根据权利要求1所述的方法,其中,分析所述指令集的步骤包括识别位于所述指令 集中的计数器。
9.根据权利要求1所述的方法,其中,分析所述指令集的步骤包括识别执行分支指令 的次数的百分比。
10.根据权利要求1所述的方法,其中,分析所述指令集的步骤包括通过使用编译器线 索,识别是否可以并行运行所述指令集。
11.一种用于调整冷却设置的数据处理系统,所述数据处理系统包括总线;连接到所述总线的存储器,所述存储器包括计算机可执行的指令;连接到所述总线的通信单元;以及连接到所述总线的处理器单元,其中,所述处理器单元执行指示所述数据处理系统执 行下列操作的所述计算机可执行的指令分析应用程序的指令集,以确定所述指令集将使至少一个处理器核的温度上升的度 数;计算所述至少一个处理器核的至少一个冷却系统的冷却设置;以及基于所述冷却设置 调整所述至少一个冷却系统。
12.根据权利要求11所述的数据处理系统,其中,分析所述指令集的步骤是在所述至 少一个处理器核的温度由于所述指令集的执行而上升之前执行的,并且其中,调整所述至 少一个冷却系统的步骤是在所述指令集在所述至少一个处理器核上执行之前执行的。
13.根据权利要求11所述的数据处理系统,进一步包括指示所述数据处理系统执行下列操作的指令识别所述至少一个处理器核的所述温度。
14.根据权利要求11所述的数据处理系统,其中,调整所述至少一个冷却系统的步骤 包括,在所述至少一个处理器核中的每一个处理器核上调整从下列组中选择的组合关闭 所述至少一个冷却系统,打开所述至少一个冷却系统,提高所述至少一个冷却系统的强度, 以及降低所述至少一个冷却系统的所述强度。
15.根据权利要求11所述的数据处理系统,其中,计算所述冷却设置的步骤包括使用 约束方程。
16.一种用于管理处理器单元的冷却的方法,所述方法包括识别将由于指令集的执行而发生的处理器单元中的多个处理器的温度变化;识别与处理器的数量关联的冷却系统的变化来维护所述处理器单元所需的温度配置 文件,以形成识别的变化;以及使用所述识别的变化来调整所述冷却系统。
17.根据权利要求16所述的方法,其中,所述变化是通过使用约束方程来识别的。
18.根据权利要求16所述的方法,其中,所述变化是所述冷却系统的更新的冷却设置。
19.一种用于管理处理器单元的冷却的方法,所述方法包括识别将由于指令集的执行而发生的处理器单元中的多个处理器的温度变化;识别与处理器的数量关联的工作负荷的变化来维护所述处理器单元所需的温度配置 文件,以形成识别的变化;以及使用所述识别的变化来调整所述工作负荷。
全文摘要
公开了用于调整冷却设置的方法和数据处理系统。说明性实施例提供了用于调整冷却设置的计算机实现的方法,数据处理系统,以及计算机程序产品。计算机实现的方法包括分析应用程序的指令集,以确定指令集将使至少一个处理器核的温度上升的度数。计算机实现的方法进一步计算所述至少一个处理器核的至少一个冷却系统的冷却设置。计算机实现的方法基于所述冷却设置调整所述至少一个冷却系统。分析所述指令集的步骤是在所述指令集在所述至少一个处理器核上执行之前执行的。调整所述至少一个冷却系统的步骤是在所述指令集在所述至少一个处理器核上执行之前执行的。
文档编号G06F1/20GK101876843SQ20101016931
公开日2010年11月3日 申请日期2010年4月21日 优先权日2009年4月29日
发明者D·W·考斯比, J·R·可里默, R·L·安格尔, R·R·弗莱德朗得 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1