CN111684391A - 全系统低功率管理 - Google Patents
全系统低功率管理 Download PDFInfo
- Publication number
- CN111684391A CN111684391A CN201880088624.XA CN201880088624A CN111684391A CN 111684391 A CN111684391 A CN 111684391A CN 201880088624 A CN201880088624 A CN 201880088624A CN 111684391 A CN111684391 A CN 111684391A
- Authority
- CN
- China
- Prior art keywords
- node
- nodes
- idle
- client
- link
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 claims abstract description 63
- 238000011144 upstream manufacturing Methods 0.000 claims abstract description 21
- 230000004044 response Effects 0.000 claims description 40
- 238000012545 processing Methods 0.000 claims description 32
- 230000008569 process Effects 0.000 claims description 13
- 230000015654 memory Effects 0.000 description 38
- 238000007726 management method Methods 0.000 description 32
- 238000004891 communication Methods 0.000 description 25
- 238000010586 diagram Methods 0.000 description 15
- 239000004744 fabric Substances 0.000 description 8
- 238000013459 approach Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 238000005070 sampling Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 2
- 238000001816 cooling Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 239000000523 sample Substances 0.000 description 2
- 229910052710 silicon Inorganic materials 0.000 description 2
- 239000010703 silicon Substances 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- -1 memory interfaces Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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/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/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3209—Monitoring remote activity, e.g. over telephone lines or network connections
-
- 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/3287—Power saving characterised by the action undertaken by switching off individual functional units in the computer system
-
- 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
-
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5094—Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
-
- 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
-
- 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
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Power Sources (AREA)
- Small-Scale Networks (AREA)
Abstract
公开了用于执行对多节点计算系统的有效功率管理的系统、装置和方法。一种计算系统包括多个节点。当掉电协商是分布式的时,在节点层次的较低层级处发生对全系统掉电的协商,之后在所述节点层次的较高层级处发生对掉电的协商。当掉电协商是集中式的时,给定节点将其客户端的状态与在其下游链路上接收到的指示组合起来,并且基于所述组合在上游链路上发送指示。仅根节点发送掉电请求。
Description
发明背景
背景技术
现代集成电路(IC)的功耗对于每一代半导体芯片来说已逐渐成为设计问题。随着功耗的增加,必须利用更昂贵的冷却系统,诸如更大的风扇和散热器,以便去除过多的热量并防止IC故障。然而,冷却系统会增加系统成本。IC功耗约束不仅对于便携式计算机和移动通信设备是问题,而且对于利用高性能微处理器的台式计算机和服务器也是问题。这些微处理器包括一个或多个处理器核心,以及一核心内的多个流水线。
多种计算设备(诸如多种服务器)利用异构集成,所述异构集成集成了多种类型的IC来提供系统功能性。多种功能包括音频/视频(A/V)数据处理、用于医学和商业领域的其他高数据并行应用程序、通用指令集体系结构(ISA)的处理指令、数字、模拟、混合信号和射频(RF)功能等等。对于系统封装存在多种选择,以集成多种类型的IC。在某些计算设备中,使用片上系统(SOC),而在其他计算设备中,更小且更高产量的芯片则作为大型芯片封装在多芯片模块(MCM)中。一些计算设备包括三维集成电路(3D IC),所述3D IC利用管芯堆叠技术以及硅中介层、硅通孔(TSV)和其他机制来竖直地堆叠并电连接系统级封装(SiP)中的两个或多个管芯。
无论选择哪种系统封装,使具有多个插口的计算系统掉电是复杂的,每个插口都具有选定封装的副本。每个封装都包括功率控制器,且因此,系统具有多个功率控制器。如果每个功率控制器都连接到系统中的每个其他功率控制器,那么在要使系统掉电时进行通信变得更加容易。然而,缩放系统,诸如增加插口的数量以提高性能,会变得困难。此外,对多个连接进行路由会增加插口之间的信号量,并且会增大接口的面积。
鉴于以上内容,期望用于执行对多节点计算系统的有效功率管理的有效方法和系统。
附图说明
通过结合附图参考以下描述,可以更好地理解本文所述的方法和机制的优点,在附图中:
图1是处理节点的一个实施方案的框图。
图2是多节点计算系统的一个实施方案的框图。
图3是用于执行对多节点计算系统的功率管理的方法的一个实施方案的流程图。
图4是用于执行对多节点计算系统的功率管理的方法的另一个实施方案的流程图。
图5是用于执行对多节点计算系统的功率管理的方法的另一个实施方案的流程图。
图6是用于执行对多节点计算系统的功率管理的方法的另一个实施方案的流程图。
图7是用于执行对多节点计算系统的功率管理的方法的另一个实施方案的流程图。
图8是多节点计算系统的另一个实施方案的框图。
图9是用于执行对多节点计算系统的功率管理的方法的另一个实施方案的流程图。
图10是用于执行对多节点计算系统的功率管理的方法的另一个实施方案的流程图。
图11是用于执行对多节点计算系统的功率管理的方法的另一个实施方案的流程图。
图12是用于执行对多节点计算系统的功率管理的方法的另一个实施方案的流程图。
虽然本发明易于具有各种修改和替代形式,但通过举例的方式在图式中示出并且在本文中详细地描述特定的实施方案。然而,应当理解,图式和对其的详细描述并不意图将本发明局限于所公开的具体形式,而相反,本发明将涵盖落入如所附权利要求所限定的本发明的范围内的所有修改、等效物和替代方案。
具体实施方式
在以下描述中,阐述了许多特定细节以提供对本文呈现的方法和机制的透彻理解。然而,本领域的一般技术人员应当认识到,可在没有这些特定细节的情况下实现各种实施方案。在一些情况下,并未详细示出众所周知的结构、分量、信号、计算机程序指令和技术,以避免混淆本文所述的方法。应当理解,为了使说明清楚简单,附图中所示的元件未必按比例绘制。例如,一些元件的尺寸可相对于其他元件被放大。
公开了用于执行对多节点计算系统的有效功率管理的各种系统、装置、方法和计算机可读介质。在各种实施方案中,处理节点包括用于处理应用程序的一个或多个客户端。节点内的客户端的实例包括通用中央处理单元(CPU)、图形处理单元(GPU)、加速处理单元(APU)、输入/输出(I/O)设备等等。处理节点还至少包括功率控制器,以及用于与其他节点传送消息的多个链路接口。如本文所使用,处理节点也被称作节点。
在各种实施方案中,计算系统是具有未完全连接到其他节点的两个或更多个节点的多节点系统。每个节点包括一个或多个客户端、多个链路接口和功率控制器。当第一节点确定多节点系统中的每个客户端都空闲时,尽管节点没有完全连接,每个节点都能够使其链路和其客户端掉电。在一个实施方案中,多节点计算系统使用分层拓扑,其中每个节点都是请求者。对全系统掉电的协商是分布式的。每个节点在层次的低层级或第一层级处都有一个或多个链路。第一层级处的链路用于将组内的节点的子集与另一子集直接连接。此外,一个或多个节点在层次的较高层级或第二层级处具有一个或多个链路。第二层级的处链路用于将第一组中的第一节点与第二组中的第二节点直接连接。当全系统掉电是分布式的时,多个节点中的任何一个都可以是第一节点,所述第一节点发起全系统掉电。使用分布式功率管理方法,在层次的较低层级处发生对全系统掉电的协商,之后对掉电的协商在层次的较高层级处继续。
在其他实施方案中,多节点计算系统包括树形层次,所述树形层次具有一个或多个叶节点、单个根节点以及根节点与一个或多个叶节点之间的一个或多个中间节点。每个中间节点直接连接到上游节点,并且直接连接到下游节点。上游方向也被称作根方向,而向下方向也被称作叶方向。对全系统掉电的协商是集中的,并且由根节点执行。对加电的协商保持分布式,并且由系统中的任何节点发起。在各种实施方案中,分布式方法和集中式方法中的每一者都执行对功率管理的协商,这避免使链路在执行全系统掉电之前掉电,从而消除了后续的加电损失。
参考图1,示出了处理节点100的一个实施方案的一般化框图。如图所示,处理节点100包括客户端110、存储器控制器130、功率控制器170和链路接口180各自之间的通信织构(fabric)120。在一些实施方案中,处理节点100的部件是诸如片上系统(SOC)等集成电路(IC)上的个别管芯。在其他实施方案中,部件是封装级系统(SiP)或多芯片模块(MCM)中的个别管芯。
在所说明实施方案中,客户端110包括中央处理单元(CPU)112、图形处理单元(GPU)114和集线器116。集线器116用于与多媒体引擎118通信。CPU 112、GPU 114和多媒体引擎118是能够处理应用程序的计算资源的实例。尽管未示出,但是在其他实施方案中,客户端110中包括其他类型的计算资源。CPU 112中的一个或多个处理器核心中的每一个包括用于根据给定的选定指令集体系结构(ISA)而执行指令的电路。在各种实施方案中,CPU112中的处理器核心中的每一个包括用于处理给定ISA的指令的超标量、多线程微体系结构。在实施方案中,GPU 114包括具有大量并行执行通道的高并行数据微体系结构。在一个实施方案中,微体系结构将单指令多数据(SIMD)流水线用于并行执行通道。多媒体引擎118包括用于针对多媒体应用程序处理音频数据和视觉数据的处理器。
在各种实施方案中,通信织构120在计算资源110与存储器控制器130之间来回传送业务,并且包括用于支持相应通信协议的接口。在一些实施方案中,通信织构120至少包括用于存储请求和响应的队列、用于在跨内部网络发送请求之前在接收到的请求之间进行仲裁的选择逻辑、用于构建分组和对其进行解码的逻辑以及用于选择分组的路由的逻辑。
尽管示出了单个存储器控制器130,但是在其他实施方案中,在处理节点100中使用了另一数量的存储器控制器。在各种实施方案中,存储器控制器130通过通信织构120从客户端110接收存储器请求,调度所述存储器请求,并且将所调度存储器请求发送到系统存储器和主存储器中的一者或多者。存储器控制器130还从系统存储器和主存储器接收响应,并将所述响应发送到客户端110中的请求的对应源。在各种实施方案中,系统存储器通过I/O控制器和总线160以及存储器总线150由来自主存储器的数据填充。具有所请求块的对应高速缓存填充线从主存储器输送到客户端110中的高速缓存子系统中的对应高速缓存子系统,以便完成原始存储器请求。高速缓存填充线被放置在一个或多个级别的高速缓存中。
在一些实施方案中,处理节点100的地址空间至少在CPU 112、GPU 114和集线器116以及一个或多个其他部件(诸如输入/输出(I/O)外围设备(未示出))与其他类型的计算资源之间划分。维护存储器映射以确定哪些地址被映射到哪个部件,以及因此确定对特定地址的存储器请求应该被路由到CPU 112、GPU 114和集线器116中的哪一者。在实施方案中,系统存储器是多种动态随机存取存储器(DRAM)中的一种,并且存储器控制器130支持对应的协议。所述协议确定用于信息传送的值,诸如每个时钟周期的数据传送次数、信号电压电平、信号时序、信号和时钟相位以及时钟频率。在一些实施方案中,主存储器是多种类型的非易失性随机存取二级数据存储装置中的一种。主存储器的实例是硬盘驱动器(HDD)和固态硬盘(SSD)。
链路接口180通过在链路上传送消息来支持处理节点100与其他处理节点之间的通信。在各种实施方案中,跨越节点之间的链路发送的消息包括一个或多个节点的操作状态的指示、掉电请求、对请求的响应、中断和其他信息。在各种实施方案中,每个链路是两个节点之间的点对点通信信道。在物理层面,链路包括一个或多个通道。在一些实施方案中,链路接口180、对应的链路和其他节点包括诸如PCIe(外围部件互连高速)、InfiniBand、RapidIO、HyperTransport等等通信协议连接。在一些实施方案中,链路接口180包括用于通过互连链路与其他节点通信的控制逻辑和缓冲器或队列。
在一个实施方案中,功率控制器170从客户端110收集数据。在一些实施方案中,功率控制器170还从存储器控制器130收集数据。在一些实施方案中,所收集数据包括预定采样信号。采样信号的切换指示切换电容的量。要采样的选定信号的实例包括时钟门控器使能信号、总线驱动器使能信号、内容可寻址存储器(CAM)、CAM字线(WL)驱动器中的不匹配等等。在一个实施方案中,功率控制器170收集数据以表征给定采样间隔期间节点100中的功耗。
在一些实施方案中,节点100中的管芯上电流传感器和温度传感器也将信息发送到功率控制器170。功率控制器170使用传感器信息、发出的指令或发出的线程的计数以及加权采样信号的总和中的一者或多者来估计节点100的功耗。如果节点100在阈值极限以上(以下)操作,那么功率控制器170减少(或增加)功耗。在一些实施方案中,功率控制器170为客户端110中的计算资源中的每一者选择相应的功率-性能状态(P-state)。P-state至少包括工作电压和工作时钟频率。在各种实施方案中,功率控制器170和节点100支持N个P-state,其中N是非零正整数。
在各种实施方案中,功率控制器170检测客户端110中的一个或多个何时变得空闲。如果客户端110中的每一个变得空闲,那么功率控制器170通过链路接口180将此信息中继到一个或多个节点。在实施方案中,功率控制器170是在一个链路还是多个链路上发送信息是基于对全系统掉电的协商是分布式的还是集中式的。例如,在各种实施方案中,节点100是多节点系统中的多个节点中的一个节点。在实施方案中,系统是多个服务器中的一个服务器。有时,批量发送到服务器的作业没有被分配给每个服务器。给定服务器可能会变得空闲达相当长的时间。为了减少功耗,服务器内的多个节点可以掉电。然而,由于一个或多个节点没有直接彼此连接,因此要掉电的节点内的功率控制器之间的通信不是直接的。在以下描述中提供了用于协商全系统掉电的分布式方法和集中式方法中的每一者。
参考图2,示出了多节点计算系统200的一个实施方案的一般化框图。在所说明实施方案中,封装210包括通过链路240彼此直接连接的节点220A和220B。在一些实施方案中,封装210和230中的每一个是放置在服务器中的多插口母板的插口中的多芯片模块(MCM)。如图所示,节点220A包括客户端222A-222C和功率控制器224。为了易于说明,未示出链路接口、通信织构、存储器接口、锁相环(PLL)或其他时钟生成电路。客户端222A-222C的实例是CPU、GPU、多媒体引擎、I/O外围设备等等。在各种实施方案中,功率控制器224具有功率控制器170(图1)的功能性。
在实施方案中,链路240-246利用诸如PCIe、InfiniBand、RapidIO、HyperTransport等等通信协议连接。在一些实施方案中,除了链路240-246之外,计算系统200还包括节点220A-220D之间的其他链路。在实施方案中,这些其他链路用于数据传输以服务于请求,而链路240-246用于消息传送,诸如用于协商全系统掉电的消息。
在各种实施方案中,计算系统200使用分层拓扑,其中节点220A-220D中的每一个是请求者。第一层级处的链路用于将组或群集内的节点220A-220D的子集直接彼此连接在一起。例如,节点220A通过第一层级链路240直接连接到封装210中的节点220B。类似地,节点220C通过第一层级链路242直接连接到封装230中的节点220D。第二层级处的链路用于将第一群集中的第一节点与第二群集中的第二节点直接连接。例如,封装210中的节点220A通过第二层级链路244直接连接到封装230中的节点220C。然而,节点220A没有直接连接到封装230中的节点220D。类似地,封装210中的节点220B通过第二层级链路246直接连接到封装230中的节点220D。然而,节点220B没有直接连接到封装230中的节点220C。第二层级链路244和246在层次中是比第一层级链路240和242更高的层级。
使用分布式功率管理方法,在层次的较低层级处发生计算系统200中的对全系统掉电的协商,之后对掉电的协商在层次的较高层级处继续。在所说明实施方案中,节点220A-220D中的每一个具有两个链路。例如,节点220A具有链路240和244。然而,在其他实施方案中,使用封装中的另一数量的节点和另一数量的链路。
在实施方案中,节点220A的功率控制器224能够在第二层级链路244上向节点220C发送指示,所述指示指明节点220A-220D的第一子集中的每个客户端空闲。节点220C未连接到与节点220A连接的任何其他节点。节点的第一子集包括节点220A和节点220B。当功率控制器224确定客户端222A-222C中的每一个都空闲并且在第一层级链路240上从节点220B接收到多个节点中小于第一子集的第二子集中的每个客户端都空闲的指示时,节点220A的功率控制器224将此指示发送到节点220C。在此实例中,第二子集包括节点220B中的每个客户端。
当节点220A在其链路240和244中的每一个上接收到给定子集节点中的每个客户端都空闲的指示并且功率控制器224确定客户端222A-222C中的每一个都空闲时,节点220A的功率控制器224能够向每个直接连接的相邻节点(诸如节点220B和节点220C)发送掉电请求。其他节点220B至220D中的功率控制器能够以类似方式发送掉电请求。
现参考图3,示出了用于执行对多节点计算系统的功率管理的方法300的一个实施方案。出于论述目的,按顺序次序示出此实施方案中的步骤(以及图4至图7以及图9至图12中的步骤)。然而,应注意,在所描述的方法的各种实施方案中,所描述的元素中的一个或多个并发地执行、以与所示不同的次序执行或者被完全省略。也可根据需要执行其他另外的元素。本文所述的各种系统或装置中的任一者被配置来实现方法300。
将两个或更多个节点放置在子集中,其中两个或更多个节点中的每一个使用第一层级链路来彼此完全连接(框302)。将两个或更多个子集以在节点之间不完全连接的方式与第二层级链路连接(框304)。在计算系统200(图2)中提供了这种层次的实例。给定子集内的每个节点通过第二层级链路连接到每个其他子集,但是给定子集内的每个节点不连接到另一子集中的每个其他节点。参考计算系统200,如果添加了另一子集,那么封装210中的节点220A和220B中的每一个都具有到其他子集中的节点的另外的第二层级链路。相同的连接性用于封装230中的节点220C和220D。因此,由于系统中的每个节点没有完全连接到系统中的每个其他节点,因此多节点系统可以有效地缩放大小。全系统掉电是分布式的。多个节点中的任何一个可以发起全系统掉电。在第一层级链路上,在层次的较低层级处发生对全系统掉电协商,之后在第二层级链路上,对掉电的协商在层次的较高层级处继续。
多个节点处理任务(框306)。节点内的一个或多个客户端执行计算机程序或软件应用程序。在一些实施方案中,多个节点在多插口服务器内,并且批作业由操作系统接收,所述操作系统将任务分配给多个节点中的一个或多个。节点中的功率控制器至少基于第二层级链路上的分层通信而确定每个节点是否具有空闲客户端(框308)。因此,全系统掉电不依赖于系统中的完全连接的节点,这允许有效地缩放大小。此外,对功率管理的协商避免使链路在执行全系统掉电之前掉电,从而消除了后续的加电损失。
如果确定多节点系统中的一个或多个客户端非空闲(条件框310的“否”分支),那么方法300的控制流程返回到框306,在所述框306中,当一个或多个客户端非空闲时,用多个节点处理任务。即使计算系统中只有一个节点仅具有空闲客户端,也不会生成掉电请求。如果确定每个节点中的每个客户端空闲(条件框310的“是”分支),那么使每个节点的每个链路和每个客户端掉电(框312)。尽管多个节点没有彼此连接,但仍会发生全系统掉电。在各种实施方案中,使给定节点掉电包括禁用链路接口的驱动器、禁用客户端的时钟以及设置系统存储器以在使用DRAM时执行自刷新中的一者或多者。
现参考图4,示出了用于执行对多节点计算系统的功率管理的方法400的另一个实施方案。类似于方法300和方法500-700,方法400的多节点计算系统使用分层拓扑,其中每个节点是请求者,并且对全系统掉电的协商是分布式的。例如,在第一层级链路上,在层次的较低层级处发生对全系统掉电协商,之后在第二层级链路上,对掉电的协商在层次的较高层级处继续。多个节点处理任务(方框402),同时对全系统掉电的协商是分布式的。
给定节点上的一个或多个非空闲客户端处理一个或多个任务(框404)。如果给定节点中的每个客户端变得空闲(条件框406的“是”分支),那么在每个第一层级链路上发送指明给定节点中的每个客户端空闲的指示(框408)。如果在每个第一层级链路上接收到指明相邻节点中的每个客户端空闲的响应(条件框410的“是”分支),那么在每个第二层级链路上发送指明多个节点的子集中的每个客户端空闲的指示(框412)。因此,在此情况下,只有当发现客户端在提供响应的节点中空闲时,分层通信才会继续。框408-412中的步骤将协商全系统掉电的传播选通到层次的下一更高层级。
现转到图5,示出了用于执行对多节点计算系统的功率管理的方法500的另一个实施方案。多个节点处理任务(框502),同时对全系统掉电的协商是分布式的。在第一节点的第一层级链路上接收指明第二节点中的每个客户端空闲的指示(框504)。如果在第一节点中一个或多个客户端非空闲(条件框506的“否”分支),那么第一节点在第一层级链路上用指明第一节点中的一个或多个客户端非空闲的指示来对第二节点作出响应(框508)。如果在第一节点中每个客户端空闲(条件框506的“是”分支),那么第一节点在第一层级链路上用指明第一节点中的每个客户端空闲的指示来对第二节点作出响应(框510)。
在第一节点中更新指明第二节点中的每个客户端空闲的给定指示(框512)。如果在第一节点中或在于第一层级链路上连接到第一节点的任何节点中一个或多个客户端非空闲(条件框514的“否”分支),那么方法500的控制流程移至框516,在所述框516中完成分层通信。
如果在第一节点中和在于第一层级链路上连接到第一节点的任何节点中每个客户端空闲(条件框514的“是”分支),那么在每个第二层级链路上发送指明多个节点的子集中的每个客户端空闲的指示(框518)。例如,第一节点和通过第一层级链路完全连接到第一节点的每个节点是多个节点的子集。简要参考图2,封装210是多个节点的子集。在一些实施方案中,当节点220B在第一层级链路240上接收到指明节点220A上的客户端222A-222C中的每一个都空闲的指示且节点220B对节点220A作出响应时,使用方法500。另外,在一些实施方案中,当节点220B确定节点220A和节点220B中的每一个不具有任何非空闲客户端时,节点220B向节点220D发送指示。此外,在实施方案中,当节点220A在第一层级链路240上接收到指明节点220B上的每个客户端空闲的指示并且节点220A对节点220B作出响应并且有条件地向节点220C发送指示时,使用方法500。
现参考图6,示出了用于执行对多节点计算系统的功率管理的方法600的另一个实施方案。多个节点处理任务(方框602),同时对全系统掉电的协商是分布式的。在第一节点的第二层级链路上接收指明多个节点的子集中的每个客户端空闲的指示(框604)。例如,子集是通过第一层级链路彼此完全连接的一组节点。具有节点220A和220B的封装210(图2)是子集的一个实例,并且节点220C在第二层级链路244上接收指示。
如果在第一节点中一个或多个客户端非空闲(条件框606的“否”分支),那么第一节点在第二层级链路上用指明多个节点中的一个或多个客户端非空闲的指示来作出响应(框608)。如果在第一节点中每个客户端空闲(条件框606的“是”分支),那么对于第一节点的每个第一层级链路,确定第一节点是否已接收到指明多个节点的子集中的一个或多个客户端非空闲的指示(框610)。如果第一节点的任何第一层级链路已接收到这种指示(条件框612的“是”分支),那么方法600的控制流程移至框608,在所述框608中第一节点在第二层级链路上用指明多个节点中的一个或多个客户端非空闲的指示来作出响应。如果第一节点的第一层级链路尚未接收到这种指示(条件框612的“否”分支),那么第一节点在第二层级链路上用指明多个节点的子集中的每个客户端空闲的指示来作出响应(框614)。
简要参考图2,封装230是多个节点的子集。在一些实施方案中,当节点220C在第二层级链路244上接收到指明子集(诸如封装210)中的每个客户端空闲的指示时,使用方法600。基于节点220C的客户端是否空闲并且基于在第一层级链路242上从节点220D接收到的指示,节点220C在第二层级链路244上对节点220A作出响应。
现参考图7,示出了用于执行对多节点计算系统的功率管理的方法700的另一个实施方案。对全系统掉电的协商是分布式的。在空闲的给定节点基于至少确定每个本地客户端变得空闲并等待响应而在每个链路(第一层级和第二层级)上发送指示之后,用多个节点处理任务(框702)。在各种实施方案中,给定节点最初通知第一层级链路上的节点,之后通知第二层级链路上的节点。针对每个链路确定是否已接收到指明多个节点中的一个或多个客户端非空闲的指示(框704)。
如果给定节点的任何链路(第一层级或第二层级)已接收到这种指示(条件框706的“是”分支),那么多个节点继续处理任务并对来自相邻节点的链路更新作出响应,同时监视是否发生唤醒条件(框708)。唤醒条件的实例是以下事项中的一者或多者:从操作系统接收分配的任务、从具有一个或多个非空闲客户端的另一节点接收对本地高速缓存探测的远程请求或对系统存储器中的本地数据的远程存储器请求等等。如果给定节点的链路(第一层级或第二层级)尚未在响应中接收到这种指示(条件框706的“否”分支),那么在给定节点的每个链路上发送掉电请求(框710)。
如果没有在每个链路上接收到掉电响应(条件框712的“否”分支),那么使接收到掉电响应的任何链路掉电(框714)。随后,方法700的控制流程移至框708,在所述框708中多个节点继续处理任务。如果在每个链路上接收到掉电响应(条件框712的“是”分支),那么使给定节点的每个链路和每个客户端掉电(框714)。其他节点也执行这些步骤。尽管多个节点没有彼此连接,但仍会发生全系统掉电。在各种实施方案中,使给定节点掉电包括以下事项中的一者或多者:禁用链路接口的驱动器、禁用客户端的时钟、设置系统存储器以在使用DRAM时执行自刷新、禁用节点中除功率控制器(不仅仅是客户端)外的每个部件的时钟、执行除了禁用存储器控制器、通信织构、存储器和输入/输出(I/O)驱动器、网络接口的时钟之外的其他掉电步骤以及选择保持电压。
在各种实施方案中,当给定节点在给定链路上接收到掉电请求时,给定节点确定其每个客户端是否空闲。如果空闲,那么给定节点在给定链路上用指示掉电的响应作出响应。随后,给定节点使给定链路掉电。此外,给定节点在给定节点的每个其他链路(如果有的话)上发送掉电请求。如果给定节点在这些其他链路中的特定链路上接收到掉电响应,那么给定节点使此特定链路掉电。如果给定节点的每个链路已传送掉电请求和掉电响应两者,那么给定节点使每个链路掉电。当给定节点中的每个链路已掉电时,给定节点将继续使每个客户端掉电。在一些实施方案中,当给定节点确定其客户端中的至少一个非空闲时,给定节点在给定链路上用给定节点不会将掉电的指示来对掉电请求作出响应。另外,在实施方案中,给定节点不在其他链路上发送任何掉电请求。
现转到图8,示出了多节点计算系统800的另一个实施方案的一般化框图。在所说明实施方案中,节点810A是计算系统800的根节点(主节点),而节点810G和节点810H中的每一个都是叶节点。节点810B-810F中的每一个都是根节点810A与叶节点810G-810H之间的中间节点。因此,使用环形数据通信拓扑。然而,为了支持全系统分层通信功率管理,在环形拓扑中使用了树形分层拓扑。对全系统掉电的协商是集中式的,并且由计算系统800中的根节点810A执行。对加电的协商保持分布式,并且其由系统中的任何节点发起。尽管未示出,但是节点810A-810H中的每一个都包括一个或多个客户端、功率控制器、链路接口、通信织构、存储器接口、锁相环(PLL)或其他时钟生成电路等等。客户端的实例是CPU、GPU、多媒体引擎、I/O外围设备等等。在各种实施方案中,功率控制器具有功率控制器170(图1)的功能性。
在实施方案中,链路820-834利用诸如PCIe、InfiniBand、RapidIO、HyperTransport等等通信协议连接。在一些实施方案中,除了链路820-834之外,计算系统800还包括节点810A-810H之间的其他链路。这些其他链路(未示出)用于数据通信,而链路820-834用于功率管理消息传送。因此,在实施方案中,这些其他链路用于数据传输以服务于请求,而链路820-834用于消息传送,诸如用于协商全系统掉电的消息。如图所示,中间节点810B-810F中的每一个都直接连接到单个上游节点,并且直接连接到单个下游节点。上游方向也被称作根方向,而向下方向也被称作叶方向。上游方向和下游方向中的每一者都是指功率管理消息传送,而不是用于服务于请求的数据通信。每个叶节点另外使用链路828,所述链路828在每一端而不是在上游端和下游端具有相同层级。在实施方案中,相同层级被功率管理控制逻辑视为下游层级。
现参考图9,示出了用于执行对多节点计算系统的功率管理的方法900的一个实施方案。在各种实施方案中,出于功率管理目的,多节点计算系统以树形分层拓扑连接多个节点,所述树形分层拓扑包括单个根节点(主节点)、一个或多个叶节、以及根节点与一个或多个叶节点之间的一个或多个中间节点(框902)。在一些实施方案中,多节点计算系统使用环形拓扑来进行用于服务于请求的数据通信,而树形拓扑用于功率管理消息传送。在实施方案中,每个中间节点直接连接到上游方向上的节点,并且直接连接到下游方向上的节点。换句话说,对全系统掉电的协商是集中式的,而全系统加电仍然是分布式的。然而,缩放系统,诸如增加插口的数量以提高性能,会变得更高效,因为节点未完全连接。此外,当节点没有完全连接时路由连接会在插口之间使用较少的信号,并减小接口的面积。因此,全系统掉电不依赖于系统中的完全连接的节点,这允许有效地缩放大小。此外,对功率管理的协商避免使链路在执行全系统掉电之前掉电,从而消除了后续的加电损失。
多个节点处理任务(框904)。节点内的一个或多个客户端执行计算机程序或软件应用程序。在一些实施方案中,多个节点在多插口服务器内,并且批作业由操作系统接收,所述操作系统将任务分配给多个节点中的一个或多个。至少基于根节点的链路上的分层通信确定每个节点是否具有空闲客户端(框906)。
如果确定多节点系统中的一个或多个客户端非空闲(条件框908的“否”分支),那么方法900的控制流程返回到框904,在所述框904中,当一个或多个客户端非空闲时,用多个节点处理任务。即使计算系统中只有一个节点仅具有空闲客户端,也不会生成掉电请求。如果确定每个节点中的每个客户端空闲(条件框908的“是”分支),那么使每个节点的每个链路和每个客户端掉电(框910)。尽管多个节点没有彼此连接,但仍会发生全系统掉电。在各种实施方案中,使给定节点掉电包括禁用链路接口的驱动器、禁用客户端的时钟以及设置系统存储器以在使用DRAM时执行自刷新中的一者或多者。
现参考图10,示出了用于执行对多节点计算系统的功率管理的方法1000的另一个实施方案。类似于方法900和方法1100-1200,方法1000的多节点计算系统使用树形分层拓扑,所述树形分层拓扑包括单个根节点(主节点)、一个或多个叶节、以及根节点与一个或多个叶节点之间的一个或多个中间节点。每个中间节点直接连接到上游方向上的节点,并且直接连接到下游方向上的节点。换句话说,对全系统掉电的协商是集中式的,而全系统加电仍然是分布式的。
多个节点处理任务(框1002)。节点内的一个或多个客户端执行计算机程序或软件应用程序。在一些实施方案中,多个节点在多插口服务器内,并且批作业由操作系统接收,所述操作系统将任务分配给多个节点中的一个或多个。非根给定节点上的一个或多个非空闲客户端处理一个或多个任务(框1004)。如果给定节点中的每个客户端变得空闲(条件框1006的“是”分支),那么在下游链路上发送指明给定节点中的每个客户端空闲的指示(框1008)。如果在给定节点的下游链路上接收到指明多个节点的子集中的每个客户端空闲的响应(条件框1010的“是”分支),那么在上游链路上发送指明多个节点的子集中的每个客户端空闲的指示(框1012)。因此,在此情况下,只有当发现客户端在提供响应的节点中空闲时,分层通信才会继续。框1008-1012中的步骤将协商全系统掉电的传播选通到层次的下一更高层级。
现转到图11,示出了用于执行对多节点计算系统的功率管理的方法1100的另一个实施方案。多个节点处理任务(框1102)。在非叶和非根给定节点的下游链路上接收指明多个节点的子集中的每个客户端空闲的指示(框1104)。例如,子集包括给定节点下游的每个节点。如果给定节点的一个或多个客户端非空闲(条件框1106的“否”分支),那么在实施方案中,给定节点在下游链路上用指明给定节点中的一个或多个客户端非空闲的指示来作出响应(框1108)。如果给定节点中的每个客户端非空闲(条件框1106的“是”分支),那么在实施方案中,给定节点在下游链路上用指明给定节点中的每个客户端空闲的指示来作出响应(框1110)。
在给定节点中更新指明多个节点的子集中的每个客户端空闲的给定指示(框1112)。子集包括从给定节点下游到叶节点的每个节点。如果在给定节点中或在给定节点下游的任何节点中一个或多个客户端非空闲(条件框1114的“否”分支),那么方法1100的控制流程移至框1116,在所述框1116中完成分层通信。如果在给定节点中和在给定节点下游的任何节点中每个客户端空闲(条件框1114的“是”分支),那么在上游链路上发送指明多个节点的子集中的每个客户端空闲的指示(框1118)。子集包括给定节点和给定节点下游的每个节点。
现参考图12,示出了用于执行对多节点计算系统的功率管理的方法1200的另一个实施方案。当根节点的每个客户端空闲时,多个节点处理任务(框1202)。针对每个下游链路确定是否已接收到指明多个节点中的一个或多个客户端非空闲的指示(框1204)。如果根节点的任何下游链路已接收到这种指示(条件框1206的“是”分支),那么多个节点继续处理任务并对来自相邻节点的链路更新作出响应,同时监视是否发生唤醒条件(框1208)。
如果根节点的下游链路尚未在响应中接收到这种指示(条件框1206的“否”分支),那么在给定节点的每个下游链路上发送掉电请求(框1210)。如果没有在根节点的每个下游链路上接收到掉电响应(条件框1212的“否”分支),那么使接收到掉电响应的任何下游链路掉电(框1214)。随后,方法1200的控制流程移至框1208,在所述框1208中多个节点继续处理任务。如果在根节点的每个下游链路上接收到掉电响应(条件框1212的“是”分支),那么使根节点的每个链路和每个客户端掉电(框1214)。其他节点也执行这些步骤。尽管多个节点没有彼此连接,但仍会发生全系统掉电。在各种实施方案中,使给定节点掉电包括禁用链路接口的驱动器、禁用客户端的时钟以及设置系统存储器以在使用DRAM时执行自刷新中的一者或多者。
类似于分布式方法中的节点,在各种实施方案中,当集中式方法中的给定节点在上游链路上接收到掉电请求时,给定节点确定其客户端中的每一个是否空闲。如果空闲,那么给定节点在上游链路上用指示掉电的响应作出响应。随后,给定节点使上游链路掉电。此外,给定节点在给定节点的下游链路上发送掉电请求。如果给定节点在下游链路上接收到掉电响应,那么给定节点使下游链路掉电。如果给定节点的上游链路和下游链路中的每一者已传送掉电请求和掉电响应两者,那么给定节点使每个链路掉电。当给定节点中的每个链路已掉电时,给定节点将继续使每个客户端掉电。在一些实施方案中,当给定节点确定其客户端中的至少一个非空闲时,给定节点在上游链路上用给定节点不会将掉电的指示来对掉电请求作出响应。另外,在实施方案中,给定节点不在下游链路上发送任何掉电请求。
在各种实施方案中,使用软件应用程序的程序指令来实现先前描述的方法和/或机制。程序指令以高级编程语言(诸如C)描述硬件的行为。替代地,使用硬件设计语言(HDL),诸如Verilog。程序指令存储在非暂时性计算机可读存储介质上。多种类型的存储介质可用。在使用期间,计算系统可访问存储介质,以将程序指令和附带数据提供给计算系统以执行程序。计算系统包括至少一个或多个存储器和执行程序指令的一个或多个处理器。
应强调,上述实施方案仅是实现方式的非限制性实例。一旦充分理解上述公开内容,许多变化和修改对于本领域的技术人员将变得显而易见。意图将所附权利要求解释为包含所有此类变化和修改。
Claims (20)
1.一种计算系统,其包括:
多个节点,所述多个节点各自包括:
一个或多个客户端,所述一个或多个客户端被配置来处理应用程序;
多个链路,所述多个链路耦接到所述多个节点中的一个或多个其他节点,其中所述多个节点中的两个或更多个未完全连接;以及
功率控制器;并且
其中响应于所述多个节点中的第一节点确定所述多个节点中的每个客户端空闲,所述多个节点中的每个节点被配置来使所述多个链路和所述一个或多个客户端掉电。
2.如权利要求1所述的计算系统,其中所述多个节点中的第二节点的功率控制器被配置来向所述多个节点中的第三节点发送指明所述多个节点的第一子集中的每个客户端空闲的指示,其中所述第三节点不连接到与所述第二节点连接的任何其他节点。
3.如权利要求2所述的计算系统,其中响应于以下事项,所述第二节点的所述功率控制器被配置来发送所述指示:
确定所述第二节点中的所述一个或多个客户端中的每个客户端空闲;以及
从第四节点接收指明小于所述多个节点的所述第一子集的第二子集中的每个客户端空闲的指示。
4.如权利要求2所述的计算系统,其中响应于在所述第一节点的每个链路上接收到所述多个节点的给定子集中的每个客户端空闲的指示,所述第一节点的所述功率控制器被配置来向每个直接连接的相邻节点发送掉电请求。
5.如权利要求2所述的计算系统,其中,
所述第二节点和所述第四节点在所述多个节点中的同一节点子集中,其中所述子集中的每个节点通过给定第一层级链路彼此完全连接;并且
所述第二节点和所述第三节点在分离节点子集中并且通过第二层级链路连接,其中分离子集中的节点彼此并不完全连接。
6.如权利要求5所述的计算系统,其中响应于在所述第二节点的每个链路上传送掉电请求和掉电响应,所述第二节点的所述功率控制器被配置来使所述第二节点的每个链路和每个客户端掉电。
7.如权利要求5所述的计算系统,其中响应于确定所述第二节点中的每个客户端空闲,所述第二节点的所述功率控制器被配置来:
在第一层级链路上向所述第四节点发送指明所述第二节点中的每个客户端空闲的指示;并且
在第二层级链路上向所述第三节点发送指明所述多个节点中的至少一个客户端非空闲的指示。
8.如权利要求7所述的计算系统,其中响应于在所述第一层级链路上接收到指明所述第四节点上的每个客户端空闲的指示,所述第二节点的所述功率控制器被配置来在所述第二层级链路上发送指明所述多个节点的所述第一子集中的每个客户端空闲的指示。
9.如权利要求2所述的计算系统,其中,
所述多个节点以树形层次连接,其中消息在从叶节点到根节点的上游方向上的链路上行进,并且消息在从所述根节点到所述叶节点的下游方向上的链路上行进;并且
所述第一节点是所述树形层次的根节点。
10.如权利要求9所述的计算系统,其中响应于以下事项,所述第二节点的所述功率控制器被配置来在所述下游链路上发送使所述多个节点掉电的请求:
确定所述第二节点中的每个客户端空闲;以及
在所述上游链路上接收指明使所述多个节点掉电的指示。
11.如权利要求1所述的计算系统,其中响应于以下事项,所述第二节点的所述功率控制器被配置来在所述上游链路上发送指明所述多个节点中的至少一个客户端非空闲的指示:
给定节点的功率控制器在上游链路上发送逻辑断开链路状态;
前述功率控制器在下游链路上发送任何指示;以及
所述给定节点在所述多个节点的树形层次的中间层级处。
12.如权利要求1所述的计算系统,其中响应于以下事项中的一者或多者,所述给定节点的所述功率控制器被配置来在上游链路上发送指明所述多个节点中的至少一个客户端非空闲的指示:
确定所述第二节点中的至少一个客户端已变得非空闲;以及
在所述下游链路上接收指明所述多个节点中的至少一个客户端非空闲的指示。
13.一种方法,其包括:
通过多个节点处理应用程序,每个节点包括:
一个或多个客户端,所述一个或多个客户端被配置来处理所述应用程序;
多个链路,所述多个链路耦接到所述多个节点中的一个或多个其他节点,其中所述多个节点中的两个或更多个未完全连接;以及
功率控制器;以及
响应于所述多个节点中的第一节点确定所述多个节点中的每个客户端空闲,通过所述多个节点中的每个节点使所述多个链路和所述一个或多个客户端掉电。
14.如权利要求13所述的方法,其还包括:通过所述多个节点中的第二节点的功率控制器向所述多个节点中的第三节点发送指明所述多个节点的第一子集中的每个客户端空闲的指示,其中所述第三节点不连接到与所述第二节点连接的任何其他节点。
15.如权利要求14所述的方法,其还包括:响应于以下事项,通过所述第二节点的所述功率控制器发送所述指示:
确定所述第二节点中的所述一个或多个客户端中的每个客户端空闲;以及
从第四节点接收指明小于所述多个节点的所述第一子集的第二子集中的每个客户端空闲的指示。
16.如权利要求14所述的方法,其中响应于在所述第一节点的每个链路上接收到所述多个节点的给定子集中的每个客户端空闲的指示,所述方法还包括:通过所述第一节点的所述功率控制器向每个直接连接的相邻节点发送掉电请求。
17.一种处理节点,其包括:
一个或多个客户端,所述一个或多个客户端被配置来处理应用程序;
多个链路,所述多个链路耦接到多个节点中的一个或多个其他节点,其中所述多个节点中的两个或更多个未完全连接;以及
功率控制器;
其中响应于所述多个节点中的外部第一节点确定所述多个节点中的每个客户端空闲,所述功率控制器被配置来使所述多个链路和所述一个或多个客户端掉电。
18.如权利要求17所述的处理节点,其中所述功率控制器被配置来向所述多个节点中的第三节点发送指明所述多个节点的第一子集中的每个客户端空闲的指示,其中所述第三节点不连接到与所述处理节点连接的任何其他节点。
19.如权利要求18所述的处理节点,其中响应于以下事项,所述功率控制器被配置来发送所述指示:
确定所述一个或多个客户端中的每个客户端空闲;以及
从外部第四节点接收到指明小于所述多个节点的所述第一子集的第二子集中的每个客户端空闲的指示。
20.如权利要求18所述的处理节点,其中响应于在每个链路上传送掉电请求和掉电响应,所述功率控制器被配置来使每个链路和每个客户端掉电。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/856,546 US11054887B2 (en) | 2017-12-28 | 2017-12-28 | System-wide low power management |
US15/856,546 | 2017-12-28 | ||
PCT/US2018/051916 WO2019133085A1 (en) | 2017-12-28 | 2018-09-20 | System-wide low power management |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111684391A true CN111684391A (zh) | 2020-09-18 |
CN111684391B CN111684391B (zh) | 2024-05-14 |
Family
ID=63858060
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880088624.XA Active CN111684391B (zh) | 2017-12-28 | 2018-09-20 | 全系统低功率管理 |
Country Status (6)
Country | Link |
---|---|
US (2) | US11054887B2 (zh) |
EP (1) | EP3732547A1 (zh) |
JP (1) | JP7264901B2 (zh) |
KR (1) | KR20200100183A (zh) |
CN (1) | CN111684391B (zh) |
WO (1) | WO2019133085A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114490194A (zh) * | 2022-04-19 | 2022-05-13 | 海光信息技术股份有限公司 | 掉电处理方法、功能节点、处理系统、设备和存储介质 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10671148B2 (en) | 2017-12-21 | 2020-06-02 | Advanced Micro Devices, Inc. | Multi-node system low power management |
US11435813B2 (en) | 2018-08-29 | 2022-09-06 | Advanced Micro Devices, Inc. | Neural network power management in a multi-GPU system |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101334688A (zh) * | 2007-06-28 | 2008-12-31 | 英特尔公司 | 便于动态功率管理的核活动检测器的方法、系统和设备 |
US20120054519A1 (en) * | 2010-08-26 | 2012-03-01 | Alexander Branover | Dynamic performance control of processing nodes |
CN102662458A (zh) * | 2012-04-18 | 2012-09-12 | 华为技术有限公司 | 一种pcie设备动态节能方法、装置及其通信系统 |
US20130179621A1 (en) * | 2012-01-06 | 2013-07-11 | Glenn Willis Smith | Extensible daisy-chain topology for compute devices |
US20130311804A1 (en) * | 2012-04-30 | 2013-11-21 | Vivek Garg | Master slave qpi protocol for coordinated idle power management in glueless and clustered systems |
CN103959200A (zh) * | 2011-12-09 | 2014-07-30 | 英特尔公司 | 自适应图像子系统功率和性能管理 |
CN104011686A (zh) * | 2011-12-22 | 2014-08-27 | 阿尔卡特朗讯公司 | 用于节能分布式和弹性负载均衡的方法和设备 |
US20140337649A1 (en) * | 2013-05-09 | 2014-11-13 | Apple Inc. | Memory Power Savings in Idle Display Case |
CN105745595A (zh) * | 2013-11-12 | 2016-07-06 | 高通股份有限公司 | 用于基于电池电荷的当前状态来降低调制解调器功率的方法和装置 |
US20160239068A1 (en) * | 2015-02-17 | 2016-08-18 | Ankush Varma | Performing dynamic power control of platform devices |
CN106575245A (zh) * | 2014-08-12 | 2017-04-19 | 微软技术许可有限责任公司 | 随通信故障的分布式工作负载重新分配 |
CN107003901A (zh) * | 2014-12-22 | 2017-08-01 | 英特尔公司 | 整体全局性能和功率管理 |
CN107003712A (zh) * | 2014-12-27 | 2017-08-01 | 英特尔公司 | 当计算元件活动时启用系统低功率状态 |
US20170353926A1 (en) * | 2014-12-31 | 2017-12-07 | Huawei Technologies Co., Ltd. | Sleeping and wake-up methods and apparatuses of master-slave network, and power saving system of master-slave network |
Family Cites Families (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4980836A (en) | 1988-10-14 | 1990-12-25 | Compaq Computer Corporation | Apparatus for reducing computer system power consumption |
US5396635A (en) | 1990-06-01 | 1995-03-07 | Vadem Corporation | Power conservation apparatus having multiple power reduction levels dependent upon the activity of the computer system |
US5617572A (en) | 1995-01-31 | 1997-04-01 | Dell Usa, L.P. | System for reducing power consumption in computers |
US5692202A (en) | 1995-12-29 | 1997-11-25 | Intel Corporation | System, apparatus, and method for managing power in a computer system |
US6334167B1 (en) | 1998-08-31 | 2001-12-25 | International Business Machines Corporation | System and method for memory self-timed refresh for reduced power consumption |
US6657634B1 (en) | 1999-02-25 | 2003-12-02 | Ati International Srl | Dynamic graphics and/or video memory power reducing circuit and method |
GB2357601B (en) * | 1999-12-23 | 2004-03-31 | Ibm | Remote power control |
US7103788B1 (en) | 2001-10-31 | 2006-09-05 | Microsoft Corporation | Selective suspension of bus devices |
JP2003308246A (ja) | 2002-04-17 | 2003-10-31 | Fujitsu Ltd | メモリコントローラのクロック制御装置及び方法 |
US7028200B2 (en) | 2002-05-15 | 2006-04-11 | Broadcom Corporation | Method and apparatus for adaptive power management of memory subsystem |
US7428644B2 (en) | 2003-06-20 | 2008-09-23 | Micron Technology, Inc. | System and method for selective memory module power management |
US7800621B2 (en) | 2005-05-16 | 2010-09-21 | Ati Technologies Inc. | Apparatus and methods for control of a memory controller |
TWI311705B (en) * | 2005-05-23 | 2009-07-01 | Via Tech Inc | Peripheral component interconnect express and changing method of link power states thereof |
DE102005037635B4 (de) | 2005-08-09 | 2007-07-12 | Infineon Technologies Ag | Hardwaresteuerung für den Wechsel des Betriebsmodus eines Speichers |
US7496777B2 (en) | 2005-10-12 | 2009-02-24 | Sun Microsystems, Inc. | Power throttling in a memory system |
EP1785982A1 (en) | 2005-11-14 | 2007-05-16 | Texas Instruments Incorporated | Display power management |
US7899990B2 (en) | 2005-11-15 | 2011-03-01 | Oracle America, Inc. | Power conservation via DRAM access |
US7613941B2 (en) | 2005-12-29 | 2009-11-03 | Intel Corporation | Mechanism for self refresh during advanced configuration and power interface (ACPI) standard C0 power state |
US7873850B2 (en) | 2006-10-11 | 2011-01-18 | Hewlett-Packard Development Company, L.P. | System and method of controlling power consumption and associated heat generated by a computing device |
US7743267B2 (en) | 2006-11-08 | 2010-06-22 | Xerox Corporation | System and method for reducing power consumption in a device |
US7868479B2 (en) | 2007-06-27 | 2011-01-11 | Qualcomm Incorporated | Power gating for multimedia processing power management |
US8181046B2 (en) | 2008-10-29 | 2012-05-15 | Sandisk Il Ltd. | Transparent self-hibernation of non-volatile memory system |
US8856563B2 (en) * | 2009-10-02 | 2014-10-07 | International Business Machines Corporation | Remote power down control of a device |
US8402232B2 (en) | 2009-12-23 | 2013-03-19 | Oracle America, Inc. | Memory utilization tracking |
US8656198B2 (en) | 2010-04-26 | 2014-02-18 | Advanced Micro Devices | Method and apparatus for memory power management |
KR101924836B1 (ko) * | 2011-03-23 | 2018-12-04 | 삼성전자주식회사 | 고속 인터칩 통신 장치 및 방법 |
US20120254526A1 (en) | 2011-03-28 | 2012-10-04 | Advanced Micro Devices, Inc. | Routing, security and storage of sensitive data in random access memory (ram) |
US9880601B2 (en) | 2014-12-24 | 2018-01-30 | Intel Corporation | Method and apparatus to control a link power state |
US10775871B2 (en) * | 2016-11-10 | 2020-09-15 | Apple Inc. | Methods and apparatus for providing individualized power control for peripheral sub-systems |
US20180157311A1 (en) * | 2016-12-07 | 2018-06-07 | Microsoft Technology Licensing, Llc | System-Wide Idle Resiliency Mechanism for Always-On Always-Connected Computers |
-
2017
- 2017-12-28 US US15/856,546 patent/US11054887B2/en active Active
-
2018
- 2018-09-20 KR KR1020207021981A patent/KR20200100183A/ko not_active Application Discontinuation
- 2018-09-20 CN CN201880088624.XA patent/CN111684391B/zh active Active
- 2018-09-20 EP EP18786482.2A patent/EP3732547A1/en active Pending
- 2018-09-20 WO PCT/US2018/051916 patent/WO2019133085A1/en unknown
- 2018-09-20 JP JP2020536179A patent/JP7264901B2/ja active Active
-
2021
- 2021-07-02 US US17/366,423 patent/US20210333860A1/en active Pending
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101334688A (zh) * | 2007-06-28 | 2008-12-31 | 英特尔公司 | 便于动态功率管理的核活动检测器的方法、系统和设备 |
US20120054519A1 (en) * | 2010-08-26 | 2012-03-01 | Alexander Branover | Dynamic performance control of processing nodes |
CN103959200A (zh) * | 2011-12-09 | 2014-07-30 | 英特尔公司 | 自适应图像子系统功率和性能管理 |
CN104011686A (zh) * | 2011-12-22 | 2014-08-27 | 阿尔卡特朗讯公司 | 用于节能分布式和弹性负载均衡的方法和设备 |
US20130179621A1 (en) * | 2012-01-06 | 2013-07-11 | Glenn Willis Smith | Extensible daisy-chain topology for compute devices |
CN102662458A (zh) * | 2012-04-18 | 2012-09-12 | 华为技术有限公司 | 一种pcie设备动态节能方法、装置及其通信系统 |
US20130311804A1 (en) * | 2012-04-30 | 2013-11-21 | Vivek Garg | Master slave qpi protocol for coordinated idle power management in glueless and clustered systems |
US20140337649A1 (en) * | 2013-05-09 | 2014-11-13 | Apple Inc. | Memory Power Savings in Idle Display Case |
CN105745595A (zh) * | 2013-11-12 | 2016-07-06 | 高通股份有限公司 | 用于基于电池电荷的当前状态来降低调制解调器功率的方法和装置 |
CN106575245A (zh) * | 2014-08-12 | 2017-04-19 | 微软技术许可有限责任公司 | 随通信故障的分布式工作负载重新分配 |
CN107003901A (zh) * | 2014-12-22 | 2017-08-01 | 英特尔公司 | 整体全局性能和功率管理 |
CN107003712A (zh) * | 2014-12-27 | 2017-08-01 | 英特尔公司 | 当计算元件活动时启用系统低功率状态 |
US20170353926A1 (en) * | 2014-12-31 | 2017-12-07 | Huawei Technologies Co., Ltd. | Sleeping and wake-up methods and apparatuses of master-slave network, and power saving system of master-slave network |
US20160239068A1 (en) * | 2015-02-17 | 2016-08-18 | Ankush Varma | Performing dynamic power control of platform devices |
CN107250946A (zh) * | 2015-02-17 | 2017-10-13 | 英特尔公司 | 执行对平台装置的动态功率控制 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114490194A (zh) * | 2022-04-19 | 2022-05-13 | 海光信息技术股份有限公司 | 掉电处理方法、功能节点、处理系统、设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
KR20200100183A (ko) | 2020-08-25 |
US20190204899A1 (en) | 2019-07-04 |
US11054887B2 (en) | 2021-07-06 |
JP2021509240A (ja) | 2021-03-18 |
US20210333860A1 (en) | 2021-10-28 |
WO2019133085A1 (en) | 2019-07-04 |
CN111684391B (zh) | 2024-05-14 |
EP3732547A1 (en) | 2020-11-04 |
JP7264901B2 (ja) | 2023-04-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102355989B1 (ko) | 다중 노드 시스템 저전력 관리 | |
US20210333860A1 (en) | System-wide low power management | |
US8782456B2 (en) | Dynamic and idle power reduction sequence using recombinant clock and power gating | |
CN102521207B (zh) | 多内核微处理器的共享电源的分布式管理 | |
US10739836B2 (en) | System, apparatus and method for handshaking protocol for low power state transitions | |
US20220091657A1 (en) | Mechanism for performing distributed power management of a multi-gpu system | |
US20230214350A1 (en) | Die-to-die Dynamic Clock and Power Gating | |
US20230009970A1 (en) | In-band communication interface power management fencing | |
US20240085972A1 (en) | Chiplet state aware and dynamic voltage regulator event handling | |
US20230153121A1 (en) | Accelerator usage prediction for improved accelerator readiness | |
US20240211023A1 (en) | Buffer display data in a chiplet architecture | |
US20240004721A1 (en) | Input/output stutter wake alignment | |
WO2024145078A1 (en) | Buffer display data in a chiplet architecture | |
WO2024073312A1 (en) | Low power processing of remote manageability requests | |
CN117882028A (zh) | 基于限制硬件强制的功率控制的功率管理 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |