CN110658900A - 具有强化学习代理的热自学习 - Google Patents
具有强化学习代理的热自学习 Download PDFInfo
- Publication number
- CN110658900A CN110658900A CN201910451882.6A CN201910451882A CN110658900A CN 110658900 A CN110658900 A CN 110658900A CN 201910451882 A CN201910451882 A CN 201910451882A CN 110658900 A CN110658900 A CN 110658900A
- Authority
- CN
- China
- Prior art keywords
- information
- processor
- learning
- thermal
- logic
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- 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
-
- 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
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/406—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by monitoring or safety
-
- 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/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/324—Power saving characterised by the action undertaken by lowering clock frequency
-
- 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/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3296—Power saving characterised by the action undertaken by lowering the supply or operating voltage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/49—Nc machine tool, till multiple
- G05B2219/49206—Compensation temperature, thermal displacement, use measured temperature
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Human Computer Interaction (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Automation & Control Theory (AREA)
- Manufacturing & Machinery (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Algebra (AREA)
- Probability & Statistics with Applications (AREA)
- Power Sources (AREA)
- Cooling Or The Like Of Semiconductors Or Solid State Devices (AREA)
Abstract
半导体封装设备的实施例可包括:基于包括处理器信息、热信息和冷却信息中的一个或多个的输入信息来学习系统的热行为信息的技术,并基于所学习的热行为信息和输入信息来提供信息以调整处理器的参数和冷却子系统的参数中的一个或多个。公开并要求保护其他的实施例。
Description
技术领域
实施例总体地涉及热管理系统。更具体地,实施例涉及具有强化学习代理的热自学习。
背景
对于许多计算机系统,有效的冷却解决方案对于确保高系统性能是重要的。热冷却可包括被动冷却和主动冷却。主动冷却可包括风扇、散热器或散热的其他传热组件。被动冷却包括软冷却技术,用以抑制CPU频率(例如,或功率)以减少产生的热量。主动冷却涉及空气冷却(例如,运行风扇以将产生的热量消散到环境中),液体冷却(例如,运行泵以循环液体以消散热量)等。
附图说明
通过阅读以下的说明和所附权利要求并通过参考附图,实施例的各种优点对于本领域技术人员就将变得显而易见,在附图中:
图1是根据实施例的电子处理系统的示例的框图;
图2是根据实施例的半导体封装设备的示例的框图;
图3A至图3B是根据实施例的管理热系统的方法的示例的流程图。
图4A至图4B是根据实施例的另一电子处理系统设备的示例的框图;
图5A至图5B是根据实施例的另一电子处理系统设备的示例的框图;
图6A和图6B是根据实施例的热管理设备的示例的框图;
图7是根据实施例的处理器的示例的框图;以及
图8是根据实施例的系统的示例的框图。
具体实施方式
现在转向图1,电子处理系统10的实施例可包括:处理器11;存储器12,通信地耦合到处理器11;传感器13(例如,热传感器、气流传感器、功率传感器、活动传感器等),通信地耦合到处理器11;冷却子系统14(例如,包括被动和/或主动冷却组件),通信地耦合到处理器11;以及机器学习代理15,通信地耦合到处理器11;传感器13;和冷却子系统14。机器学习代理可以包括逻辑16,用于基于来自处理器11、传感器13、和冷却子系统14中的一个或多个的信息来学习系统的热行为信息,并且基于所学习的热行为信息和来自处理器11、传感器13和冷却子系统14中的一个或多个的信息来调整处理器11的参数(例如,功率、频率、利用率等)和冷却子系统14的参数(例如,功率、风扇速度、泵吞吐量、空气限制等)中的一个或多个。在一些实施例中,逻辑16可以被配置成基于来自处理器11、传感器13、和冷却子系统14中的一个或多个的强化信息来学习系统10的热行为信息。例如,强化信息可包括奖励信息和惩罚信息中的一个或多个。
在一些实施例中,逻辑16可以进一步被配置成基于增加奖励信息并减少惩罚信息的调整值来学习系统10的热行为以。例如,增加的奖励信息可以对应于增加的处理器频率和减少的主动冷却中的一个或多个,并且增加的惩罚信息可以对应于高于阈值温度的处理器温度。在一些实施例中,机器学习代理15可以包括具有Q学习的深度强化学习代理(例如,其中“Q”可以指动作值对或动作值函数)。在一些实施例中,机器学习代理15/或逻辑16可以位于包括处理器11在内的各种组件中,或者与包括处理器11在内的各种组件共处一地(例如,在同一个管芯上)。
上述处理器11、存储器12、传感器13、冷却子系统14、机器学习代理15、逻辑16和其他系统组件中的每一个的实施例可以以硬件、软件或其任何合适的组合来实现。例如,硬件实现可以包括可配置逻辑(诸如例如可编程逻辑阵列(PLA)、现场可编程门阵列(FPGA)、复杂可编程逻辑器件(CPLD)),或使用电路技术(诸如例如专用集成电路(ASIC)、互补金属氧化物半导体(CMOS)或晶体管-晶体管逻辑(TTL)技术、或其任何组合)的固定功能逻辑硬件。处理器11的实施例可以包括通用处理器、专用处理器、中央处理器单元(CPU)、控制器、微处理器等。
替代地,或另外,这些组件的全部或部分可以在一个或多个模块中实现为存储在机器或计算机可读存储介质(诸如随机存取存储器(RAM)、只读存储器(ROM)、可编程只读存储器(PROM)、固件、闪存等)中的由处理器或计算设备执行的一组逻辑指令。例如,用于执行组件操作的计算机程序代码可以以一种或多种操作系统(OS)适用/适当的编程语言的任何组合来编写,所述一种或多种编程语言包括面向对象的编程语言(诸如PYTHON、PERL、JAVA、SMALLTALK、C++、C#等)以及常规过程性的编程语言(诸如“C”编程语言或类似的编程语言)。例如,存储器12、永久存储介质、或其他系统存储器可以存储一组指令,当该指令由处理器11执行时,使得系统10用于实现系统10的一个或多个组件、特征或方面(例如,机器学习代理15、逻辑16、学习系统的热行为信息、并基于所学习的热行为信息等调整处理器的(多个)参数和/或冷却子系统的(多个)参数)。
现在转到图2,半导体封装设备20的实施例可以包括一个或多个衬底21和耦合到一个或多个衬底21的逻辑22,其中逻辑22至少部分地在一个或多个可配置逻辑和固定功能硬件逻辑中实现。耦合到一个或多个衬底21的逻辑22可以被配置成基于包括处理器信息、热信息、和冷却信息中的一个或多个的输入信息来学习系统的热行为信息,并基于所学习的热行为信息和输入信息来提供信息以调整处理器的参数(例如,功率、频率、利用率等)和冷却子系统的参数(例如,功率、风扇速度、泵吞吐量、空气限制等)中的一个或多个。在一些实施例中,输入信息可以包括强化信息,并且逻辑22可以进一步被配置为基于强化信息来学习系统的热行为信息。例如,强化信息可包括奖励信息和惩罚信息中的一个或多个。在一些实施例中,逻辑22可以被配置成基于增加奖励信息并减少惩罚信息的调整值来学习系统的热行为。例如,增加的奖励信息可以对应于增加的处理器频率和减少的主动冷却中的一个或多个,并且增加的惩罚信息可以对应于高于阈值温度的处理器温度。在一些实施例中,逻辑22可以进一步被配置成用于提供具有Q学习的深度强化学习代理。在一些实施例中,耦合到一个或多个衬底21的逻辑22可以包括位于一个或多个衬底21内的晶体管沟道区。
逻辑22的实施例和设备20的其他组件可以硬件、软件或其任何组合来实现,包括至少部分以硬件来实现。例如,硬件实现可以包括可配置逻辑(诸如例如,PLA、FPGA、CPLD)或使用电路技术(诸如例如,ASIC、CMOS或TTL技术)的固定功能逻辑硬件,或它们的任何组合。替代地,这些组件的部分可以在一个或多个模块中实现为存储在机器或计算机可读存储介质(诸如RAM、ROM、PROM、固件、闪存等)中的要由处理器或计算设备执行的一组逻辑指令。例如,用于执行组件操作的计算机程序代码可以以一种或多种OS适用/适当的编程语言的任何组合来编写,所述一种或多种编程语言包括面向对象的编程语言(诸如PYTHON、PERL、JAVA、SMALLTALK、C++、C#等)和常规过程性的编程语言(诸如“C”编程语言或类似的编程语言)。
装置20可以实现方法30(图3A至3B)或本文所讨论的任何实施例的一个或多个方面。在一些实施例中,所示设备20可包括一个或多个衬底21(例如,硅、蓝宝石、砷化镓)以及耦合到衬底21的逻辑22(例如,晶体管阵列和其他集成电路/IC组件)。逻辑22可以至少部分地以可配置逻辑或固定功能逻辑硬件来实现。在一个实例中,逻辑22可包括位于(例如,嵌入)(多个)衬底21内的晶体管沟道区。因此,逻辑22和(多个)衬底21之间的接口可以不是突变结。逻辑22还可被认为包括在(多个)衬底21的初始晶片上生长的外延层。
现转向图3A至图3B,管理热系统的方法30的实施例可以包括:在框31处基于包括处理器信息、热信息和冷却信息中的一个或多个的输入信息来学习系统的热行为信息,以及在框32处基于所学习的热行为信息和输入信息来提供信息以调整处理器的参数(例如,功率、频率、利用率等)和冷却子系统的参数(例如,功率、风扇速度、泵吞吐量、空气限制等)中的一个或多个。在一些实施例中,输入信息还可以包括强化信息(在框33处),并且方法30可以包括在框34处基于强化信息来学习系统的热行为信息。例如,增强信息可包括框35处的奖励信息和惩罚信息中的一个或多个。方法30的一些实施例可以进一步包括在框36处基于增加奖励信息和减少惩罚信息的调整值来学习系统的热行为。例如,增加的奖励信息可以对应于框37处的增加的处理器频率和减少的主动冷却中的一个或多个,并且框38处增加的惩罚信息可以对应于高于阈值温度的处理器温度。方法30的一些实施例可以进一步包括在框39处提供具有Q学习的深度强化学习代理。
方法30的实施例可以在系统、装置、计算机、设备等中实现,例如诸如本文所描述的那些。更具体地,方法30的硬件实现可以包括可配置逻辑(诸如例如,PLA、FPGA、CPLD)或使用电路技术(诸如例如,ASIC、CMOS或TTL技术)的固定功能逻辑硬件,或它们的任何组合。替代地或另外地,方法30可以在一个或多个模块中实现为存储在机器或计算机可读存储介质(诸如RAM、ROM、PROM、固件、闪存等)中的要由处理器或计算设备执行的一组逻辑指令。例如,用于执行组件操作的计算机程序代码可以以一种或多种OS适用/适当的编程语言的任何组合来编写,所述一种或多种编程语言包括面向对象的编程语言(诸如PYTHON、PERL、JAVA、SMALLTALK、C++、C#等)和常规过程性的编程语言(诸如“C”编程语言或类似的编程语言)。
例如,方法30可在如结合以下示例20至25所描述的计算机可读介质上实现。方法30的实施例或部分可以在固件、应用程序(例如,通过应用程序编程接口(API))或在操作系统(OS)上运行的驱动程序软件中实现。另外,逻辑指令可以包括汇编指令、指令集架构(ISA)、机器指令、机器相关指令、微代码、状态设置数据、集成电路的配置数据、状态信息,使电子电路和/或硬件本机的其他结构组件(例如,主机处理器、中央处理单元/CPU、微控制器等)个性化。
一些实施例可以使用强化学习和/或建模技术来有利地提供自适应自学习解决方案以用于主动和被动CPU热冷却。如上所述,高效的CPU冷却解决方案对于确保高系统性能可能是重要的。在一些系统中,被动冷却可以控制CPU频率(例如,或功率)以减少产生的热量,并且主动冷却可以包括运行风扇以将所产生的热量消散到环境中。被动冷却可能会降低系统性能,而风扇可能会消耗功率并且可能操作有噪声的。在一些系统中,冷却解决方案在功率和性能之间找到适当平衡同时确保CPU在设计的热限制内操作可能是重要的。小型设备中的高性能计算可能包括增加的核数量和时钟速度,这可能会抬高功耗并导致CPU产生过多的热量。需要有效地散热,以使系统和CPU保持在安全的操作条件内。被动冷却技术可以控制CPU频率、CPU空闲状态和/或功耗,这可能限制产生多少CPU热量。主动冷却设备(如热泵和风扇)可将所产生的热量从设备传递到环境中。高效冷却所需的参数可能取决于许多因素,从环境因素(例如,空气温度、气压/高度、机器冷却解决方案的精确布局、空气流量、风扇的老化、风扇中的灰尘量/冷却阻止等)到工作量因素(例如,游戏vs.网络浏览vs.办公室应用程序等)。
一些传统的冷却策略可以被认为是使用一组温度跳变点(trip points)来触发预定义的冷却动作的反应式解决方案。确定合适的跳变点和相应的动作可能是复杂的,并且通常设定点可以是从热实验、用户体验或社区知识建立的近似值。为了确保CPU没有达到临界极限,设定点可能过于激进,这会降低性能、消耗更多功率、或降低性能又消耗更多功率。另外,设定点可以是静态的,在此意义上,它们在系统的整个生命周期中保持恒定,因此不适应变化的操作条件(例如,环境温度、气压、老化组件、灰尘收集等)。
一些传统的冷却解决方案可以基于启发式解决方案,该启发式解决方案是预定义的和静态配置,该配置在系统首次运送到最终用户时落实到位。该配置可以是针对平均或最差情况场景设计的静态、次优解决方案,并且不适应于改变的操作条件。配置可能无法跨设备很好地扩展,并且可能需要独立地为每个设备/平台重新设计冷却解决方案。在某些情况下,最终用户可以通过编辑文件来修改这些配置,但是提出最佳配置并不是容易的任务。例如,适当地编辑配置文件可能需要深入了解系统的热属性,这可能超出普通最终用户的范围。一些传统的冷却解决方案可以被认为是反应技术,其中冷却解决方案仅在系统达到设定或临界点时才开始。此类反应技术可能导致热节流,其中性能发生显著下降。
现在转到图4A至图4B,电子处理系统的实施例可以包括训练系统40a(图4A)和部署系统40b(图4B)。在训练阶段,系统40a可以包括耦合到CPU热模拟器44的机器学习代理42。机器学习代理42可以包括神经网络42a(例如,和/或其他合适的机器学习技术)。机器学习代理42可以从CPU热模拟器44接收包括诸如CPU频率信息、CPU利用率信息、CPU温度信息、每分钟风扇转数(RPM)信息等状态信息的状态信息。神经网络42a可以处理输入信息并创建决策网络42b,该决策网络42b向CPU热模拟器44输出推荐的新风扇RPM和推荐的新CPU频率。或者,训练系统40a的一些实施例可以使用真实系统代替CPU热模拟器44。为了使代理42了解系统40a,代理42可以经历学习或探索阶段,其中例如代理42可以在真实系统上从CPU收集监督的数据以了解压力下的CPU热行为。代理42可以使用该数据来构建监督的模型。在代理42已经构建了监督模型之后,代理42可以基于所学习的行为开始采取行动。
在训练阶段已经充分进展之后(例如,代理42已经收敛到策略),在部署的系统40b中,代理42可以耦合到物理硬件平台46(例如,参见图4B)。平台46可以包括硬件和OS、CPU频率控制器46a、传感器46b、风扇控制器46c等。平台46可以向代理42提供与当前状态相对应的信息(例如,来自CPU频率控制器46a的CPU频率、当前CPU利用率、来自传感器46b的当前CPU温度、来自风扇控制器46c的当前风扇RPM等)。代理42可以利用神经网络42a处理输入信息,并且判定网络42b可以向风扇控制器46c输出推荐的新风扇RPM,并且向CPU频率控制器46a输出推荐的新CPU频率。
代理42在真实系统(例如,图4B中的部署系统40b)上探索关于环境的各种动作的过程可能具有各种问题,包括:例如代理的极端动作或无动作可能会严重损坏平台46,并且初始训练可能是耗时的,因为这可以实时地进行训练(例如,代理42必须等待环境响应)。有利地,可以构建CPU的监督热模型(例如,图4A中的CPU热模拟器44)并且用于在代理42被部署以在平台46上运行之前首先在模型上训练代理42(例如,参见图4B)。
一些实施例可以有利地提供基于强化学习的热冷却解决方案,其中冷却软件(例如,代理)可以通过与CPU交互来自动学习系统的热行为。代理可以基于代理从主机系统接收的奖励和/或惩罚信息来学习采取更好或最佳的动作。利用合适的奖励功能,一些实施例可以控制各种参数(诸如CPU频率和风扇速度,以主动地防止系统在优化功率和性能的同时超过热边界)。一些实施例可以提供改善的或最佳的冷却解决方案,该解决方案可以是主动的并且需要很少或不需要用户干预(例如,随着系统/组件老化而随时间调整)。一些实施例可以帮助减少或防止性能模式中的CPU频率节流,并且还可以在节能模式下节省电池寿命。一些实施例可以提供稳健的热解决方案,该解决方案可以很好地适应变化的操作条件,并且可以跨不同类型的硬件问题进行扩展(例如,比传统解决方案更有效)。
一些系统可以表现出热行为,其中CPU温度在一些阈值风扇速度之后保持相对恒定。例如,在高于某个阈值的任何风扇速度下,风扇速度的进一步增加可能无法有效地降低CPU温度。传统的解决方案可能无法适应这种行为,并且可能对于更高的CPU温度以最大速度主动运行风扇。不必要地以更高的速度运行基于电动机的风扇不仅使得风扇噪声更大,而且还消耗不必要的功率(例如,这可能进一步耗尽膝上型电脑的电池)。一些实施例可以有利地学习系统的热行为并且当高风扇速度无效时避免高风扇速度。
一些实施例可以提供基于强化学习的解决方案,该解决方案可以应用于各种各样的热行为/问题。一些实施例可以了解系统的热行为并使用所学习的信息来应用改善的或最佳的冷却策略。具有强化学习技术的冷却解决方案的一些实施例可以有利地跨不同平台上扩展有很小或没有变化。一些实施例可以适于变化的环境,随时间连续地学习改善的或最佳的冷却策略。一些实施例可能不需要或最少需要用户干预。
基于强化学习的冷却示例
热冷却解决方案的一些实施例可以基于人工智能技术以用于自适应控制,这在一些实施例中可以被称为强化学习。在强化学习技术的一些实施例中,例如,代理可以基于代理在连续地与环境交互时接收的奖励和/或惩罚信息来自动确定改善的或理想的主动和被动冷却策略。任何合适的强化学习技术可以被利用,并且可以类似于已经应用于各种领域(诸如博弈论、机器人学、游戏、操作研究、控制理论等)中的强化学习技术。当应用强化学习技术时以管理CPU的热量时,代理的一些实施例可以实现为热冷却软件,并且环境是CPU(例如,其可以提供包括奖励/惩罚信息的强化信息)。
在一些实施例中,代理可以观察CPU的状态(例如,温度、频率、CPU利用率等),并且周期性地(例如,在每个时间步骤)决定采取行动(例如,可以包括改变风扇速度(主动冷却)、和/或限制CPU频率(被动冷却)。对于代理采取的每个动作,环境可以移动到新状态并返回奖励/惩罚,奖励/惩罚指示动作是好还是坏。策略可以指定代理在处于特定状态时必须采取的动作,并且代理的目标可以是通过最大化代理接收的长期奖励来学习跨所有状态的良好或最佳策略。通过设计适当的奖励功能,一些实施例可以教导代理如何在最大化性能的同时将CPU保持在安全的热环境内。
现在转到图5A至图5B,电子处理系统的实施例可以包括训练系统50a(图5A)和部署系统50b(图5B)。在训练阶段,系统50a可以包括耦合到CPU热模拟器54的强化学习(RL)代理52。RL代理52可以包括深度Q神经网络(DQN)52a(例如,和/或其他合适的机器学习技术)。RL代理52可以从CPU热模拟器54接收诸如CPU频率信息、CPU利用率信息、CPU温度信息、风扇RPM信息、和/或其他状态信息的之类的输入信息。RL代理52还可以接收与功率模式(例如,性能模式、正常模式、节能模式等)、奖励信息、和/或惩罚信息有关的输入信息。奖励和/或惩罚信息在各种功率模式之间可以是不同的,以基于功率模式来鼓励RL代理52采用不同的策略。DQN 52a可以处理输入信息并创建决策网络52b,该决策网络52b向CPU热模拟器54输出推荐的新风扇RPM和推荐的新CPU频率。为了RL代理52了解系统50a,RL代理52可以经历学习或探索阶段,其中,例如,RL代理52可以随机地采取动作并且经由RL代理52从CPU热模拟器54接收的输入信息来学习。在RL代理52已经探索了许多或所有动作并且收敛到策略之后,可以逐步淘汰探索阶段到开发阶段,其中RL代理52可以基于RL代理52已经学习的最优策略采取动作。
在训练阶段已经充分进展之后(例如,RL代理52已经收敛到策略),在部署的系统50b中,代理52可以被耦合到物理硬件平台56(例如,参见图5B)。平台56可以包括硬件和OS、CPU频率控制器56a、热传感器56b、风扇控制器56c等。平台56可以向RL代理52提供对应于当前CPU频率(例如,来自CPU频率控制器56a)、当前CPU温度(例如,来自热传感器56b)、和当前风扇RPM(例如,来自风扇控制器56c)的信息。平台56还可以向RL代理52提供与当前功率模式、当前奖励信息、和/或当前惩罚信息有关的信息。代理52可以利用DQN 52a处理输入信息,并且判定网络52b可以向风扇控制器56c输出推荐的新风扇RPM,并且向CPU频率控制器56a输出推荐的新CPU频率。
为了使RL代理52了解系统50a,RL代理52可以经历学习或探索阶段,其中,RL代理52可以随机地采取动作并且经由RL代理52从CPU热模拟器54接收的奖励来学习。RL代理52首先从模拟训练中学习(图5A),然后将学习的策略应用于真实系统(图5B)。在RL代理52已经探索了所有或大多数动作并且收敛到策略之后,可以逐步淘汰探索阶段到开发阶段,其中RL代理52然后可以基于RL代理52已经学习的最优策略采取动作。可以利用任何合适的技术来训练RL代理52,包括例如利用Q学习的深度强化学习。如上所述,在训练系统50a上执行RL代理52的初始训练可以避免在RL代理52学习初始策略时对系统50b的损害。可替代地,一些实施例可以代替CPU热模拟器54在真实系统上执行训练(例如,采取一些其他步骤以避免损坏)。
监督学习/基于模型的示例
如CPU功率、风扇速度、环境温度等因素可能直接影响CPU温度。这些变量之间的准确关系可能取决于许多其他参数(例如,CPU规格、散热器、导热膏等),并且可能因设备而异。一些实施例可以通过在实际设备上收集标记的数据来建立良好的统计模型。例如,许多设备都具有一个或多个报告CPU温度和风扇速度的内置传感器。通过运行若干基准工作负载并给CPU加压,一些实施例可以收集标记的数据并构建CPU的合理代表性热模型。例如,假设环境温度保持恒定在25摄氏度,该模型可以包括作为CPU功率(例如,可以取决于CPU频率和利用率)和风扇速度的函数的最大可达到的CPU温度。在一些实施例中,模型可以基于当前操作条件来预测CPU的最高温度。
一些实施例可以教导两个不同的代理来控制CPU温度。第一代理可以学习设置改进的或最佳的风扇速度(例如,主动冷却)并且可以根本不影响CPU频率。第二代理可以学习在风扇速度保持恒定的同时控制CPU频率(例如,仅被动冷却)。对于代理、DQN网络两者可以利用完全连接的传统神经网络。可以在目标平台的模拟热模型上训练代理,并且可以调整网络的超参数以确保代理的策略的收敛(例如,基于几个实验运行)。在某些情况下,初始学习也可能发生在物理系统上。在初始学习之后,经训练的代理可以应用于真实的物理系统。有利地,代理可以容易地从例如LINUX平台移植到ANDROID汽车平台。
被动冷却RL代理可以学习控制CPU频率以将温度保持在指定极限(例如,70摄氏度)以下,而对性能的影响很小或没有影响。代理可以接收增加频率的奖励(例如,频率越高,奖励越高),并且如果CPU温度超过指定限制,则代理可能受到惩罚。被动冷却RL代理可以最初探索不同的动作并尝试所有可能的频率设置。在多个强化学习步骤之后,被动冷却RL代理可以学习选择最大化CPU频率的动作,同时保持CPU温度低于指定限制(例如,或设定临界点)。
主动冷却RL代理可以学习控制风扇速度。主动冷却RL代理可以在较低的风扇速度下得到奖励,并且在超过指定的温度极限(例如,70摄氏度的临界温度)时受到惩罚。主动冷却RL代理可以最初在模拟系统上学习改善的或最佳的风扇速度以实现期望的目标。在学习模型上的策略之后,可以将主动冷却RL代理移植到物理系统以控制实际工作负载上的风扇。有利地,主动冷却RL代理可以立即控制温度,然后将CPU温度保持在期望的温度。
图6A示出了可以实现方法30(图3A至图3B)的一个或多个方面的热管理设备132(132a-132b)。热管理设备132可以包括逻辑指令、可配置逻辑、固定功能硬件逻辑,该热管理设备132可以容易地替换已经讨论过的代理15(图1)、代理42(图4A或图4B)、和/或已经讨论的代理52(图5A以及图5B)。行为学习器132a可以基于包括处理器信息、热信息和冷却信息中的一个或多个的输入信息来学习系统的热行为信息。参数调整器132b可以提供信息以基于所学习的热行为信息和输入信息来调整处理器的参数(例如,功率、频率等)和冷却子系统的参数(例如,功率、风扇速度、泵吞吐量等)中的一个或多个。在一些实施例中,输入信息可以包括增强信息,并且行为学习器132a可以进一步被配置为基于强化信息来学习系统的热行为信息。例如,增强信息可包括奖励信息和惩罚信息中的一个或多个。在一些实施例中,行为学习器22可以被配置成基于增加奖励信息并减少惩罚信息的调整值来学习系统的热行为。例如,增加的奖励信息可以对应于增加的处理器频率和减少的主动冷却中的一个或多个,并且增加的惩罚信息可以对应于高于阈值温度的处理器温度。在一些实施例中,行为学习器22可以进一步被配置成用于提供具有Q学习的深度强化学习代理。
现在转到图6B,示出了热管理设备134(134a、134b),其中逻辑134b(例如,晶体管阵列和其他集成电路/IC组件)被耦合到衬底134a(例如硅、蓝宝石、砷化镓)。逻辑134b通常可以实现方法30(图3A至图3B)的一个或多个方面。因此,逻辑134b可以包括这样的技术:该技术用于基于包括处理器信息、热信息、和冷却信息中的一个或多个的输入信息来学习系统的热行为信息的技术,以及基于所学习的热行为信息和输入信息来提供信息以调整处理器的参数(例如,功率、频率、利用率等)和冷却子系统的参数(例如,功率、风扇速度、泵吞吐量、空气限制等)中的一个或多个。在一些实施例中,输入信息可以包括增强信息,并且逻辑134b可以进一步被配置成基于增强信息来学习系统的热行为信息。例如,增强信息可包括奖励信息和惩罚信息中的一个或多个。在一些实施例中,逻辑134b可以被配置成基于增加奖励信息并减少惩罚信息的调整值来学习系统的热行为。例如,增加的奖励信息可以对应于增加的处理器频率和减少的主动冷却中的一个或多个,并且增加的惩罚信息可以对应于高于阈值温度的处理器温度。在一些实施例中,逻辑134b可以进一步被配置成用于提供具有Q学习的深度强化学习代理。在一个示例中,设备134是半导体管芯、芯片和/或封装。
图7示出了根据一个实施例的处理器核200。处理器核200可以是用于任何类型的处理器的核,处理器诸如微处理器、嵌入式处理器、数字信号处理器(DSP)、网络处理器或用于执行代码的其他设备。尽管图7中示出了仅一个处理器核200,但是处理元件可以替代地包括多于一个图7所示出的处理器核200。处理器核200可以是单线程核,或者,对于至少一个实施例,处理器核200可以是多线程的,因为它可以包括每个核多于一个硬件线程上下文(或“逻辑处理器”)。
图7还示出了耦合至处理器核200的存储器270。存储器270可以是如本领域的技术人员已知的或以其他方式可获得的各种各样的存储器(包括存储器层级的各个层)中的任何存储器。存储器270可以包括由处理器核200执行的一个或多个代码213(多个)指令,其中,代码213可以实现已经讨论的方法30(图3A至图3B)的一个或多个方面。处理器核200遵循由代码213指示的指令的程序序列。每个指令可以进入前端部分210并且由一个或多个解码器220处理。解码器220可以生成呈预定义格式的微操作(如固定宽度微操作)作为其输出,或者可以生成反映出原始码指令的其他指令、微指令、或控制信号。所展示的前端部分210还包括寄存器重命名逻辑225和调度逻辑230,它们总体上分配资源并且对与用于执行的转换指令相对应的操作进行排队。
处理器核200被示出为包括具有一组执行单元255-1至255-N的执行逻辑250。一些实施例可以包括专用于指定功能或功能集合的大量执行单元。其他实施例可以仅包括一个执行单元或一个可执行特定功能的执行单元。所示出的执行逻辑250执行由码指令指定的操作。
在完成由码指令指定的操作的执行之后,后端逻辑260使代码213的指令引退。在一个实施例中,处理器核200允许指令的乱序执行但要求指令的有序引退。引退逻辑265可以采取本领域的技术人员已知的各种形式(例如,重排序缓冲器等)。以此方式,在代码213的执行期间中,至少就由解码器、寄存器重命名逻辑225所利用的硬件寄存器和表、以及由执行逻辑250修改的任何寄存器(未示出)生成的输出而言,处理器核200被变换。
尽管图7未展示,但处理元件可以包括其他与处理器核200同在芯片上的元件。例如,处理元件可以包括存储器控制逻辑连同处理器核200。处理元件可以包括I/O控制逻辑、和/或可以包括与存储器控制逻辑集成的I/O控制逻辑。处理元件还可以包括一个或多个高速缓存。
现在参照图8,所示出的是根据实施例的系统1000实施例的框图。图8示出了多处理器系统1000,所述多处理器系统1000包括第一处理元件1070和第二处理元件1080。虽然示出了两个处理元件1070和1080,但应当理解的是,系统1000的实施例还可以包括仅一个此类的处理元件。
系统1000被示出为点对点互连系统,其中,第一处理元件1070和第二处理元件1080经由点对点互连1050耦合。应当理解的是,图8所示出的任何或所有互连可以被实现为多站式总线而非点对点互连。
如图8所示,处理元件1070和1080中的每一个都可以是多核处理器,包括第一和第二处理器核(即,处理器核1074a与1074b以及处理器核1084a与1084b)。此类核1074a、1074b、1084a、1084b可以被配置成用于以与以上关于图7讨论的方式类似的方式执行指令代码。
每个处理元件1070、1080可以包括至少一个共享高速缓存1896a、1896b(例如,静态随机存取存储器/SRAM)。共享高速缓存1896a、1896b可以存储分别由处理元件的一个或多个组件(诸如核1074a、1074b和1084a、1084b)使用的数据(例如,对象、指令)。例如,共享高速缓存1896a、1896b可以对存储在存储器1032、1034中的数据进行本地高速缓存,以便由处理器的组件更快地访问。在一个或多个实施例中,共享高速缓存1896a、1896b可以包括一个或多个中级高速缓存,如二级(L2)、三级(L3)、四级(L4)、或其他级别的高速缓存、终极高速缓存(LLC)、和/或其组合。
虽然仅以两个处理元件1070、1080来示出,但应理解实施例的范围不限于此。在其他实施例中,给定处理器中可以存在一个或多个附加处理元件。可替代地,处理元件1070、1080中的一个或多个可以是处理器之外的元件(诸如加速器或现场可编程门阵列)。例如,(多个)附加的处理元件可以包括与第一处理器1070相同的(多个)附加的处理器、与第一处理器1070异构或非对称的(多个)附加的处理器、加速器(诸如,例如图形加速器或数字信号处理(DSP)单元)、现场可编程门阵列、或任何其他处理元件。就一系列品质量度(包括体系结构、微体系结构、热、功耗特性等)而言,处理元件1070、1080之间存在多种差异。这些差异可以有效地将其本身表现为处理元件1070、1080之间的不对称性和异构性。对于至少一个实施例,各种处理元件1070、1080可以驻留在同一管芯封装中。
第一处理元件1070可以进一步包括存储器控制器逻辑(MC)1072以及点对点(P-P)接口1076和1078。类似地,第二处理元件1080可以包括MC 1082以及P-P接口1086和1088。如图8所示,MC的1072和1082将处理器耦合至相应的存储器(即存储器1032和存储器1034)上,所述存储器可以是本地附连到相应的处理器的主存储器的部分。虽然MC 1072和1082被展示为集成到处理元件1070、1080中,但对于替代性实施例,MC逻辑可以是位于处理元件1070、1080外部而不是集成在其中的离散逻辑。
第一处理元件1070和第二处理元件1080可以分别地经由P-P互连件1076、1086耦合至I/O子系统1090。如图8所示,I/O子系统1090包括TEE1097(例如,安全控制器)以及P-P接口1094和1098。此外,I/O子系统1090包括用于将I/O子系统1090与高性能图形引擎1038耦合的接口1092。在一个实施例中,总线1049可以用于将图形引擎1038耦合至I/O子系统1090。可替代地,点对点互连可以耦合这些组件。
进而,I/O子系统1090可以经由接口1096耦合至第一总线1016。在一个实施例中,第一总线1016可以是外围组件互连(PCI)总线,或如快速PCI总线或另一种第三代I/O互连总线的总线,尽管实施例的范围不限于此。
如图8所示,各种I/O设备1014(例如,相机、传感器)可连同总线桥接器1018一起耦合至第一总线1016,该总线桥接器1018可以将第一总线1016耦合至第二总线1020。在一个实施例中,第二总线1020可以是低引脚数(LPC)总线。在一个实施例中,各种设备可以耦合到第二总线1020,所述设备包括例如键盘/鼠标1012、(多个)网络控制器/通信设备1026(其进而可以与计算机网络通信)、以及数据存储单元1019(诸如磁盘驱动器或其他可包括代码1030的大容量存储设备)。代码1030可以包括用于执行以上所描述方法中的一种或多种的实施例的指令。因此,所示出的代码1030可以实现已经讨论过的方法30(图3A至图3B)的一个或多个方面,并且可以类似于已经讨论的代码213(图7)。进一步地,音频I/O 1024可以耦合到第二总线1020。
注意的是,设想了其他实施例。例如,系统可以实现多站式总线或另一个此类通信拓扑,而不是图8的点对点体系结构。
附加说明和示例:
示例1可以包括电子处理系统,包括:处理器;存储器,通信地耦合到处理器;传感器,通信地耦合到处理器;冷却子系统,通信地耦合到处理器;以及机器学习代理,通信地耦合到处理器、传感器、和冷却子系统;机器学习代理包括逻辑,用于基于来自处理器、传感器和冷却子系统中的一个或多个的信息来学习系统的热行为信息,并且用于基于所学习的热行为信息和来自处理器、传感器和冷却子系统中的一个或多个的信息来调整处理器的参数和冷却子系统的参数中的一个或多个。
示例2可以包括示例1的系统,其中该逻辑进一步基于来自处理器、传感器和冷却子系统中的一个或多个的强化信息来学习系统的热行为信息。
示例3可以包括示例2的系统,其中,强化信息包括奖励信息和惩罚信息中的一个或多个。
示例4可以包括示例3的系统,其中,该逻辑进一步基于增加奖励信息并减少惩罚信息的调整值来学习系统的热行为。
示例5可以包括示例4的系统,其中,增加的奖励信息对应于增加的处理器频率和减少的主动冷却中的一个或多个,并且其中增加的惩罚信息对应于高于阈值温度的处理器温度。
示例6可以包括示例1至示例5中任一项的系统,其中,机器学习代理包括具有Q学习的深度强化学习代理。
示例7可以包括半导体封装设备,包括一个或多个衬底,以及耦合到所述一个或多个衬底的逻辑,其中逻辑至少部分地在可配置逻辑和固定功能硬件逻辑中的一个或多个中实现,逻辑耦合到一个或多个衬底以基于包括处理器信息、热信息和冷却信息中的一个或多个的输入信息来学习系统的热行为信息,并且基于所学习的热行为信息和输入信息来提供信息以调整处理器的参数以及冷却子系统的参数中的一个或多个。
示例8可以包括示例7的设备,其中输入信息进一步包括强化信息,其中该逻辑进一步用于基于强化信息来学习系统的热行为信息。
示例9可以包括示例8的设备,其中,强化信息包括奖励信息和惩罚信息中的一个或多个。
示例10可以包括示例9的设备,其中,该逻辑进一步基于增加奖励信息并减少惩罚信息的调整值来学习系统的热行为。
示例11可以包括示例10的设备,其中,增加的奖励信息对应于增加的处理器频率和减少的主动冷却中的一个或多个,并且其中增加的惩罚信息对应于高于阈值温度的处理器温度。
示例12可以包括示例7至示例11中任一项的设备,其中,该逻辑进一步用于提供具有Q学习的深度强化学习代理。
示例13可以包括示例7至12中任一个的设备,其中,耦合到一个或多个衬底的逻辑包括位于一个或多个衬底内的晶体管沟道区。
示例14可以包括管理热系统的方法,包括:基于包括处理器信息、热信息和冷却信息中的一个或多个的输入信息来学习系统的热行为信息,并基于所学习的热行为信息和输入信息来提供信息以调整处理器的参数和冷却子系统的参数中的一个或多个。
示例15可以包括示例14的方法,其中,输入信息进一步包括强化信息,其中该逻辑进一步用于基于强化信息来学习系统的热行为信息。
示例16可以包括示例15的方法,其中,强化信息包括奖励信息和惩罚信息中的一个或多个。
示例17可以包括示例16的方法,其中,进一步包括基于增加奖励信息并减少惩罚信息的调整值来学习系统的热行为。
示例18可以包括示例17的方法,其中,增加的奖励信息对应于增加的处理器频率和减少的主动冷却中的一个或多个,并且其中增加的惩罚信息对应于高于阈值温度的处理器温度。
示例19可以包括示例14至示例18中任一项的方法,进一步包括提供具有Q学习的深度强化学习代理。
示例20可包括至少一个计算机可读存储介质,包括一组指令,当由计算设备执行该组指令时,使得计算设备用于基于包括处理器信息、热信息和冷却信息中的一个或多个的输入信息来学习系统的热行为信息,并基于所学习的热行为信息和输入信息来提供信息以调整处理器的参数和冷却子系统的参数中的一个或多个。
示例21可以包括示例20的至少一个计算机可读存储介质,其中输入信息进一步包括强化信息,包括另一组指令,当由计算设备执行该组指令时,使得计算设备用于学习基于强化信息的系统的热行为信息。
示例22可包括示例21的至少一个计算机可读存储介质,其中,强化信息包括奖励信息和惩罚信息中的一个或多个。
示例23可以包括示例22的至少一个计算机可读存储介质,包括另一组指令,当由计算设备执行该组指令时,使得计算设备基于增加奖励信息并减少惩罚信息的调整值来学习系统的热行为。
示例24可以包括示例23的至少一个计算机可读存储介质,其中,增加的奖励信息对应于增加的处理器频率和减少的主动冷却中的一个或多个,并且其中增加的惩罚信息对应于高于阈值温度的处理器温度。
示例25可以包括示例20至24中任一个的至少一个计算机可读存储介质,包括另一组指令,当由计算设备执行该组指令时,使得计算设备用于提供具有Q学习的深度强化学习代理。
示例26可以包括热管理设备,包括:用于基于包括处理器信息、热信息和冷却信息中的一个或多个的输入信息来学习系统的热行为信息的装置,以及用于基于所学习的热行为信息和输入信息来提供信息以调整处理器的参数和冷却子系统的参数中的一个或多个的装置。
示例27可以包括示例26的设备,其中,输入信息进一步包括强化信息,进一步包括用于基于强化信息来学习系统的热行为信息的装置。
示例28可以包括示例27的设备,其中,强化信息包括奖励信息和惩罚信息中的一个或多个。
示例29可以包括示例28的设备,其中,进一步包括用于基于增加奖励信息并减少惩罚信息的调整值来学习系统的热行为的装置。
示例30可以包括示例29的设备,其中,增加的奖励信息对应于增加的处理器频率和减少的主动冷却中的一个或多个,并且其中增加的惩罚信息对应于高于阈值温度的处理器温度。
示例31可以包括示例26至示例30中任一项的设备,进一步包括用于提供具有Q学习的深度强化学习代理的装置。
实施例适用于供所有类型的半导体集成电路(“IC”)芯片使用。这些IC芯片的示例包括但不限于:处理器、控制器、芯片集组件、可编程逻辑阵列(PLA)、存储器芯片、网络芯片、片上系统(SoC)、SSD/NAND控制器ASIC等。另外,在一些附图中,利用线条表示信号导体线。一些线条可以是不同的以指示更多组成的信号通路,具有数字标记以指示多个组成的信号通路和/或在一端或多端具有箭头以指示主要信息流方向。然而,这不应当被解释为限制性方式。相反,此类附加的细节可以与一个或多个示例性实施例结合使用以帮助更容易地理解电路。任何所表示的信号线,无论是否有附加信息,都实际可以包括可以在多个方向行进的一个或多个信号,并且可以利用任何适当类型的信号方案实现,例如利用差分对、光纤线路和/或单端线路实现的数字或模拟线路。
可能已经给出了示例大小/模型/值/范围,尽管实施例不限于此。随着制造技术(例如,光刻技术)随时间推移而成熟,预期可以制造出更小尺寸的器件。另外,为了简化图示和讨论以及为了不使实施例的一些方面不清晰,可以在图内示出或不示出到IC芯片和其他组件的公知的电力/接地连接。此外,布置可以以框图的形式示出,以避免模糊实施例,并且还鉴于以下事实:关于完成这样的框图布置的实现方式的细节高度依赖于在其中实现本实施例的平台(即,这样的细节应当完全处在本领域技术人员的视界中)。在阐述具体细节(例如电路)以描述本发明的示例实施例的情况下,对本领域普通技术人员应显而易见的是,本实施例能在没有这些具体细节或在这些具体细节的变型的情况下实施。因此,描述被认为是说明性的,而非限制性的。
术语“耦合”在本文中可以用于指代所讨论的组件之间的任何类型的直接或间接关系,并且可以应用于电学、机械、流体、光学、电磁、机电或其他连接。另外,此处使用的术语“第一”、“第二”等只帮助讨论,除非另外指明,其不带有特殊的时间或时间顺序意义。
如在本申请和权利要求书中所使用的,由术语“…中的一项或多项”联接的一系列项目可意指所列术语的任何组合。例如,短语“A、B和C中的一个或多个”和短语“A、B或C中的一个或多个”两者都可能意味着A、B、C、A和B、A和C、B和C、或者A、B和C。
本领域技术人员将从前面的描述中认识到,可以用各种形式来实现实施例的广泛技术。因此,尽管已经结合其特定示例描述了实施例,但是实施例的实际范围不应由此受限,因为其他的修改在本领域技术人员研习了附图、说明书和所附权利要求之后就将变得显而易见。
Claims (25)
1.一种电子处理系统,包括:
处理器;
存储器,通信地耦合到所述处理器;
热传感器,通信地耦合到所述处理器;
主动冷却子系统,通信地耦合到所述处理器;以及
机器学习代理,通信地耦合到所述处理器、所述热传感器和所述主动冷却子系统,所述机器学习代理包括逻辑,用于:
基于来自所述处理器、所述热传感器和所述主动冷却子系统中的一个或多个的信息来学习所述系统的热行为信息,以及
基于所学习的热行为信息和来自所述处理器、所述热传感器和所述主动冷却子系统中的一个或多个的信息来调整所述处理器的参数和所述主动冷却子系统的参数中的一个或多个。
2.如权利要求1所述的系统,其特征在于,所述逻辑进一步用于:
基于来自所述处理器、所述热传感器和所述主动冷却子系统中的一个或多个的强化信息来学习所述系统的所述热行为信息。
3.如权利要求2所述的系统,其特征在于,所述强化信息包括奖励信息和惩罚信息中的一个或多个。
4.如权利要求3所述的系统,其特征在于,所述逻辑进一步用于:
基于增加所述奖励信息并减少所述惩罚信息的调整值来学习所述系统的热行为。
5.如权利要求4所述的系统,其特征在于,增加的奖励信息对应于增加的处理器频率和减少的主动冷却中的一个或多个,并且其中增加的惩罚信息对应于高于阈值温度的处理器温度。
6.如权利要求1至5中任一项所述的系统,其特征在于,所述机器学习代理包括具有Q学习的深度强化学习代理。
7.一种半导体封装设备,包括:
一个或多个衬底;以及
逻辑,耦合到所述一个或多个衬底,其中所述逻辑至少部分地在可配置逻辑和固定功能硬件逻辑中的一个或多个中实现,耦合到所述一个或多个衬底的所述逻辑用于:
基于包括处理器信息、热信息和主动冷却信息中的一个或多个的输入信息来学习系统的热行为信息,以及
基于所学习的热行为信息和所述输入信息来提供信息以调整处理器的参数和主动冷却子系统的参数中的一个或多个。
8.如权利要求7所述的设备,其特征在于,所述输入信息进一步包括增强信息,其中,所述逻辑进一步用于:
基于所述强化信息来学习所述系统的所述热行为信息。
9.如权利要求8所述的设备,其特征在于,所述强化信息包括奖励信息和惩罚信息中的一个或多个。
10.如权利要求9所述的设备,其特征在于,所述逻辑进一步用于:
基于增加所述奖励信息并减少所述惩罚信息的调整值来学习所述系统的热行为。
11.如权利要求10所述的设备,其特征在于,增加的奖励信息对应于增加的处理器频率和减少的主动冷却中的一个或多个,并且其中增加的惩罚信息对应于高于阈值温度的处理器温度。
12.如权利要求7至11中任一项所述的设备,其特征在于,所述逻辑进一步用于:
提供具有Q学习的深度强化学习代理。
13.如权利要求7至12中的任一项所述的设备,其特征在于,耦合到所述一个或多个衬底的所述逻辑包括位于所述一个或多个衬底内的晶体管沟道区。
14.一种管理热系统的方法,包括:
基于包括处理器信息、热信息和主动冷却信息中的一个或多个的输入信息来学习系统的热行为信息;以及
基于所学习的热行为信息和所述输入信息来提供信息以调整处理器的参数和主动冷却子系统的参数中的一个或多个。
15.如权利要求14所述的方法,其特征在于,所述输入信息进一步包括强化信息,进一步包括:
基于所述强化信息来学习所述系统的所述热行为信息。
16.如权利要求15所述的方法,其特征在于,所述强化信息包括奖励信息和惩罚信息中的一个或多个。
17.如权利要求16所述的方法,进一步包括:
基于增加所述奖励信息并减少所述惩罚信息的调整值来学习所述系统的热行为。
18.如权利要求17所述的方法,其特征在于,增加的奖励信息对应于增加的处理器频率和减少的主动冷却中的一个或多个,并且其中增加的惩罚信息对应于高于阈值温度的处理器温度。
19.如权利要求14至18中任一项所述的方法,进一步包括:
提供具有Q学习的深度强化学习代理。
20.一种热管理设备,包括:
用于基于包括处理器信息、热信息和主动冷却信息中的一个或多个的输入信息来学习系统的热行为信息的装置;以及
用于基于所学习的热行为信息和所述输入信息来提供信息以调整处理器的参数和主动冷却子系统的参数中的一个或多个的装置。
21.如权利要求20所述的设备,其特征在于,所述输入信息进一步包括强化信息,进一步包括:
用于基于所述强化信息来学习所述系统的所述热行为信息的装置。
22.如权利要求21所述的设备,其特征在于,所述强化信息包括奖励信息和惩罚信息中的一个或多个。
23.如权利要求22所述的设备,进一步包括:
用于基于增加所述奖励信息并减少所述惩罚信息的调整值来学习所述系统的热行为的装置。
24.如权利要求23所述的设备,其特征在于,增加的奖励信息对应于增加的处理器频率和减少的主动冷却中的一个或多个,并且其中增加的惩罚信息对应于高于阈值温度的处理器温度。
25.如权利要求20至24中任一项所述的设备,进一步包括:
用于提供具有Q学习的深度强化学习代理的装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/021,704 US20190042979A1 (en) | 2018-06-28 | 2018-06-28 | Thermal self-learning with reinforcement learning agent |
US16/021,704 | 2018-06-28 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110658900A true CN110658900A (zh) | 2020-01-07 |
Family
ID=65231563
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910451882.6A Pending CN110658900A (zh) | 2018-06-28 | 2019-05-28 | 具有强化学习代理的热自学习 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20190042979A1 (zh) |
CN (1) | CN110658900A (zh) |
DE (1) | DE102019112776A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116755343A (zh) * | 2023-08-18 | 2023-09-15 | 兆和能源(威海)有限公司 | 一种基于自学习模糊控制节电器 |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10977579B2 (en) * | 2018-08-27 | 2021-04-13 | Vmware, Inc. | Adversarial automated reinforcement-learning-based application-manager training |
ES2972959T3 (es) * | 2019-04-26 | 2024-06-17 | Daikin Ind Ltd | Sistema de aire acondicionado, y método de aprendizaje automático |
KR20210012730A (ko) | 2019-07-26 | 2021-02-03 | 삼성전자주식회사 | 인공지능 모델의 학습 방법 및 전자 장치 |
JP7331660B2 (ja) * | 2019-11-26 | 2023-08-23 | 横河電機株式会社 | 装置、方法およびプログラム |
GB2596182A (en) * | 2020-02-21 | 2021-12-22 | Nvidia Corp | Intelligent and integrated liquid-cooled rack for datacenters |
US20210267095A1 (en) * | 2020-02-21 | 2021-08-26 | Nvidia Corporation | Intelligent and integrated liquid-cooled rack for datacenters |
US11751360B2 (en) * | 2020-03-17 | 2023-09-05 | International Business Machines Corporation | Intelligently deployed cooling fins |
JP7484382B2 (ja) | 2020-04-24 | 2024-05-16 | 横河電機株式会社 | 制御装置、制御方法および制御プログラム |
US11520731B1 (en) * | 2020-11-06 | 2022-12-06 | Amazon Technologies, Inc. | Arbitrating throttling recommendations for a systolic array |
US11442890B1 (en) | 2020-11-06 | 2022-09-13 | Amazon Technologies, Inc. | On-circuit data activity monitoring for a systolic array |
US11907032B2 (en) * | 2021-06-21 | 2024-02-20 | Microsoft Technology Licensing, Llc | Generating fan control signal for computing device |
US11989068B2 (en) * | 2022-06-29 | 2024-05-21 | International Business Machines Corporation | Thermal and performance management |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6470289B1 (en) * | 1999-08-05 | 2002-10-22 | Compaq Information Technologies Group, L.P. | Independently controlling passive and active cooling in a computer system |
US7903409B2 (en) * | 2007-07-18 | 2011-03-08 | Hewlett-Packard Development Company, L.P. | System and method for cooling an electronic device |
JP5772345B2 (ja) * | 2011-07-25 | 2015-09-02 | 富士通株式会社 | パラメータ設定装置、コンピュータプログラム及びパラメータ設定方法 |
JP6088604B1 (ja) * | 2015-08-27 | 2017-03-01 | ファナック株式会社 | 磁束制御部を有する電動機制御装置、ならびに機械学習装置およびその方法 |
US10009957B2 (en) * | 2016-03-30 | 2018-06-26 | The Markov Corporation | Electronic oven with infrared evaluative control |
WO2017197325A1 (en) * | 2016-05-13 | 2017-11-16 | Top Flight Technologies, Inc. | Data center powered by a hybrid generator system |
GB2557674B (en) * | 2016-12-15 | 2021-04-21 | Samsung Electronics Co Ltd | Automated Computer Power Management System, Apparatus and Methods |
US10863653B2 (en) * | 2017-03-03 | 2020-12-08 | Dell Products L.P. | Thermal testing system and method of thermal testing |
WO2018224695A1 (en) * | 2017-06-09 | 2018-12-13 | Deepmind Technologies Limited | Training action selection neural networks |
JP7035734B2 (ja) * | 2018-03-30 | 2022-03-15 | 富士通株式会社 | 強化学習プログラム、強化学習方法、および強化学習装置 |
-
2018
- 2018-06-28 US US16/021,704 patent/US20190042979A1/en active Pending
-
2019
- 2019-05-15 DE DE102019112776.9A patent/DE102019112776A1/de active Pending
- 2019-05-28 CN CN201910451882.6A patent/CN110658900A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116755343A (zh) * | 2023-08-18 | 2023-09-15 | 兆和能源(威海)有限公司 | 一种基于自学习模糊控制节电器 |
CN116755343B (zh) * | 2023-08-18 | 2023-12-19 | 兆和能源(威海)有限公司 | 一种基于自学习模糊控制节电器 |
Also Published As
Publication number | Publication date |
---|---|
US20190042979A1 (en) | 2019-02-07 |
DE102019112776A1 (de) | 2020-01-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110658900A (zh) | 具有强化学习代理的热自学习 | |
US11372460B2 (en) | Systems, methods, and apparatus using artificial intelligent cooling method for server and ssd | |
TWI599960B (zh) | 在多核心處理器中執行電源管理 | |
US10146286B2 (en) | Dynamically updating a power management policy of a processor | |
US10671404B2 (en) | Systems, methods and devices for dynamic power management of devices using game theory | |
CN108780342B (zh) | 用于使用处理器中的核的热裕量的系统、方法和设备 | |
TWI556092B (zh) | 用以減少電力消耗之基於優先順序的應用程式事件控制技術 | |
US8547164B2 (en) | Closed loop adaptive voltage scaling | |
US9098274B2 (en) | Methods and apparatuses to improve turbo performance for events handling | |
CN104115091B (zh) | 多层级cpu高电流保护 | |
CN106598184B (zh) | 在处理器中执行跨域热控制 | |
US11275430B2 (en) | Power management advisor to support power management control | |
US20100180089A1 (en) | Managing thermal condition of a memory | |
US10318363B2 (en) | System and method for energy reduction based on history of reliability of a system | |
Bergamaschi et al. | Exploring power management in multi-core systems | |
EP2889706A1 (en) | Fuzzy logic control of thermoelectric cooling in a processor | |
CN117377925B (zh) | 基于空闲持续时间历史的低功率状态选择 | |
Bogdan et al. | Energy-efficient computing from systems-on-chip to micro-server and data centers | |
Afonso et al. | Heterogeneous CPU/FPGA reconfigurable computing system for avionic test application | |
Reza | Machine learning enabled solutions for design and optimization challenges in networks-on-chip based multi/many-core architectures | |
CN112639674B (zh) | 支持功率管理控制的功率管理顾问程序 | |
US20220391710A1 (en) | Neural network based power and performance model for versatile processing units | |
US20210157512A1 (en) | Flexible configuration of storage device with translation language set | |
US11899551B1 (en) | On-chip software-based activity monitor to configure throttling at a hardware-based activity monitor | |
US20240134436A1 (en) | Software-directed silicon power delivery network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |