在计算环境中动态地启用和禁用加速器设备的技术的制作方法

文档序号:17357321发布日期:2019-04-09 21:48阅读:310来源:国知局
在计算环境中动态地启用和禁用加速器设备的技术的制作方法

本文中描述的实施例总体上包括在计算环境中动态地启用和禁用加速器设备的技术。



背景技术:

随着市场向机器学习、人工智能、感知计算等发展,处理产品变得更加专用并且针对这些市场细分而定制。使得能够推动该趋势的当前硅解决方案之一是将加速器集成到传统处理器管芯中以创建多芯片封装(mcp)解决方案。对这些加速器的使用取决于工作负载,并且已证明存在加速器处于空闲状态并且从整体平台预算中消耗不必要的功率的实时使用情况。

附图说明

图1a示出了节点的第一示例。

图1b示出了节点的第二示例。

图2a示出了处理流程的示例。

图2b示出了第二处理流程的示例。

图3示出了系统的示例。

图4a示出了第三处理流程的示例。

图4b示出了第三处理流程的另外的操作。

图5示出了第三逻辑流程的示例。

图6示出了计算架构的示例实施例。

具体实施方式

如先前讨论的,这些加速器设备的使用取决于工作负载,并且已证明存在加速器处于空闲状态并且从整体平台预算中消耗不必要的功率的实时使用情况。本文中讨论的内容可以涉及针对加速器设备和/或加速器设备中的一个或多个基础设施设备动态地启用和禁用功率。

将功率从cpu的非活动组件转移到活动组件的目标最近引起了很多关注。先前的解决方案包括通过使用来自热传感器、性能监视器等的遥测信息的定制功率管理算法来在cpu核心之间并且有时跨cpu插槽实现功率平衡。这些解决方案典型地是硬件自主的,对操作系统(os)或os驱动具有某种控制。虽然这些动态功率管理解决方案中的一些可以扩展到加速器设备,但是这要求将加速器管芯定制为具有这些高级功率管理特征,并且不会消除空闲功耗。除功率问题之外,为了实现对mcp的重新配置(由于工作负载而作为整体禁用加速器或改变加速器内部配置),包括mcp的平台必须在热重置并且有时冷重置之间再循环,这从客户希望这些平台运行达到99.99%的服务器或处理节点而言不是可接受的解决方案。

因此,实施例涉及基于工作负载资源要求来动态地控制加速器设备,该工作负载资源要求可以由调度器设备提供并控制。例如,实施例包括调度器读取工作负载元数据,该工作负载元数据包含基于用于由数据中心处理的工作负载的工作负载资源要求。工作负载资源要求可以指定要处理工作负载需要哪些处理和存储器要求,并且调度器可以基于工作负载资源要求来确定要启用和/或禁用的加速器设备、资源以及电路。此外,调度器可以确定包括加速器设备、资源以及电路的哪些节点是可用的并且执行功率操作,例如,针对加速器设备启用和禁用功率。在一些实例中,调度器可以基于负载平衡和/或基于与工作负载相关联的服务级别协议(sla)来确定哪些节点执行功率操作。

在一个示例中,调度器可以与节点通信以引起功率操作的执行。更具体地,调度器指导节点的管理控制器和操作系统执行针对一个或多个加速器设备的功率操作。或者,利用操作系统的管理控制器可以在准备执行功率操作时执行一个或多个操作。例如,当禁用加速器设备时,操作系统可以从要禁用的加速器设备卸载进程和工作负载。类似地,在准备启用加速器设备时,操作系统确定一旦启用加速器设备则要在加速器设备上执行的工作负载和进程。

此外,操作系统或基本输入/输出系统(bios)执行热插拔流程,并且bios确定要执行功率操作的cpu和加速器设备。bios可以向与加速器设备相关联的cpu发出功率操作指示。如将更详细地讨论的,实施例包括cpu和加速器设备执行功率操作。cpu还可以向bios通知完成功率操作。

现在参考附图,其中相似的附图标记始终用于指代相似的元素。在以下说明书中,出于解释的目的阐述了许多具体细节以提供对其的透彻理解。然而,明显的是,新颖的实施例可以在没有这些具体细节的情况下实践。在其他实例中,以框图的形式示出了公知的结构和设备以便促进对这些结构和设备的描述。本发明旨在覆盖与要求保护的主题相一致的所有修改、等同物和替代物。

图1a示出了节点101的示例实施例,在节点101中可以采用本公开内容的方面来处理数据并执行对加速器设备的动态启用和禁用。节点101是计算设备,例如,个人计算机、台式计算机、平板计算机、上网本计算机、笔记本计算机、膝上型计算机、移动计算设备、服务器、服务器场、刀片服务器、基于机架的服务器、基于机架的处理板等。在实施例中,节点101包括用于处理数据和信息的设备、电路、存储器、存储装置以及组件。在所示示例中,节点101包括多芯片封装(mcp)102,其具有中央处理单元(cpu)110、一个或多个加速器设备112-x(其中x可以是任意正整数)、以及封装存储器114-z(其中z可以是任意正整数)。封装存储器114可以是易失性存储器,例如,可以由mcp102的其他组件使用来处理信息和数据的高速缓存。mcp102可以包括附加电路和寄存器。此外,mcp102可以包括多于一个cpu110,并且cpu110中的每个可以包括用于处理数据的多个处理核心。节点101还包括基本输入/输出系统(bios)120、管理控制器122、存储器124、具有操作系统130的存储装置132以及(多个)接口134。

在实施例中,使用任意处理器或逻辑器件来实现cpu110,并且cpu110可以是任意类型的计算元件中的一个或多个,例如但不限于微处理器、处理器、中央处理单元、数字信号处理单元、双核心处理器、移动设备处理器、台式处理器、单核心处理器、片上系统(soc)设备、复杂指令集计算(cisc)微处理器、精简指令集(risc)微处理器、超长指令字(vliw)微处理器、或者单个芯片或集成电路上的任意其他类型的处理器或处理电路。cpu110可以经由互连103连接到mcp102的其他元件并与其通信,如下面关于图1b更详细地讨论的。cpu110还可以包括高速缓存、寄存器以及其他电路。实施例不限于此方式。

在实施例中,mcp102包括一个或多个加速器设备112-x,其中x可以是任意正整数。加速器设备112可以是硬件(处理器)加速器设备,其被设计为提供硬连线逻辑以对以下特定处理任务加速:例如,图形、数学运算、加密操作、媒体处理、图像处理等。加速器设备112的示例包括图形处理单元(gpu)、加密单元、物理处理单元(ppu)、固定功能单元(ffu)等。实施例不限于此方式。

在实施例中,节点101包括经由一个或多个互连与mcp102耦合的存储器124。存储器124可以是易失性存储器中的一个或多个,包括随机存取存储器(ram)、动态ram(dram)、静态ram(sram)、双倍数据速率同步动态ram(ddrsdram)、sdram、ddr1sdram、ddr2sdram、ssd3sdram、单倍数据速率sdram(sdrsdram)、ddr3、ddr4等。实施例不限于此方式,并且可以设想其他存储器类型且这些其他存储器类型与本文中所讨论的实施例一致。例如,存储器124可以是三维交叉点存储器设备,或其他字节可寻址的原位写入非易失性存储器设备。在实施例中,存储器设备可以是或可以包括使用硫系化物玻璃的存储器设备,多阈值级nand闪速存储器,nor闪速存储器,单级或多级相变存储器(pcm),电阻式存储器,纳米线存储器,铁电晶体管随机存取存储器(fetram),反铁电存储器,并入忆阻器技术的磁阻随机存取存储器(mram)存储器,包括金属氧化物基极、氧空位基极和导电桥随机存取存储器(cb-ram)的电阻式存储器,或自旋转移力矩(stt)-mram,基于自旋电子磁结存储器的设备,基于磁隧道结(mtj)的设备,基于dw(畴壁)和sot(自旋轨道转移)的设备,基于晶闸管的存储器设备,或者上述存储器中的任意项的组合或其他存储器。

在实施例中,节点101包括存储装置132,其可以被实现为非易失性存储设备,例如但不限于磁盘驱动器、光盘驱动器、磁带驱动器、内部存储设备、附接存储设备、闪速存储器、电池供电的sdram(同步dram)、和/或网络可访问的存储设备。在实施例中,例如当包括多个硬盘驱动器时,存储装置132可以包括用于提高对有价值的数字媒体进行存储性能增强的保护的技术。存储装置132的另外的示例可以包括硬盘、软盘、压缩盘只读存储器(cd-rom)、可记录压缩盘(cd-r)、可重写压缩盘(cd-rw)、光盘、磁介质、磁-光介质、可移除存储卡或盘、各种类型的dvd设备、磁带设备、盒式磁带设备等。实施例不限于该上下文。

存储装置132可以包括操作系统130或系统软件,其管理节点101的硬件资源和软件资源并为计算机程序、软件应用以及硬件组件提供公共服务。操作系统130可以是基于的操作系统、基于的操作系统、基于的操作系统等。在一些实施例中,操作系统130可以不存储在存储装置132中,而是可以从存储器124加载和运行。在另一示例中,操作系统130可以从网络加载并从存储器124运行。在一些实施例中,节点101可以不包括存储装置132,并且实施例不限于此方式。

操作系统130还执行操作以使得能够执行针对(多个)加速器设备112的功率操作。例如,操作系统130可以从调度器接收向操作系统130通知功率操作的通知和数据。操作系统130可以在准备功率操作时执行一个或多个操作。例如,当禁用加速器设备112时,操作系统130可以从加速器设备112卸载要禁用的进程和工作负载。类似地,在准备启用加速器设备112时,操作系统130确定一旦启用加速器设备则在加速器设备112上要执行哪些工作负载和进程。

在一些实例中,操作系统130在准备执行功率操作时执行热插拔流程。如果cpu110与加速器设备112之间的输入/输出(i/o)链路由操作系统130管理(例如,操作系统可以控制i/o链路),则操作系统130可以引起热插拔流程。例如,如果功率操作启用向加速器设备112供电,则热插拔流程包括初始化任意互连或总线,预留存储器,配置/设置寄存器,并且加载任意附加软件(驱动程序)以支持加速器设备112。如果功率操作禁用向加速器设备112供电,则热插拔流程包括配置寄存器,使存储器能够被释放等。操作系统130还向bios120指示启用或禁用加速器设备112。在一个示例中,操作系统130可以利用高级配置和电源接口(acpi)消息或中断来通知bios120引起功率操作。

在实施例中,节点101包括一个或多个接口134,其例如用于与其他节点和计算系统传送数据和信息。接口134能够经由结构网络或以太网网络进行光和/或电通信。节点101可以从数据中心、管理服务器、调度器等中的一个或多个接收数据。接收到的数据和信息可以使得对节点101执行功率操作。接口134的其他示例包括通用串行总线(usb)端口/适配器、ieee1394火线端口/适配器等。其他接口134的示例包括并行接口、串行接口以及总线接口。实施例不限于此方式。

在实施例中,节点101还包括bios120,其为存储在非易失性存储器中的固件。bios120在节点101的启动过程期间控制并执行硬件初始化,并且为操作系统和程序提供运行时服务。bios120可以是可扩展固件接口(efi)设备、统一efi(uefi)设备、独立于平台的开放固件电气和电子工程师协会1275(ieee-1275)等。

在实施例中,bios120执行一个或多个操作以启用功率操作。例如,如果cpu110与加速器设备112之间的i/o链路是bios120管理的或操作系统130不可见的(例如,操作系统130不能控制i/o链路),则bios120从操作系统130接收对功率操作处理流程的控制,并且bios执行针对(多个)加速器设备112的热插拔流程。

bios120可以通过读取一个或多个寄存器(例如,(多个)capid寄存器)来确定要对哪些cpu110、加速器设备112以及基础设施设备执行功率操作。此外,bios120可以向与加速器设备112相关联的cpu110发出功率操作指示以执行操作。在实施例中,功率操作指示可以是用于引起功率操作的邮箱命令,例如,bios2pcode邮箱命令。实施例不限于此方式。

在实施例中,bios120可以在启动时间期间执行一个或多个预备操作以支持对加速器设备112的动态启用/禁用。例如,bios120和cpu110可以将加速器设备112中的每个视为外围组件互连(pci)主机桥并且执行以下预备操作,包括但不限于填充pci总线范围,填充存储器映射的i/o低(mmiol)范围和存储器映射的i/o高(mmioh)范围,针对加速器设备112在cpu110中预分配信用/缓冲器,禁用连接到加速器设备112的i/o链路151,当启用加速器设备时生成系统管理中断(smi),以及执行主中止以允许访问经填充的pci总线、mmiol范围和mmioh范围而不影响系统操作。实施例不限于此方式。

图1b示出了节点101的第二示例,其详述了组件之间的互连103,这些组件包括bios102、cpu110以及具有(多个)基础设施设备114-x的一个或多个加速器设备112-x。如下面将更详细讨论的,组件可以经由互连103中的一个或多个互连彼此传送数据,以执行功率操作以便启用和禁用加速器设备112和/或一个或多个基础设施设备114。

一个或多个基础设施设备114包括以下中的一个或多个:集成处理器(ip)、(多个)现场可编程门阵列(fpga)、一个或多个核心、计算单元、寄存器、专用集成电路(asic)以及其他处理电路。在实施例中,功率操作可以动态地启用和/或禁用加速器设备112和/或基础设施设备114。例如,可以启用多个加速器设备112中的一个或多个加速器设备,同时可以禁用一个或多个其他多个加速器设备112。类似地,加速器设备112中的每个可以包括可以单独且动态地控制的一个或多个基础设施设备114。可以启用特定加速器设备112的一个或多个基础设施设备114,同时可以禁用该加速器设备112的一个或多个其他基础设施设备114。

如先前所提及的,bios120基于从操作系统130和/或管理控制器122接收到的数据发起针对加速器设备112的功率操作。在实施例中,bios120可以从操作系统130接收控制以执行功率操作,该功率操作可以由acpi中断或消息触发。bios120基于对一个或多个寄存器(capid寄存器)的读取来确定要执行的功率操作,例如,启用/禁用哪些加速器112和/或基础设施设备114。bios120可以向与加速器相关联的cpu110发出功率操作指示。在实施例中,功率操作指示可以是经由边带链路165发送到cpu110以引起功率操作的邮箱命令,例如,bios2pcode邮箱命令。功率操作指示可以发起对cpu110的功率操作。

cpu110可以基于功率操作指示来确定要执行的功率操作,例如,启用/禁用一个或多个加速器设备112和/或基础设施设备114。在一个示例中,功率操作指示可以指示启用针对(多个)加速器设备112和(多个)基础设施设备114的功率。在另一示例中,功率操作指示可以指示禁用针对(多个)加速器设备112和(多个)基础设施设备114的功率,如下面将更详细地讨论的。在一些实施例中,cpu110还确定要对一个或多个加速器设备112-x和/或(多个)基础设施114-x中的哪些执行功率操作。

cpu110可以经由多个互连103中的一个或多个互连向加速器设备112发送功率操作发起指示。此外,功率操作发起指示向包括基础设施设备114的加速器设备112指示功率操作。在一个示例中,当启用针对加速器设备112的功率时,cpu110使功率启用引脚153(例如,cd_pwrgood引脚)有效,以将功率操作发起指示发送到加速器设备112。注意,实施例可以包括相反的逻辑(例如,使用于指示启用功率的引脚无效),并且与本文中讨论的实施例一致。

加速器设备112可以接收功率发起指示或检测到功率启用引脚153有效。在实施例中,加速器设备112发送并且cpu110接收对功率发起指示的响应,该响应用于指示加速器设备112针对配置和功率操作准备就绪。响应可以是边带准备就绪消息,其包括经由边带链路157从加速器设备112传送的基础设施准备就绪参数,例如,cdrdy2cpu[infra]。基础设施准备就绪参数指示基础设施设备114针对配置和启用功率准备就绪。

cpu110可以从加速器设备112接收边带准备就绪消息,并且确定加速器设备112针对配置和启用功率准备就绪。cpu110经由边带链路157发送上电配置消息以对基础设施设备114中的一个或多个基础设施设备进行配置。上电配置消息包括加速器设备112的一个或多个基础设施设备114中的哪些要启用功率以及针对基础设施设备114的配置。配置可以由bios120指定并且在功率操作指示中提供。

加速器设备112接收上电配置消息并且执行针对基础设施设备114的一个或多个配置操作,例如,确保寄存器被清除和/或设置有适当的起始值,电路处于适当的状态等。加速器设备112发送并且cpu110接收边带完成消息,例如,cdrdy2cpu[host],其指示对一个或多个基础设施设备的配置完成。边带完成消息可以经由加速器设备112与cpu110之间的边带链路157来发送。此外,cpu110接收边带完成消息并且引起功率操作,例如,在该示例中为启用功率。在实施例中,cpu110可以通过使功率重置引脚155(例如,cd_reset_n引脚)无效来引起功率操作。加速器设备112可以检测到功率重置引脚155无效,这使得功率施加到一个或多个基础设施设备114。cpu110向bios120发送指示,指示完成功率操作。在一些实施例中,bios120可以轮询经由边带链路165发送的、用于检测完成功率操作的邮箱命令。

在另一示例中,功率操作指示可以指示禁用针对(多个)加速器设备112和(多个)基础设施设备114的功率。为了禁用功率,bios120经由多个互连103中的至少一个传送功率操作指示并且cpu110经由多个互连103中的至少一个接收功率操作指示。功率操作指示发起针对加速器设备112的功率操作。在一些实施例中,功率操作指示可以是邮箱命令,例如,bios2pcode邮箱命令,其经由边带链路165从bios120传送到cpu110。功率操作指示可能已经由操作系统预备,并且可以基于由数据中心提供的资源要求。在该示例中,功率操作指示对禁用针对包括基础设施设备114的加速器设备112的功率进行指示。

在实施例中,cpu110可以接收功率操作指示并处理功率操作指示。更具体地,包括固件和电路(例如,功率管理固件)的cpu110确定功率操作指示是禁用针对加速器设备112和基础设施设备114的功率。在一些实施例中,cpu110可以确定一个或多个加速器设备112-x和/或基础设施设备114-x中的哪些要禁用功率。cpu110可以经由多个互连中的一个或多个互连向加速器设备112发送功率操作发起指示。在一个示例中,当禁用针对加速器设备112的功率时,cpu110可以经由边带链路157向加速器设备112发送边带重置消息,例如,sx_warn。

加速器设备112可以接收功率操作发起指示并执行多个操作,包括执行内部重置序列以对基础设施设备114进行重置,启用任意上下文刷新,导致调试模式静默,以及对任意集成处理器进行功率门控。加速器设备112发送并且cpu110接收用于指示加速器设备112针对功率操作准备就绪的响应。在实施例中,响应是从加速器设备114经由边带链路157传送的边带重置确认消息,例如,sx_warn_ack。

cpu110可以从加速器设备112接收边带重置确认消息,并且确定加速器设备112针对禁用功率准备就绪。cpu110使功率重置引脚155(例如,cd_reset_n)有效,这由加速器设备112检测到。使功率重置引脚有效使得基础设施设备114处于重置,并且锁相环设备关闭。cpu110还使功率启用引脚153(例如,cd_pwrgood)无效,使得加速器设备112的完全集成的电压调节器关闭,并且加速器设备112处于低功率水平。cpu110可以经由边带链路165向bios120发送指示完成功率操作的指示。在一些实施例中,bios120可以经由边带链路165轮询邮箱命令以检测完成功率操作。

图2a示出了处理流程200的示例,该处理流程200可以表示由本文中描述的一个或多个实施例执行的操作中的一些或所有操作。例如,处理流程200可以示出由cpu110、加速器设备112以及bios120执行的操作。然而,实施例不限于此方式,并且一个或多个其他组件可以执行操作以实现和支持在该处理流程200中讨论的操作。

在线202处,bios120经由多个互连中的至少一个传送功率操作指示并且cpu110经由多个互连中的至少一个接收功率操作指示。功率操作指示发起针对加速器设备的功率操作。在一些实施例中,功率操作指示可以是经由边带链路从bios120传送到cpu110的邮箱命令,例如,bios2pcode邮箱命令。功率操作指示可能已经由操作系统预备,并且可以基于由数据中心提供的资源要求。功率操作指示对启用或禁用针对加速器设备112和基础设施设备的功率进行指示。启用针对加速器设备112的功率可以包括使得退出较低功率水平(例如,如由acpi定义的睡眠状态(sx))进入较高功率水平或操作状态。禁用针对加速器设备112的功率可以包括使得进入较低功率水平或sx,并且退出较高功率水平或操作状态。在图2a所示的示例中,功率操作包括启用针对加速器设备112的功率,并且功率操作指示对启用针对加速器设备112的功率进行指示。

在实施例中,cpu110可以接收功率操作指示并处理功率操作指示。更具体地,例如,包括固件和电路(例如,功率管理固件)的cpu110确定功率操作指示是启用针对加速器设备112的功率。在一些实施例中,cpu110可以确定一个或多个加速器设备112-x功率中的哪些要启用功率。在线204处,cpu110可以经由多个互连中的一个或多个互连向加速器设备112发送功率操作发起指示。此外,功率操作发起指示用于指示对包括基础设施设备114的加速器设备112执行功率操作。在一个示例中,当启用针对加速器的功率时,cpu110使功率启用引脚(例如,cd_pwrgood引脚)有效,以将功率操作发起指示发送到加速器设备112。

加速器设备112可以接收功率发起指示或检测到功率启用引脚有效。在线206处,加速器设备112发送并且cpu110接收用于指示加速器设备112针对配置和功率操作准备就绪的响应。在实施例中,响应是边带准备就绪消息,其包括经由加速器设备112与cpu110之间的边带链路从加速器设备传送的基础设施准备就绪参数,例如,cdrdy2cpu[infra]。基础设施准备就绪参数指示基础设施设备114针对配置和启用功率准备就绪。

cpu110可以从加速器设备112接收边带准备就绪消息,并且确定加速器设备112针对配置和启用功率准备就绪。在线208处,cpu110发送上电配置消息以对基础设施设备114中的一个或多个基础设施设备进行配置。上电配置消息包括加速器设备112的一个或多个基础设施设备114中的哪些要启用功率以及针对基础设施设备114的配置。配置可以由bios120指定并且在功率操作指示中提供。在实施例中,经由cpu110与加速器设备112之间的边带链路传送上电配置消息。

加速器设备112接收上电配置消息并执行针对基础设施设备114的一个或多个配置操作,例如,确保寄存器被清除和/或设置有适当的起始值,电路处于适当的状态等。在线210处,加速器设备112发送并且cpu110接收边带完成消息,例如,cdrdy2cpu[host],其指示对一个或多个基础设施设备的配置完成。边带完成消息可以经由加速器设备112与cpu110之间的边带链路来发送。在线212处,cpu110接收边带完成消息并且引起功率操作,例如,在该示例中为启用功率。在实施例中,cpu110可以通过使功率重置引脚(例如,cd_reset_n)无效来引起功率操作。加速器设备112可以检测到功率重置引脚无效并且为一个或多个基础设施设备114供电。在线214处,cpu110向bios120发送指示完成功率操作的指示。在一些实施例中,bios120可以轮询邮箱命令以检测完成功率操作。

图2b示出了处理流程250的示例,该处理流程250可以表示由本文中描述的一个或多个实施例执行以针对加速器设备112和基础设施设备114禁用/降低功率的操作中的一些或所有操作。例如,处理流程250可以示出由cpu110、加速器设备112以及bios120执行的操作。然而,实施例不限于此方式,并且一个或多个其他组件可以执行操作以实现和支持该处理流程250中讨论的操作。

在线252处,bios120经由多个互连中的至少一个传送功率操作指示并且cpu110经由多个互连中的至少一个接收功率操作指示。功率操作指示发起针对加速器设备112的功率操作。在一些实施例中,功率操作指示可以是经由边带链路从bios120传送到cpu110的邮箱命令,例如,bios2pcode邮箱命令。功率操作指示可能已经由操作系统预备,并且可以基于由数据中心提供的资源要求。如先前所讨论的,功率操作指示对启用或禁用针对加速器设备112的功率进行指示。在图2b所示的示例中,功率操作包括禁用针对加速器设备112的功率,并且功率操作指示对禁用针对加速器设备112的功率进行指示。

在实施例中,cpu110可以接收功率操作指示并处理功率操作指示。更具体地,例如,包括固件和电路(例如,功率管理固件)的cpu110确定功率操作指示是禁用针对加速器设备112的功率。在一些实施例中,cpu110可以确定一个或多个加速器设备112-x中的哪些要禁用功率。在线254处,cpu110可以经由多个互连中的一个或多个互连向加速器设备112发送功率操作发起指示。在一个示例中,当禁用针对加速器设备112的功率时,cpu110可以经由边带链路向加速器设备112发送边带重置消息,例如,sx_warn。

在线256处,加速器设备112可以接收功率操作发起指示并执行多个操作,包括执行内部重置序列以对基础设施设备114进行重置,启用任意上下文刷新,导致调试模式静默,以及对任意集成处理器进行功率门控。在线258处,加速器设备112发送并且cpu110接收用于指示加速器设备112针对功率操作准备就绪的响应。在实施例中,响应是从加速器设备114经由边带链路传送的边带重置确认消息,例如,sx_warn_ack。

cpu110可以从加速器设备112接收边带重置确认消息,并且确定加速器设备112针对禁用功率准备就绪。在线260处,cpu110使功率重置引脚(例如,cd_reset_n)有效,这由加速器设备112检测到。使功率重置引脚有效使得基础设施设备114处于重置,并且锁相环设备关闭。在线262处,cpu110可以使功率启用引脚(例如,cd_pwrgood)无效,使得加速器设备112的完全集成的电压调节器关闭,并且加速器设备112处于较低功率水平。在线264处,cpu110可以向bios发送指示完成功率操作的指示。在一些实施例中,bios120可以轮询邮箱命令以检测完成功率操作。

图3示出了第一系统300的示例,该第一系统300可以表示本文中描述的一种或多种技术可以根据各种实施例在其中/针对其实现的一种类型的计算系统。如图3所示,系统可以包含多个机架302-z,其中z可以是任意正整数,机架302-z中的每个可以容纳包括相应的一组节点101-y(其中y可以是任意正整数)的计算设备,该组节点101-y可以分布在机架302-z之中。如先前所讨论的,节点101可以包括用于处理第一系统300中的数据和工作负载的资源,例如,包括cpu和加速器设备的mcp。

在一些实施例中,节点101-y可以是其上具有诸如mcp之类的组件的电路板,该mcp具有cpu、加速器、存储器以及其他组件。节点101-y可以被配置为与每个机架302-z中的电源和数据通信电缆配对,以与联网308耦合来与调度器设备306和数据中心304通信。联网308可以利用支持多种其他网络架构(包括以太网和omni-path)的结构网络架构。例如,节点101-y可以经由光纤耦合交换机和其他联网设备。然而,其他实施例可以利用双绞线电缆(例如,类别5、类别5e、类别6等)。在使用中,数据中心304和调度器302可以使节点101-y的资源(例如,存储器、加速器设备、cpu以及数据存储驱动器)池化以基于需要处理工作负载。

在实施例中,数据中心304包括用于监视和控制对系统300的工作负载进行的处理的多个设备和组件。数据中心304包括调度器306,其可以以硬件、软件或其组合来实现,用于处理工作负载请求并且动态地分配工作负载以供节点101处理。在一个示例中,调度器306从各种节点101接收使用量信息,基于过去的资源使用量来针对不同类型的工作负载预测资源使用量,并且基于该信息动态地重新分配节点101。调度器306确定要求哪些加速器设备和基础设施设备处理工作负载,并且通知与加速器设备和基础设施设备相对应的节点101以及功率操作的指示。工作负载的分配可以基于与工作负载相关联的服务级别协议(sla)、工作负载资源要求以及负载平衡算法。

调度器306可以通过读取包含工作负载资源要求的工作负载元数据来确定工作负载资源要求。例如,数据中心组件304或控制系统可以生成工作负载元数据并将其发送到调度器306。工作负载资源要求可以指定要处理工作负载需要哪些处理和存储器要求,并且调度器306可以基于要求来确定要启用和/或禁用的加速器设备、资源以及电路。此外,调度器306可以确定包括加速器设备、资源以及电路的哪些节点101可用并执行功率操作。调度器306指导节点101的管理控制器执行功率操作以基于工作负载资源要求来启用或禁用一个或多个加速器设备和基础设施设备。

图4示出了处理流程400的示例,该处理流程400可以表示由本文中描述的一个或多个实施例执行的操作中的一些或所有操作。例如,处理流程400可以示出执行以确定要对一个或多个加速器设备执行的功率操作并且使得功率操作被执行的操作。

在框402处,处理流程400包括调度器读取工作负载元数据,该工作负载元数据包含基于工作负载的工作负载资源要求。例如,数据中心组件或控制系统可以经由网络将工作负载元数据发送到用于处理工作负载的节点,该工作负载元数据可以由调度器读取。工作负载资源要求可以指定要处理工作负载需要哪些处理和存储器要求,并且调度器可以基于要求来确定要启用和/或禁用的加速器设备、资源以及电路。此外,调度器可以确定包括加速器设备、资源以及电路的哪些节点可用并执行功率操作。在一些实例中,调度器可以基于负载平衡和/或基于与工作负载相关联的服务级别协议(sla)来确定哪些节点执行功率操作。

在实施例中,处理流程400包括在框404处,调度器指导管理控制器执行针对一个或多个加速器的功率操作。管理控制器可以包括使用串行管理接口或带外消息系统(oobmsm)来执行功率操作的虚拟管理监视器(vmm)(libvirt)、bmc、管理引擎。功率操作可以包括启用和/或禁用加速器设备和基础设施设备。此外并且在框406处,调度器向操作系统或虚拟管理监视器(vmm)通知功率操作。在框406处,利用操作系统或vmm的管理控制器可以在准备执行功率操作时执行一个或多个操作。例如,当禁用加速器设备时,操作系统或vmm可以从要禁用的加速器设备卸载进程和工作负载。类似地,在准备启用加速器设备时,操作系统或vmm确定一旦启用加速器设备则要在加速器设备上执行的工作负载和进程。

在实施例中,处理流程400包括,如果cpu与加速器之间用于执行功率操作的输入/输出(i/o)链路是操作系统管理的或操作系统可见的(例如,操作系统可以控制i/o链路),则在框408处操作系统或vmm执行热插拔流程。此外,在框410处,逻辑流程包括在框410处操作系统或vmm告知bios执行功率操作。可替代地,如果cpu与加速器之间的i/o链路是bios管理的或操作系统不可见的(例如,操作系统不能控制i/o链路),则在框412处操作系统将控制权交给bios。例如,操作系统可以经由互连或中断向bios发送消息。在框414处,bios执行热插拔流程。

在框416处,处理流程400包括bios读取cpu能力标识(capid)以确定要执行功率操作的cpu和加速器。例如,capid可以是与cpu相关联的寄存器,bios读取该寄存器以确定加速器。在框418处,bios可以向与加速器相关联的cpu发出功率操作指示。在实施例中,功率操作指示可以是用于引起功率操作的邮箱命令,例如,bios2pcode邮箱命令。

在实施例中,逻辑400包括在框420处cpu和加速器执行功率操作。在框420处执行的一个或多个操作可以分别与上面关于图2a和图2b中的流程200和250讨论的操作一致。更具体地,如果功率操作是启用加速器,则可以执行处理流程200中讨论的一个或多个操作。如果功率操作是禁用加速器,则可以执行处理流程250中讨论的一个或多个操作。

在框422处,bios检测到完成功率操作。例如,cpu可以向bios发送指示功率操作已经完成的指示。在一些实例中,bios可以针对邮箱命令完成进行轮询。此外并且在框424处,bios可以向操作系统通知已经针对加速器完成功率操作。例如,bios可以设置可以由操作系统读取以确定功率操作完成的一个或多个寄存器。

在实施例中,可以利用上面关于图2a、图2b和图4讨论的处理流程以及系统100和150来执行下面示出的示例用途。例如,上面讨论的系统和流程可以用于资源偏向的工作负载调度和平台预算重新平衡,以提高mcp和cpu性能。例如,调度器可以确定运行即将开始的工作负载/作业所要求的资源。如处理流程200、250和400中指示的,调度器可以向管理控制器和操作系统通知并发送请求。操作系统或vmm和bios可以转换请求并发出邮箱命令以执行功率操作。cpu基于所要求的资源来启用或禁用加速器设备。在一个示例中,在加速器离线的情况下,cpu可以利用串行电压标识(svid)控制来从平台电压调节器读取功率信息。svid信息指示基于禁用的加速器可供cpu使用的能量。cpu可以使用该svid信息来将能量重新平衡/重新分配到诸如核心、图形处理器以及其他加速器设备之类的资源。此外,还可以通过cpu使用svid来打开/关闭任意加速器特定的母板电压调节器(mbvr)。

在另一示例中,上面讨论的处理流程200、250和400以及系统100、150和300使加速器配置能够改变而无需平台热重置或冷重置。例如,加速器设备可以包括可配置数量的基础设施设备,例如,图形加速器内的多个图形处理设备,并且工作负载仅需要特定数量的这些设备。先前,功率管理支持的状态(例如,c6或d3)可以节省一些功率,但是由于这些管芯内编程的信用缓冲器仍需要考虑完整的资源分配而不能给予优化的性能。这实质上意味着加速器会放弃性能中的一些。为了重新调整该配置,不是像传统上那样让整个平台经历热或冷重置循环,而是使用本文中讨论的实施例来针对特定加速器执行再循环(例如,禁用和启用或重新启用),并且对基础设施进行重新编程以实现最优性能。

在另一示例中,上面讨论的处理流程200、250和400以及系统100、150和300可以用于执行静态加速器启用/禁用。在该示例中,上面解释的cpu和mcp硬件机制由bios用来作为bios启动的一部分来启动加速器设备。上面讨论的处理流程提供使bios能够对加速器做出启动时间决策以及是否启用或禁用加速器的机制,而不是将加速器设备与cpu一起启动。

图5示出了第一逻辑流程500的示例,该第一逻辑流程500可以表示由本文中描述的一个或多个实施例执行的操作中的一些或所有操作。例如,如本文中描述的,逻辑流程500可以示出由节点执行的操作。

在框505处,逻辑流程500可以包括经由多个互连的子集向加速器设备发送功率操作发起指示,功率操作发起指示用于指示要对一个或多个基础设施设备执行的功率操作。更具体地并且在框510处,逻辑流程500包括接收加速器设备的响应,该响应用于向处理器指示加速器针对功率操作准备就绪。

在框515处,逻辑流程500包括使得对加速器设备的功率操作被执行,功率操作用于启用或禁用针对基础设施设备中的一个或多个基础设施设备的功率。为了启用针对一个或多个加速器设备和/或基础设施设备的功率,可以执行关于图2a讨论的一个或多个操作。类似地,为了禁用针对一个或多个加速器设备和/或基础设施设备的功率,可以执行关于图2b讨论的一个或多个操作。

图6示出了适用于实现如先前描述的各种实施例的示例性计算架构600的实施例。在实施例中,例如,计算架构600可以包括或实现为节点的一部分。

如本申请中所使用的,术语“系统”和“组件”旨在指代与计算机相关的实体(硬件、硬件和软件的组合、软件或执行中的软件),这些实体的示例由示例性计算架构600提供。例如,组件可以是但不限于是处理器上运行的进程、处理器、硬盘驱动器、(光和/或磁存储介质的)多个存储驱动器、对象、可执行文件、执行线程、程序和/或计算机。通过说明的方式,在服务器上运行的应用和服务器两者都可以是组件。一个或多个组件可以驻留在进程和执行线程内,并且组件可以位于一个计算机上并且可以分布在两个或更多个计算机之间。此外,组件可以通过各种类型的通信介质彼此通信地耦合以协调操作。协调可以涉及单向或双向信息交换。例如,组件可以传送以信号形式通过通信介质传送的信息。信息可以实现为分配给各种信号线的信号。在这种分配中,每个消息都是信号。然而,另外的实施例可以可替代地采用数据消息。可以跨各种连接来发送这样的数据消息。示例性连接包括并行接口、串行接口以及总线接口。

计算架构600包括各种通用计算元件,例如,一个或多个处理器、多核心处理器、协处理器、存储器单元、芯片组、控制器、外围设备、接口、振荡器、定时设备、视频卡、音频卡、多媒体输入/输出(i/o)组件、电源等。然而,实施例不限于由计算架构600实现。

如图6所示,计算架构600包括处理单元604、系统存储器606以及系统总线608。处理单元604可以是各种商业可用处理器中的任一种。

系统总线608为系统组件提供接口,包括但不限于系统存储器606到处理单元604。系统总线608可以是若干类型的总线结构中的任一种,该总线结构还可以使用各种商业可用的总线架构中的任一种互连到存储器总线(具有或不具有存储器控制器)、外围总线以及本地总线。接口适配器可以经由插槽架构连接到系统总线608。示例插槽架构可以包括而不限于加速图形端口(agp)、卡总线、(扩展)工业标准架构((e)isa)、微通道架构(mca)、nubus、外围组件互连(扩展)(pci(x))、快速pci、个人计算机存储卡国际协会(pcmcia)等。

计算架构600可以包括或实现各种制品。制品可以包括用于存储逻辑的计算机可读存储介质。计算机可读存储介质的示例可以包括能够存储电子数据的任意有形介质,包括易失性存储器或非易失性存储器、可移除或不可移除存储器、可擦除或不可擦除存储器、可写或可重写存储器等。逻辑的示例可以包括使用任意合适类型的代码实现的可执行计算机程序指令,该代码例如为源代码、编译代码、解释代码、可执行代码、静态代码、动态代码、面向对象代码、可视代码等。实施例还可以至少部分地实现为包含在非暂时性计算机可读介质中或包含在其上的指令,这些指令可以由一个或多个处理器读取并执行以使得能够执行本文中描述的操作。

系统存储器606可以包括以一个或多个较高速存储器单元形式的各种类型的计算机可读存储介质,例如,只读存储器(rom)、随机存取存储器(ram)、动态ram(dram)、双倍数据速率dram(ddram)、同步dram(sdram)、静态ram(sram)、可编程rom(prom)、可擦除可编程rom(eprom)、电可擦除可编程rom(eeprom)、闪速存储器、诸如铁电聚合物存储器之类的聚合物存储器、双向存储器、相变存储器或铁电存储器、硅-氧化物-氮化物-氧化物-硅(sonos)存储器、磁卡或光卡、诸如独立磁盘冗余阵列(raid)驱动器之类的设备阵列、固态存储器设备(例如,usb存储器、固态驱动器(ssd))以及适合于存储信息的任意其他类型的存储介质。在图6示出的所示实施例中,系统存储器606可以包括非易失性存储器610和易失性存储器612。基本输入/输出系统(bios)可以存储在非易失性存储器610中。

计算机602可以包括以一个或多个较低速存储器单元形式的各种类型的计算机可读存储介质,包括内部(或外部)硬盘驱动器(hdd)614、用于从可移除磁盘616读取或写入可移除磁盘616的磁性软盘驱动器(fdd)616、以及用于从可移除光盘622(例如,cd-rom或dvd)读取或写入可移除光盘622的光盘驱动器620。hdd614、fdd616以及光盘驱动器620可以分别通过hdd接口624、fdd接口626以及光盘驱动器接口626连接到系统总线608。用于外部驱动器实现方式的hdd接口624可以包括通用串行总线(usb)和ieee1394接口技术中的至少一个或两者。

驱动器和相关联的计算机可读介质提供对数据、数据结构、计算机可执行指令等的易失性存储和非易失性存储。例如,许多程序模块可以存储在驱动器和存储器单元610、612中,包括操作系统630、一个或多个应用程序632、其他程序模块634以及程序数据636。在一个实施例中,一个或多个应用程序632、其他程序模块634以及程序数据636可以包括例如系统100的各种应用和组件。

用户可以通过一个或多个有线/无线输入设备(例如,键盘636和诸如鼠标640之类的定点设备)将命令和信息输入到计算机602中。其他输入设备可以包括麦克风、红外线(ir)遥控器、射频(rf)遥控器、游戏手柄、手写笔、读卡器、加密狗(dongle)、指纹读取器、手套、图形输入板、操纵杆、键盘、视网膜读取器、触摸屏(例如,电容式、电阻式等)、轨迹球、跟踪板、传感器、触笔等。这些和其他输入设备通常通过耦合到系统总线608的输入设备接口642连接到处理单元604,但是可以通过其他接口(例如,并行端口、ieee1394串行端口、游戏端口、usb端口、ir接口等)连接。

监视器644或其他类型的显示设备还经由诸如视频适配器646之类的接口连接到系统总线608。监视器644可以在计算机602的内部或外部。除了监视器644之外,计算机典型地包括其他外围输出设备,例如,扬声器、打印机等。

计算机602可以在联网环境中使用经由有线通信和无线通信到一个或多个远程计算机(例如,远程计算机646)的逻辑连接来操作。远程计算机646可以是工作站、服务器计算机、路由器、个人计算机、便携式计算机、基于微处理器的娱乐装置、对等设备或其他公共网络节点,并且典型地包括相对于计算机602描述的元件中的许多或所有元件,但是出于简洁的目的,仅示出了存储器/存储设备650。所描述的逻辑连接包括到局域网(lan)652和更大网络(例如,广域网(wan)654)的有线/无线连接。这种lan和wan联网环境常见于办公室和公司,并且便于企业范围的计算机网络(例如,内联网),所有这些联网环境都可以连接到全球通信网络(例如,互联网)。

当在lan联网环境中使用时,计算机602通过有线和/或无线通信网络接口或适配器656连接到lan652。适配器656可以促进到lan652的有线通信和/或无线通信,lan652还可以包括设置在其上用于与适配器656的无线功能进行通信的无线接入点。

当在wan联网环境中使用时,计算机602可以包括调制解调器656,或者连接到wan654上的通信服务器,或者具有用于通过wan654(例如,通过互联网)建立通信的其他手段。调制解调器656(其可以是内部的或外部的以及有线的和/或无线的设备)经由输入设备接口642连接到系统总线608。在联网环境中,相对于计算机602描述的程序模块或其部分可以存储在远程存储器/存储设备650中。应当理解,所示的网络连接是示例性的,并且可以使用在计算机之间建立通信链路的其他手段。

计算机602可操作用于使用ieee602系列标准与有线和无线的设备或实体进行通信,例如,在无线通信中可操作地设置的无线设备(例如,ieee602.11空中调制技术)。这至少包括wi-fi(或无线保真)、wimax以及bluetoothtm无线技术等。因此,通信可以是与常规网络一样的预定义结构,或者仅仅是至少两个设备之间的特设通信。wi-fi网络使用称为ieee602.11x(a、b、g、n等)的无线电技术来提供安全、可靠、快速的无线连接。wi-fi网络可以用于将计算机彼此连接,将计算机连接到互联网以及连接到有线网络(使用与ieee602.3相关的介质和功能)。

前面参考图1-图6描述的设备的各种元件可以包括各种硬件元件、软件元件或两者的组合。硬件元件的示例可以包括设备、逻辑器件、组件、处理器、微处理器、电路、处理器、电路元件(例如,晶体管、电阻器、电容器、电感器等)、集成电路、专用集成电路(asic)、可编程逻辑器件(pld)、数字信号处理器(dsp)、现场可编程门阵列(fpga)、存储器单元、逻辑门、寄存器、半导体器件、芯片、微型芯片、芯片组等。软件元件的示例可以包括软件组件、程序、应用、计算机程序、应用程序、系统程序、软件开发程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用程序接口(api)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号或其任意组合。然而,确定是否使用硬件元件和/或使用软件元件来实现实施例可以根据任意数量的因素而变化,例如,所期望的计算速率、功率水平、热容差、处理周期预算、输入数据速率、输出数据速率、存储器资源、数据总线速度以及其他设计或性能限制,如对于给定实现方式所期望的。

详细公开内容现在转向提供与另外的实施例有关的示例。下面提供的示例一至三十三旨在是示例性而非限制性的。

在第一示例中,一种系统、设备、装置等可以包括用于多芯片封装的处理电路,该多芯片封装包括处理器和加速器设备,加速器设备包括基础设施设备,并且处理器经由多个互连的子集与加速器设备耦合,处理器用于:经由多个互连的子集向加速器设备发送功率操作发起指示,功率操作发起指示用于指示要对基础设施设备中的一个或多个基础设施设备执行的功率操作;从加速器设备接收响应,响应用于向处理器指示加速器设备针对功率操作准备就绪;以及使得对加速器设备的功率操作被执行,功率操作用于启用或禁用针对基础设施设备中的一个或多个基础设施设备的功率。

在第二示例中并且为了促进第一示例,一种系统、设备、装置等包括处理电路用于从经由多个互连的第二子集耦合的基本输入/输出系统(bios)接收功率操作指示,功率操作指示用于发起针对加速器设备的功率操作。

在第三示例中并且为了促进任意先前的示例,一种系统、设备、装置等包括处理电路用于:使功率启用引脚有效,以向加速器设备发送功率操作发起指示以启用针对一个或多个基础设施设备的功率;从加速器设备接收包括边带准备就绪消息的响应;以及发送上电配置消息以对基础设施设备中的一个或多个基础设施设备进行配置。

在第四示例中并且为了促进任意先前的示例,一种系统、设备、装置等包括处理电路用于:接收指示对一个或多个基础设施设备的配置完成的边带完成消息,基于边带完成消息使功率重置引脚无效以引起包括启用针对加速器设备的功率的功率操作,以及向bios发送指示功率操作的完成的指示。

在第五示例中并且为了促进任意先前的示例,一种系统、设备、装置等包括处理电路用于:发送包括边带重置消息的功率操作发起指示以禁用针对一个或多个基础设施设备的功率,接收包括边带重置确认消息的响应,以及经由使功率重置引脚有效并且使功率启用引脚无效来引起功率操作。

在第六示例中并且为了促进任意先前的示例,一种系统、设备、装置等包括处理电路用于:基于使功率启用引脚无效并且使功率重置引脚有效的完成,向bios发送指示功率操作的完成的指示。

在第七示例中并且为了促进任意先前的示例,一种系统、设备、装置等包括经由多个互连的第二子集与处理器耦合的bios,该bios用于:从操作系统或虚拟操作系统接收启用或禁用加速器设备的指示,以及基于指示经由邮箱命令向处理器发送第二功率操作指示,邮箱命令是经由多个互连的子集传送的。

在第八示例中并且为了促进任意先前的示例,一种系统、设备、装置等包括与调度器耦合的管理控制器,该管理控制器用于从调度器接收启用或禁用加速器设备的指示,并且用于使得操作系统或虚拟操作系统向bios发送启用或禁用加速器设备的指示。

在第九示例中并且为了促进任意先前的示例,一种系统、设备、装置等包括管理控制器,以及基本输入/输出系统(bios),管理控制器和bios与mcp耦合。

在第十示例中并且为了促进任意先前的示例,一种计算机实现的方法可以包括:经由多个互连的子集向加速器设备发送功率操作发起指示,功率操作发起指示用于指示要对加速器设备的基础设施设备中的一个或多个基础设施设备执行的功率操作;从加速器设备接收响应,响应用于向处理器指示加速器设备针对功率操作准备就绪;以及使得对加速器设备的功率操作被执行,功率操作用于启用或禁用针对基础设施设备中的一个或多个基础设施设备的功率。

在第十一示例中并且为了促进任意先前的示例,一种计算机实现的方法可以包括从经由多个互连的第二子集耦合的基本输入/输出系统(bios)接收功率操作指示,功率操作指示用于发起针对加速器设备的功率操作。

在第十二示例中并且为了促进任意先前的示例,一种计算机实现的方法可以包括:使功率启用引脚有效,以向加速器设备发送功率操作发起指示;从加速器设备接收包括边带准备就绪消息的响应;以及发送上电配置消息以对基础设施设备中的一个或多个基础设施设备进行配置。

在第十三示例中并且为了促进任意先前的示例,一种计算机实现的方法可以包括:接收指示对一个或多个基础设施设备的配置完成的边带完成消息;基于边带完成消息使功率重置引脚无效,以引起包括启用针对加速器设备的功率的功率操作;以及向bios发送指示功率操作的完成的指示。

在第十四示例中并且为了促进任意先前的示例,一种计算机实现的方法可以包括:发送包括边带重置消息的功率操作发起指示,接收包括边带重置确认消息的响应,以及经由使功率重置引脚有效并且使功率启用引脚无效来引起功率操作。

在第十五示例中并且为了促进任意先前的示例,一种计算机实现的方法可以包括:基于使功率启用引脚无效并且使功率重置引脚有效的完成,向bios发送指示功率操作的完成的指示。

在第十六示例中并且为了促进任意先前的示例,一种计算机实现的方法可以包括:经由基本输入/输出系统(bios),从操作系统或虚拟操作系统接收启用或禁用加速器的指示;以及经由bios,基于指示经由邮箱命令向处理器发送第二功率操作指示。

在第十七示例中并且为了促进任意先前的示例,一种计算机实现的方法可以包括:基于工作负载资源要求,经由管理控制器从调度器接收启用或禁用加速器的指示;以及使得操作系统或虚拟操作系统发送启用或禁用加速器设备的指示。

在第十八示例中并且为了促进任意先前的示例,一种非暂时性计算机可读存储介质,包括多个指令,该多个指令在被执行时使得处理电路能够用于:经由多个互连的子集向多芯片封装(mcp)的加速器设备发送功率操作发起指示,功率操作发起指示用于指示要对加速器设备的基础设施设备中的一个或多个基础设施设备执行的功率操作;从加速器设备接收响应,响应用于向mcp的处理器指示加速器设备针对功率操作准备就绪;以及使得对加速器设备的功率操作被执行,功率操作用于启用或禁用针对基础设施设备中的一个或多个基础设施设备的功率。

在第十九示例中并且为了促进任意先前的示例,一种非暂时性计算机可读存储介质,包括多个指令,该多个指令在被执行时使得处理电路能够用于从经由多个互连的第二子集耦合的基本输入/输出系统(bios)接收功率操作指示,功率操作指示用于发起针对加速器设备的功率操作。

在第二十示例中并且为了促进任意先前的示例,一种非暂时性计算机可读存储介质,包括多个指令,该多个指令在被执行时使得处理电路能够用于:使功率启用引脚有效,以向加速器设备发送功率操作发起指示;从加速器设备接收包括边带准备就绪消息的响应;以及发送上电配置消息以对基础设施设备中的一个或多个基础设施设备进行配置。

在第二十一示例中并且为了促进任意先前的示例,一种非暂时性计算机可读存储介质,包括多个指令,该多个指令在被执行时使得处理电路能够用于:接收指示对一个或多个基础设施设备的配置完成的边带完成消息;基于边带完成消息使功率重置引脚无效,以引起包括启用针对加速器设备的功率的功率操作;以及向bios发送指示功率操作的完成的指示。

在第二十二示例中并且为了促进任意先前的示例,一种非暂时性计算机可读存储介质,包括多个指令,该多个指令在被执行时使得处理电路能够用于:发送包括边带重置消息的功率操作发起指示,接收包括边带重置确认消息的响应,以及经由使功率重置引脚有效并且使功率启用引脚无效来引起功率操作。

在第二十三示例中并且为了促进任意先前的示例,一种非暂时性计算机可读存储介质,包括多个指令,该多个指令在被执行时使得处理电路能够用于:基于使功率启用引脚无效并且使功率重置引脚有效的完成,向bios发送指示功率操作的完成的指示。

在第二十四示例中并且为了促进任意先前的示例,一种非暂时性计算机可读存储介质,包括多个指令,该多个指令在被执行时使得处理电路能够用于:经由基本输入/输出系统(bios),从操作系统或虚拟操作系统接收启用或禁用加速器的指示;以及经由bios,基于指示经由邮箱命令接收给处理器的第二功率操作指示。

在第二十五示例中并且为了促进任意先前的示例,一种非暂时性计算机可读存储介质,包括多个指令,该多个指令在被执行时使得处理电路能够用于:基于工作负载资源要求,经由管理控制器从调度器接收启用或禁用加速器的指示;以及使得操作系统或虚拟操作系统发送启用或禁用加速器设备的指示。

在第二十六示例中并且为了促进任意先前的示例,一种系统、设备、装置等包括:用于经由多个互连的子集向加速器设备发送功率操作发起指示的单元,功率操作发起指示用于指示要对加速器设备的基础设施设备中的一个或多个基础设施设备执行的功率操作;用于从加速器设备接收响应的单元,响应用于向处理器指示加速器设备针对功率操作准备就绪;以及用于使得对加速器设备的功率操作被执行的单元,功率操作用于启用或禁用针对基础设施设备中的一个或多个基础设施设备的功率。

在第二十七示例中并且为了促进任意先前的示例,一种系统、设备、装置等包括用于从经由多个互连的第二子集耦合的基本输入/输出系统(bios)接收功率操作指示的单元,功率操作指示用于发起针对加速器设备的功率操作。

在第二十八示例中并且为了促进任意先前的示例,一种系统、设备、装置等包括:用于使功率启用引脚有效以向加速器设备发送功率操作发起指示的单元;用于从加速器设备接收包括边带准备就绪消息的响应的单元;以及用于发送上电配置消息以对基础设施设备中的一个或多个基础设施设备进行配置的单元。

在第二十九示例中并且为了促进任意先前的示例,一种系统、设备、装置等包括:用于接收指示对一个或多个基础设施设备的配置完成的边带完成消息的单元;用于基于边带完成消息使功率重置引脚无效以引起包括启用针对加速器设备的功率的功率操作的单元;以及用于向bios发送指示功率操作的完成的指示的单元。

在第三十示例中并且为了促进任意先前的示例,一种系统、设备、装置等包括:用于发送包括边带重置消息的功率操作发起指示的单元,用于接收包括边带重置确认消息的响应的单元,以及用于经由使功率重置引脚有效并且使功率启用引脚无效来引起功率操作的单元。

在第三十一示例中并且为了促进任意先前的示例,一种系统、设备、装置等包括:用于基于使功率启用引脚无效并且使功率重置引脚有效的完成向bios发送指示功率操作的完成的指示的单元。

在第三十二示例中并且为了促进任意先前的示例,一种系统、设备、装置等包括:用于从操作系统或虚拟操作系统接收启用或禁用加速器的指示的单元,以及用于基于指示经由邮箱命令向处理器发送第二功率操作指示的单元。

在第三十三示例中并且为了促进任意先前的示例,一种系统、设备、装置等包括:用于基于工作负载资源要求从调度器接收启用或禁用加速器的指示的单元,以及用于使得操作系统或虚拟操作系统发送启用或禁用加速器设备的指示的单元。

可以使用表述“一个实施例”或“实施例”以及其派生词来描述一些实施例。这些术语意味着结合实施例所描述的特定特征、结构、或特性被包括在至少一个实施例中。短语“在一个实施例中”在说明书中各处的出现并不一定都指代相同的实施例。此外,可以使用表述“耦合”和“连接”以及其派生词来描述一些实施例。这些术语并不一定旨在作为彼此的同义词。例如,可以使用术语“连接”和/或“耦合”来描述一些实施例,以指示两个或更多个元件彼此直接物理或电接触。然而,术语“耦合”还可以意味着两个或更多个元件彼此没有直接接触,但是仍然彼此协作或交互。

需要强调的是,提供本公开内容的摘要以允许读者快速地确定本技术公开内容的实质。所主张的是理解本摘要不应用于解释或限制权利要求的范围或含义。此外,在前述具体实施方式中,可以看到出于精简本公开内容的目的,将各种特征一起组合在单个实施例中。本公开内容的方法不应该被解释为反映了这样的意图:要求保护的实施例要求比在每项权利要求中明确引述的特征更多的特征。相反,如所附权利要求反映的,发明主题在于少于单个公开的实施例的所有特征。因此,所附权利要求由此并入到具体实施方式中,其中每项权利要求本身作为单独的实施例。在所附权利要求中,将术语“包括”和“在其中”分别用作相应术语“包含”和“其中”的普通英文同义词。此外,术语“第一”、“第二”、“第三”等仅用作标签,而非旨在对其对象施加数字要求。

以上所描述的内容包括所公开的架构的示例。当然,不可能描述组件和/或方法的每一个可想到的组合,但是本领域普通技术人员可以认识到许多另外的组合和排列是可能的。因此,新颖的架构旨在涵盖落入所附权利要求的精神和范围内的所有此类改变、修改和变型。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1