用于动态远程资源分配的技术的制作方法

文档序号:16807144发布日期:2019-02-10 13:09阅读:119来源:国知局
用于动态远程资源分配的技术的制作方法

本申请要求对2016年12月30日提交的题为“technologiesfordynamicremoteresourceallocation(用于动态远程资源分配的技术)”的美国发明专利申请序列号15/395,183的优先权,并且该美国发明专利申请对以下申请要求优先权:2016年7月22日提交的美国临时专利申请号62/365,969;2016年8月18日提交的美国临时专利申请号62/376,859;以及2016年11月29日提交的美国临时专利申请号62/427,268。



背景技术:

在典型的基于云的计算环境(例如,数据中心)中,多个计算节点可以代表客户执行工作负载(例如,过程、应用、服务等)。在工作负载的执行期间,随着工作负载经历不同的操作阶段并且随着一些工作负载被完成且新的工作负载被指派给计算节点,由工作负载所利用的资源(例如,存储器、数据存储、处理器容量和/或诸如图形处理单元之类的专用处理器等)的量和类型随着时间的推移而变化。为了防范针对工作负载具有不充足资源的可能性(这将会降低工作负载的性能),每个计算节点通常配备有足够的每种资源以满足工作负载偶尔可能请求的峰值量。照此,考虑到工作负载在它们被执行时的资源利用需求方面的变化,每个计算节点上的本地资源的容量可能在相当大的时间百分比上处于未被使用的状态,从而导致了数据中心中的资源浪费。

附图说明

在附图中通过示例的方式而非通过限制的方式来例示本文描述的概念。为了例示的简单和清楚,各图中例示的要素不一定按比例绘制。在认为合适的情况下,已经在各图之间重复使用参考标记以指示对应或类似的要素。

图1是根据各种实施例的可以在其中实现本文描述的一种或多种技术的数据中心的概念性总览的图示;

图2是图1的数据中心的机架的逻辑配置的示例实施例的图示;

图3是根据各种实施例的可以在其中实现本文描述的一种或多种技术的另一数据中心的示例实施例的图示;

图4是根据各种实施例的可以在其中实现本文描述的一种或多种技术的数据中心的另一示例实施例的图示;

图5是代表可以在图1、图3和图4的数据中心的各种载板(sled)之间建立的链路层连接性的连接性方案的图示;

图6是根据一些实施例的可以代表图1-4中描绘的机架中的任何特定机架的架构的机架架构的图示;

图7是可以与图6的机架架构一起使用的载板的示例实施例的图示;

图8是机架架构的示例实施例的图示,该机架架构用于为以扩展能力为特征的载板提供支持;

图9是根据图8的机架架构实现的机架的示例实施例的图示;

图10是被设计以供与图9的机架结合使用的载板的示例实施例的图示;

图11是根据各种实施例的可以在其中实现本文描述的一种或多种技术的数据中心的示例实施例的图示;

图12是系统的至少一个实施例的简化框图,该系统用于在被管理节点执行工作负载时管理一组被管理节点之间的资源分配;

图13是图12的系统的协调服务器(orchestratorserver)的至少一个实施例的简化框图;

图14是可以由图12和13的协调服务器建立的环境的至少一个实施例的简化框图;以及

图15-17是一种方法的至少一个实施例的简化流程图,所述方法用于在被管理节点执行工作负载时管理该组被管理节点之间的资源分配,所述方法可以由图12-14的协调服务器来实行。

具体实施方式

虽然本公开的概念容许各种修改和替换形式,但是在附图中通过示例的方式示出并且将在本文中详细描述其具体实施例。然而应当理解的是,并不意图将本公开的概念限制于所公开的特定形式,而是相反,意图是要覆盖与本公开和随附权利要求书一致的所有修改、等同方案和替换方案。

说明书中对“一个实施例”、“实施例”、“例证性实施例”等的引用指示所描述的实施例可以包括特定特征、结构或特性,但是每个实施例可能包括或者可能不一定包括该特定特征、结构或特性。而且,这些短语不一定指的是同一实施例。此外,当结合一个实施例描述特定的特征、结构或特性时,所主张的是无论是否明确描述,结合其他实施例实现此类特征、结构或特性是在本领域技术人员的知识范围内。另外应当领会的是,被包括在以“至少一个a、b和c”的形式的列表中的项目可以意指(a);(b);(c);(a和b);(a和c);(b和c);或(a、b和c)。类似地,以“a、b或c中的至少一个”的形式列出的项目可以意指(a);(b);(c);(a和b);(a和c);(b和c);或(a、b和c)。

在一些情况下,所公开的实施例可以以硬件、固件、软件或其任何组合来实现。所公开的实施例还可以被实现为由暂时性或非暂时性机器可读(例如,计算机可读)存储介质承载或存储于所述暂时性或非暂时性机器可读(例如,计算机可读)存储介质上、可以由一个或多个处理器读取和执行的指令。机器可读存储介质可以体现为用于存储或传输以由机器可读的形式的信息的任何存储设备、机构或其他物理结构(例如,易失性或非易失性存储器、介质盘或其他介质设备)。

在附图中,可能以特定的布置和/或排序示出了一些结构或方法特征。然而应当领会的是,这样的特定布置和/或排序可能不是必需的。而是,在一些实施例中,可以以与例证性的图中所示出的不同方式和/或顺序来布置此类特征。另外,在特定的图中对结构或方法特征的包括并不意味着暗示这样的特征在所有实施例中都是必需的,并且在一些实施例中,它们可能未被包括在内或者可能与其他特征相组合。

图1例示了数据中心100的概念性总览,数据中心100一般可以代表数据中心或其他类型的计算网络,可以根据各种实施例来在其中或者针对其实现本文描述的一种或多种技术。如图1中所示,数据中心100一般可以包含多个机架,所述机架中的每一个可以容纳包括相应的一组物理资源的计算装备。在图1中描绘的特定的非限制性示例中,数据中心100包含四个机架102a至102d,其容纳包括相应的各组物理资源(pcr)105a至105d的计算装备。根据该示例,数据中心100的总的一组物理资源106包括分布在机架102a至102d当中的各组物理资源105a至105d。物理资源106可以包括多种类型的资源,诸如例如处理器、协处理器、加速器、现场可编程门阵列(fpga)、存储器和存储装置。实施例不限于这些示例。

例证性数据中心100在许多方面不同于典型的数据中心。例如,在例证性实施例中,在其上安置了诸如cpu、存储器和其他组件之类的组件的电路板(“载板(sled)”)是针对提高的热性能而设计的。特别地,在例证性实施例中,该载板比典型板更浅。换言之,该载板从前到后更短,冷却风扇位于后方。这减小了空气跨板上组件而必须行进的路径的长度。此外,载板上的组件比在典型电路板中间隔得更远,并且这些组件被布置成减少或消除遮蔽(即,一个组件在另一组件的空气流动路径中)。在例证性实施例中,诸如处理器之类的处理组件位于载板的顶侧,而诸如dimm之类的近存储器(nearmemory)位于载板的底侧。由于该设计所提供的增强的空气流动,组件可以以比在典型系统中更高的频率和功率水平来操作,从而提高性能。此外,载板被配置成以与每个机架102a、102b、102c、102d中的电源和数据通信线缆盲式(blindly)配合,从而增强了它们被快速移除、升级、重新安装和/或更换的能力。类似地,位于载板上的各个组件(诸如处理器、加速器、存储器和数据存储驱动器)被配置成由于它们彼此之间的增大的间隔而易于升级。在例证性实施例中,组件附加地包括硬件证明特征以证实其真实性。

此外,在例证性实施例中,数据中心100利用支持包括以太网和omni-path的多个其他网络架构的单个网络架构(“构造”)。在例证性实施例中,载板经由光纤耦合到交换机,所述光纤提供比典型的双绞线布线(例如,类别5、类别5e、类别6等)更高的带宽和更低的延迟。由于高带宽、低延迟互连和网络架构,数据中心100可以在使用中池化诸如存储器、加速器(例如,图形加速器、fpga、asic等)以及数据存储驱动器之类的在物理上未聚集的资源,并以视需要为基础将它们提供给计算资源(例如,处理器),从而使计算资源能够访问池化资源,就如同它们是本地的一样。例证性数据中心100附加地接收各种资源的使用信息、基于过去的资源使用来预测不同类型的工作负载的资源使用以及基于该信息动态地重新分配资源。

数据中心100的机架102a、102b、102c、102d可以包括促进各种类型的维护任务的自动化的物理设计特征。例如,数据中心100可以使用被设计成机器人可访问的并且接受和容纳机器人可操纵的资源载板的机架来实现。此外,在例证性实施例中,机架102a、102b、102c、102d包括集成电源,其接收比通常对于电源来说的电压更大的电压。增大的电压使电源能够向每个载板上的组件提供附加的电力,从而使组件能够以高于典型频率的频率来进行操作。

图2例示了数据中心100的机架202的示例性逻辑配置。如图2中所示,机架202一般可以容纳多个载板,这些载板中的每一个可以包括相应的一组物理资源。在图2中描绘的特定非限制性示例中,机架202容纳包括相应的各组物理资源205-1至205-4的载板204-1至204-4,所述相应的各组物理资源中的每一组构成被包括在机架202中的总的一组物理资源206的一部分。关于图1,如果机架202代表例如机架102a,那么物理资源206可以对应于被包括在机架102a中的物理资源105a。在该示例的上下文中,物理资源105a因此可以由包括以下资源的相应的各组物理资源构成:机架202的载板204-1至204-4中所包含的物理存储资源205-1、物理加速器资源205-2、物理存储器资源205-3和物理计算资源205-5。实施例不限于该示例。每个载板可以包含各种类型的物理资源(例如,计算、存储器、加速器、存储)中的每一个的池。通过使机器人可访问且机器人可操纵的载板包括未聚集的资源,每种类型的资源可以彼此独立地并且以其本身的优化刷新率而被升级。

图3例示了数据中心300的示例,该数据中心300一般可以代表可以根据各种实施例来在其中或者针对其实现本文描述的一种或多种技术的一个数据中心。在图3中描绘的特定非限制性示例中,数据中心300包括机架302-1至302-32。在各种实施例中,数据中心300的机架可以以限定和/或适应各种访问通路的方式进行布置。例如,如图3中所示,数据中心300的机架可以以限定和/或适应访问通路311a、311b、311c和31d的方式进行布置。在一些实施例中,这种访问通路的存在一般可以使得诸如机器人维护装备之类的自动化维护装备能够物理地访问容纳在数据中心300的各种机架中的计算装备并实行自动化维护任务(例如,更换有故障的载板、升级载板)。在各种实施例中,访问通路311a、311b、311c和31d的尺寸,机架302-1至302-32的尺寸和/或数据中心300的物理布局的一个或多个其他方面可以被选择成促进这种自动化操作。实施例不限于此情境中。

图4例示了数据中心400的示例,该数据中心400一般可以代表可以根据各种实施例来在其中或者针对其实现本文描述的一种或多种技术的一个数据中心。如图4中所示,数据中心400可以以光学构造412为特征。光学构造412一般可以包括光学信令介质(例如光学布线)和光学交换基础设施的组合,数据中心400中的任何特定载板可以经由该组合来向数据中心400中的其他载板中的每一个发送信号(以及从数据中心400中的其他载板中的每一个接收信号)。光学构造412提供给任何给定载板的信令连接性可以包括到同一机架中的其他载板以及到其他机架中的载板二者的连接性。在图4中描绘的特定非限制性示例中,数据中心400包括四个机架402a至402d。机架402a至402d容纳相应的成对载板404a-1和404a-2、404b-1和404b-2、404c-1和404c-2以及404d-1和404d-2。因此,在该示例中,数据中心400包括总共八个载板。经由光学构造412,每个这样的载板可以具有与数据中心400中的其他七个载板中的每一个的信令连接性。例如,经由光学构造412,机架402a中的载板404a-1可以具有与机架402a中的载板404a-2以及分布在数据中心400的其他机架402b、402c和402d当中的其他六个载板404b-1、404b-2、404c-1、404c-2、404d-1和404d-2的信令连接性。实施例不限于该示例。

图5例示了连接性方案500的概览,该连接性方案500一般可以代表在一些实施例中可以在数据中心(诸如图1、图3和图4的示例数据中心100、300和400中的任何)的各种载板之间建立的链路层连接性。可以使用以双模光学交换基础设施514为特征的光学构造来实现连接性方案500。双模光学交换基础设施514一般可以包括交换基础设施,其能够根据多个链路层协议经由相同的统一的一组光学信令介质来接收通信,并适当地交换此类通信。在各种实施例中,可以使用一个或多个双模光学交换机515来实现双模光学交换基础设施514。在各种实施例中,双模光学交换机515一般可以包括高基(high-radix)交换机。在一些实施例中,双模光学交换机515可以包括多层交换机,例如四层交换机。在各种实施例中,双模光学交换机515可以以集成硅光子学为特征,与常规交换设备相比,集成硅光子学使它们能够以显著减少的延迟交换通信。在一些实施例中,双模光学交换机515可以构成叶脊架构中的叶交换机530,该叶脊架构另外包括一个或多个双模光学脊交换机520。

在各种实施例中,双模光学交换机可以能够经由光学构造的光学信令介质接收携带互联网协议(ip分组)的以太网协议通信和根据第二高性能计算(hpc)链路层协议(例如,英特尔的omni-path架构的,infiniband)的通信两者。如图5中反映的,关于拥有与光学构造的光学信令连接性的任何特定的成对载板504a和504b,连接性方案500可以因此经由以太网链路和hpc链路提供针对链路层连接性的支持。因此,可以由单个高带宽、低延迟交换构造来支持以太网和hpc通信二者。实施例不限于此示例。

图6例示了根据一些实施例的机架架构600的一般性概览,机架架构600可以代表图1至4中描绘的机架中的任何特定一个机架的架构。如图6中反映的,机架架构600一般可以以载板可以插入其中的多个载板空间为特征,每个载板空间可以经由机架访问区域601而是机器人可访问的。在图6中描绘的特定非限制性示例中,机架架构600以五个载板空间603-1至603-5为特征。载板空间603-1至603-5以相应的多用途连接器模块(mpcm)616-1至616-5为特征。

图7例示了可以代表此类类型的载板的载板704的示例。如图7中所示,载板704可以包括一组物理资源705以及mpcm716,该mpcm716被设计成当载板704被插入到载板空间(诸如图6的载板空间603-1至603-5中的任何)中时与配对的mpcm耦合。载板704还可以以扩展连接器717为特征。扩展连接器717一般可以包括能够接受一种或多种类型的扩展模块(诸如扩展载板718)的插座、插槽或其他类型的连接元件。通过与扩展载板718上的配对的连接器耦合,扩展连接器717可以为物理资源705提供对驻留在扩展载板718上的补充计算资源705b的访问。实施例不限于此情境中。

图8例示了机架架构800的示例,该机架架构800可以代表可以被实现以便为以扩展能力为特征的载板(诸如图7的载板704)提供支持的机架架构。在图8中描绘的特定非限制性示例中,机架架构800包括七个载板空间803-1至803-7,其以相应的mpcm816-1至816-7为特征。载板空间803-1至803-7包括相应的主要区域803-1a至803-7a和相应的扩展区域803-1b至803-7b。关于每个此类载板空间,当对应的mpcm与插入的载板的配对的mpcm耦合时,主要区域一般可以构成载板空间的区域,其可以在物理上适应插入的载板。扩展区域一般可以构成载板空间的区域,其可以在物理上适应扩展模块,诸如图7的扩展载板718(在插入的载板配置有此类模块的情况下)。

图9例示了根据一些实施例的机架902的示例,其可以代表根据图8的机架架构800实现的机架。在图9中描绘的特定非限制性示例中,机架902以七个载板空间903-1至903-7为特征,其包括相应的主要区域903-1a至903-7a和相应的扩展区域903-1b至903-7b。在各种实施例中,可以使用空气冷却系统来实现机架902中的温度控制。例如,如图9中反映的,机架902可以以多个风扇919为特征,该多个风扇919一般被布置成在各种载板空间903-1至903-7内提供空气冷却。在一些实施例中,载板空间的高度大于常规的“1u”服务器高度。在此类实施例中,如与常规机架配置中使用的风扇相比,风扇919一般可以包括相对慢的大直径冷却风扇。相对于以较高速度运行的具有较小直径的冷却风扇,以较低的速度运行具有较大直径的冷却风扇可以增加风扇寿命,同时仍然提供相同的冷却量。所述载板在物理上比常规的机架尺寸更浅。此外,在每个载板上布置组件以减少热遮蔽(即,不在空气流动的方向上串联地布置)。因而,更宽、更浅的载板允许设备性能上的提高,因为由于改进的冷却(即,没有热遮蔽、设备之间的更多空间、针对更大散热器的更多空间等),设备可以以更高的热封套(例如,250w)进行操作。

mpcm916-1至916-7可以被配置成为插入的载板提供对由相应的电力模块920-1至920-7所供应的电力的接入,每个电力模块可以从外部电源921提取电力。在各种实施例中,外部电源921可以向机架902递送交流(ac)电力,并且电力模块920-1至920-7可以被配置成将此类ac电力转换为要供应到插入的载板的直流(dc)电力。在一些实施例中,例如,电力模块920-1至920-7可以被配置成将277伏ac电力转换成12伏dc电力,以经由相应的mpcm916-1至916-7提供给插入的载板。实施例不限于此示例。

mpcm916-1至916-7还可以被布置成为插入的载板提供与双模光学交换基础设施914的光学信令连接性,该双模光学交换基础设施914可以与图5的双模光学交换基础设施514相同或与其类似。在各种实施例中,被包含在mpcm916-1至916-7中的光学连接器可以被设计成与插入的载板的mpcm中包含的配对的光学连接器耦合,以经由相应长度的光学布线922-1至922-7为此类载板提供与双模光学交换基础设施914的光学信令连接性。在一些实施例中,每个此类长度的光学布线可以从其对应的mpcm延伸到在机架902的载板空间外部的光学互连绝缘线束(loom)923。在各种实施例中,光学互连绝缘线束923可以被布置成穿过机架902的支撑柱或者其他类型的负载承载元件。实施例不限于此情境中。由于插入的载板经由mpcm连接到光学交换基础设施,因此可以节省通常花费在手动地配置机架布线以适应新插入的载板的资源。

图10例示了根据一些实施例的载板1004的示例,该载板1004可以代表被设计用于与图9的机架902结合使用的载板。载板1004可以以mpcm1016为特征,该mpcm1016包括光学连接器1016a和电力连接器1016b,并且被设计成与载板空间的配对的mpcm耦合(与将mpcm1016插入到该载板空间中相结合)。将mpcm1016与此类配对的mpcm耦合可以使电力连接器1016与配对的mpcm中包括的电力连接器耦合。这一般可以使载板1004的物理资源1005能够经由电力连接器1016和电力传输介质1024从外部源供应电力,该电力传输介质1024将电力连接器1016导电耦合到物理资源1005。

载板1004还可以包括双模光学网络接口电路系统1026。双模光学网络接口电路系统1026一般可以包括能够根据由图9的双模光学交换基础设施914支持的多个链路层协议中的每一个通过光学信令介质进行通信的电路系统。在一些实施例中,双模光学网络接口电路系统1026可以既能够进行以太网协议通信又能够进行根据第二高性能协议的通信。在各种实施例中,双模光学网络接口电路系统1026可以包括一个或多个光学收发器模块1027,每个光学收发器模块1027可以能够通过一个或多个光学信道中的每一个来发射和接收光学信号。实施例不限于此情境中。

将mpcm1016与给定机架中的载板空间的配对的mpcm耦合可以使光学连接器1016a与配对的mpcm中包括的光学连接器耦合。这一般可以经由一组光学信道1025中的每一个在双模光学网络接口电路系统1026和载板的光学布线之间建立光学连接性。双模光学网络接口电路系统1026可以经由电学信令介质1028与载板1004的物理资源1005通信。除了用于提供改进的冷却并使能以相对较高的热封套(例如,250w)进行操作的载板上的组件的布置和载板的尺寸之外(如上面参考图9所描述的),在一些实施例中,载板可以包括一个或多个附加特征以促进空气冷却,例如热管和/或散热器(布置成耗散由物理资源1005生成的热)。值得注意的是,尽管图10中描绘的示例载板1004没有以扩展连接器为特征,但是根据一些实施例,以载板1004的设计元件为特征的任何给定载板也可以以扩展连接器为特征。实施例不限于此情境中。

图11例示了数据中心1100的示例,该数据中心1100一般可以代表可以根据各种实施例来在其中或者针对其实现本文描述的一种或多种技术的数据中心。如图11中反映的,可以实现物理基础设施管理框架1150a以促进对数据中心1100的物理基础设施1100a的管理。在各种实施例中,物理基础设施管理框架1150a的一个功能可以是要管理数据中心1100内的自动化维护功能,诸如使用机器人维护装备来服务物理基础设施1100a内的计算装备。在一些实施例中,物理基础设施1100a可以以先进的遥测系统为特征,所述遥测系统实行遥测报告,所述遥测报告足够鲁棒以支持物理基础设施1100a的远程自动化管理。在各种实施例中,由此类先进的遥测系统提供的遥测信息可以支持诸如故障预测/预防能力和容量规划能力之类的特征。在一些实施例中,物理基础设施管理框架1150a还可以被配置成使用硬件证明技术来管理物理基础设施组件的认证。例如,机器人可以在安装之前通过分析从与要安装的每个组件关联的射频标识(rfid)标签收集的信息来验证组件的真实性。实施例不限于此情境中。

如图11中所示,数据中心1100的物理基础设施1100a可以包括光学构造1112,其可以包括双模光学交换基础设施1114。光学构造1112和双模光学交换基础设施1114可以分别与图4的光学构造412和图5的双模光学交换基础设施514相同或与其类似,并且可以在数据中心1100的载板之间提供高带宽、低延迟、多协议连接性。如上文讨论的,参考图1,在各种实施例中,此类连接性的可用性可以使对诸如加速器、存储器和存储装置之类的资源进行解聚和动态池化是可行的。在一些实施例中,例如,一个或多个池化加速器载板1130可以被包括在数据中心1100的物理基础设施1100a当中,物理基础设施1100a中的每一个可以包括加速器资源池——诸如例如协处理器和/或fpga——其经由光学构造1112和双模光学交换基础设施1114而对其他载板全局可访问。

在另一示例中,在各种实施例中,一个或多个池化存储载板1132可以被包括在数据中心1100的物理基础设施1100a当中,物理基础设施1100a中的每一个可以包括经由光学构造1112和双模光学交换基础设施1114而对其他载板可用全局可访问的存储资源池。在一些实施例中,此类池化存储载板1132可以包括固态存储设备(诸如固态驱动器(ssd))的池。在各种实施例中,一个或多个高性能处理载板1134可以被包括在数据中心1100的物理基础设施1100a当中。在一些实施例中,高性能处理载板1134可以包括高性能处理器池以及冷却特征(其增强空气冷却以产生达到250w或更高的较高热封套)。在各种实施例中,任何给定的高性能处理载板1134可以以扩展连接器1117为特征,所述扩展连接器1117可以接受远存储器扩展载板,使得对该高性能处理载板1134本地可用的远存储器与包括在该载板上的近存储器以及处理器解聚。在一些实施例中,此类高性能处理载板1134可以被配置有远存储器(使用包括低延迟ssd存储装置的扩展载板)。光学基础设施允许一个载板上的计算资源利用并未在位于数据中心中的同一机架或任何其他机架上的载板上聚集的远程加速器/fpga、存储器和/或ssd资源。在上文参考图5描述的脊-叶网络架构中,远程资源可以位于距一个交换机跳跃或距两个交换机跳跃的距离。实施例不限于此情境中。

在各种实施例中,可以将一个或多个抽象的层应用于物理基础设施1100a的物理资源,以便定义虚拟基础设施,诸如软件定义的基础设施1100b。在一些实施例中,可以分配软件定义的基础设施1100b的虚拟计算资源1136以支持云服务1140的提供。在各种实施例中,可以对特定的各组虚拟计算资源1136进行分组以用于以sdi服务1138的形式供应给云服务1140。云服务1140的示例可以包括但不限于软件即服务(saas)服务1142、平台即服务(paas)服务1144以及基础设施即服务(iaas)服务1146。

在一些实施例中,可以使用虚拟基础设施管理框架1150b来进行软件定义的基础设施1100b的管理。在各种实施例中,虚拟基础设施管理框架1150b可以被设计成结合管理针对云服务1140的虚拟计算资源1136和/或sdi服务1138的分配来实现工作负载指纹识别技术和/或机器学习技术。在一些实施例中,虚拟基础设施管理框架1150b可以结合实行此类资源分配来使用/查阅遥测数据。在各种实施例中,可以实现应用/服务管理框架1150c,以便为云服务1140提供qos管理能力。实施例不限于此情境中。

如图12中所示,用于管理一组被管理节点1260之间的资源分配的例证性系统1210包括与该组被管理节点1260通信的协调服务器1240。每个被管理节点1260可以体现为资源(例如,物理资源206)的集合,所述资源诸如是来自相同或不同载板(例如,载板204-1、204-2、204-3、204-4等)或机架(例如,机架302-1到302-32中的一个或多个)的计算资源(例如,物理计算资源205-4)、存储资源(例如,物理存储资源205-1)、加速器资源(例如,物理加速器资源205-2)或者其他资源(例如,物理存储器资源205-3)。可以在要将工作负载指派给被管理节点1260的时候或者在任何其他时间由协调服务器1240建立、定义或“启动(spinup)”每个被管理节点1260,并且每个被管理节点1260可以不管目前是否有任何工作负载被指派给该被管理节点1260而存在。系统1210可以根据上文参考图1、图3、图4和图11描述的数据中心100、300、400、1100来实现。在例证性实施例中,该组被管理节点1260包括被管理节点1250、1252和1254。虽然在该组中示出了三个被管理节点1260,但是应当理解的是,在其他实施例中,该组可以包括不同数量的被管理节点1260(例如,成千上万个)。系统1210可以位于数据中心中,并且向通过网络1230与系统1210通信的客户端设备1220提供存储和计算服务(例如,云服务)。协调服务器1240可以支持诸如openstack之类的云操作环境,并且被管理节点1250可以代表客户端设备1220的用户诸如在虚拟机或容器(container)中执行一个或多个应用或进程(即,工作负载)。如本文更详细地讨论的,在操作中,协调服务器1240被配置成接收指示在工作负载的执行期间要满足的阈值或目的(“目标”)的资源分配目标数据(例如,目标功率使用、要以其来执行工作负载的目标速度、被管理节点1260的目标温度,等等)。另外,协调服务器1240被配置成将工作负载指派给被管理节点1260并接收遥测数据,所述遥测数据可以体现为指示当被管理节点1260执行被指派给它们的工作负载时的每个被管理节点1260的性能和条件的数据。

作为上述架构的结果,被管理节点1260可以利用物理上位于不同被管理节点1260上的资源,就如同那些资源在本地一样。为了利用所述架构的这一方面,在例证性实施例中,协调服务器1240被配置成根据遥测数据确定工作负载的资源利用模式,并且调整跨被管理节点1260的资源分配,以向下述工作负载提供附加资源,所述工作负载目前具有或预测为具有不充足的资源可用于它们来改进工作负载的性能(例如,提高工作负载的执行速度),以及从并未充分使用那些资源(例如,满足那些资源的阈值使用量)的工作负载解除资源分配。照此,协调服务器1240可以减少数据中心中的空闲资源量并且提高资源分配目标中的一个或多个(例如,针对工作负载的目标性能)的达成度,而不会降低其他资源分配目标中的任何的达成度。在例证性实施例中,可以测量资源分配目标的达成度,其等于或以其他方式被定义为来自一个或多个被管理节点1260的测量值满足与资源分配目标相关联的目标值的程度。例如,在例证性实施例中,可以通过减小测量值(例如,完成工作负载或工作负载1260中的操作所花费的时间)与目标值(例如,完成工作负载或工作负载中的操作的目标时间)之间的误差(例如,差)来实行提高该达成度。相反,可以通过增大测量值与目标值之间的误差(例如,差)来实行降低该达成度。

