首页> 中国专利> 根据CXL.power的功率通信的系统、装置和方法

根据CXL.power的功率通信的系统、装置和方法

摘要

本公开涉及根据CXL.power的功率通信的系统、装置和方法。在一个实施例中,一种装置包括接口,用于耦合系统的多个设备,该接口使能实现根据计算快速链路(CXL)协议的通信,以及与接口耦合的功率管理电路。该功率管理电路可以:从多个设备中的第一设备接收根据CXL协议的对于更新的功率信用的请求;识别多个设备中的至少一个其他设备以提供更新的功率信用中的至少一些;并且与第一设备和至少一个其他设备通信以使得第一设备能够根据更新的功率信用中的至少一些来增大功率消耗。描述和要求保护了其他实施例。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-02-03

    公开

    发明专利申请公布

说明书

技术领域

本公开涉及用于根据CXL.power协议的功率通信的系统、装置、和方法。

背景技术

随着计算系统(尤其是在数据中心和云体系结构中)的复杂性不断增大,最近的互连协议(计算快速链路(Compute Express Link,CXL))开辟了一组新的功能。之所以如此,是因为有了这些链路,计算系统可能就有能力动态添加诸如存储器或加速器之类的组件,并且有可能让它们处于同一连贯域中。CXL当前从互连角度提供了某些协议,以促进与这些附加设备的连通性。有了这些机制,就可以即时组成复杂的计算系统。

然而,由于灵活的计算安排而可能存在的一个问题是功率消耗。例如,在包括处理器的热设计功率(thermal design power,TDP)与其他组件的功率预算相结合的给定功率预算下,CXL附接的存储器和加速器所消耗的功率有可能等于或超过可用的功率资源。鉴于CXL资源通常被视为本地资源,这种功率预算的大规模潜在增大可能对性能产生负面影响。

发明内容

根据本公开的实施例,提供了一种装置,包括:接口,用于耦合系统的多个设备,所述系统包括至少一个中央处理单元(CPU)、至少一个加速器设备、以及至少一个存储器,所述接口使能实现根据计算快速链路(CXL)协议的通信;以及与所述接口耦合的功率管理电路,所述功率管理电路用于:从所述多个设备中的第一设备接收根据所述CXL协议的对于更新的功率信用的请求;识别所述多个设备中的至少一个其他设备以提供所述更新的功率信用中的至少一些;并且与所述第一设备和所述至少一个其他设备通信以使得所述第一设备能够根据所述更新的功率信用中的至少一些来增大功率消耗。

根据本公开的实施例,提供了一种方法,包括:从系统的第一设备向所述系统的至少第二设备发送计算快速链路(CXL)消息以请求借用分配给所述至少第二设备的功率;接收来自所述至少第二设备的响应,所述响应指示出要借用的功率的数额;并且至少部分地基于所述要借用的功率的数额来以更高的功率消耗水平操作所述第一设备。

根据本公开的实施例,提供了一种系统,包括:中央处理单元(CPU),其具有多个核心和第一功率管理电路;经由计算快速链路(CXL)集线器与所述CPU耦合的加速器,所述加速器具有第二功率管理电路;以及与所述CPU和所述加速器耦合的CXL集线器,其中,所述CXL集线器包括第三功率管理电路,用于:从所述加速器接收对于用于第一持续时间的增大的功率消耗的CXL请求;识别所述系统的至少一个其他设备,足以满足用于所述第一持续时间的增大的功率消耗的功率将从所述至少一个其他设备撤回;并且与所述加速器和所述至少一个其他设备通信以使得所述加速器能够在所述第一持续时间中增大功率消耗。

根据本公开的实施例,提供了一种装置,包括:用于从系统的第一设备向所述系统的至少第二设备发送计算快速链路(CXL)消息以请求借用分配给所述至少第二设备的功率的装置;用于接收来自所述至少第二设备的响应的装置,所述响应指示出要借用的功率的数额;以及用于至少部分地基于所述要借用的功率的数额来以更高的功率消耗水平操作所述第一设备的装置。

附图说明

图1是根据一实施例的系统的框图。

图2是根据一实施例的存储装置的框图。

图3是根据一实施例的方法的流程图。

图4是根据一实施例的方法的流程图。

图5是根据本发明的另一实施例的系统的框图。

图6是根据一实施例的SoC设计的实施例的框图。

图7是根据本发明的另一实施例的系统的框图。

图8是根据一实施例的网络体系结构的框图。

具体实施方式

在各种实施例中,按照给定的计算快速链路(CXL)规范,例如CXL规范版本2.0(2020年发布)、任何未来的更新、版本(例如,版本3.0)或者其变体,通过CXL互连的方式提供至少一些设备和其他组件的互连的计算系统,可以灵活且动态地分配功率。更具体而言,可以根据跨CXL链路发送的功率消息传递,在各种系统组件之间动态地分配和共享功率。在特定实施例中,功率消息传递可根据如本文所述的CXL.power协议进行。

这个CXL.power协议可以增强基本CXL协议体系结构,该体系结构当前提供多个特定的通信协议(包括CXL.memory、CXL.cache memory和CXL.io),以允许在多个连接的CXL设备之间进行细粒度的功率共享和协调。通过这种安排,功率可以作为系统资源被分配,以在所有不同的设备之间被一致地管理。虽然本文描述的特定实施例是关于CXL连接的系统,并且根据CXL.power协议,但要理解,实施例在这方面不受限制,而是适用于其他功率共享技术。

多个CXL连接的设备可使用这个CXL.power协议执行握手通信,以在一定量的时间内借用或撤回给定的功率信用(这些功率信用被转化为实际功率)。一旦达成协定,同一协议就可被用于与管理功率的外部实体(例如,抽屉或机架功率管理)进行通信,以提供协定的功率转移。注意,这个功率管理实体可以是可选的,但在一些情况下可以存在,以使得能够识别与功率共享有关的潜在攻击或不良行为。在一些情况下,集中式设备可以是CXL交换机或集线器,单独或者与更全局的组件(例如机架或抽屉功率管理组件)相结合。这种组件也可被用于当CXL连接的设备具有其自己的功率源(例如,具有其自己的功率源的CXL连接分解式存储设备)时使用或者用来以可用的功率增强CXL输送的功率(例如,具有额外功率连接器的加速器)。

包含实施例的设备可以与设备的计算或媒体元素相对接,以便识别何时要求更多的功率来实现特定的突发,或者何时可以共享功率。进而,该设备的功率管理电路可以使用CXL.power协议来传达这个信息。

以这种方式,应用或者软件栈可以在细粒度水平上执行设备对设备的功率信贷,以例如实现先进的服务质量政策。作为一个示例,假设应用X在加速器(例如,现场可编程门阵列(field programmable gate array,FPGA))上运行比特流,并且该应用正在中央处理单元(central processing unit,CPU)上执行。假设应用X处于比特流要求更多功率的阶段。通过一实施例,功率信用可以被从CPU(例如,被映射到应用的核心)转移到执行比特流的加速器。

从而,设备可以以集中或分散的方式,更容易地共享作为共同资源的功率。以这种方式,当给定的设备具有更大的功率需求时,该设备可以请求并且接收额外的功率,例如,以功率信用的形式,该额外的功率转化为额外的功率预算来用于消耗。类似地,当一设备在特定的操作阶段中具有较少的功率需求时,该设备可以允许其他设备借用功率,例如,以功率信用的形式。

现在参考图1,图1示出了根据一实施例的系统的框图。如图1所示,计算系统100可以是任何类型的系统,它通过链路提供至少一些组件的互连,经由所述链路可发生基于CXL的通信。在图1的实施例中,图示了具有多个平台110

如图1的高级别中进一步图示的,平台110也可包括相应的功率管理电路115

如图1的插图中所示,功率管理电路115可包括协议电路116(即,CXL.power协议电路),以使能实现如本文所述的CXL.power消息的通信。功率管理电路115还包括接口117,以提供与要被进行功率管理的平台的各种组件的接口。遥测电路118可对平台的电路执行功率监视。功率管理控制器119可以执行功率管理操作,例如,基于当前或预期活动、功率预算、热预算和其他环境信息,为计算平台的各种组件确定适当的功率水平。

仍然参考图1,平台110耦合到CXL交换机或集线器120。就本文使用的而言,术语“集线器”和“交换机”可被互换使用,以指代使能实现设备之间的通信的路由的接口电路,在本文中尤其指的是使能实现设备之间的基于CXL通信的路由的接口电路。为了便于后续讨论,这种设备在本文中将主要被称为“集线器”。

如图所示,集线器120包括各种组件,以实现如本文所述的CXL.power协议和功率管理,包括全局功率信用管理器122。管理器122可被配置为执行功率管理,包括向系统的各种设备初始分配功率信用,以及更新功率信用以使能实现如本文所述的功率共享。在一实施例中,全局功率信用管理器122可以负责执行和最终确定在不同设备之间建立的“合约”。一旦合约达成,它就会:生成跨设备的功率配送的新映射;验证新的功率配送不会破坏任何现有的合约;创建新的合约(该合约被托管到信用配送电路128中);可能连接到平台功率管理器,以请求基于新建立的信用的新功率配送,这包括已建立的合约的超时。一旦合约超时发生,它就会与功率管理器联络,来将功率信用从借用者归还给信用的原始拥有者。

CXL.power协议电路124可以如上所述操作,以使能实现CXL.power协议信息的通信。公平性电路126确保以公平的方式在各设备间执行功率共享,从而使得所有设备满足其服务水平协定(service level agreement,SLA),同时在可用时向各种设备提供额外的请求功率。当然,设备可具有由平台的管理层建立的不同优先级,在这里可以被考虑到。

仍然参考集线器120,信用配送电路128可被配置为在动态基础上确定信用的适当分配。例如,除了处理传入的功率共享请求以外,功率信用的这种重分配可发生在设备被添加到系统中或者被从系统中移除时。如进一步图示的,集线器120还包括鉴证电路129,它可以负责验证设备是值得信赖的。鉴证电路129在启动时连接到鉴证实体以验证每个设备。它可以向该实体提供信息,例如:设备ID;制造商;以及固件上的其他散列值,等等。基于这样的鉴证,电路129可以确定设备在CXL.power操作方面是否值得信赖。在一实施例中,只有经过鉴证的设备才被允许参与CXL.power特征。此外,功率施行圈可以单独地或者与其他功率管理电路(例如,公平性电路126)相结合地配置,以确保设备以协定的方式行事,而不使用比协商的更多的功率。

虽然图1示出了一实施例,其中执行基于CXL的功率共享的功率管理电路存在于集线器120中,但要理解,实施例在这方面不受限制。例如,在另一实现方式中,CPU连接到多个CXL设备而中间没有任何集线器或交换机的配置,可以集成图1所示的功率管理电路以实现基于CXL的功率共享。

仍然参考图1,集线器120与各种设备耦合。在所示出的实施例中,这些设备可包括加速器130、池式存储器140、160、以及图形处理单元(graphics processing unit,GPU)150。如图所示,这些设备中的每一个包括各种电路来执行其功能。可以是人工智能(artificial intelligence,AI)加速器的加速器130可包括加速电路134;池式存储器140、160可包括相应的双内联存储器模块(dual inline memory module,DIMM)144

如进一步图示的,这些设备中的每一个还包括功率管理电路(132、142、152和162)。在一示例中,这些功率管理电路中的每一个一般可以与图1的插图中所示的功率管理电路115配置相同,以便每个设备可以参与CXL.power协议通信,包括根据本文描述的功率共享技术接收功率的初始分配以及请求和响应对额外功率的请求。

仍然参考图1,集线器130进一步耦合到功率管理控制器170,该控制器可以是基于机架或抽屉的功率管理器,其可以例如与基板管理控制器(baseboard managementcontroller,BMC)相联系地操作。如图所示,控制器170包括功率管理分配器175,它可以识别并且向集线器120提供总体功率预算。进而,集线器120可以将初始功率水平分配给个体设备。此外,集线器120可以在操作期间请求额外的功率,以适应来自各种设备的功率请求。取决于操作和环境条件,功率管理控制器170可以准予或者拒绝这种额外的功率请求。要理解,虽然在图1的实施例中在这个高级别示出了,但许多变化和替换是可能的。

图1可进一步用于图示出根据一实施例使用CXL.power协议的功率共享场景的操作。假设平台110

基于这个请求和提供的许诺,集线器120可以确定要授予平台110

例如,并非所有请求的信用都可被分配。作为另一示例,如果请求者要求10个信用,则响应可能是零(没有)、3(部分)或者10(全部)。也有可能响应的是请求的全部数额(上述示例中的10个信用),但时间比请求的少(例如,100μs而不是请求的500μs)。这是一个协商协议,因此在一些实施例中,当所有各方都同意新的分配时,功率重配送就会发生。

另外要注意,功率共享消息也可以由设备发起,以指示出它有功率要共享。换句话说,功率信用可以是双向的。在典型的计算系统中,服务器复合体向其设备提供功率。然而,在设备有其自己的功率源的实施例中,它可以向系统贡献功率,例如,以功率信用的形式。这样的操作可类似于太阳能电池板在有多余功率生成时向电网提供功率。作为这里的一个特定示例,假设CXL连接的设备,例如加速器130(或者附接的存储设备)是被单独供电的,根据本文描述的基于CXL的功率共享技术,这种设备实际上可以向平台110的一个或多个CPU给予功率。

现在参考图2,图2示出了根据一实施例的存储功率共享信息的存储装置的框图。如图2所示,可被实现为缓存存储器或者包括在CXL集线器(例如)中的其他存储器的存储装置200可存储功率共享表格。在所示出的实施例中,该表格具有多个条目210

例如,单个功率共享请求可以被分割成表格中的多个条目。例如,当一些条目同意提供300μs的信用,但其他条目只同意200μs时,可能有两个条目有不同的共享者集合。另外,功率共享的协商可以提前发生(预测性共享),所以表格可具有额外的开始时间字段,或者可以有功率定时器轮,轮中的实体指向不同的表格,每个表格都如图2中所示那样实现。

如上所述,CXL.power协议可以提供跨多个CXL连接的设备的握手,以使能实现细粒度的功率共享。在一实施例中,可能有三种基本类型的消息:(1)请求功率信用的单播或多播消息;(2)对所有/一些/特定的(一个或多个)连接设备的广播/多播/单播通知消息,通知先前授予的功率信用已被撤回;以及(3)多播上的单播响应消息。每个都会被论述。

为了论述的目的,假设向连接到系统的一些或所有设备发送多播消息,询问可以共享多少功率信用。该多播消息可包括:多播请求的ID(可以基于设备ID和本地计数器生成);请求功率借用的设备的ID;功率借用将会发生的持续时间(这可被编码为:一个值,例如表示功率借用的时间单位量的整数;以及作为该值的单位的度量(例如,μs,ms,等等)。注意,在单播请求示例中,请求者可以将单播消息发送到例如受信任的设备或者属于同一群组的设备,或者一些其他识别的设备。

进而,广播/多播/单播通知消息可被发送到所有/一些/特定的(一个或多个)连接设备,以告知先前授予的功率信用已被撤回。这个消息可用于为一些紧急任务提供需要的功率,例如故障/断开连接前的数据备份、紧急中断处理,等等。该通知消息可包括在这种功率被撤回之前提供的持续时间。类似地,也可以发送通知消息,以指示出先前取得的信用已被返回。

对多播请求的单播响应消息可由每个设备提供,并且可包括:多播ID;可共享的信用的数额;以及可共享信用的持续时间。

在一些情况下,一旦达成协定,CXL.power协议就可被用于与管理功率的外部实体(例如,抽屉或机架功率管理)进行通信,以便提供协定的功率转移。该协议的这个部分基本上包括几个消息,其中包括基于多播ID上提供的协定,针对给定的新功率配送的单播请求。这个消息可包括:设备的列表和新的功率配送,基于哪些功率信用已被从一个地方转移到另一个地方;以及对这个功率配送有效的持续时间。注意,在该时间期满之后,功率管理器可恢复到先前或默认的配置。协议的这个部分的另一消息可包括对先前单播请求的单播响应。这个消息可包括对新配送的确认;而如果没有确认,则可能会提出新的配送(可以是提议的子集)。此外,集线器响应于检测到一些不良行为(例如,某个实体进行太多的多播,等等),可决定放弃来自该实体的消息。

现在参考图3,示出了根据一实施例的方法的流程图。如图3所示,方法300是根据一实施例的用于在使用CXL.power协议的系统中执行功率管理的方法。因此,方法300可由诸如CXL集线器之类的集中式设备执行。因此,方法300可以由这个集线器中包括的硬件电路与固件和/或软件相结合来执行。

如图所示,方法300开始于接收来自设备的指示出其CXL.power能力的能力信息(块310)。在一实施例中,CXL.power通信可以作为CXL邮箱命令通过带外接口被发送,以协商和更新功率信用。这种能力信息可被存储在设备本身中,例如,存储在扩展外围组件互连快速(Peripheral Component Interconnect Express,PCIe)能力结构中。在一实施例中,该能力信息可包括关于功率信用的信息,例如空闲功率所要求的最小信用(PCredit_Idle),功能优化功率(例如,活跃TDP)所要求的信用(PCredit_Opt),以及对于最大吞吐量可能需要使用的最大功率信用(PCredit_Max)。这种能力信息可还包括生成的功率信用和可以与他人共享的功率信用。

然后,在块320,集线器可以从主机接收为设备指派的功率信用。在一实施例中,在枚举期间,主机操作系统(operating system,OS)可以例如基于系统设计和各自的功率要求,对指派给每个组件的功率信用进行编程。接下来,在块330,指派的功率信用可以被提供给设备,例如,使用CXL.power协议消息。此时,系统可被配置为正常操作,从而设备可以根据其分配的功率水平开始执行。

仍然参考图3,假设在操作期间,第一设备(它可以是平台本身或者平台的组件)寻求借用信用,从而向集线器发送请求(块340)。在一实施例中,第一设备可以经由邮箱命令发送OOB消息,即“Request PCredit”消息,并且请求新的值。在一些情况下,该命令可被指向集线器,而在其他情况下,集线器可将该消息转发给BMC/平台管理器。注意,集线器可具有用于这种请求的队列,因此为了效率,集线器可能一次处理若干个请求,而不是一个一个地处理。

响应于这个请求,集线器可以向其他设备发送多播请求(块350)。响应于这个请求,集线器可以从一个或多个设备接收功率信用许诺(块360)。基于这些许诺以及额外的信息,包括请求的功率的数额、环境条件、公平性,等等,集线器可以确定提供给第一设备的更新的功率信用分配,以及确定哪些设备可能有借来的信用(块370)。

基于这个确定,控制传递到块380,在那里更新的功率信用信息可被发送到第一设备和其他设备。在一实施例中,这种更新的信息可以经由如下消息被发送:该消息用于指示出对每个设备的更新的功率信用的水平和这些更新的功率信用适用的持续时间。如果额外的信用是可用的,则“Update_Pcredit”消息被发送到一个或多个相应的组件,以重指派具有更新PCredit值的信用。从而,设备可以经由OOB命令“Update PCredit”(从集线器,例如,如由集线器和/或BMC/平台管理器发起的)接收PCredit的更新值。该组件在更新该值后,发送带有“成功/失败”信息的完成。注意,这个更新的功率信用水平要处于等于或大于PCredit_Idle的信用水平。在设备未能跳到低功率模式的情况下,设备会以“失败”消息响应“Update_Pcredit”。

此时,设备可以在指定的持续时间中根据更新的功率信用操作。要理解,虽然在图3的实施例中以这个高级别示出,但许多变化和替换是可能的。例如,虽然方法300图示了发生集中式功率共享的示范性实施例,但对等功率共享也是可能的。在此,可以向特定设备发送单播请求,以在特定时间单位中借用功率。该请求可包括:多播ID;请求的功率;以及请求的持续时间。注意,这个消息可以是早前的多播的后续。单播响应消息可被发送到先前的单播,确认在该时间段中授予了功率信用。

现在参考图4,示出了根据另一实施例的方法的流程图。如图4所示,方法400是根据一实施例的用于在使用CXL.power协议的设备中执行功率管理的方法。因此,方法400可以由具有硬件电路的给定设备与固件和/或软件相结合来执行。

在块410,设备将其能力信息(例如,存储在PCIe能力结构中)发送到CXL集线器以指示出其CXL.power能力。然后,在块415,设备接收指派的功率信用,这些功率信用可被存储在设备的功率管理电路中。因此,此时,设备可以在其被指派的功率信用内操作(块420)。

如进一步图示的,假设在操作期间的某个时点,设备确定需要增大功率消耗,例如,由于增大的工作负载(菱形425)。如果是,则在块430,它可以向CXL集线器(或者一个或多个对等设备)发送对于增大的功率信用的请求。从而,虽然在图4的示例中示出了涉及CXL集线器的通信,但同样可能发生分散的或者对等的功率共享操作。例如,在CXL3.0系统及以后的系统中,设备可被配置为直接从对等组件请求功率信用,例如,经由对等消息传递,其中每个设备可从其初始指派值共享功率信用。要理解,这种功率共享安排对集线器而言可能是透明的。

仍然参考图4,在块435,设备可以接收到完成,以指示出对请求的确认。此后,在块440,设备可以接收更新的功率信用,例如,它所请求的信用的数目或者更小的数目。在任何情况下,设备可以在功率管理电路中存储这个更新的功率信用限额(它可以附带对于授予这些增大的功率信用的持续时间的指示)。因此,在块445,设备可以在指示的持续时间中在更新的功率信用内操作。在这个时间之后,在块450,设备可以恢复到其被指派的功率信用水平。注意,这种操作可以在不需要额外通信的情况下发生。

仍然参考图4,可以进一步(在菱形460)确定设备是否接收到功率共享请求(可以从集线器接收或者直接从设备接收)。如果是,则设备可以在菱形465处确定它是否有可用的功率信用来共享。如果是,则设备可以发送响应,以指示出要共享的所许诺提供的功率信用(块470)。在块480,设备可以接收对共享的功率信用的确认,该确认可以指示出是否所有或者只有一部分许诺提供的信用被取得,以及该功率共享的持续时间。此时,控制传递到上文论述的块440。

要理解,虽然在一些情况下,例如根据策略、优先级或者其他基础,如果设备确定它没有可用的功率信用来共享(在菱形465),那么对于该请求,就该设备而言,没有进一步的功率共享发生。然而,在一些情况下,集线器可以自行决定从设备撤回某些功率信用。因此,控制可以可选地从菱形465传递到块480,在这里设备可以从集线器接收CXL.power消息,该消息针对例如在给定的持续时间处于更低的水平的更新的功率分配。要理解,虽然在图4的实施例中以这个高级别示出,但许多变化和替换是可能的。

从而,通过实施例,可以在所有CXL附接的设备之间协同分配和管理功率管理。使用如本文所述的CXL.power协议,可以就功率要求进行通信,基于当前和预期需求来要求更多的功率或者放弃一些功率。以这种方式,可以动态地共享整体的固定功率预算,甚至在来自不同制造商的设备之间。CXL.power协议通信可用于以一种允许功率成为共享资源的细粒度方式交换功率要求,即要求更多的功率来处理尖峰或者在低活动或无活动期间放弃功率。作为一个示例,基于应用阶段的智能整体功率管理可以发生在CPU和一组CXL附接的设备之间。

现在参考图5,示出了根据本发明的另一实施例的系统的框图。如图5所示,系统500可以是任何类型的计算设备,并且在一个实施例中可以是服务器系统。在图5的实施例中,系统500包括多个CPU 510a、b,它们进而耦合到各自的系统存储器520a、b,这些存储器在实施例中可被实现为DIMM,例如双数据速率(double data rate,DDR)存储器、持久性或者其他类型的存储器。注意,CPU 510可以经由互连系统515耦合在一起,例如

为了使得连贯加速器设备和/或智能适配器设备能够通过潜在的多种通信协议耦合到CPU 510,可以存在多个互连530a1-b2。在一实施例中,每个互连530可以是CXL的给定实例。

在所示出的实施例中,各个CPU 510耦合到相应的现场可编程门阵列(fieldprogrammable gate array,FPGA)/加速器设备550a、b(在一个实施例中,其可包括GPU)。此外,CPU 510还耦合到智能NIC设备560a、b。进而,智能NIC设备560a、b耦合到交换机580a、b(例如,根据一实施例的CXL交换机),这些交换机进而耦合到池式存储器590a、b,例如持久性存储器。在实施例中,交换机580可以实现本文描述的电路,以执行如本文所述的基于CXL的功率共享。当然,实施例不限于交换机,而本文描述的技术可以由系统的其他实体执行,包括CPU 510。

接下来转到图6,描绘了根据一实施例的SoC设计的实施例。作为具体的说明性示例,SoC 600可被配置为插入在任何类型的计算设备中,范围从便携式设备到服务器系统。这里,SoC 600包括2个核心606和607。核心606和607可符合指令集体系结构,例如基于

互连612提供到其他组件的通信信道,例如到订户身份模块(SubscriberIdentity Module,SIM)630以与SIM卡相对接,到引导ROM635来保存引导代码供核心606和607执行以初始化和引导SoC 600,到SDRAM控制器640以与外部存储器(例如,DRAM 660)相对接,到闪存控制器645以与非易失性存储器(例如,闪存665)相对接,到外设控制器650(例如,eSPI接口)以与外设相对接,到视频编解码器620和视频接口625以显示和接收输入(例如,触摸使能输入),到GPU 615以执行图形相关计算,等等。此外,系统图示了用于通信的外设,例如蓝牙模块670、3G调制解调器675、GPS 680以及WiFi 685。系统中还包括功率控制器655,它可以实现本文描述的电路以根据一实施例执行基于CXL的功率共享。在图6中进一步图示了,系统600可额外包括接口,其中包括例如到显示器的MIPI接口692和/或HDMI接口695,HDMI接口695也可耦合到相同或不同的显示器。

现在参考图7,示出了根据本发明的另一实施例的系统的框图,例如边缘平台。如图7中所示,多处理器系统700包括经由点到点互连750耦合的第一处理器770和第二处理器780。如图7所示,处理器770和780中的每一者可以是多核心处理器,包括代表性的第一和第二处理器核心(即,处理器核心774a和774b以及处理器核心784a和784b)。

在图7的实施例中,处理器770和780还包括点到点互连777和787,它们经由互连742和744(可以是CXL总线)耦合到交换机759和760,这些交换机可以执行如本文所述的基于CXL的功率共享。进而,交换机759、760耦合到池式存储器755和765。

仍然参考图7,第一处理器770还包括存储器控制器中枢(memory controllerhub,MCH)772和点到点(point-to-point,P-P)接口776和778。类似地,第二处理器780包括MCH 782和P-P接口786和788。如图7所示,MCH 772和782将处理器耦合到各自的存储器,即存储器732和存储器734,这些存储器可以是在本地附接到各个处理器的系统存储器(例如,DRAM)的一部分。第一处理器770和第二处理器780可分别经由P-P互连776和786耦合到芯片组790。如图7所示,芯片组790包括P-P接口794和798。

此外,芯片组790包括接口792来通过P-P互连739将芯片组790与高性能图形引擎738耦合。如图7所示,各种输入/输出(I/O)设备714可以与总线桥718一起耦合到第一总线716,其中该总线桥将第一总线716耦合到第二总线720。各种设备可耦合到第二总线720,包括例如键盘/鼠标722、通信设备726和数据存储单元728,例如盘驱动器或者其他大容量存储设备,其中该数据存储单元在一个实施例中可包括代码730。另外,音频I/O524可耦合到第二总线720。

如本文所述的实施例可被用于许多种不同的网络体系结构中。为此,在给定的边缘设备和数据中心之间耦合的网络体系结构中的许多不同类型的计算平台可以根据如本文所述的CXL.power协议使用CXL通信来执行动态功率管理。现在参考图8,示出了根据本发明的另一实施例的网络体系结构的框图。如图8所示,网络体系结构800包括各种计算平台,这些计算平台可位于非常宽的区域中。

在图8的高级别视图中,网络体系结构800包括代表性设备810,例如智能电话。此设备可经由不同的无线电接入网络(radio access network,RAN)(包括RAN 820和RAN830)来进行通信。RAN 820进而可耦合到平台825,该平台可以是边缘平台,例如雾/远/近边缘平台,并且可以利用本文的实施例。其他请求可由耦合到RAN 830的远边缘平台835处理,其也可利用实施例。

如图8中进一步图示的,另一个近边缘平台840可耦合到RAN 820、830。注意,这个近边缘平台可位于更靠近数据中心850的地方,该数据中心可能有大量的计算资源。通过将消息推送到这些更远的平台,在代表边缘设备810处理请求时,会招致更大的延时。要理解,图8中所示的一个或多个平台可以包含实施例来执行如本文所述的基于CXL的功率共享。

以下示例涉及进一步的实施例。

在一个示例中,一种装置包括:接口,用于耦合系统的多个设备,该系统包括至少一个CPU、至少一个加速器设备、以及至少一个存储器,所述接口使能实现根据CXL协议的通信;以及与所述接口耦合的功率管理电路,所述功率管理电路用于:从所述多个设备中的第一设备接收根据所述CXL协议的对于更新的功率信用的请求;识别所述多个设备中的至少一个其他设备以提供所述更新的功率信用中的至少一些;并且与所述第一设备和所述至少一个其他设备通信以使得所述第一设备能够根据所述更新的功率信用中的至少一些来增大功率消耗。

在一示例中,所述装置包括具有多个条目的存储装置,所述多个条目中的每一个存储关于对更新的功率信用的请求的功率共享信息。

在一示例中,所述接口响应于来自所述第一设备的请求,向所述多个设备中的至少一些发送多播请求以请求所述更新的功率信用。

在一示例中,响应于所述多播请求,所述功率管理电路接收来自所述多个设备中的第二设备的第一许诺,所述第一许诺针对第一多个功率信用,并且所述功率管理电路向所述第一设备分配所述第一多个功率信用中的至少一些。

在一示例中,所述接口用于:向所述第二设备发送第一单播消息以通知所述第二设备关于向所述第一设备分配所述第一多个功率信用中的至少一些,其中所述第二设备在第一持续时间以降低的功率消耗水平操作;并且向所述第一设备发送第二单播消息以通知所述第一设备关于向所述第一设备分配所述第一多个功率信用中的至少一些,其中所述第一设备在所述第一持续时间以增大的功率消耗水平操作。

在一示例中,所述功率管理电路用于:向所述第一设备分配少于所述第一许诺的所述第一多个功率信用;通知第三设备先前分配给所述第三设备的至少一些功率信用已被撤回;并且向所述第一设备发送单播消息以通知所述第一设备关于在第一持续时间向所述第一设备分配所述第一多个功率信用和所述至少一些功率信用,其中所述第一设备在所述第一持续时间以增大的功率消耗水平操作。

在一示例中,所述接口经由带外消息从所述多个设备接收能力信息,所述能力信息对于每个设备包括最小功率信用水平、最优功率信用水平、以及最大功率信用水平。

在一示例中,所述功率管理电路至少部分地基于所述至少一个其他设备的能力信息来识别所述至少一个其他设备,其中所述至少一个其他设备具有独立的功率源,所述至少一个其他设备的能力信息还包括共享功率信用水平。

在一示例中,所述功率管理电路响应于额外设备到所述系统的动态插中而为所述多个设备中的至少一者动态更新功率信用。

在一示例中,所述装置包括第一CPU,所述第一CPU根据CXL.power协议接收和发送功率管理消息。

在另一示例中,一种方法包括:从系统的第一设备向所述系统的至少第二设备发送CXL消息以请求借用分配所述至少第二设备的功率;接收来自所述至少第二设备的响应,所述响应指示出要借用的功率的数额;并且至少部分地基于所述要借用的功率的数额来以更高的功率消耗水平操作所述第一设备。

在一示例中,所述方法还包括将所述CXL消息作为单播消息从所述第一设备发送到所述第二设备,所述第一设备和所述第二设备包括对等设备。

在一示例中,所述方法还包括发送所述CXL消息,所述CXL消息包括所述借用的持续时间和用于指示出要借用的功率的请求数额的信用水平。

在一示例中,所述方法还包括,当所述要借用的功率的数额包括分配给所述第二设备的总功率时,在所述持续时间之后,使得所述第一设备在第二持续时间将分配给所述第一设备的至少一些功率提供给所述第二设备。

在一示例中,所述方法还包括根据CXL.power协议从所述第一设备向所述第二设备发送所述CXL消息。

在一示例中,所述方法还包括从所述第二设备向CXL集线器发送第二CXL消息以请求借用额外的功率,其中所述CXL集线器响应于所述第二CXL消息,向所述系统的多个设备中的至少一些发送多播消息以请求借用所述额外的功率。

在另一示例中,一种包括指令的计算机可读介质执行如上述示例中的任一者所述的方法。

在另外一个示例中,一种包括数据的计算机可读介质被至少一个机器用来制作至少一个集成电路以执行如上述示例中的任一者所述的方法。

在另外一个示例中,一种装置,包括用于执行如上述示例中的任一者所述的方法的装置。

在另外一个示例中,一种系统包括:CPU,其具有多个核心和第一功率管理电路;经由CXL集线器与所述CPU耦合的加速器,所述加速器具有第二功率管理电路;以及与所述CPU和所述加速器耦合的CXL集线器。所述CXL集线器包括第三功率管理电路,用于:从所述加速器接收对于用于第一持续时间的增大的功率消耗的CXL请求;识别所述系统的至少一个其他设备,足以满足用于所述第一持续时间的增大的功率消耗的功率将从所述至少一个其他设备将撤回;并且与所述加速器和所述至少一个其他设备通信以使得所述加速器能够在所述第一持续时间增大功率消耗。

在一示例中,所述加速器:根据CXL.power协议发送所述CXL请求;并且向所述CPU发送另一CXL请求以请求在另一持续时间借用功率,所述另一CXL请求包括单播请求。

在一示例中,所述CXL集线器识别所述至少一个设备的不良行为并且阻止所述至少一个设备以增大的功率消耗来操作。

在一示例中,所述加速器包括配置存储装置来存储功率能力信息,所述加速器向所述CXL集线器发送所述功率能力信息,所述功率能力信息包括最小功率信用水平和最大功率信用水平。

要理解,上述示例的各种组合是可能的。

注意,在本文中可互换使用术语“电路”和“电子线路”。如本文所使用的,这些术语和术语“逻辑”用于单独地或者按任何组合提及模拟电路、数字电路、硬连线电路、可编程电路、处理器电路、微控制器电路、硬件逻辑电路、状态机电路、和/或任何其他类型的物理硬件组件。实施例可被用于许多不同类型的系统中。例如,在一个实施例中,通信设备可被安排为执行本文描述的各种方法和技术。当然,本发明的范围不限于通信设备,而是其他实施例可指向其他类型的用于处理指令的装置,或者包括指令的一个或多个机器可读介质,这些指令响应于在计算设备上被执行,而使得该设备实现本文描述的一个或多个方法和技术。

实施例可被实现在代码中并且可被存储在其上存储有指令的非暂态存储介质上,所述指令可被用于将系统编程为执行这些指令。实施例还可被实现在数据中并且可被存储在非暂态存储介质上,该存储介质如果被至少一个机器使用,则使得该至少一个机器制造至少一个集成电路来执行一个或多个操作。还有另外的实施例可被实现在包括信息的计算机可读存储介质中,所述信息当被制造到SoC或其他处理器中时,将配置该SoC或其他处理器来执行一个或多个操作。存储介质可以包括但不限于任何类型的盘,包括软盘,光盘,固态驱动器(solid state drive,SSD),致密盘只读存储器(compact disk read-onlymemory,CD-ROM),可改写致密盘(compact disk rewritable,CD-RW),以及磁光盘,半导体设备,比如只读存储器(read-only memory,ROM),随机访问存储器(random accessmemory,RAM),比如动态随机访问存储器(dynamic random access memory,DRAM),静态随机访问存储器(static random access memory,SRAM),可擦除可编程只读存储器(erasable programmable read-only memory,EPROM),闪速存储器、电可擦除可编程只读存储器(electrically erasable programmable read-only memory,EEPROM),磁卡或光卡,或者任何其他类型的适用于存储电子指令的介质。

虽然已针对有限数目的实现方式描述了本公开,但受益于本公开的本领域技术人员将会明白从这些实施例的许多修改和变化。希望所附权利要求覆盖所有这样的修改和变化。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号