CN101464714B - 抢先热管理方法和设备 - Google Patents
抢先热管理方法和设备 Download PDFInfo
- Publication number
- CN101464714B CN101464714B CN2008101768323A CN200810176832A CN101464714B CN 101464714 B CN101464714 B CN 101464714B CN 2008101768323 A CN2008101768323 A CN 2008101768323A CN 200810176832 A CN200810176832 A CN 200810176832A CN 101464714 B CN101464714 B CN 101464714B
- Authority
- CN
- China
- Prior art keywords
- cache
- processor
- miss
- heat management
- computing system
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/16—Constructional details or arrangements
- G06F1/20—Cooling means
- G06F1/206—Cooling means comprising thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
公开了基于高速缓存性能的用于计算系统的抢先热管理方法、设备和产品,计算系统具有处理器、可操作地耦接到处理器的被高速缓存的计算机存储器、以及可操作地耦接到处理器的处理器高速缓存,处理器高速缓存能够存储被高速缓存的计算机存储器的存储器内容的子集,其包括:由处理器尝试从处理器高速缓存检索被高速缓存的计算机存储器的存储器内容的部分,其导致处理器高速缓存的高速缓存未命中;由处理器跟踪计算系统中的处理器高速缓存的高速缓存未命中统计,高速缓存未命中统计描述处理器高速缓存的高速缓存未命中;以及取决于高速缓存未命中统计来管理计算系统的热管理装置,热管理装置可操作地耦接到处理器,并且能够管理计算系统的温度。
Description
技术领域
本发明涉及数据处理,或者,更具体地,涉及基于高速缓存(cache)性能的用于计算系统的抢先热管理(preemptive thermal management)的方法、设备和产品。
背景技术
1948年的EDVAC计算机系统的开发经常被引用作为计算机时代的开端。自从那时起,计算机系统已经发展成为极为复杂的装置。今天的计算机比早期的诸如EDVAC的系统复杂很多。典型地,计算机系统包括硬件和软件组件的结合、应用程序、操作系统、处理器、总线、存储器、输入/输出装置等等。随着半导体工艺和计算机架构的进步促使计算机的性能越来越高,更复杂的计算机软件已经演化到采用更高性能的硬件的优点,使得今天的计算机系统比仅仅几年以前都强大了很多。
为了提供强大的计算机资源,计算机架构师必须设计强大的计算机处理器和高速存储器模块。例如,当前的高速存储器模块每秒可以操作超过十亿个周期。操作这些计算机处理器和存储器模块要求大量的功率,这越来越造成对热管理方面的挑战。当前的冷却解决方案监视装置上的温度传感器、或者检测排气温度的传感器。在这些温度超过特定阈值时,当前的解决方案调用外部的处理或者机制以增加冷却量,从而努力减小总体温度。然而,这些解决方案的缺点在于,这些解决方案在温度的增加已经实际发生之后,才响应于温度增加。在冷却系统的响应和对温度的响应的效果之间的延迟时间导致温度阈值被超过,产生警告消息,或者在更极端的情况下的热关机或故障。
发明内容
披露了用于基于高速缓存性能的用于计算系统的抢先热管理方法、设备和产品,所述计算系统具有处理器、可操作地耦接到处理器的被高速缓存的计算机存储器、以及可操作地耦接到处理器的处理器高速缓存,该处理器高速缓存能够存储被高速缓存的计算机存储器的存储器内容的子集,其包括:由处理器尝试从处理器高速缓存检索被高速缓存的计算机存储器的存储器内容的部分,其导致处理器高速缓存的高速缓存未命中(miss);由处理器跟踪计算系统中的处理器高速缓存的高速缓存未命中统计,所述高速缓存未命中统计描述处理器高速缓存的高速缓存未命中;以及取决于高速缓存未命中统计,管理用于计算系统的热管理装置,该热管理装置可操作地耦接到处理器,并能够管理计算系统的温度。
从后面的如附图所示的本发明的示例性的实施例的更为具体的描述中,本发明的上述内容和其它目标、特性及优点将变得显而易见,其中,附图中相似的附图标记一般代表本发明的示例性的实施例的相似部分。
附图说明
图1示出了根据本发明的实施例的、在基于高速缓存性能的用于计算系统的抢先热管理中使用的示例性计算系统的框图。
图2示出了图解根据本发明的实施例的、基于高速缓存性能的用于计算系统的抢先热管理的示例性方法的流程图。
图3示出了图解根据本发明的实施例的、基于高速缓存性能的用于计算系统的抢先热管理的另一示例性方法的流程图。
具体实施方式
以图1开始,将结合附图描述根据本发明的基于高速缓存性能的用于计算系统的抢先热管理的示例性方法、设备和产品。图1示出了根据本发明的实施例的自动计算机器的框图,其包括在基于高速缓存性能的用于计算系统的抢先热管理中使用的示例性计算系统(152)。图1的计算系统(152)包括至少一个计算机处理器(156)、以及通过存储器总线(166)可操作地耦接到处理器(156)和计算机(152)的其它组件的、实现为主存储器(168)的被高速缓存的计算机存储器(168)。主存储器(168)在4个存储器模块(262、264、266、268)中被实现为随机存取存储器(RAM)。存储器模块是安装在印刷电路板上的一组RAM集成电路。存储器模块可被实现为单同线存储器模块(SIMM)、双同线存储器模块(DIMM)、以及对于本领域的技术人员将出现的其它形成要素。
图1的计算系统(152)还包括可操作地耦接到处理器(156)的处理器高速缓存(276)。处理器高速缓存(276)能够存储:用于与在从主存储器(168)自身访问存储器内容时正常实现的相比由处理器(156)更快的访问的、被高速缓存的主存储器(168)的存储器内容(155)的子集。存储并且以物理主存储器(168)的帧的形式组织图1的存储器内容(155)。作为表组织图1的处理器高速缓存(276),在该表中,每个高速缓存条目包括帧号字段(112)、数据字段(130)、以及页重写标志位(dirty bit)字段(132)。帧号字段(112)指定在处理器高速缓存(276)中被高速缓存的主存储器中的特定帧。数据字段(130)存储由帧号字段(112)指定的帧的存储器内容。页重写标志位字段(132)指示存储在数据字段(130)中的存储器内容是否已经在该帧被载入处理器高速缓存(276)之后被修改。
如上所述,根据本发明的实施例,通常,图1的示例性的计算系统(152)进行操作,用于基于高速缓存性能的操作抢先热管理。根据本发明的实施例,通常,示例性的计算系统(152)通过以下步骤来进行操作,用于基于高速缓存性能的操作抢先热管理,所述步骤为:由处理器(156)尝试从处理器高速缓存(276)检索被高速缓存的计算机存储器(168)的存储器内容(155)的部分,其导致处理器高速缓存(276)的高速缓存未命中;由处理器(156)跟踪计算系统(152)中的处理器高速缓存(276)的高速缓存未命中统计(104),所述高速缓存未命中统计(104)描述处理器高速缓存(276)的未命中;以及取决于高速缓存未命中,为计算系统(152)管理热管理装置(110),热管理装置(110)可操作地耦接到处理器(156),并且能够管理计算系统(152)的温度。
当处理器(156)尝试从处理器高速缓存(276)检索被高速缓存的计算机存储器(168)的存储器内容(155)的部分、并且该特定内容没有被存储在该高速缓存(276)中时,发生高速缓存未命中。这样,处理器必须从被高速缓存的计算机存储器(168)自身而不是从处理器高速缓存(276)检索存储器内容(155)的该部分。典型地,由于大量的高速缓存未命中会增加计算系统(152)的整体热能,所以,根据本发明的实施例的基于高速缓存性能的抢先热管理允许计算系统(152)在显著的温度增加实际发生之前,抢先冷却该计算系统。
图1的示例性的计算系统(152)还包括热管理系统(106)。图1的热管理系统(106)由能够管理热管理装置和传感器以管理计算系统(152)的热环境的各种硬件和软件组件组成,例如,微控制器以及非易失性存储器。热管理系统(106)已经在其上安装有控制模块(108)、根据本发明的实施例的用于基于高速缓存性能的抢先热管理的一组计算机程序指令。通常,控制模块(108)可进行操作,用于通过取决于从处理器(156)接收的热控制信号来控制热管理装置(110),而进行根据本发明的实施例的基于高速缓存性能的用于计算系统的抢先热管理。在其它实施例中,控制模块(108)可进行操作,用于通过从处理器(156)轮询(poll)处理器高速缓存(276)的高速缓存未命中统计(104)、并且取决于高速缓存未命中统计(104)来控制热管理装置(100),而进行根据本发明的实施例的基于高速缓存性能的用于计算系统的抢先热管理。
图1的热管理装置(110)被实现为冷却扇,其引导周围较冷的空气越过存储器模块(262、264、266、268)。然而,读者应当注意,这个限制仅仅是为了说明而非用于限制。在其它实施例中,热管理装置(110)可以被实现为由液态金属冷却系统、水冷系统、相变冷却系统、或者对于本领域的技术人员将出现的任何其它热管理装置。
除了管理图1的热管理装置(110)之外,通常,控制模块(108)还进行操作,用于通过在管理热管理装置(110)之后跟踪计算系统(152)的温度统计(107)、并且取决于温度统计(107)改变热管理装置(110)的任何后续管理,而进行根据本发明的实施例的基于高速缓存性能的用于计算系统的抢先热管理,其中,温度统计描述计算系统(152)的温度。控制模块(108)可以从温度传感器(111)接收温度统计(107)。通过使用温度统计(107),控制模块(107)可以在管理计算系统温度时确定热管理装置(110)的先前管理的效果。在图1的例子中,温度传感器(111)可以使用一个或者多个电热调节器(thermistor)、红外温度计或者半导体温度计而实现,但是这种实现仅仅用于说明而非限制。
图1的热管理系统(106)通过带外(out-of-band)网络(“OOBN”)(174),可操作地耦接到处理器(156)、温度传感器(111)以及热管理装置(110)。图1的OOBN(174)可以由例如由Philips发明的用于连接低速外围设备到主板或者嵌入式系统的多主控串行计算机总线的I2C总线来实现。I2C是简单、低带宽、短距离的协议,其仅仅采用由电阻器上拉的两个双向开路漏极(open-drain)线、串行数据(SDA)以及串行时钟(SCL)。然而,读者应当注意,这样的实现仅仅用于示例而非限制。处了I2C协议之外,OOBN(174)可以使用对于本领域的技术人员将出现的其它技术而实现,包括,例如,在智能平台管理接口(IPMI)规范、系统管理总线(SMBus)规范、联合测试行动组(JTAG)规范等等中描述的技术。读者应该注意,虽然作为计算系统的单独组件来描述热管理系统(106),但热管理系统(106)可以被集成到为计算系统(152)提供其它功能的其它组件中,例如,基板管理控制器(BMC)。BMC是可以嵌入在计算机的主板上以管理系统管理软件和平台硬件之间的接口的专用微控制器。
在图1的示例性计算系统(152)中,存储器内容(155)包括应用(153)和操作系统(154)。图1的应用(155)是由操作系统(154)支持的用于用户级数据处理的计算机程序指令集。可被改进用于根据本发明的实施例的基于高速缓存性能的用于计算系统的抢先热管理的操作系统包括UNIXTM、LinuxTM、MicrosoftXPTM、IBM的AIXTM、IBM的i5/OSTM以及对于本领域的技术人员将出现的其它操作系统。在图1的例子中的操作系统(154)被显示在主存储器(168)中,但是典型地,这样的软件的很多组件被存储在非易失性存储器中,例如,也可以在硬盘驱动器(170)上。
图1的操作系统(154)包括热管理模块(102)、页表(258)以及帧表(272)。图1的热管理模块(102)是进行操作用于根据本发明的实施例的基于高速缓存性能的用于计算系统的抢先热管理的一组计算机程序指令。通常,热管理模块(102)通过以下步骤进行操作,用于根据本发明的实施例的基于高速缓存性能的用于计算系统的抢先热管理,所述步骤为:尝试从处理器高速缓存(276)检索被高速缓存的计算机存储器(168)的存储器内容(155)的部分,其导致处理器高速缓存(276)的高速缓存未命中;跟踪计算系统(152)中的处理器高速缓存(276)的高速缓存未命中统计(104),所述高速缓存未命中统计(104)描述处理器高速缓存(276)的未命中;以及取决于高速缓存未命中,为计算系统(152)管理热管理装置(110)。图1的热管理模块(102)可以通过取决于高速缓存未命中统计(104)和热控制表来确定热控制信号、并且将热控制信号发送给热管理系统,取决于高速缓存未命中而管理计算系统(152)的热管理装置(110)。
由操作系统(154)中的虚拟存储器系统使用图1的页表(258),以存储在主存储器中的虚拟存储器地址和物理存储器地址之间的映射。在图1的例子中,在虚拟地址和物理地址之间的映射分别由虚拟地址页号(114)和物理地址帧号(112)表示。图1的示例性计算机(152)的页表(258)也包括关于存储器页的附加信息,例如,存储器页当前是否在RAM(168)中。在这个例子中,由页表中的每个条目的当前位(116)代表该页当前是否在RAM中。图1的示例性页表还包括:以页重写标志位(118)的形式的指示,其关于在页被载入RAM(168)之后是否修改了该页。为了保留任何改变,将已经修改的存储器页写回到盘(170)。读者应该注意,图1的示例性页表(258)用于示例而非限制。对于本领域的技术人员将出现的具有其它格式的页表也可以用于根据本发明的实施例的基于高速缓存性能的用于计算系统的抢先热管理。
图1的帧表(272)也由操作系统(154)中的虚拟存储器系统使用。帧表(272)使用分配的位(120)来记录物理存储器的那些帧是空闲的,以便被映射到虚拟存储器的页。当帧被映射到虚拟存储器的页时,分配物理存储器的帧,并且当帧没有被映射到虚拟存储器的页时,不分配物理存储器的帧。在一些操作系统中,帧表(272)还可以保持附加信息,例如,统计信息、或者其它背景信息。这样的统计信息也可以被实现为例如帧被访问的次数、帧最后被访问的指示等。统计信息可以被存储在帧表(272)中,作为与帧号(112)相关联的统计1(122)、统计2(124)以及统计3(126)。读者应该注意,图1的示例性帧表(272)是为了说明而非限制。对于本领域的技术人员将出现的具有其它格式的其它帧表也可以用于根据本发明的实施例的基于高速缓存性能的用于计算系统的抢先热管理。
当使用虚拟地址空间来访问存储器时,图1的处理器(156)使用在总线适配器(158)中配置的存储器管理单元(MMU)(260)以及翻译后援缓冲器(translation look-a-side buffer,TLB)。图1的TLB(274)是存储在页表(258)中的条目的子集的表,典型地,是由虚拟存储器子系统在页表(258)中最近访问的条目,用于比当直接从页表(258)访问条目时正常实现的更快的访问。
图1的MMU(260)是负责处理处理器(156)对计算系统的存储器(168)的访问请求的计算机组件。MMU(260)执行虚拟地址到物理地址的变换、存储器保护、高速缓存控制、总线仲裁等。MMU(260)通过使用虚拟存储器地址的最高有效位识别虚拟存储器页号、并在TLB(274)中查找对应于该页号的帧号,来执行该转换。虚拟存储器地址的最低有效位形成当附加到页号的对应帧号后时形成物理存储器地址的偏移。如果MMU(260)并未在TLB(274)中定位该页号,则MMU(260)在页表(258)中查找对应于该页号的帧号。在识别该帧号之后,MMU(260)确定帧号所指定的帧的内容是否位于处理器高速缓存(276)中。如果帧号所指定的帧的内容位于处理器高速缓存(276)中,则MMU(260)从高速缓存(276)提供帧内容给处理器(156)。当该帧号所指定的帧的内容不位于高速缓存(276)中时,出现高速缓存未命中。当出现高速缓存未命中时,MMU从主存储器(168)提供帧内容给处理器(156),或者触发页错误中断以使操作系统从盘(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),这是向诸如显示屏或计算机监视器的显示装置(180)进行图形输出而具体设计的I/O适配器的例子。视频适配器(209)通过高速视频总线(164)、总线适配器(158)、以及也是高速总线的前端总线(162)连接到处理器(156)。
图1的示例性计算机(152)包括用于与其它计算机(182)进行数据通信和用于与数据通信网络(100)进行数据通信的通信适配器(167)。可以通过RS-232连接、通过例如通用串行总线(USB)的外部总线、通过例如IP数据通信网络的数据通信网络、及其对于本领域的技术人员将出现的其它方式,而顺序地执行这种数据通信。通信适配器实现数据通信的硬件级别,通过其,一个计算机直接或通过数据通信网络而向另一个计算机发送数据通信。在根据本发明的实施例基于高速缓存性能的用于计算系统的抢先热管理中有用的通信适配器的例子包括:用于有线拨号通信的调制解调器、用于有线数据通信网络通信的以太网(IEEE 802.3)适配器、以及用于无线数据通信网络通信的802.11适配器。
在图1中图解的组成示例性计算机(152)的布置组件是为了说明而非限制。根据本发明的各个实施例的有用的计算机可以包括:对于本领域的技术人员将出现的图1中未示出的附加组件、数据通信总线、或者其它计算机架构。在该方式中,本发明的各种实施例可以在除了图1示出的平台之外的各种硬件平台上实现。
如上所述,参考图1描述的被高速缓存的计算机存储器作为主存储器(168)实现,主存储器(168)为处理器外部的RAM,并且在存储器模块(262、264、266、268)上被配置。这样,处理器高速缓存(276)对来自主存储器的存储器内容进行高速缓存。然而,读者应当注意,作为主存储器实现被高速缓存的计算机存储器是为了解释而非限制。在具有多个用于处理器的高速缓存的一些其它实施例中,被高速缓存的计算机存储器可以被实现为更高级别的高速缓存,其随之由低级别的高速缓存所高速缓存。例如,处理器尝试从其检索存储器内容的被高速缓存的计算机存储器可以是级别3高速缓存,(其随之由级别2高速缓存所高速缓存)。从级别2高速缓存检索级别3高速缓存存储器内容的尝试可能经常导致高速缓存未命中,其可以被跟踪、并且用于管理热管理装置,以提供根据本发明的实施例的抢先热管理。
为了进一步的解释,图2示出了根据本发明的实施例的基于高速缓存性能的用于计算系统的抢先热管理的示例性方法的流程图。参考图2描述的计算系统具有处理器、可操作地耦接到该处理器的被高速缓存的计算机存储器、以及可操作地耦接到处理器的处理器高速缓存。处理器高速缓存能够存储被高速缓存的计算机存储器的存储器内容的子集。
图2的方法包括:由处理器尝试(300)从处理器高速缓存检索被高速缓存的计算机存储器的存储器内容的部分,其导致处理器高速缓存的高速缓存未命中(302)。处理器可以根据图2的方法,通过指示MMU检索虚拟存储器空间中的具体页的存储器内容,来尝试(300)从处理器高速缓存检索被高速缓存的计算机存储器的存储器内容的部分。MMU将虚拟存储器页号变换为被高速缓存的计算机存储器的物理帧号,并且尝试从处理器高速缓存检索该帧号的存储器内容。当该帧号所指定的存储器内容不位于处理器高速缓存中时,发生高速缓存未命中(302)。
图2的方法还包括:由处理器跟踪(304)计算系统中的处理器高速缓存的未命中统计(104)。图2的高速缓存未命中统计(104)描述处理器高速缓存的高速缓存未命中(302)。处理器可以根据图2的方法,通过对在预定时间段(如1秒、10秒、或者对于本领域的技术人员将出现的任何其它预定时间段)中出现高速缓存未命中(302)的数目计数,而跟踪(304)计算系统中的处理器高速缓存的高速缓存未命中统计(104)。处理器也可以根据图2的方法,通过监视尝试从导致高速缓存未命中的处理器高速缓存的存储器访问的百分率,来跟踪(304)计算系统中的处理器高速缓存的高速缓存未命中统计(104)。
管理(306)计算系统的热管理装置的图2的方法取决于高速缓存未命中统计(104)。热管理装置可操作地耦接到处理器,并且能够管理计算系统的温度。热管理装置可以被实现为引导周围的外部空气越过计算系统的组件的冷却扇、液态金属冷却系统、水冷系统、相变冷却系统、或者对于本领域的技术人员将出现的任何其它热管理装置。在许多实施例中,热管理装置由热管理系统控制。热管理系统可以基于从装置自身、或者计算系统中的其它组件检索的信息,来控制热管理装置。
根据图2的方法的取决于高速缓存未命中统计(104)来管理(306)用于计算系统的热管理装置包括:由处理器取决于高速缓存未命中统计(104)和热控制表(310)来确定(308)热控制信号(318);以及由处理器发送(316)热控制信号(318)给热管理系统。热控制信号(318)可以被实现为占空比信号、控制码、分组化的指令、直流电压电平、或者对于本领域的技术人员将出现的任何其它信号。图2的热控制表(310)是将热控制信号与高速缓存未命中统计范围关联的数据结构。图2的热控制表(310)中的每个条目包括统计范围字段(312)以及信号标识符字段(314)。图2的信号标识符字段指定用于指示热管理系统以特定的方式(例如为了增加冷却或者减少冷却)管理热管理装置的特定热控制信号。图2的统计范围字段(312)指定对应于所关联的热控制信号的高速缓存未命中统计的具体范围。典型地,包含在热控制表中的信息被存储在计算系统的非易失性计算机存储器中,并且,最初由计算系统的设计者、技术人员或者制造者产生。处理器可以根据图2的方法,通过识别与高速缓存未命中统计(104)匹配的来自热控制表(310)的统计范围、并且识别与所识别的统计范围相关联的热控制信号(318),而确定(308)热控制信号(318)。
为了进一步的解释,考虑以下示例性热控制表:
在上面的示例性的热控制表中,第一个记录关联热控制信号的标识符,其指示热管理装置当高速缓存未命中统计指示每秒发生0-99次高速缓存未命中时提供低级别的冷却。第二个记录关联热控制信号的标识符,其指示热管理装置当高速缓存未命中统计指示每秒发生100-999次高速缓存未命中时提供中级别的冷却。第三个记录关联热控制信号的标识符,其指示热管理装置当高速缓存未命中统计指示每秒发生1000-9999次高速缓存未命中时提供高级别的冷却。读者应该注意,以上的示例性的热控制表仅仅是为了说明而非限制。
根据图2的方法的取决于高速缓存未命中统计(104)来管理(306)用于计算系统的热管理装置还包括:由热管理系统取决于热控制信号(318)控制(320)热管理装置。热管理系统可以根据图2的方法,通过识别与热控制信号相关的设备行为、并且执行所识别的设备行为,而控制(320)热管理装置。例如,如果基于当前的高速缓存未命中统计,热控制信号表明指示热管理装置提供低冷却量,则热管理系统可以修改作为冷却扇实现的热管理装置的扇速。当热管理装置是被实现为液态金属冷却系统时,热管理系统可以响应于热控制信号来修改液态金属的流速。
图2的方法还包括:在热管理装置被管理(306)之后,由热管理系统跟踪(322)计算系统的温度统计(107)。图2的温度统计(107)描述计算系统的温度。热管理系统可根据图2的方法,在热管理装置被管理(306)之后,通过使用诸如热敏电阻、红外温度计或者半导体温度计的温度传感器来监视计算系统的温度级别,而跟踪(322)计算系统的温度统计(107)。
图2的方法还包括由热管理系统取决于温度统计(107)而改变(326)热管理装置的后续管理。热管理系统可以根据图2的方法,通过取决于热控制表调节规则来调节存储在热控制表(310)中存储的关联,取决于温度统计(107)而改变(326)热管理装置的后续管理。热控制调节规则(328)指定基于温度统计(107)而改变热控制表(310)的方式。例如,考虑即使在响应于高速缓存未命中而管理(306)热管理装置之后,温度统计(107)仍指示计算系统的温度级别升高10摄氏度。在该例子中,热控制调节规则可以指定在热控制表(312)中的每个统计范围之间的阈值减小10%。应用这个热控制调节规则到上述示例性热控制表1产生以下的示例性热控制表:
在上述示例性的热控制表中,第一个记录关联热控制信号的标识符,其指示热管理装置当高速缓存未命中统计指示每秒发生0-89次高速缓存未命中时提供低级别的冷却。第二个记录关联热控制信号的标识符,其指示热管理装置当高速缓存未命中统计指示每秒发生100-899次高速缓存未命中时提供中级别的冷却。第三个记录关联热控制信号的标识符,其指示热管理装置当高速缓存未命中统计指示每秒发生1000-9999次高速缓存未命中时提供高级别的冷却。在该方式中,在比以上的示例性的热控制表1中先前所指定的更低的高速缓存未命中统计级别上提供较高级别的冷却。读者应该注意,以上的示例性的热控制表仅仅是为了说明而非限制。
参考图2的上述说明描述了使用高速缓存未命中统计(104)来指示热管理系统控制热管理装置的处理器。在一些其它实施例中,热管理系统可在控制热管理装置时自身使用高速缓存未命中统计(104)。为了进一步的说明,考虑图3,其示出了根据本发明的实施例的基于高速缓存性能的用于计算系统的抢先热管理的另一示例性方法的流程图。
图3的方法类似于图2的方法。即,图3的方法包括:由处理器尝试(300)从处理器高速缓存检索被高速缓存的计算机存储器的存储器内容的部分,其导致处理器高速缓存的高速缓存未命中(302);处理器跟踪(304)计算系统中的处理器高速缓存的高速缓存未命中统计(104),高速缓存未命中统计(104)描述处理器高速缓存的高速缓存未命中(302);以及取决于高速缓存未命中统计(104),管理(306)用于计算系统的热管理装置,热管理装置可操作地耦接到处理器,并且能够管理计算系统的温度。
根据图3的方法的取决于高速缓存未命中统计(104)来管理(306)用于计算系统的热管理装置包括:由热管理系统从处理器轮询(400)处理器高速缓存的高速缓存未命中统计(104)。热管理系统可根据图3的方法,通过从其上存储有高速缓存未命中统计的存储器地址直接检索高速缓存未命中统计(104),来轮询(400)高速缓存未命中统计(104)。在一些其它实施例中,热管理系统可以根据图3的方法,通过触发处理器中断、并且请求处理器向热管理系统提供当前的高速缓存未命中统计,来轮询(400)高速缓存未命中统计(104)。
根据图3的方法的取决于高速缓存未命中统计(104)来管理(306)用于计算系统的热管理装置包括:由热管理系统取决于高速缓存未命中统计(104)来控制(402)热管理装置。热管理系统可以根据图3的方法,通过识别匹配高速缓存未命中统计(104)的来自热控制表(404)的统计范围、并且识别与已识别的统计范围相关联的行为,取决于高速缓存未命中统计(104)来控制(402)热管理装置。图4的热控制表(404)是将用来管理热管理装置的行为与高速缓存未命中统计范围相关联的数据结构。图3的热控制表((404))中的每个条目包括统计范围字段(406)和行为标识符字段(408)。图3的行为标识符字段(408)指定热管理系统用来执行的具体行为,以便以诸如增大冷却或者减小冷却的特定方式来控制热管理装置。图3的统计范围字段(406)指定对应于所关联的行为标识符的高速缓存未命中统计的具体范围。典型地,包含在热控制表(404)中的信息被存储在计算系统的非易失性计算机存储器中,并且最初由计算系统的设计者、技术人员或者制造者产生。
为了进一步的解释,考虑下面的示例性热控制表:
在上述示例性的热控制表中,第一个记录关联用于由热管理系统执行的行为的标识符,其将热管理装置置于这样的状态,即,在每秒0-99次高速缓存未命中的高速缓存未命中统计范围的情况下提供低级别的冷却。这样,当热管理系统接收到落入每秒0-99次高速缓存未命中的高速缓存未命中统计范围内的高速缓存未命中统计时,热管理系统将热管理装置置于提供低级别冷却的状态。第二个记录关联用于由热管理系统执行的行为的标识符,其将热管理装置置于这样的状态,即,在每秒100-999次高速缓存未命中的高速缓存未命中统计范围的情况下提供中级别的冷却。这样,当热管理系统接收到落入每秒100-999次高速缓存未命中的高速缓存未命中统计范围内的高速缓存未命中统计时,热管理系统将热管理装置置于提供中级别冷却的状态。第三个记录关联用于由热管理系统执行的行为的标识符,其将热管理装置置于这样的状态,即,在每秒1000-9999次高速缓存未命中的高速缓存未命中统计范围的情况下提供高级别的冷却。这样,当热管理系统接收到落入每秒1000-9999次高速缓存未命中的高速缓存未命中统计范围内的高速缓存未命中统计时,热管理系统将热管理装置置于提供高级别冷却的状态。读者应该注意,以上的示例性的热控制表仅仅是为了说明而非限制。
图3的方法还包括:在管理热管理装置之后,由热管理系统跟踪(322)计算系统的温度统计(107)。温度统计(107)描述计算系统的温度。如上所述,热管理系统可以根据图3的方法,通过使用诸如热敏电阻、红外温度计、或者半导体温度计的温度传感器来监视计算系统的温度级别,在管理(306)热管理装置之后跟踪(322)计算系统的温度统计(107)。
图3的方法还包括:由热管理系统取决于温度统计(107)改变(326)热管理装置的任何后续管理。热管理系统可根据图3的方法,通过取决于热控制调节规则(328)来调节存储在热控制表(404)中的关联,取决于温度统计(107)改变(326)热管理装置的任何后续管理。如上所述,热控制调节规则(328)指定基于温度统计(107)改变热控制表(310)的方式。由于在安装系统时通常会在计算系统中预先配置热控制表,所以,改变(326)热管理装置的任何后续管理允许热管理系统根据针对于安装的环境因素来调节抢先冷却。例如,可能在比设计计算系统时所预期的更温暖的环境中安装计算系统。在该例子中,调节热管理表可能是具有优势的。
主要在基于高速缓存性能的用于计算系统的抢先热管理的全功能计算系统的上下文中描述本发明的示例性实施例。然而,本领域的技术人员的读者应该认识到,本发明也可以在部署在计算机介质上以由任何合适的数据处理系统使用的计算机程序产品中实施。该计算机可读介质可以是传输介质或者是机器可读信息的可记录介质,包括磁介质、光介质或者其它合适的介质。可记录介质的例子包括硬盘驱动器或磁盘、用于光学驱动器的致密盘、磁带、以及对于本领域技术人员将出现的其它介质。传输介质的示例包括用于语音通信的电话网络、以及例如EthernetTM的数字数据通信网络、以及以因特网协议及万维网通信的网络、以及例如根据IEEE 802.11规范族实现的网络的无线传输介质。本领域的技术人员应该立即认识到,任何具有合适的编程工具的计算系统都能够执行作为程序产品实施的本发明的方法的步骤。本领域的技术人员应该立即认识到,虽然在该说明书中描述的示例性的实施例面向所安装的软件、并且在计算机硬件上执行,但是,以固件或者硬件实施的可替换实施例也完全落入本发明的范围中。
应当理解,根据上面的描述,在不脱离本发明的精神和范围的条件下,在本发明的实施例中,可以做出各种改变和修改。在本说明书中的描述目的仅仅在于说明而非用于限制。本发明的范围仅由所附的权利要求的语言所限制。
Claims (10)
1.一种用于基于高速缓存性能的用于计算系统的抢先热管理方法,所述计算系统具有处理器、可操作地耦接到该处理器的被高速缓存的计算机存储器、以及可操作地耦接到该处理器的处理器高速缓存,该处理器高速缓存能够存储被高速缓存的计算机存储器的存储器内容的子集,所述方法包括:
由该处理器尝试从该处理器高速缓存检索被高速缓存的计算机存储器的存储器内容的部分,其导致该处理器高速缓存的高速缓存未命中;
由该处理器跟踪该计算系统中的该处理器高速缓存的高速缓存未命中统计,该高速缓存未命中统计描述处理器高速缓存的高速缓存未命中;以及
取决于该高速缓存未命中统计来管理计算系统的热管理装置,该热管理装置可操作地耦接到该处理器,并且能够管理计算系统的温度,
其中,取决于该高速缓存未命中统计来管理计算系统的热管理装置还包括:
由处理器取决于高速缓存未命中统计和热控制表来确定热控制信号;
由处理器将该热控制信号传送给热管理系统;以及
由该热管理系统取决于该热控制信号来控制该热管理装置。
2.如权利要求1所述的方法,其中,取决于该高速缓存未命中统计来管理计算系统的热管理装置还包括:
由热管理系统从该处理器轮询该处理器高速缓存的高速缓存未命中统计;以及
由该热管理系统取决于高速缓存未命中统计来控制该热管理装置。
3.如权利要求1所述的方法,其中,被高速缓存的计算机存储器是通过存储器总线而可操作地耦接到该处理器的主存储器。
4.如权利要求1所述的方法,其中:
该处理器高速缓存是用于处理器的多个高速缓存中的一个高速缓存;以及
被高速缓存的计算机存储器是所述多个高速缓存中的比该处理器高速缓存级别更高的高速缓存。
5.如权利要求1所述的方法,还包括:
在管理该热管理装置之后,由该热管理系统跟踪该计算系统的温度统计,该温度统计描述该计算系统的温度;以及
由该热管理系统取决于该温度统计而改变该热管理装置的任何后续管理。
6.一种用于基于高速缓存性能的用于计算系统的抢先热管理的设备,所述设备包括:
用于由该处理器尝试从该处理器高速缓存检索被高速缓存的计算机存储器的存储器内容的部分的装置,其中,由该处理器尝试从该处理器高速缓存检索被高速缓存的计算机存储器的存储器内容的部分,导致该处理器高速缓存的高速缓存未命中;
用于由该处理器跟踪该计算系统中的该处理器高速缓存的高速缓存未命中统计的装置,该高速缓存未命中统计描述处理器高速缓存的高速缓存未命中;以及
用于取决于该高速缓存未命中统计来管理计算系统的热管理装置的装置,该热管理装置可操作地耦接到该处理器,并且能够管理计算系统的温度,
其中,用于取决于该高速缓存未命中统计来管理计算系统的热管理装置的装置还包括:
用于由处理器取决于高速缓存未命中统计和热控制表来确定热控制信号的装置;
用于由处理器将该热控制信号传送给热管理系统的装置;以及
用于由该热管理系统取决于该热控制信号来控制该热管理装置的装置。
7.如权利要求6所述的设备,其中,用于取决于该高速缓存未命中统计来管理计算系统的热管理装置的装置还包括:
用于由热管理系统从该处理器轮询该处理器高速缓存的高速缓存未命中统计的装置;以及
用于由该热管理系统取决于高速缓存未命中统计来控制该热管理装置的装置。
8.如权利要求6所述的设备,其中,被高速缓存的计算机存储器是通过存储器总线而可操作地耦接到该处理器的主存储器。
9.如权利要求6所述的设备,其中:
该处理器高速缓存是用于处理器的多个高速缓存中的一个高速缓存;以及
被高速缓存的计算机存储器是所述多个高速缓存中的比该处理器高速缓存级别更高的高速缓存。
10.如权利要求6所述的设备,还包含:
用于在管理该热管理装置之后由该热管理系统跟踪该计算系统的温度统计的装置,该温度统计描述该计算系统的温度;以及
用于由该热管理系统取决于该温度统计而改变该热管理装置的任何后续管理的装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/960,599 | 2007-12-19 | ||
US11/960,599 US7971102B2 (en) | 2007-12-19 | 2007-12-19 | Preemptive thermal management for a computing system based on cache performance |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101464714A CN101464714A (zh) | 2009-06-24 |
CN101464714B true CN101464714B (zh) | 2011-12-07 |
Family
ID=40790118
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008101768323A Active CN101464714B (zh) | 2007-12-19 | 2008-11-25 | 抢先热管理方法和设备 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7971102B2 (zh) |
JP (1) | JP5475983B2 (zh) |
CN (1) | CN101464714B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5640154B2 (ja) * | 2010-10-16 | 2014-12-10 | ヒューレット−パッカード デベロップメント カンパニー エル.ピー.Hewlett‐Packard Development Company, L.P. | デバイスハードウェアエージェント |
US8996192B2 (en) * | 2011-02-16 | 2015-03-31 | Signalogic, Inc. | Thermal management for integrated circuits |
US9020655B2 (en) * | 2011-02-16 | 2015-04-28 | Signalogic, Inc. | Thermal management for integrated circuits |
US9811396B2 (en) * | 2015-10-07 | 2017-11-07 | International Business Machines Corporation | Direct application-level control of multiple asynchronous events |
US10059215B1 (en) | 2017-03-08 | 2018-08-28 | A3 Labs, Llc | Energy source supply systems, energy source supply devices, and related methods |
US11966311B1 (en) * | 2022-03-23 | 2024-04-23 | Wells Fargo Bank, N.A. | Systems and methods for managing power consumption of a distributed system |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1517886A (zh) * | 2003-01-07 | 2004-08-04 | ض� | 一种支持处理器的功率操作模式的高速缓存存储器 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6029119A (en) * | 1996-01-16 | 2000-02-22 | Compaq Computer Corporation | Thermal management of computers |
US5745737A (en) * | 1996-03-28 | 1998-04-28 | Sun Microsystems, Inc. | System and method for visually indicating cache activity in a computer system |
US5974438A (en) * | 1996-12-31 | 1999-10-26 | Compaq Computer Corporation | Scoreboard for cached multi-thread processes |
JP3573957B2 (ja) * | 1998-05-20 | 2004-10-06 | インターナショナル・ビジネス・マシーンズ・コーポレーション | コンピュータ内のプロセッサの動作速度制御方法及びコンピュータ |
US7266490B2 (en) * | 2000-12-28 | 2007-09-04 | Robert Marc Zeidman | Apparatus and method for connecting hardware to a circuit simulation |
EP1182548A3 (en) * | 2000-08-21 | 2003-10-15 | Texas Instruments France | Dynamic hardware control for energy management systems using task attributes |
US6772352B1 (en) * | 2000-09-29 | 2004-08-03 | Intel Corporation | Method and apparatus for reducing the rate of commands being issued if the rate exceeds a threshold which is based upon a temperature curve |
JP2004198269A (ja) * | 2002-12-19 | 2004-07-15 | Hitachi Ltd | 半導体集積回路装置 |
US6935130B2 (en) * | 2003-06-24 | 2005-08-30 | Aopen Inc. | Computer cooling system |
US7269481B2 (en) * | 2003-06-25 | 2007-09-11 | Intel Corporation | Method and apparatus for memory bandwidth thermal budgetting |
JP2005196430A (ja) * | 2004-01-07 | 2005-07-21 | Hiroshi Nakamura | 半導体装置および半導体装置の電源電圧/クロック周波数制御方法 |
US7360102B2 (en) * | 2004-03-29 | 2008-04-15 | Sony Computer Entertainment Inc. | Methods and apparatus for achieving thermal management using processor manipulation |
US7529947B2 (en) * | 2004-03-31 | 2009-05-05 | Marvell International Ltd. | Determining power consumption of an application |
US7222052B2 (en) | 2004-06-25 | 2007-05-22 | Intel Corporation | Temperature adaptive ferro-electric memory access parameters |
US7099735B2 (en) * | 2004-06-30 | 2006-08-29 | Intel Corporation | Method and apparatus to control the temperature of a memory device |
JP2006059448A (ja) * | 2004-08-20 | 2006-03-02 | Hitachi Ltd | ディスクアレイ装置 |
US7191088B1 (en) * | 2004-10-25 | 2007-03-13 | Nvidia Corporation | Method and system for memory temperature detection and thermal load management |
JP2006209525A (ja) | 2005-01-28 | 2006-08-10 | Matsushita Electric Ind Co Ltd | メモリシステム |
CN101151599B (zh) | 2005-03-31 | 2011-08-03 | 株式会社半导体能源研究所 | 算术处理装置和使用算术处理装置的电子设备 |
US7512530B2 (en) * | 2005-11-29 | 2009-03-31 | International Business Machines Corporation | Generation of software thermal profiles for applications in a simulated environment |
-
2007
- 2007-12-19 US US11/960,599 patent/US7971102B2/en active Active
-
2008
- 2008-11-25 CN CN2008101768323A patent/CN101464714B/zh active Active
- 2008-12-05 JP JP2008311017A patent/JP5475983B2/ja active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1517886A (zh) * | 2003-01-07 | 2004-08-04 | ض� | 一种支持处理器的功率操作模式的高速缓存存储器 |
Also Published As
Publication number | Publication date |
---|---|
JP5475983B2 (ja) | 2014-04-16 |
US20090164852A1 (en) | 2009-06-25 |
CN101464714A (zh) | 2009-06-24 |
JP2009151768A (ja) | 2009-07-09 |
US7971102B2 (en) | 2011-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9798499B2 (en) | Hybrid-device storage based on environmental state | |
CN101464714B (zh) | 抢先热管理方法和设备 | |
US8166326B2 (en) | Managing power consumption in a computer | |
US7281074B2 (en) | Method and apparatus to quiesce USB activities using interrupt descriptor caching and asynchronous notifications | |
CN101216750B (zh) | 降低存储装置及关联逻辑卷功率状态的系统、方法及模块 | |
US9053029B2 (en) | Multicore computer system with cache use based adaptive scheduling | |
US8601216B2 (en) | Method and system for removing cache blocks | |
TWI596480B (zh) | 記憶體儲存系統及其中控裝置、管理方法與斷電復原方法 | |
TWI411913B (zh) | 用於限制處理器效能之系統及方法 | |
US8572323B2 (en) | Cache result register for quick cache information lookup | |
CN102646446B (zh) | 硬件动态高速缓存电源管理 | |
US20090132750A1 (en) | Cache memory system | |
US10289567B2 (en) | Systems and method for delayed cache utilization | |
US20080282040A1 (en) | Computer system, method, cache controller and computer program for caching i/o requests | |
KR20110038648A (ko) | 컴퓨터의 전력 소비 관리 | |
CN111338561A (zh) | 存储器控制器与存储器页面管理方法 | |
US20120159082A1 (en) | Direct Access To Cache Memory | |
US7340550B2 (en) | USB schedule prefetcher for low power | |
US20110093132A1 (en) | Platform-independent thermal management of components in electronic devices | |
US20190004971A1 (en) | System and Method to Account for I/O Read Latency in Processor Caching Algorithms | |
US10055359B2 (en) | Pinning objects in multi-level memory hierarchies | |
US8589635B2 (en) | Administering thermal distribution among memory modules with call stack frame size management | |
CN108984347A (zh) | 一种基于Linux系统的嵌入式设备重启状态记录方法 | |
US20050171711A1 (en) | Method for reading battery status by operation system of portable computer | |
CN116601613A (zh) | 利用分组元数据的数据放置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20160119 Address after: China Hongkong Quarry Bay's Road No. 979 building 23 layer Taikoo Place Lincoln Patentee after: Lenovo International Ltd Address before: New York grams of Armand Patentee before: International Business Machines Corp. |