现在参考图13,协调服务器1240可以体现为能够实行本文描述的功能的任何类型的计算设备,所述功能包括发布用于使云服务得以执行的请求、接收云服务的结果、将工作负载指派给计算设备、分析指示工作负载的执行时的性能和条件(例如,资源利用、一个或多个温度、风扇速度等)的遥测数据、以及管理跨被管理节点1260的资源分配以平衡资源利用并管理在实行工作负载时的多个资源分配目标的达成度。例如,协调服务器1240可以体现为计算机、分布式计算系统、一个或多个载板(例如,载板204-1、204-2、204-3、204-4等)、服务器(例如,独立式服务器、机架安装式服务器、刀片服务器等)、多处理器系统、网络器具(例如,物理的或虚拟的)、台式计算机、工作站、膝上型计算机、笔记本计算机、基于处理器的系统或网络器具。如图13中所示,例证性协调服务器1240包括中央处理单元(cpu)1302、主存储器1304、输入/输出(i/o)子系统1306、通信电路系统1308以及一个或多个数据存储设备1312。当然,在其他实施例中,协调服务器1240可以包括其他或附加组件,诸如在计算机中常见的那些组件(例如,显示器、外围设备等)。另外,在一些实施例中,这些例证性组件中的一个或多个可以并入另一组件中、或者以其他方式形成另一组件的一部分。例如,在一些实施例中,主存储器1304或其部分可以并入cpu1302中。

cpu1302可以体现为能够实行本文描述的功能的任何类型的处理器。cpu1302可以体现为(一个或多个)单核或多核处理器、微控制器或者其他处理器或处理/控制电路。在一些实施例中,cpu1302可以体现为、包括或耦合到:现场可编程门阵列(fpga)、专用集成电路(asic)、可重新配置的硬件或硬件电路系统或者用于促进本文描述的功能的实行的其他专门的硬件。如上所述,被管理节点1260可以包括跨多个载板分布的资源,并且在这样的实施例中,cpu1302可以包括位于同一载板或不同载板上的其各部分。类似地,主存储器1304可以体现为能够实行本文描述的功能的任何类型的易失性(例如,动态随机存取存储器(dram)等)或非易失性存储器或数据存储装置。在一些实施例中,主存储器1304的全部或一部分可以集成到cpu1302中。在操作中,主存储器1304可以存储在操作期间使用的各种软件和数据,诸如遥测数据、资源分配目标数据、工作负载标记、工作负载分类、资源分配映射、工作负载调整数据、操作系统、应用、程序、库和驱动程序。如上所述,被管理节点1260可以包括跨多个载板分布的资源,并且在这样的实施例中,主存储器1304可以包括位于同一载板或不同载板上的其各部分。

i/o子系统1306可以体现为用于促进与cpu1302、主存储器1304和协调服务器1240的其他组件的输入/输出操作的电路系统和/或组件。例如,i/o子系统1306可以体现为或以其他方式包括存储器控制器中枢、输入/输出控制中枢、集成传感器中枢、固件设备、通信链路(例如,点对点链路、总线链路、电线、线缆、光导、印刷电路板迹线等)和/或用于促进输入/输出操作的其他组件和子系统。在一些实施例中,i/o子系统1306可以形成片上系统(soc)的一部分,并且可以与cpu1302、主存储器1304和协调服务器1240的其他组件中的一个或多个一起并入在单个集成电路芯片上。

通信电路系统1308可以体现为能够使在协调服务器1240与另一计算设备(例如,客户端设备1220和/或被管理节点1260)之间能够通过网络1230进行通信的任何通信电路、设备或其集合。通信电路系统1308可以被配置成使用任何一种或多种通信技术(例如,有线或无线通信)和相关协议(例如,以太网、蓝牙®、wi-fi®、wimax等)来实现这种通信。

例证性通信电路系统1308包括网络接口控制器(nic)1310,其也可以称为主机构造接口(hfi)。nic1310可以体现为一个或多个插入板、子卡、网络接口卡、控制器芯片、芯片组或可以由协调服务器1240用来与另一计算设备(例如,客户端设备1220和/或被管理节点1260)连接的其他设备。在一些实施例中,nic1310可以体现为包括一个或多个处理器的片上系统(soc)的一部分,或者被包括在还包含一个或多个处理器的多芯片封装上。在一些实施例中,nic1310可以包括本地处理器(未示出)和/或本地存储器(未示出),它们对于nic1310而言都是本地的。在这样的实施例中,nic1310的本地处理器可以能够实行本文描述的cpu1302的功能中的一个或多个。附加地或替换地,在这样的实施例中,nic1310的本地存储器可以在板级、插座级、芯片级和/或其他级别上集成到协调服务器1240的一个或多个组件中。如上所述,被管理节点1260可以包括跨多个载板分布的资源,并且在这样的实施例中,通信电路系统1308可以包括位于同一载板或不同载板上的其各部分。

一个或多个例证性数据存储设备1312可以体现为被配置用于短期或长期存储数据的任何类型的设备,诸如例如存储器设备和电路、存储卡、硬盘驱动器、固态驱动器或其他数据存储设备。每个数据存储设备1312可以包括存储数据用于存储设备1312的数据和固件代码的系统分区。每个数据存储设备1312还可以包括存储用于操作系统的数据文件和可执行文件的操作系统分区。

另外,协调服务器1240可以包括显示器1314。显示器1314可以体现为或以其他方式使用任何合适的显示技术,包括例如液晶显示器(lcd)、发光二极管(led)显示器、阴极射线管(crt)显示器、等离子显示器和/或可用于计算设备中的其他显示器。显示器1314可以包括触摸屏传感器,其使用任何合适的触摸屏输入技术来检测用户对显示器上显示的信息的触觉选择,所述触摸屏传感器包括但不限于电阻式触摸屏传感器、电容式触摸屏传感器、表面声波(saw)触摸屏传感器、红外触摸屏传感器、光学成像触摸屏传感器、声学触摸屏传感器和/或其他类型的触摸屏传感器。

附加地或替换地,协调服务器1240可以包括一个或多个外围设备1316。这样的外围设备1316可以包括计算设备中常见的任何类型的外围设备,诸如扬声器、鼠标、键盘和/或其他输入/输出设备、接口设备和/或其他外围设备。

客户端设备1220和被管理节点1260可以具有与图13中描述的那些组件类似的组件。对协调服务器1240的那些组件的描述同样适用于对客户端设备1220和被管理节点1260的组件的描述,并且为描述的清楚起见,本文不再重复这些描述。此外,应当领会的是,客户端设备1220和被管理节点1260中的任何都可以包括上文未参考协调服务器1240讨论的计算设备中常见的其他组件、子组件和设备,并且为了描述的清楚起见,在本文中不对其进行讨论。

如上所述,客户端设备1220、协调服务器1240和被管理节点1260例证性地经由网络1230进行通信,该网络1230可以体现为任何类型的有线或无线通信网络,包括全球网络(例如,互联网)、局域网(lan)或广域网(wan)、蜂窝网络(例如,全球移动通信系统(gsm)、3g、长期演进(lte)、全球微波接入互操作性(wimax)等)、数字订户线(dsl)网络、线缆网络(例如,同轴网络、光纤网络等)或其任何组合。

现在参考图14,在例证性实施例中,协调服务器1240可以在操作期间建立环境1400。例证性环境1400包括网络通信器1420、遥测监控器1430和资源管理器1440。环境1400的组件中的每一个都可以体现为硬件、固件、软件或其组合。照此,在一些实施例中,环境1400的组件中的一个或多个可以体现为电路系统或者电气设备集合(例如,网络通信器电路系统1420、遥测监控电路系统1430、资源管理器电路系统1440等)。应当领会的是,在这样的实施例中,网络通信器电路系统1420、遥测监控电路系统1430或资源管理器电路系统1440中的一个或多个可以形成cpu1302、主存储器1304,i/o子系统1306和/或协调服务器1240的其他组件中的一个或多个的一部分。在例证性实施例中,环境1400包括遥测数据1402,其可以体现为指示在被管理节点1260执行被指派给它们的工作负载时每个被管理节点1260的性能和条件(例如,资源利用、操作频率、功率使用、一个或多个温度、风扇速度等)的数据。另外,例证性环境1400包括资源分配目标数据1404,其指示在工作负载的执行期间要满足的用户定义的阈值或目的(“目标”)。在例证性实施例中,所述目标涉及被管理节点1260的组件的功耗、预期寿命、产热和性能。此外,例证性环境1400包括工作负载标记1406,其可以体现为唯一地标识由被管理节点1260所执行的每个工作负载的任何标识符(例如,进程号、可执行文件名、字母数字标签等)。此外,例证性环境1400包括工作负载分类1408,其可以体现为指示每个工作负载的一般资源利用趋势(例如,处理器密集型、存储器密集型、网络带宽密集型等)的任何数据。

在例证性实施例中,环境1400还包括资源分配映射1410,其可以体现为指示在工作负载的执行期间的任何给定时间在被管理节点1260之间的资源分配的任何数据,包括以下各项的分配:存储器资源、数据存储资源、计算资源和/或加速器(例如,现场可编程门阵列(fpga)、专用集成电路(asic)、图形处理单元(gpu)或用于加速一种类型的计算的其他专门的硬件)资源。例如,对于任何给定资源,资源分配映射1410可以包括资源类型标识(例如,存储器、数据存储、计算、加速器等)、资源地址(例如,唯一标识符,诸如资源在物理上所位于的被管理节点1260的媒体访问控制(mac)地址,以及在一些实施例中,资源在被管理节点1260内的内部地址,诸如数据存储块的逻辑地址)以及已接收到资源分配的被管理节点1260的标识(例如,mac地址)。此外,例证性环境1400包括工作负载调整数据1412,其可以体现为指示如下内容的任何数据:一个或多个工作负载中的全部或部分从一个被管理节点1260到另一个被管理节点1260的重新指派(例如,实时迁移)和/或对用于每个被管理节点1260内的组件的设置的调整,所述设置诸如是组件的目标功率使用、可用于一个或多个工作负载的处理器容量(例如,要使用的核的数量、时钟速度、可用处理器周期的百分比,等等)、可用于一个或多个工作负载的存储器资源容量(例如,要使用的存储器的量和/或对易失性存储器和/或非易失性存储器的存储器访问的频率)、可用于一个或多个工作负载的通信电路系统容量(例如,网络带宽)和/或目标操作温度和风扇速度。

在例证性环境1400中,网络通信器1420(其可以体现为如上所述的硬件、固件、软件、虚拟化硬件、仿真架构和/或其组合)被配置成促进分别去往和来自协调服务器1240的入站和出站网络通信(例如,网络通信量、网络分组、网络流量等)。为此,网络通信器1420被配置成接收来自一个系统或计算设备(例如,客户端设备1220)的数据分组并处理所述数据分组,以及准备所述数据分组并将其发送到另一计算设备或系统(例如,被管理节点1260)。因此,在一些实施例中,网络通信器1420的功能性的至少一部分可以由通信电路系统1308来实行,并且在例证性实施例中,由nic1310来实行。

遥测监控器1430(其可以体现为如上所述的硬件、固件、软件、虚拟化硬件、仿真架构和/或其组合)被配置成在被管理节点1260执行被指派给它们的工作负载时从被管理节点1260收集遥测数据1402。遥测监控器1430可以以持续不断的基础来主动轮询被管理节点1260中的每一个以获得更新的遥测数据1402,或者可以被动地接收来自被管理节点1260的遥测数据1402,诸如通过在特定的网络端口上侦听更新的遥测数据1402。遥测监控器1430还可以诸如通过将遥测数据1402分成用于每个被管理节点1260的单个文件或数据集来对遥测数据1402进行解析和归类。

资源管理器1440(其可以体现为如上所述的硬件、固件、软件、虚拟化硬件、仿真架构和/或其组合)被配置成从遥测数据1402生成数据分析、标识工作负载、对工作负载进行分类、预测工作负载的未来资源利用、以及动态地(例如,以持续不断的基础)在被管理节点1260之间重新分配资源以提高跨被管理节点1260的资源利用以及以其他方式在不对任何其他资源分配目标的达成度产生不利影响的情况下改进至少一个资源分配目标(例如,提高资源利用)的达成度。为此,资源管理器1440包括工作负载标记器1442、工作负载分类器1444、工作负载行为预测器1446和多目标分析器1450。在例证性实施例中,工作负载标记器1442被配置成向由被管理节点1260中的一个或多个目前实行的或被调度为要由其实行的每个工作负载指派工作负载标记1406。

工作负载标记器1442可以根据工作负载的可执行名称、工作负载的全部或部分代码的散列或者基于唯一地标识每个工作负载的任何其他方法来生成工作负载标记1406。在例证性实施例中,工作负载分类器1444被配置成基于每个工作负载的平均资源利用来将每个已标记的工作负载归类(例如,一般利用65%的处理器容量、一般利用40%的存储器容量,等等)。在例证性实施例中,工作负载行为预测器1446被配置成分析遥测数据1402以针对每个工作负载标识遥测数据1402内的资源利用的不同阶段。每个资源利用阶段可以体现为其中被分配给被管理节点1260的一个或多个资源的资源利用满足预定义阈值的时间段。例如,所分配的处理器容量的至少85%的利用可以指示高处理器利用阶段,并且所分配的存储器容量的至少85%的利用可以指示高存储器利用阶段。在例证性实施例中,工作负载行为预测器1446还要标识工作负载的资源利用阶段中的模式(例如,高处理器利用阶段,随后是高存储器利用阶段,随后是低资源利用阶段,然后其后面再次是高处理器利用阶段)。工作负载行为预测器1446可以被配置成利用资源利用阶段模式的所述标识,确定给定工作负载的目前资源利用阶段,基于模式来预测下一资源利用阶段,以及确定直到工作负载转变至下一资源利用阶段为止的剩余时间量。在例证性实施例中,多目标分析器1450被配置成平衡在资源分配目标数据1404中定义的资源分配目标,基于遥测数据1402来确定被管理节点1260中的目前资源分配是否是帕累托有效的(例如,在不降低一个或多个其他资源分配目标的达成度的情况下不能进行调整),并且如果不是,则确定提供帕累托改进的调整(例如,在不降低其他目标中的任何的达成度的情况下提高这些目标中的至少一个的达成度)。

在例证性实施例中,多目标分析器1450可以建模或模拟该组被管理节点1260,以响应于对被管理节点1260之间的资源分配和/或被管理节点1260内的组件的设置的各种调整来确定功耗、产热、计算容量和其他因素,定义指示全部都为帕累托有效的一组资源分配的帕累托边界,确定目前资源分配是否已经在帕累托边界上,并且如果不是,则对分配的什么样的调整将达到帕累托边界。多目标分析器1450可以如下确定帕累托边界p(y)

(公式1)。

在上面的公式中,f是由多目标分析器1450建模的该组被管理节点1260的函数,其指示被管理节点1260对于针对工作负载指派的调整的响应。rn是可能分配(即,工作负载的指派)的度量空间并且rm表示一组判据向量。在下面的公式中,x是度量空间rn中的紧凑的一组可行决策,并且y是rm中的可行的一组判据向量,如下:

(公式2)。

此外,下面的公式3中定义的点y''优于公式4中定义的另一个点y'。

(公式3)

(公式4)。

照此,帕累托边界可以表示如下:

(公式5)。

在例证性实施例中,远程资源分配器1452被配置成监控跨被管理节点1260的资源分配,维护资源分配映射1410,以及定位资源以响应于由多目标分析器1450确定了目前的或预测的资源分配不是帕累托有效的而从被管理节点1260中的一个或多个解除分配和/或分配给被管理节点1260中的一个或多个。在例证性实施例中,工作负载安置器1454被配置成最初将工作负载指派给各个被管理节点1260并且在被管理节点1260之间重新指派工作负载的至少部分以提供帕累托改进(例如,改进至少一个资源分配目标的达成度而不降低任何其他资源分配目标的达成度的调整)。例如,在例证性实施例中,为了分配在远程被管理节点1260上可用的加速器或计算资源,工作负载安置器可以将工作负载的一部分(例如,线程或进程)标识为要从原始被管理节点1260卸载至该远程被管理节点1260,发布要重新指派工作负载的该部分的请求,从远程被管理节点1260接收工作负载的该部分的执行的输出,以及将该输出提供给正在原始被管理节点1260上执行的工作负载的其余部分。在这样做时,工作负载安置器1454可以附加地确定要应用于工作负载或工作负载的部分的执行的时间偏移,以对准由工作负载行为预测器1446标识的资源利用阶段的时序。类似地,在例证性实施例中,节点设置调整器1456被配置成对被管理节点1260内的设置、而不是跨被管理节点1260的设置应用一个或多个调整,以根据所确定的帕累托改进来提供或限制对于工作负载可用的本地资源。这些设置可以与操作系统和/或被管理节点1260的组件的固件或驱动程序相关联。

应当领会的是,工作负载标记器1442、工作负载分类器1444、工作负载行为预测器1446、多目标分析器1450、远程资源分配器1452、工作负载安置器1454和节点设置调整器1456中的每一个都可以分离地体现为硬件、固件、软件、虚拟化硬件、仿真架构和/或其组合。例如,工作负载标记器1442可以体现为硬件组件,而工作负载分类器1444、工作负载行为预测器1446、多目标分析器1450、远程资源分配器1452、工作负载安置器1454和节点设置调整器1456体现为虚拟化硬件组件或者体现为硬件、固件、软件、虚拟化硬件、仿真架构和/或其组合的某种其他组合。

现在参考图15,在使用中,协调服务器1240可以执行方法1500,该方法1500用于管理在执行工作负载时在被管理节点1260之间的资源分配。方法1500始于框1502,其中协调服务器1240确定是否要管理跨被管理节点1260的资源分配。在例证性实施例中,如果协调服务器1240通电、与被管理节点1260通信并且已接收到来自客户端设备1220的要提供云服务(即,要实行一个或多个工作负载)的至少一个请求,则协调服务器1240确定要管理资源分配。在其他实施例中,协调服务器1240可以基于其他因素来确定是否要管理资源分配。无论如何,响应于要管理资源分配的确定,在例证性实施例中,方法1500前进到框1504,其中协调服务器1240接收资源分配目标数据(例如,资源分配目标数据1404)。在这样做时,协调服务器1240可以通过图形用户接口(未示出)从用户(例如,管理员)、从配置文件或从另一个源接收资源分配目标数据1404。在例证性实施例中,如框1506中指示的,协调服务器1240接收性能目标数据,其指示要以其来执行工作负载的目标速度(例如,要以其来完成工作负载的执行的目标时间段、每秒的目标操作数量等等)。如框1508中指示的,在接收资源分配目标数据1404时,协调服务器1240可以附加地接收功耗目标数据,其指示被管理节点1260在它们执行工作负载时的目标功率使用或阈值功率使用量。附加地或替换地,如框1510中指示的,协调服务器1240可以接收可靠性目标数据,其指示被管理节点1260中的一个或多个或其中的组件的目标生命周期(例如,数据存储设备的目标生命周期、冷却风扇的目标生命周期等等)。如框1512中指示的,协调服务器1240还可以接收热学目标数据,其指示被管理节点1260中的一个或多个组件(例如,cpu1302、存储器1304等)的一个或多个目标温度。

在接收到资源分配目标数据1404之后,在例证性实施例中,方法1500前进到框1514,其中协调服务器1240将初始工作负载指派给被管理节点1260。协调服务器1240可以最初基于任何合适的方法(诸如通过将每个工作负载指派给空闲的(即,目前没有正在执行工作负载的)第一可用被管理节点、随机地指派工作负载或者通过任何其他方法)将工作负载指派给被管理节点1260。如本文所述,在协调服务器1240已经从被管理节点1260收集了遥测数据1402之后,协调服务器1240可以调整工作负载或工作负载的部分(例如,工作负载内的进程)的指派。

在已经指派了工作负载之后,方法1500前进到框1516,其中协调服务器1240生成资源分配映射1410。在例证性实施例中,资源分配映射1410可以指示被管理节点之间的资源分配的默认状态,使得每个被管理节点1260被指派等量的每种类型的可用资源(例如,等量的存储器、数据存储、处理器容量和加速器容量)。所分配的资源可以在物理上位于不同的被管理节点1260上(例如,跨主要包括物理数据存储资源205-1的载板204-1、主要包括物理加速器资源205-2的载板204-2、主要包括存储器资源205-3的载板204-3和主要包括计算资源205-4的载板204-4)。在生成资源分配映射1410时,协调服务器1240存储资源类型标识(例如,存储器、数据存储、计算、加速器等)、资源的地址(例如,该资源在物理上所位于的被管理节点1260的唯一标识符,并且在一些实施例中,是资源在被管理节点1260内的内部地址,诸如数据存储块的逻辑地址)以及已经接收到资源分配的被管理节点1260的标识。

随后,方法1500前进到框1518,其中协调服务器1240从被管理节点1260接收在实行(即,执行)工作负载时的遥测数据1402。在接收遥测数据1402时,在例证性实施例中,如框1520中指示的,协调服务器1240接收来自每个被管理节点1260的指示以其来实行工作负载的速度的性能数据。照此,性能数据可以体现为为了完成与工作负载相关联的功能或任务所消耗的时间量。此外,在接收遥测数据1402时,如框1522中指示的,协调服务器1240可以接收指示由每个被管理节点1260所消耗的功率量(例如,瓦特)的功耗数据。附加地或替换地,如框1524中指示的,协调服务器1240可以接收指示由每个被管理节点1260实行的每个工作负载所消耗的处理器使用量的处理器利用数据。此外,如框1526中指示的,协调服务器1240可以接收针对每个被管理节点1260的存储器和数据存储利用数据。存储器和数据存储利用数据可以体现为英特尔高速缓存分配技术(cat)数据、英特尔高速缓存监控技术(cmt)数据、英特尔存储器带宽监控(mbm)数据和/或指示由每个被管理节点1260实行的每个工作负载所使用的存储器和数据存储的量或频率的其他数据。在接收存储器利用数据时,如框1528中指示的,协调服务器1240可以接收指示与工作负载相关联的高速缓存访问频率和/或高速缓存未命中率信息的高速缓存利用数据,指示所使用的易失性存储器(例如,主存储器1304)的量、访问易失性存储器的频率、页面错误数据和/或指示被分配给被管理节点1260的易失性存储器的利用的其他信息的易失性存储器利用数据,和/或指示从数据存储设备1312存储和/或取回的数据量和/或每个工作负载向数据存储设备1312发布写请求和/或读请求所处于的频率的非易失性存储器利用数据。

在接收遥测数据1402时,如框1530中指示的,协调服务器1240可以附加地或替换地接收网络利用数据,其指示由每个被管理节点1260实行的每个工作负载所使用的网络带宽的量(例如,通信电路系统的容量)。如框1532中指示的,协调服务器1240可以附加地接收来自每个被管理节点1260的指示被管理节点1260内的组件的一个或多个温度的温度数据。在接收到遥测数据1402之后,方法1500前进到图16的框1534,其中协调服务器1240根据正在执行工作负载时的遥测数据1402生成数据分析。

现在参考图16,在生成数据分析时,在例证性实施例中,如框1536中指示的,协调服务器1240生成工作负载的简档。在这样做时,在例证性实施例中,如框1538中指示的,协调服务器1240为工作负载生成用于唯一地标识每个工作负载的标记。另外,在例证性实施例中,如框1540中指示的,协调服务器1240生成工作负载的分类1408。此外,在例证性实施例中,如框1542中指示的,协调服务器1240针对工作负载中的每一个标识资源利用阶段中的模式。在这样做时,协调服务器1240可以确定一个特定的工作负载经历高处理器利用和低存储器利用的阶段,其通常随后是低处理器利用和高存储器利用的阶段,以及另一工作负载经历了类似的阶段,但是以不同的频率或者以与其他工作负载的一定的时间偏移而经历。另外,如框1544中指示的,协调服务器1240可以诸如通过将每个工作负载的目前资源利用与资源利用阶段中的已标识模式进行比较以确定每个工作负载的目前阶段并且然后根据所述模式标识工作负载的即将到来的阶段,来预测工作负载的未来资源利用阶段。

随后,在框1546中,协调服务器1240根据数据分析来确定对被管理节点之间的资源分配的调整,以改进工作负载的执行性能(例如,减少为了完成工作负载中的操作而花费的时间量)并且以其他方式提供帕累托有效的资源分配。在这样做时,如框1548中指示的,协调服务器1240通过分析资源分配映射1410来标识每个被管理节点1260的已经分配的资源。如框1550中指示的,协调服务器1240为每个被管理节点1260标识对于被管理节点1260而言在物理上是本地的已经分配的资源(如框1550中指示的),并标识被分配给被管理节点1260但物理上位于一个或多个其他被管理节点1260上的资源(例如,远程资源),如框1552中指示的。

另外,在例证性实施例中,如框1554中指示的,协调服务器1240将工作负载的目前的和预测的资源利用与在框1548中针对每个被管理节点1260所标识的已经分配的资源进行比较。在这样做时,如框1556中指示的,协调服务器1240标识已经分配的资源的未充分利用的量和类型。例如,在例证性实施例中,协调服务器1240将由被指派给特定被管理节点1260的每个工作负载使用和预测要使用的每种类型的资源的目前和预测的利用与阈值量(例如,可用容量的80%)进行比较,以确定对应资源是否未由被管理节点1260充分利用或预测为未由被管理节点1260充分利用。如框1558中指示的,协调服务器1240标识由每个被管理节点1260进行的计算和/或加速器资源的任何过度分配(即,未充分利用)。类似地,如框1560中指示的,在例证性实施例中,协调服务器1240标识由每个被管理节点1260进行的任何数据存储和/或存储器资源过度分配(即,未充分利用)。类似地,在例证性实施例中,如框1562中指示的,协调服务器1240标识针对每个被管理节点1260的目前和/或预测的资源竞争的量和类型(例如,已分配资源的过度利用)。在这样做时,协调服务器标识计算和/或加速器资源的分配不足(如框1564中指示的)以及数据存储和/或存储器资源的分配不足(如框1566中指示的)。例如,如果被指派给特定被管理节点1260的工作负载的目前阶段或即将到来的阶段的资源利用在被加在一起时超过了特定类型的资源(例如,加速器资源)的阈值容量(例如,100%)以上,则在例证性实施例中,协调服务器1240将对应资源标识为正受到资源竞争(例如,过度利用的和分配不足的)。通过减少这种资源竞争,协调服务器1240改进了工作负载的性能(例如,执行速度)。随后,方法1500前进到图17的框1568,其中在例证性实施例中,协调服务器确定节点特定的调整,其可以体现为对被管理节点1260中的一个或多个内的设置的改变。

现在参考图17,在确定节点特定的调整时,协调服务器1240可以确定对被管理节点1260中的一个或多个内的设置的改变,诸如在操作系统、驱动程序和/或组件的固件(例如,cpu1302、存储器1304、通信电路系统1308、一个或多个数据存储设备1312等)方面,以改进资源利用并改进工作负载的性能。照此,在例证性实施例中,如框1570中指示的,在确定节点特定的调整时,协调服务器1240可以确定处理器节流调整,诸如时钟速度和/或针对一个或多个工作负载的处理器亲和性。附加地或替换地,如框1572中指示的,协调服务器1240可以确定存储器使用调整,诸如易失性存储器(例如,存储器1304)和/或数据存储容量(例如,一个或多个数据存储设备1312的容量)的分配、存储器总线速度和/或其他存储器相关设置。附加地或替换地,如框1574中指示的,协调服务器1240可以确定一个或多个风扇速度调整以提高或降低被管理节点1260内的冷却、诸如要分配给被管理节点1260中的每个工作负载的通信电路系统1308的可用带宽之类的网络带宽调整或者对被管理节点1260内的组件的其他调整。

在确定对资源分配的上述调整和节点特定的调整时,在例证性实施例中,协调服务器1240确定根据上述分析所确定的预计调整是否会提供改进工作负载性能并使资源分配更靠近上述帕累托边界的帕累托改进。如果不是,则在例证性实施例中,协调服务器1240可以确定替换调整,诸如通过减少节点特定的调整的量(例如,诸如处理器之类的计算资源的时钟速度上的潜在增大)来支持可用资源的附加分配(例如,位于单独的被管理节点1260上的附加计算资源的分配)。在例证性实施例中,如果协调服务器1240在框1576中确定了目前没有调整可以应用(例如,资源分配已经在帕累托边界上),则方法1500循环回到图15的框1518,其中协调服务器1240再次接收来自被管理节点1260在实行工作负载时的遥测数据1402。否则,方法1500前进到框1578,其中协调服务器1240应用所确定的调整。

如框1580中指示的,在应用所确定的调整时,在例证性实施例中,协调服务器1240可以发布一个或多个请求以解除在图16的框1556中标识的未充分利用的资源的分配。另外,如框1582中指示的,在例证性实施例中,协调服务器1240可以向被管理节点1260发布一个或多个请求以分配资源,以便解决目前或预测的资源竞争(例如,已经分配的资源的利用超出了在图16的框1562中标识的预定义阈值)。在这样做时,如框1584中指示的,协调服务器1240可以向被管理节点1260发布一个或多个请求,以将在资源分配映射1410中被指示为可用的存储器和/或数据存储资源分配给目前正经历或(例如,在被指派给被管理节点1260的一个或多个工作负载的下一资源利用阶段中)预测要经历资源竞争的被管理节点1260。在这样做时,如框1586中指示的,协调服务器1240可以接收来自被管理节点1260的要分配存储器和/或数据存储资源(例如,已从协调服务器1240接收到要分配那些资源的请求)的地址信息(例如,要分配的存储器和/或数据存储资源的逻辑块地址或其他内部地址)。此外,如框1588中指示的,在例证性实施例中,协调服务器1240将接收到的地址信息提供给“受分配方”被管理节点1260(例如,要利用所分配的存储器和/或数据存储资源的被管理节点1260)。在提供地址信息时,协调服务器1240可以将由分配器被管理节点1260提供的内部地址与分配器被管理节点1260的地址(例如,mac地址)相组合,以提供到所分配的资源的路径以供受分配方被管理节点1260使用。照此,受分配方被管理节点1260可以将来自其工作负载的读取和/或写入调用重定向到远程分配的存储器和/或数据存储。

另外,在例证性实施例中,如框1590中指示的,如果一个或多个被管理节点1260目前正经历或预期要经历针对任一类型的资源的资源竞争,则协调服务器1240可以发布一个或多个请求来分配计算和/或加速器资源。在这样做时,如框1592中指示的,协调服务器1240可以向正在经历或预期要经历资源竞争的被管理节点1260发布请求,以将工作负载的一部分(例如,进程或线程)卸载到具有对于执行工作负载的该部分可用的计算或加速器资源的另一被管理节点1260,并将执行的输出往回提供给原始被管理节点1260。如框1594中指示的,协调服务器1240可以附加地向被管理节点1260发布一个或多个请求以应用在框1568中确定的任何节点特定的调整。随后,如框1596中指示的,协调服务器1540更新资源分配映射1410以反映在框1578中应用的对资源分配的调整。之后,方法1500循环回到图15的框1518,以接收在由被管理节点1260实行工作负载时的附加的遥测数据1402。

示例

下文提供本文公开的技术的例证性示例。所述技术的实施例可以包括下文描述的示例中的任何一个或多个以及其任何组合。

示例1包括一种用于在一组被管理节点之间动态地分配资源的协调服务器,所述协调服务器包括:一个或多个处理器;一个或多个存储器设备,其中存储有多个指令,所述多个指令在由所述一个或多个处理器执行时使得所述协调服务器:接收来自所述被管理节点的遥测数据,其中所述遥测数据指示由所述被管理节点在执行工作负载时的资源利用和工作负载性能;生成指示所述被管理节点之间的资源分配的资源分配映射;根据所述遥测数据和所述资源分配映射来确定对所述被管理节点中的至少一个被管理节点的资源分配的动态调整,以改进在所述被管理节点中的所述至少一个被管理节点上执行的工作负载中的至少一个工作负载的性能;以及在执行所述工作负载时应用对所述被管理节点之间的资源分配的调整。

示例2包括示例1的主题,并且其中,所述多个指令在被执行时进一步使得所述协调服务器更新所述资源分配映射以指示对所述被管理节点之间的资源分配的调整。

示例3包括示例1和2中的任一项的主题,并且其中,应用所述调整包括将存储器从所述被管理节点中的一个被管理节点动态地分配给所述被管理节点中的另一个被管理节点。

示例4包括示例1-3中的任一项的主题,并且其中,应用所述调整包括动态地调整被分配给所述被管理节点中的所述至少一个被管理节点的远程加速器资源的量。

示例5包括示例1-4中的任一项的主题,并且其中,应用所述调整包括动态地调整被分配给所述被管理节点中的所述至少一个被管理节点的存储资源的量。

示例6包括示例1-5中的任一项的主题,并且其中,应用所述调整包括动态地调整被分配给所述被管理节点中的所述至少一个被管理节点的存储器资源的量。

示例7包括示例1-6中的任一项的主题,并且其中,应用所述调整包括将数据存储从所述被管理节点中的一个被管理节点分配给所述被管理节点中的另一个被管理节点。

示例8包括示例1-7中的任一项的主题,并且其中,应用所述调整包括将工作负载的一部分从所述被管理节点中的一个被管理节点重新指派给所述被管理节点中的另一个被管理节点,以向所述工作负载分配附加的计算资源。

示例9包括示例1-8中的任一项的主题,并且其中,应用所述调整包括将工作负载的一部分从所述被管理节点中的一个被管理节点重新指派给所述被管理节点中的另一个被管理节点,以向所述工作负载分配加速器资源。

示例10包括示例1-9中的任一项的主题,并且其中,应用所述调整包括解除对一个或多个存储器资源、数据存储资源、计算资源或加速器资源的分配。

示例11包括示例1-10中的任一项的主题,并且其中,确定所述调整包括确定所述工作负载中的一个或多个工作负载的资源利用模式。

示例12包括示例1-11中的任一项的主题,并且其中,确定所述调整包括预测所述工作负载中的一个或多个的未来资源利用。

示例13包括示例1-12中的任一项的主题,并且其中,确定所述调整包括将一组目前分配的资源与所述工作负载中的一个或多个工作负载的目前或预测的资源利用进行比较。

示例14包括示例1-13中的任一项的主题,并且其中,确定所述调整包括确定被分配给被管理节点的一个或多个资源是否利用得比阈值量更少;以及响应于确定了被分配给所述被管理节点的资源中的一个或多个资源利用得比所述阈值量更少而确定要从所述被管理节点解除对所述一个或多个资源的分配。

示例15包括示例1-14中的任一项的主题,并且其中,确定所述调整包括确定在所述被管理节点中的一个被管理节点中目前是否发生或者是否预测要发生资源竞争;以及响应于确定了目前发生或者预测要发生资源竞争而确定要从所述被管理节点中的另一个被管理节点向所述被管理节点分配附加资源。

示例16包括一种用于在一组被管理节点之间分配资源的方法,所述方法包括由协调服务器接收来自所述被管理节点的遥测数据,其中所述遥测数据指示由所述被管理节点在执行工作负载时的资源利用和工作负载性能;由所述协调服务器生成指示所述被管理节点之间的资源分配的资源分配映射;由所述协调服务器根据所述遥测数据和所述资源分配映射来确定对所述被管理节点中的至少一个被管理节点的资源分配的动态调整,以改进在所述被管理节点中的所述至少一个被管理节点上执行的工作负载中的至少一个工作负载的性能;以及由所述协调服务器在执行所述工作负载时应用对所述被管理节点之间的资源分配的调整。

示例17包括示例16的主题,并且进一步包括由所述协调服务器更新所述资源分配映射以指示对所述被管理节点之间的资源分配的调整。

示例18包括示例16和17中的任一项的主题,并且其中,应用所述调整包括将存储器从所述被管理节点中的一个被管理节点动态地分配给所述被管理节点中的另一个被管理节点。

示例19包括示例16-18中的任一项的主题,并且其中,应用所述调整包括动态地调整被分配给所述被管理节点中的所述至少一个被管理节点的远程加速器资源的量。

示例20包括示例16-19中的任一项的主题,并且其中,应用所述调整包括动态地调整被分配给所述被管理节点中的所述至少一个被管理节点的存储资源的量。

示例21包括示例16-20中的任一项的主题,并且其中,应用所述调整包括动态地调整被分配给所述被管理节点中的所述至少一个被管理节点的存储器资源的量。

示例22包括示例16-21中的任一项的主题,并且其中,应用所述调整包括将数据存储从所述被管理节点中的一个被管理节点分配给所述被管理节点中的另一个被管理节点。

示例23包括示例16-22中的任一项的主题,并且其中,应用所述调整包括将工作负载的一部分从所述被管理节点中的一个被管理节点重新指派给所述被管理节点中的另一个被管理节点,以向所述工作负载分配附加的计算资源。

示例24包括示例16-23中的任一项的主题,并且其中,应用所述调整包括将工作负载的一部分从所述被管理节点中的一个被管理节点重新指派给所述被管理节点中的另一个被管理节点,以向所述工作负载分配加速器资源。

示例25包括示例16-24中的任一项的主题,并且其中,应用所述调整包括解除对一个或多个存储器资源、数据存储资源、计算资源或加速器资源的分配。

示例26包括示例16-25中的任一项的主题,并且其中,确定所述调整包括确定所述工作负载中的一个或多个工作负载的资源利用模式。

示例27包括示例16-26中的任一项的主题,并且其中,确定所述调整包括预测所述工作负载中的一个或多个工作负载的未来资源利用。

示例28包括示例16-27中的任一项的主题,并且其中,确定所述调整包括将一组目前分配的资源与所述工作负载中的一个或多个工作负载的目前或预测的资源利用进行比较。

示例29包括示例16-28中的任一项的主题,并且其中,确定所述调整包括确定被分配给被管理节点的一个或多个资源是否利用得比阈值量更少;以及响应于确定了被分配给所述被管理节点的资源中的一个或多个资源利用得比所述阈值量更少而确定要从所述被管理节点解除对所述一个或多个资源的分配。

示例30包括示例16-29中的任一项的主题,并且其中,确定所述调整包括确定在所述被管理节点中的一个被管理节点中目前是否发生或者是否预测要发生资源竞争;以及响应于确定了目前发生或者预测要发生资源竞争而确定要从所述被管理节点中的另一个被管理节点向所述被管理节点分配附加资源。

示例31包括一种用于在一组被管理节点之间分配资源的协调服务器,所述协调服务器包括用于实行示例16-30中的任一项的方法的装置。

示例32包括一种用于在一组被管理节点之间分配资源的协调服务器,所述协调服务器包括:一个或多个处理器;其中存储有多个指令的一个或多个存储器设备,所述多个指令在由所述一个或多个处理器执行时使得所述协调服务器实行示例16-30中的任一项的方法。

示例33包括一种或多种包括存储在其上的多个指令的机器可读存储介质,所述多个指令响应于被执行而使得协调服务器实行示例16-30中的任一项的方法。

示例34包括一种用于在一组被管理节点之间分配资源的协调服务器,所述协调服务器包括遥测监控器电路系统,其要接收来自所述被管理节点的遥测数据,其中所述遥测数据指示由所述被管理节点在执行工作负载时的资源利用和工作负载性能;以及资源管理器电路系统,其要生成指示所述被管理节点之间的资源分配的资源分配映射,根据所述遥测数据和所述资源分配映射来确定对所述被管理节点中的至少一个被管理节点的资源分配的动态调整,以改进在所述被管理节点中的所述至少一个被管理节点上执行的工作负载中的至少一个工作负载的性能,以及在执行所述工作负载时应用对所述被管理节点之间的资源分配的调整。

示例35包括示例34的主题,并且其中,所述资源管理器电路系统进一步要更新所述资源分配映射以指示对所述被管理节点之间的资源分配的调整。

示例36包括示例34和35中的任一项的主题,并且其中,应用所述调整包括将存储器从所述被管理节点中的一个被管理节点动态地分配给所述被管理节点中的另一个被管理节点。

示例37包括示例34-36中的任一项的主题,并且其中,应用所述调整包括动态地调整被分配给所述被管理节点中的所述至少一个被管理节点的远程加速器资源的量。

示例38包括示例34-37中的任一项的主题,并且其中,应用所述调整包括动态地调整被分配给所述被管理节点中的所述至少一个被管理节点的存储资源的量。

示例39包括示例34-38中的任一项的主题,并且其中,应用所述调整包括动态地调整被分配给所述被管理节点中的所述至少一个被管理节点的存储器资源的量。

示例40包括示例34-39中的任一项的主题,并且其中,应用所述调整包括将数据存储从所述被管理节点中的一个被管理节点分配给所述被管理节点中的另一个被管理节点。

示例41包括示例34-40中的任一项的主题,并且其中,应用所述调整包括将工作负载的一部分从所述被管理节点中的一个被管理节点重新指派给所述被管理节点中的另一个被管理节点,以向所述工作负载分配附加的计算资源。

示例42包括示例34-41中的任一项的主题,并且其中,应用所述调整包括将工作负载的一部分从所述被管理节点中的一个被管理节点重新指派给所述被管理节点中的另一个被管理节点,以向所述工作负载分配加速器资源。

示例43包括示例34-42中的任一项的主题,并且其中,应用所述调整包括解除对一个或多个存储器资源、数据存储资源、计算资源或加速器资源的分配。

示例44包括示例34-43中的任一项的主题,并且其中,确定所述调整包括确定所述工作负载中的一个或多个工作负载的资源利用模式。

示例45包括示例34-44中的任一项的主题,并且其中,确定所述调整包括预测所述工作负载中的一个或多个工作负载的未来资源利用。

示例46包括示例34-45中的任一项的主题,并且其中,确定所述调整包括将一组目前分配的资源与所述工作负载中的一个或多个工作负载的目前或预测的资源利用进行比较。

示例47包括示例34-46中的任一项的主题,并且其中,确定所述调整包括确定被分配给被管理节点的一个或多个资源是否利用得比阈值量更少;以及响应于确定了被分配给所述被管理节点的资源中的一个或多个资源利用得比所述阈值量更少而确定要从所述被管理节点解除对所述一个或多个资源的分配。

示例48包括示例34-47中的任一项的主题,并且其中,确定所述调整包括确定在所述被管理节点中的一个被管理节点中目前是否发生或者是否预测要发生资源竞争;以及响应于确定了目前发生或者预测要发生资源竞争而确定要从所述被管理节点中的另一个被管理节点向所述被管理节点分配附加资源。

示例49包括一种用于在一组被管理节点之间分配资源的协调服务器,所述协调服务器包括用于接收来自所述被管理节点的遥测数据的电路系统,其中所述遥测数据指示由所述被管理节点在执行工作负载时的资源利用和工作负载性能;用于生成指示所述被管理节点之间的资源分配的资源分配映射的电路系统;用于根据所述遥测数据和所述资源分配映射来确定对所述被管理节点中的至少一个被管理节点的资源分配的动态调整以改进在所述被管理节点中的所述至少一个被管理节点上执行的工作负载中的至少一个工作负载的性能的装置;以及用于在执行所述工作负载时应用对所述被管理节点之间的资源分配的调整的装置。

示例50包括示例49的主题,并且进一步包括用于更新所述资源分配映射以指示对所述被管理节点之间的资源分配的调整的电路系统。

示例51包括示例49和50中的任一项的主题,并且其中,用于应用所述调整的装置包括用于将存储器从所述被管理节点中的一个被管理节点动态地分配给所述被管理节点中的另一个被管理节点的装置。

示例52包括示例49-51中的任一项的主题,并且其中,用于应用所述调整的装置包括用于动态地调整被分配给所述被管理节点中的所述至少一个被管理节点的远程加速器资源的量的装置。

示例53包括示例49-52中的任一项的主题,并且其中,用于应用所述调整的装置包括用于动态地调整被分配给所述被管理节点中的所述至少一个被管理节点的存储资源的量的装置。

示例54包括示例49-53中的任一项的主题,并且其中,用于应用所述调整的装置包括用于动态地调整被分配给所述被管理节点中的所述至少一个被管理节点的存储器资源的量的装置。

示例55包括示例49-54中的任一项的主题,并且其中,用于应用所述调整的装置包括用于将数据存储从所述被管理节点中的一个被管理节点分配给所述被管理节点中的另一个被管理节点的装置。

示例56包括示例49-55中的任一项的主题,并且其中,用于应用所述调整的装置包括用于将工作负载的一部分从所述被管理节点中的一个被管理节点重新指派给所述被管理节点中的另一个被管理节点以向所述工作负载分配附加的计算资源的装置。

示例57包括示例49-56中的任一项的主题,并且其中,用于应用所述调整的装置包括用于将工作负载的一部分从所述被管理节点中的一个被管理节点重新指派给所述被管理节点中的另一个被管理节点以向所述工作负载分配加速器资源的装置。

示例58包括示例49-57中的任一项的主题,并且其中,用于应用所述调整的装置包括用于解除对一个或多个存储器资源、数据存储资源、计算资源或加速器资源的分配的装置。

示例59包括示例49-58中的任一项的主题,并且其中,用于确定所述调整的装置包括用于确定所述工作负载中的一个或多个工作负载的资源利用模式的装置。

示例60包括示例49-59中的任一项的主题,并且其中,用于确定所述调整的装置包括用于预测所述工作负载中的一个或多个工作负载的未来资源利用的装置。

示例61包括示例49-60中的任一项的主题,并且其中,用于确定所述调整的装置包括用于将一组目前分配的资源与所述工作负载中的一个或多个工作负载的目前或预测的资源利用进行比较的装置。

示例62包括示例49-61中的任一项的主题,并且其中,用于确定所述调整的装置包括用于确定被分配给被管理节点的一个或多个资源是否利用得比阈值量更少的装置;以及用于响应于确定了被分配给所述被管理节点的资源中的一个或多个资源利用得比所述阈值量更少而确定要从所述被管理节点解除对所述一个或多个资源的分配的装置。

示例63包括示例49-62中的任一项的主题,并且其中,用于确定所述调整的装置包括用于确定在所述被管理节点中的一个被管理节点中目前是否发生或者是否预测要发生资源竞争的装置;以及用于响应于确定了目前发生或者预测要发生资源竞争而确定要从所述被管理节点中的另一个被管理节点向所述被管理节点分配附加资源的装置。

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