一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

管理工作负载的部署的制作方法

2022-06-11 16:58:20 来源:中国专利 TAG:


1.本公开涉及管理工作负载的部署。


背景技术:

2.可以将数据存储在计算节点(诸如服务器、存储阵列、服务器集群、计算机应用、工作站、存储系统、融合系统、超融合系统等)上。计算节点可以托管工作负载,该工作负载可以在其相应操作期间生成或消耗数据。


技术实现要素:

3.本公开的一个方面提供了一种管理节点,包括:处理资源;以及机器可读介质,存储一个或多个指令,所述一个或多个指令在被所述处理资源执行时使所述处理资源进行以下操作:获得与多个工作节点的平台特点相关的资源标签的值;为所述多个工作节点中的每个工作节点确定一个或多个自定义资源标签的值,其中所述一个或多个自定义资源标签中的每个自定义资源标签的值是基于所述资源标签中的资源标签的相应集合的值而被确定的;接收工作负载部署请求,所述工作负载部署请求包括工作负载的工作负载描述;以及基于所述工作负载描述和所述一个或多个自定义资源标签的所述值,在所述多个工作节点中的工作节点上部署所述工作负载。
附图说明
4.当参考附图阅读以下详细描述时,将更佳地理解本说明书的这些和其他特征、方面以及优点,其中贯穿附图,相同附图标记表示相同部件,在附图中:
5.图1描绘了根据示例的包括多个工作节点和用于管理工作负载在工作节点上的部署的管理节点的联网系统;
6.图2a、图2b以及图2c描绘了根据示例的示例工作负载配置文件;
7.图3是描绘了根据示例的用于部署工作负载的方法的流程图;
8.图4是描绘了根据另一示例的用于部署工作负载的方法的流程图;以及
9.图5是描绘了根据示例的处理资源和编码有用于部署工作负载的示例指令的机器可读介质的框图。
10.应强调,在附图中,各种特征并未按比例绘制。实际上,在附图中,各种特征的尺寸已经出于讨论的清晰起见而任意地增大或减小。
具体实施方式
11.以下详细描述参考附图。在可能的情况下,在附图和以下描述中使用相同附图标记来指代相同或类似部分。应清楚地理解,附图仅用于说明和描述的目的。虽然本文中描述了若干示例,但修改、调适以及其他实施方式也是可能的。因此,以下详细描述不限制所公开的示例。相反,所公开的示例的适当范围可以由所附权利要求书限定。
12.本文中所使用的术语仅用于描述特定示例的目的并且不旨在作为限制。如本文中所使用,除非上下文另外明确指示,否则单数形式“一”、“一个”和“该”也旨在包括复数形式。如本文中所使用的,术语“另一”被定义为至少第二个或更多个。如本文中所使用的,除非另外指示,否则术语“耦合”被定义为连接,无论是在没有任何中间元件的情况下直接连接还是在具有至少一个中间元件的情况下间接连接。例如,两个元件能够通过通信信道、通路、网络或系统机械耦合、电耦合或通信耦合。进一步地,如本文中所使用的术语“和/或”是指并且涵盖相关联的所列项的任何和所有可能组合。还应理解,尽管在本文中可以使用术语第一、第二、第三、第四等来描述各种元件,但这些元件不应受这些术语的限制,这是由于除非另外说明或上下文另外指示,否则这些术语仅用于将一个元件与另一元件区分开。如本文中所使用,术语“包括(includes)”意味着包括但不限于(includes but notlimited to),术语“包括(including)”意味着包括但不限于(includingbut not limited to)。术语“基于”意味着至少部分地基于。
13.可以在计算节点(诸如服务器、存储阵列、服务器集群、计算机应用、工作站、存储系统、融合系统、超融合系统等)上存储和/或处理数据。计算节点可以托管并且执行工作负载,该工作负载可以在其相应操作期间生成和/或消耗数据。这种工作负载的示例可以包括但不限于虚拟机、容器、网荚(pod)、数据库、数据存储库、逻辑磁盘或容器化应用。
14.在一些示例中,可以经由工作负载编排系统来管理工作负载。例如,可以经由容器编排系统(诸如kubernetes)管理工作负载,诸如网荚。工作负载编排系统可以在计算节点(在下文中被称为管理节点)上为可操作的。管理节点可以接收工作负载部署请求以在其他计算节点(在下文中被称为工作节点)中的一个或多个计算节点上部署工作负载并且调度工作负载的部署。在一些情况下,管理节点可以在若干工作节点上部署工作负载的一个或多个副本,以实现工作负载的高可用性。工作节点可以促进用于供工作负载执行的资源,例如计算、存储和/或联网能力。
15.可以管理工作负载的调度以解决在云规模上快速地部署服务的需要,同时牢记比如敏捷性、应用升级或回滚的容易性以及云原生工作负载的因子。工作负载的这种调度通常在包括具有商品硬件(例如标准x86处理资源)的工作节点的联网系统(例如kubernetes集群)中良好地工作。在某些实施方式中,联网系统中的工作节点可以包括优质硬件。例如,由于在若干企业中更广泛地采用容器,因此最先进的kubernete集群中的工作节点包括用于运行业务关键工作负载的优质硬件。为了实现最大投资回收率(roi)和降低或最低的总体拥有成本(tco),需要在正确种类的硬件上执行工作负载。这在工作负载置放是最佳(即,工作负载部署在具有正确种类的硬件的工作节点上)时是可能的。工作负载编排系统(诸如kubernetes)支持工作节点的手动标记和基于这种手动定义的资源标签的工作负载的调度。标记工作节点的这种手动过程需要管理干预并且是劳动密集型的。
16.某些版本的容器编排器或平台(诸如kubernetes)可以支持节点特征发现能力(其可以实施为加载项),该节点特征发现能力使得工作节点能够检测和通告/发布工作节点的硬件和软件能力。工作节点的所发布的硬件和软件能力又可以由在管理节点(备选地被称为主节点)上运行的调度器使用以促进工作负载的智能调度。给定工作节点上的节点特征发现加载项允许给定工作节点以资源标签的形式发布其硬件和软件能力。传统上,由工作节点发布的资源标签过于精细并且提供过多的信息,这可能难以分析和做出调度决策。使
用资源标签中的每个资源标签或甚至选择正确种类的资源标签来进行调度决策一直是具有挑战性的任务。
17.为此,根据本公开的方面,提出了一种管理节点,该管理节点在考虑到自描述工作负载和某些自定义资源标签的情况下促进工作负载的增强调度,这些自定义资源标签是基于与工作节点相关联的资源标签而自动确定的。在一些示例中,管理节点可以获得与多个工作节点的平台特点相关的资源标签的值。平台特点可以包括以下一项或多项:热稳定性、存储器和带宽、计算性能或安全性。进一步地,管理节点可以为多个工作节点中的每个工作节点确定一个或多个自定义资源标签的值,其中一个或多个自定义资源标签中的每个自定义资源标签的值是基于资源标签中的资源标签的相应集合的值而被确定的。此外,管理节点可以接收对部署工作负载的部署请求(在下文中被称为工作负载部署请求)。工作负载部署请求可以包括定义工作负载的工作负载描述。而且,管理节点可以基于工作负载描述和一个或多个自定义资源标签的值来在多个工作节点中的工作节点上部署工作负载。
18.如应了解的,本文中所呈现的管理节点和方法经由使用有意义地生成的自定义资源标签来促进工作负载的增强调度/部署,可以基于由工作节点发布的若干细粒度资源标签来自动计算和/或更新该自定义资源标签的值。通过基于所发布的性能和安全性能力或性能和安全性限制来在工作负载编排系统(例如kubernetes)上构建调度或部署能力,用户能够运行工作负载,诸如具有工作节点的硬件和软件能力和/或漏洞的意识的业务应用。特定地,如由本文中所呈现的各种示例方面影响的工作负载的增强部署确保了工作负载在装备完善的工作节点上执行,该装备完善的工作节点具有足以满足工作负载的要求的资源。基于自定义资源标签的值和工作负载描述来部署工作负载可以使得能够增强联网系统(例如kubernetes集群)上的工作负载的性能和安全性,无论是在客户所拥有或租用的客户的企业内置型私有云数据中心中还是作为供应商的即服务产品(例如通过按使用付费或基于消费的财务模型)消费的。而且,由于自定义资源的值和工作负载描述是在操作期间自动并且动态确定的,因此可以减少或消除人工干预。
19.现在参考附图,在图1中,描绘了根据示例的联网系统100。联网系统100可以包括多个工作节点102、104以及106,在下文中被统称为工作节点102至106。进一步地,联网系统100还可以包括经由网络110耦合至工作节点102至106的管理节点108。在一些示例中,联网系统100可以是分布式系统,在该分布式系统中,工作节点102至106中的一个或多个工作节点和管理节点108位于物理上不同的位置处(例如位于不同机架上、位于不同附件上、位于不同建筑物中、位于不同城市中、位于不同国家中等),同时经由网络110连接。在某些其他示例中,联网系统100可以是总控钥匙(turnkey)解决方案或集成产品。在一些示例中,术语“总控钥匙解决方案”或“集成产品”可以是指随时可用的封装解决方案或产品,其中工作节点102至106、管理节点108以及网络110都设置在公共附件或公共机架内。而且,在一些示例中,呈任何形式的联网系统100(无论是分布式系统、总控钥匙解决方案还是集成产品)都可能能够通过以下操作来进行重新配置:添加或移除工作节点和/或添加或移除通向和来自工作节点102至106以及管理节点108的内部资源(例如计算、存储、网卡等)。
20.网络110的示例可以包括但不限于互联网协议(ip)或非基于ip的局域网(lan)、无线lan(wlan)、城域网(man)、广域网(wan)、存储区域网(san)、个域网(pan)、蜂窝通信网络、公共交换电话网(pstn)以及互联网。可以根据各种通信协议(诸如但不限于,传输控制协议
和互联网协议(tcp/ip)、用户数据报协议(udp)、ieee 802.11和/或蜂窝通信协议)来进行通过网络110进行的通信。可以经由有线(例如铜线、光学通信等)或无线(例如蜂窝通信、卫星通信、蓝牙等)通信技术来实现通过网络110进行的通信。在一些示例中,网络110可以经由私有通信链路(包括但不限于经由蓝牙、蜂窝通信、光学通信、射频通信、有线(例如铜)等建立的通信链路)启用。在一些示例中,私有通信链路可以是管理节点108与工作节点102至106之间的直接通信链路。
21.工作节点102至106中的每个工作节点可以是包括处理器或微控制器和/或任何其他电子部件的设备,或可以促进各种计算和/或数据存储服务的设备或系统。工作节点102至106的示例可以包括但不限于台式计算机、膝上型计算机、智能电话、服务器、计算机应用、工作站、存储系统或者融合或超融合系统等。在图1中,尽管将联网系统100示出为包括三个工作节点102至106,但在不限制本公开的范围的情况下,联网系统100可以包括任何数目的工作节点。在联网系统100的给定实施方式中,工作节点102至106可以具有类似或不同的硬件和/或软件配置。作为示例,虽然一些工作节点可以具有高端计算能力,但一些工作节点可以促进强大的数据安全性,并且某些工作节点可以具有增强的热能力。
22.工作节点102至106可以促进用于供一个或多个工作负载在其上执行的资源,例如计算、存储和/或联网能力。术语工作负载可以是指计算资源,包括但不限于应用(例如软件程序)、虚拟机(vm)、容器、网荚、数据库、数据存储库、逻辑磁盘或容器化应用。如应理解的,工作负载(诸如vm)可以是经由vm主机程序(诸如管理程序)托管在给定工作节点上的操作系统的实例。进一步地,例如,工作负载(诸如容器)可以是封装应用,其中该封装应用的依赖性(例如操作系统资源、处理分配、存储器分配等)经由容器主机程序(诸如容器运行时间(例如docker引擎))托管在给定工作节点上。进一步地,在一些示例中,可以将一个或多个容器分组以形成网荚。例如,可以将与通用应用相关联的容器集合分组以形成网荚。
23.在下文中的描述中,出于说明目的,将工作负载描述为网荚。可以经由容器编排系统(诸如(例如)kubernetes)管理网荚。在图1的示例中,将工作节点102示出为托管工作负载wl1和wl2,将工作节点104示出为托管工作负载wl3和wl4,并且将工作节点106示出为托管工作负载wl5和wl6。尽管将特定数目的工作负载示出为由如图1中所描绘的工作节点102至106中的每个工作节点托管,但工作节点102至106可以根据相应硬件和/或软件配置来托管任何数目的工作负载。
24.而且,在一些示例中,工作节点102至106中的一个或多个工作节点可以托管节点监测代理(nma)和特征发布者代理(fpa)。在图1的示例中,将工作节点102示出为托管nma1和fpa1,将工作节点104示出为托管nma2和fpa2,并且将工作节点106示出为托管nma3和fpa3。节点监测代理nma1、nma2以及nma3和特征发布者代理fpa1、fpa2以及fpa3可以表示在相应工作节点102至106上执行的一种类型的工作负载(例如网荚)。出于简洁起见,在下文中将描述托管在工作节点102上的节点监测代理nma 1和特征发布者代理fpa1的操作。节点监测代理nma2和nma3可以在相应工作节点104、106上进行与由节点监测代理nma1在工作节点102上进行的类似的操作。此外,特征发布者代理fpa2和fpa3可以在相应工作节点104、106上进行与由特征发布者代理fpa1在相应工作节点102上进行的操作类似的操作。
25.在工作节点102的调试和/或实时操作期间,节点监测代理nma1可以监测工作节点102的硬件和/或软件以采集关于工作节点102的若干平台特点的信息。由节点监测代理
nma1监测的平台特点可以包括但不限于以下一项或多项:工作节点102的热稳定性、存储器和带宽、计算性能或安全性。为了收集与平台特点相关的信息,nma 1可以监测以下一项或多项:平台属性、基于os的属性、与动态系统状态相关的属性或与安全性姿态相关的属性。
26.作为示例,节点监测代理nma1可以监测各种平台属性,诸如但不限于处理器寄存器(例如处理器上的模型特定寄存器)、系统管理bios(smbios)记录(例如dmidecode输出)、os命令的输出(例如iscpu、turbostat)或供应商特定的安全性漏洞工具(例如用于标识spectre或meltdown易受攻击的处理器的工具)。进一步地,在一些示例中,节点监测代理nma1可以监测若干基于os的属性,诸如但不限于非统一存储器访问(numa)能力(例如numastat的输出)、硬件拓扑(例如命令的输出——ishw)、网络接口卡(nic)能力(例如命令的输出——ethtool)或存储特点(例如命令diskinfo或命令hdinfo的输出)。此外,在一些示例中,节点监测代理nma1可以监测与动态系统状态相关的若干属性,诸如但不限于cpu和存储器利用率(例如命令top或命令numastat的输出)、磁盘利用率(例如命令iostat的输出)或网络利用率(例如命令netstat的输出)。而且,在一些示例中,节点监测代理nma1可以监测与安全性姿态相关的若干属性,诸如但不限于硬件信任根能力、安全提升能力、固件的图像签名能力、证书的使用、应用环境的安全性(例如能力,诸如防火墙和os强化)。
27.在一些示例中,特征发布者代理fpa1可以基于由nma1对工作节点102的上文所提及的监测来确定资源标签的值,该资源标签与工作节点102的平台特点中的一个或多个平台特点对应。进一步地,特征发布者代理fpa1可以发布工作节点102的资源标签和资源标签的值。在一些示例中,资源标签及其值的发布可以包括:将资源标签及其值由特征发布者代理fpa1传送给管理节点108。在某些其他示例中,资源标签(例如资源标签名称)及其值的发布可以包括:将资源标签及其值存储在由管理节点108可访问的存储介质中。
28.与平台特点(诸如热稳定性)对应的资源标签在下文中被称为资源标签的第一集合,资源标签的第一集合的相关联的值可以包括关于热稳定性的静态信息、实时信息或静态信息和实时信息两者。与给定资源标签对应的术语静态信息可以是指资源标签的设计值、规格值或额定值。进一步地,术语给定资源标签的实时信息可以是指资源标签的实时值或配置值。例如,资源标签(诸如给定工作节点中的核的数目)可以具有作为规格数目的核(例如,核的总数目)的静态值12,然而,在给定工作节点的操作期间,这些核中的几个核可以为活动的。因此,活动的核的数目(例如10个活动核)可以表示关于资源标签的实时信息。资源标签的第一集合的示例可以包括但不限于以下一项或多项:处理器的热设计点(tdp)、处理器的温度、存储器模块的温度、风扇速度、平台形状因子、热配置、turbo扩展或活动核的数目。特征发布者代理fpa1可以确定资源标签的第一集合中的一个或多个资源标签的值并且发布资源标签的第一集合及其相应值。
29.进一步地,与平台特点(诸如存储器和带宽)对应的资源标签在下文中被称为资源标签的第二集合,资源标签的第二集合的相关联的值可以包括关于存储器和带宽的静态信息、实时信息或静态信息和实时信息两者。资源标签的第二集合的示例可以包括但不限于以下一项或多项:数据速率、总线宽度、存储器模块的数目以及存储器插槽(socket)的数目。特征发布者代理fpa1可以确定资源标签的第二集合中的一个或多个资源标签的值并且发布资源标签的第二集合及其相应值。
30.进一步地,与平台特点(诸如计算性能)对应的资源标签在下文中被称为资源标签
的第三集合,资源标签的第三集合的相关联的值可以包括关于计算性能的静态信息、实时信息或静态信息和实时信息两者。资源标签的第三集合的示例可以包括但不限于以下一项或多项:主动配置的核c状态的数目、抖动值标志或os中断亲和性设置。特征发布者代理fpa1可以确定资源标签的第三集合中的一个或多个资源标签的值并且发布资源标签的第三集合及其相应值。
31.而且,与平台特点(诸如安全性)对应的资源标签在下文中被称为资源标签的第四集合,资源标签的第四集合的相关联的值可以包括关于工作节点102的安全性能力的静态信息、实时信息或静态信息和实时信息两者。资源标签的第四集合的示例可以包括但不限于以下一项或多项:应用安全性能力、os强化能力、安全提升能力以及硅信任根能力。特征发布者代理fpa1可以确定资源标签的第四集合中的一个或多个资源标签的值并且发布资源标签的第四集合及其相应值。
32.在一些示例中,特征发布者代理fpa1可以通过经由网络110将与工作节点102对应的资源标签数据103(在图1中被标记为rld_wn1)发送给管理节点108来发布资源标签及其值。例如,资源标签数据103可以包括键值对,例如与工作节点102对应的资源标签(例如资源标签的名称)及其针对资源标签的第一集合、资源标签的第二集合、资源标签的第三集合或资源标签的第四集合中的一些或所有资源标签的相应值。类似地,特征发布者代理fpa2和fpa3还可以分别将工作节点104和106的资源标签数据105(在图1中被标记为rld_wn2)和107(在图1中被标记为rld_wn3)发送给管理节点108。资源标签数据105和107可以包括键值对,例如分别包括工作节点104和106的资源标签及其相应值。
33.管理节点108可以从多个工作节点102至106获得资源标签和资源标签的值(以资源标签数据103、105、107的形式)。进一步地,管理节点108还可以接收工作负载部署请求,该工作负载部署请求包括要部署的工作负载的工作负载描述。管理节点108可以基于工作负载描述(稍后描述)和一个或多个自定义资源标签来管理工作负载的部署,该一个或多个自定义资源标签是基于从多个工作节点102至106接收到的资源标签而被确定的(稍后描述)。如图1中所描绘,在一些示例中,例如,管理节点108可以是包括处理器或微控制器和/或任何其他电子部件的设备,或可以促进各种计算和/或数据存储服务的设备或系统。管理节点108的示例可以包括但不限于配置为管理工作负载的部署的台式计算机、膝上型计算机、智能电话、服务器、计算机应用、工作站、存储系统或融合或超融合系统等。进一步地,在某些示例中,管理节点108可以是在联网系统100中的硬件上执行的虚拟机或容器化应用。
34.在一些示例中,管理节点108可以包括处理资源112和机器可读介质114。机器可读介质114可以是任何电子、磁性、光学或其他物理存储设备,该电子、磁性、光学或其他物理存储设备可以存储数据和/或可执行指令116。例如,机器可读介质114可以包括以下一项或多项:随机存取存储器(ram)、电可擦除可编程只读存储器(eeprom)、存储驱动器、闪速存储器、光盘只读存储器(cd-rom)等。机器可读介质114可以是非暂态的。如本文中详细地描述的,机器可读介质114可以编码有可执行指令116以进行一种或多种方法,例如图4和图5中所描述的方法。
35.进一步地,处理资源112可以是物理设备,例如一个或多个中央处理单元(cpu)、一个或多个基于半导体的微处理器、一个或多个图形处理单元(gpu)、专用集成电路(asic)、现场可编程门阵列(fpga)、能够获取和执行存储在机器可读介质114中的指令116的其他硬
件设备或其组合。处理资源112可以取得、译码并且执行存储在机器可读介质114中的指令116以管理工作负载的部署(下文进一步描述)。作为执行指令116的备选或除了执行指令106之外,处理资源112可以包括至少一个集成电路(ic)、控制逻辑、电子电路或其组合,该至少一个集成电路(ic)、控制逻辑、电子电路或其组合包括用于进行旨在由管理节点108进行(下文进一步描述)的功能性的多个电子部件。此外,在某些示例中,在管理节点108可以是虚拟机或容器化应用的情况下,处理资源112和机器可读介质114可以表示硬件的处理资源和机器可读介质或将管理节点108托管为虚拟机或容器化应用的计算系统。
36.在操作期间,处理资源112可以分别从工作节点102、104、106获得资源标签数据103、105以及107,并且将接收到的资源标签数据103、105以及107存储到机器可读介质114中作为资源标签储存库118。在一些示例中,处理资源112可以分别从工作节点102、104、106周期性地或以随机间隔获得资源标签数据103、105以及107。而且,处理资源112可以针对多个工作节点102至106中的每个工作节点确定一个或多个自定义资源标签的值。由处理资源112确定的自定义资源标签的示例可以包括但不限于turbo指数、存储器带宽指数、运算抖动指数或安全性指数。在一些示例中,处理资源112可以基于资源标签的相应集合(例如资源标签的第一集合、资源标签的第二集合、资源标签的第三集合或资源标签的第四集合)的值来确定一个或多个自定义资源标签中的每个自定义资源标签的值。
37.在下文中的描述中,出于说明目的,已经基于资源标签的相应集合中的一个或多个资源标签来描述这些自定义资源标签的示例计算。应注意,在不限制本公开的范围的情况下,还可以利用来自资源标签的相应集合或资源标签的其他集合的其他资源标签来确定自定义资源标签的值。此外,在一些示例中,在不限制本公开的范围的情况下,可以使用与本公开中所图示的关系或等式不同的关系或等式来确定自定义资源标签的值。
38.给定工作节点的turbo指数是自定义资源标签的示例,并且turbo指数的值可以指示给定工作节点在要求严苛的条件(诸如(例如)大频率变化)下无故障地进行的能力。针对给定工作节点,turbo指数的较高值指示工作节点在其操作期间处理高频需求的更佳能力。在一些示例中,处理资源112可以基于资源标签的第一集合中的一个或多个资源标签来确定turbo指数。为了确定turbo指数,针对给定工作节点,处理资源112可以从资源标签储存库118中获取资源标签的第一集合中的一个或多个资源标签及其相应值,并且基于资源标签的第一集合中的一个或多个资源标签之间的某些预设关系来计算turbo指数。作为示例,给定工作节点的turbo指数可以是基于资源标签(诸如turbo扩展指数、处理器的tdp以及给定工作节点上的活动核的数目)而被确定的。在一个示例中,处理资源112可以使用以下等式(1)为工作节点k确定turbo指数(tik)。
[0039][0040]
其中turbospreadindexk表示工作节点k的turbo扩展指数(下文所描述的),nk表示工作节点k上的活动核的数目,tdpk表示工作节点k的热设计点,并且k表示工作节点102、104或106中的任何工作节点。出于说明目的,等式(1)表示用于确定turbo指数的示例计算。在一些其他示例中,在不限制本公开的范围的情况下,也可以利用来自资源标签的第一集合或资源标签的其他集合的其他资源标签的值来计算turbo指数。
[0041]
在一些示例中,可以基于工作节点k的处理器的基本操作频率(f
base_k
)、最小操作
频率(f
min_k
)以及最大操作频率(f
max_k
)(例如turbo频率)的值来确定turbo扩展指数(turbospreadindexk)。作为示例,基本操作频率可以是处理器被设计为在大约一半的核活动时操作的频率。当处理器的所有核都为活动时,可以实现最低操作频率。进一步地,当处理器的单个核为活动时,可以实现最大操作频率。在一些示例中,可以基于给定工作节点k的频率扩展(f
spread_k
)和频率提升(f
boost_k
)来确定turbo扩展指数(turbospreadindexk)。处理资源112可以分别使用以下等式(2)和等式(3)来确定频率扩展(f
spread_k
)和频率提升(f
boost_k
)。
[0042]fspread_k
=(f
max_k-f
min_k
)*10...(2)
[0043]fboost_k
=(f
max_k-f
base_k
)*10...(3)
[0044]
因此,在一些示例中,如果频率扩展低于或等于零(即,f
spread_k
≤0),那么处理资源112可以确定等于频率提升(f
boost_k
)的turbo扩展指数(turbospreadindexk)。然而,如果频率扩展大于零(即,f
spread_k
>0),那么处理资源112可以使用等式(4)来确定turbo扩展指数(turbospreadindexk)。
[0045][0046]
此外,给定工作节点的运算抖动指数是自定义资源标签的另一示例,并且运算抖动指数的值可以指示每当处理器使其操作频率移位时由于停顿而丢失的计算周期的范围。针对给定工作节点,运算抖动指数的较高值指示由于频率波动而引起的性能的较大可变性,从而指示较低程度的确定性或可预测性能。在一些示例中,处理资源112可以基于资源标签的第三集合中的一个或多个资源标签来确定运算抖动指数。为了确定运算抖动指数,针对给定工作节点,处理资源112可以从资源标签储存库118中获取资源标签的第三集合及其相应值,并且基于资源标签的第三集合中的一个或多个资源标签之间的某些预设关系来计算运算抖动指数。作为示例,可以使用以下等式(5)基于频率提升(f
boost_k
)、抖动值标志(jfk)以及主动配置的核c状态的数目(nck)来确定给定工作节点k的运算抖动指数(cjik)。
[0047]
cjik=jfk*(f
max_k
nck)*10...(5)
[0048]
其中当启用抖动控制时,可以将抖动值标志jfk设置为零(0)。备选地,当禁用抖动控制时,可以将抖动值标志jfk设置为一(1)。
[0049]
进一步地,给定工作节点的存储器带宽指数是自定义资源标签的另一示例,并且存储器带宽指数的值可以指示给定工作节点能够多快地处理存储器事务。针对给定工作节点,存储器带宽指数的较高值指示给定工作节点在处理器与存储器设备之间移动更大量数据从而提供更佳性能的能力。在一些示例中,处理资源112可以基于资源标签的第二集合中的一个或多个资源标签来确定存储器带宽指数。为了确定存储器带宽指数,针对给定工作节点k,处理资源112可以从资源标签储存库118中获取资源标签的第二集合及其相应值,并且基于资源标签的第二集合中的一个或多个资源标签之间的某些预设关系来计算存储器带宽指数(mbik)。作为示例,处理资源112可以使用以下等式(6)来确定工作节点k的存储器带宽指数(mbik)。
[0050][0051]
其中pbwk表示工作节点k的峰值(或理论)存储器带宽,并且abwk表示具有配置约束
的工作节点k的可用存储器带宽。
[0052]
在一些示例中,可以基于由安装在工作节点k中的存储器模块(例如dimm)支持的规格或额定数据速率(dr
spec_k
)(例如最大数据速率)、存储器模块的总线宽度(bus
width_k
)、每信道支持的最大存储器模块数目(mm
max_k
)以及存储器插槽的数目(n
sockets_k
)来确定工作节点k的峰值存储器带宽pbwk。作为示例,处理资源112可以使用以下等式(7)来确定工作节点k的峰值存储器带宽pbwk。
[0053][0054]
进一步地,可以基于安装在工作节点k中的存储器模块(例如dimm)的实际数据速率(dr
actual_k
)、存储器模块的总线宽度(bus
width_k
)、每信道支持的实际存储器模块数目(mm
actual_k
)以及存储器插槽的数目(n
sockets_k
)来确定工作节点k的可用存储器带宽abwk。作为示例,处理资源112可以使用以下等式(8)来确定工作节点k的可用存储器带宽abwk。
[0055][0056]
在一个示例中,针对规格数据速率(dr
spec_k
)为2933mt/s,实际数据速率(dr
spec_k
)为2933mt/s,存储器模块的总线宽度(bus
width
_k)为64、每信道支持的最大存储器模块数目(mm
max_k
)为2以及存储器插槽的数目(n
sockets_k
)为2的工作节点k,可以将峰值存储器带宽pbwk确定为282gbps并且可以将可用存储器带宽abwk确定为282gbps。因此,针对工作节点k,可以将存储器带宽指数mbik确定为10。在另一示例中,针对规格数据速率(dr
spec_k
)为2933mt/s,实际数据速率(dr
spec_k
)为2667mt/s,存储器模块的总线宽度(bus
width_k
)为64并且每信道支持的最大存储器模块数目(mm
max_k
)为2、存储器插槽的数目(n
sockets
_k)为2的工作节点k,可以将峰值存储器带宽pbwk确定为282gbps并且可以将可用存储器带宽abwk确定为256gbps。因此,针对工作节点k,可以将存储器带宽指数mbik确定为9。
[0057]
而且,在一些示例中,给定工作节点的安全性指数是自定义资源标签的又一示例,并且安全性指数的值可以指示给定工作节点免受安全性威胁的安全程度。针对给定工作节点,安全性指数的较高值指示工作节点处理安全事务的更佳能力。在一些示例中,处理资源112可以基于资源标签的第四集合中的一个或多个资源标签来确定安全性指数。为了确定安全性指数,针对给定工作节点,处理资源112可以从资源标签储存库118中获取资源标签的第四集合及其相应值,并且基于资源标签的第四集合中的一个或多个资源标签之间的某些预设关系来计算安全性指数。作为示例,可以分别向资源标签的第四集合(诸如应用安全性能力、os强化能力、安全提升能力以及硅信任根能力)指派预定权重。下文所描绘的表1图示了向资源标签的第四集合指派的示例权重。
[0058]
表1:向资源标签的第四集合指派的示例权重
[0059][0060]
应注意,出于说明目的,表1描绘了示例权重。在一些示例中,可以向资源标签的第
四集合中的一个或多个资源标签指派任何合适的权重。在表1的示例中,10的总权重分布在四个资源标签之间。因此,在一些示例中,处理资源112可以基于向资源标签的第四集合中的一个或多个资源标签指派的权重来确定给定工作节点的安全性指数。特定地,在一个示例中,可以将给定工作节点的安全性指数确定为适用于给定工作节点的资源标签的第四集合中的一个或多个资源标签的权重之和。例如,如果给定工作节点不具有安全提升能力但具有表1中所图示的其余能力,那么将该工作节点称为具有九(9)的安全性指数。在另一示例中,如果给定工作节点不具有硅信任根能力但具有表1中所图示的其余能力,那么将该工作节点称为具有七(7)的安全性指数。
[0061]
在一些示例中,一旦确定了自定义资源标签的值,处理资源112就可以将自定义资源标签的所确定的值存储到作为自定义资源标签储存库120的机器可读介质中。例如,在自定义资源标签储存库120中,处理资源112可以针对每个其他工作节点102至106存储自定义资源标签及其相应值。下文所表示的表2描绘了存储在自定义资源标签储存库120中的示例数据。
[0062]
表2:存储在自定义资源标签储存库120中的示例数据
[0063][0064]
应注意,表2中所示出的自定义资源标签的值是出于说明目的。可以使用上述描述中所图示的相应资源标签和示例计算来确定自定义资源标签的示例值。
[0065]
而且,在其操作期间,管理节点可以接收对在集群(节点联网系统)中部署工作负载(在下文中被称为工作负载部署请求)的请求。根据本公开的方面的管理节点108可以促进在工作节点102至106中的工作节点上部署工作负载,该工作节点102至106可以最适合工作负载的要求。在一些示例中,管理节点108可以基于工作节点102至106的自定义资源标签的值和接收到的工作负载部署请求中所包含的信息来标识正确种类的工作节点。
[0066]
在一些示例中,管理节点108可以以工作负载配置文件(例如在工作负载是网荚的情况下,网荚清单文件,诸如yaml文件)的形式接收工作负载部署请求。在接收到工作负载部署请求后,处理资源112可以将工作负载配置文件(例如工作负载配置文件122)存储在机器可读介质114中。工作负载配置文件122可以由一个或多个参数(包括工作负载描述)定义。特定地,工作负载描述可以设置工作负载的某些要求。在一些示例中,工作负载描述可以包括关于与工作负载对应的业务服务级别协议(sla)、标准应用工作负载名称、部件亲和性属性、一般描述或架构属性中的一者或多者的信息。
[0067]
业务sla的示例可以包括但不限于以下一项或多项:响应时间、可用性、吞吐量、成本优化、能量优化、可扩展性或灵活容量。进一步地,标准应用工作负载名称的示例可以包括但不限于以下一项或多项:java、mssql、oracle、mongodb或cassandra。进一步地,一般描述的示例可以包括但不限于以下一项或多项:nosql数据库(db)、rdbms、存储器内db或时间
序列db。而且,部件亲和性属性的示例可以包括但不限于计算密集型、存储器密集型、存储密集型或网络绑定的。另外,架构属性的示例可以包括但不限于细粒度细节,诸如软件并行性(多线程)的存在、工作负载是否具有硬件加速能力(gpu或fpga)、向量指令使用或存储器访问模式(负载重或存储重)。
[0068]
现在参考图2a、图2b以及2c,图2a、图2b以及图2c分别描绘了工作负载配置文件122的示例200a、200b以及200c。如图2a中所描绘,描绘了可以定义第一工作负载的工作负载配置文件200a。在工作负载配置文件200a中,工作负载描述可以包括“java”的应用类型和“吞吐量”的业务sla度量。因此,第一工作负载可以由处理资源112标识为需要高吞吐量的java应用。类似地,在图2b中,描绘了可以定义第二工作负载的工作负载配置文件200b。在工作负载配置文件200b中,工作负载描述可以包括“信用卡管理”的应用类型和“安全性”的业务sla度量。因此,第二工作负载可以由处理资源112标识为需要高数据安全性的信用卡管理应用。而且,在图2c中,描绘了可以定义第三工作负载的工作负载配置文件200c。在工作负载配置文件200c中,工作负载描述可以包括“业务核算应用”的应用类型和“安全性”的业务sla度量。因此,第三工作负载可以由处理资源112标识为需要高数据安全性的业务核算应用。
[0069]
返回参考图1,在一些示例中,针对接收到的工作负载部署请求,处理资源112可以基于与要部署的工作负载对应的工作负载描述来生成自定义资源标签的优先化列表。自定义资源标签的优先化列表可以表示自定义资源标签根据其与工作负载描述的相关性的有序列表。在一个示例中,处理资源112可以按照工作负载的相关性的降序来排列自定义资源标签。处理资源112可以基于第一知识库来为工作负载生成自定义资源标签的优先化列表,该第一知识库包含若干工作负载描述与自定义资源标签的优先化列表之间的映射。在一些示例中,处理资源112可以将第一知识库存储在机器可读介质114中。下文所呈现的表3描绘了示例第一知识库。
[0070]
表3:示例第一知识库
[0071][0072]
在一些示例中,当接收到工作负载部署请求时,处理资源112可以解析其工作负载配置文件以标识工作负载配置文件中所包含的工作负载描述。工作负载配置文件的解析可以包括:分析工作负载配置文件的文本以找到表示工作负载描述的预定义属性。一旦标识了工作负载描述,处理资源112就可以通过参考第一知识库来为要部署的工作负载生成自定义资源标签的优先化列表。作为示例,如果由管理节点108接收对部署工作负载(诸如由工作负载配置文件200a(参见图2a)定义的第一工作负载)的工作负载部署请求,那么处理资源112可以生成自定义资源标签的优先化列表作为“turbo指数、存储器带宽指数、安全性指数以及运算抖动指数”,其中优先化列表中的第一条目表示与第一工作负载具有最高相关性的自定义资源标签,并且优先化列表中的最后一个条目表示与第一工作负载具有最低相关性的自定义资源标签。
[0073]
类似地,如果由管理节点108接收对部署由工作负载配置文件200b(参见图2b)定义的第二工作负载的工作负载部署请求,那么处理资源112可以生成自定义资源标签的优先化列表作为“turbo指数、安全性指数、存储器带宽指数以及运算抖动指数”。进一步地,以类似方式,如果由管理节点108接收对部署由工作负载配置文件200c(参见图2c)定义的第三工作负载的工作负载部署请求,那么处理资源112可以生成自定义资源标签的优先化列表作为“turbo指数、安全性指数、存储器带宽指数以及运算抖动指数”。
[0074]
一旦为工作负载生成自定义资源标签的优先化列表,处理资源112可以基于工作节点102至106的自定义资源标签的值来标识工作节点102至106中的工作节点和与工作负载对应地生成的自定义资源标签的优先化列表。特定地,在一些示例中,处理资源112可以在工作节点102至106当中选择工作节点,该工作节点在指示优先化列表中的最高相关性的条目(例如第一条目)处具有自定义资源标签的最高值。在一些示例中,如果处理资源112确
定在自定义资源标签的优先化列表中的第一条目的值中存在联系,那么处理资源112可以开始针对自定义资源标签的优先化列表中的其余条目按照相关性的降序进行与针对第一条目进行的类似的检查。例如,针对工作负载(诸如具有turbo指数作为自定义资源标签的优先化列表中的第一条目的第一工作负载),处理资源112可以在工作节点102至106当中选择具有turbo指数的最高值的工作节点。如表2中所描绘,工作节点104的turbo指数的值(例如10)在工作节点102至106之间最高。因此,针对工作负载(诸如第一工作负载),处理资源112可以选择工作节点104作为主机工作节点。应注意,在一些示例中,处理资源112还可以通过按照工作负载的相关性的升序排列自定义资源标签来生成自定义资源标签的优先化列表,在这种情况下,因此在不限制本公开的范围的情况下,可以调适用于标识合适的主机工作节点的操作。
[0075]
在又一示例中,针对工作负载(诸如在自定义资源标签的优先化列表中的第一条目处具有安全性指数的第二工作负载),处理资源112可以在工作节点102至106当中选择具有安全性指数的最高值的工作节点。如表2中所描绘,工作节点106的安全性指数的值(例如10)在工作节点102至106之间最高。因此,针对工作负载(诸如第三工作负载),处理资源112可以选择工作节点106作为主机工作节点。类似地,针对工作负载(诸如由工作负载配置文件200c定义的工作负载),处理资源112可以选择工作节点104作为主机工作节点。
[0076]
一旦标识了所请求的工作负载的主机工作节点,管理节点108可以在标识为主机工作节点的工作节点上部署工作负载。在一些示例中,如果请求部署工作负载,诸如第一工作负载、第二工作负载以及第三工作负载,那么处理资源112可以在工作节点104上部署第一工作负载和第三工作负载并且在工作节点106上部署第二工作负载。
[0077]
另外,在一些示例中,处理资源112可以基于传入资源标签数据103、105以及107持续地更新资源标签储存库118,并且更新自定义资源标签的值。在某些示例中,若需要,处理资源112还可以基于自定义资源标签的更新值和自定义资源标签的优先化列表来重新部署工作负载。例如,如果随着时间的推移,工作节点106的存储器带宽指数从10减小到8并且工作节点106的存储器带宽指数没有减少(例如保持相同或增加),那么处理资源112可以将第二工作负载从第三工作节点106重新部署到第二工作节点104。
[0078]
如应了解的,本文中所呈现的管理节点108经由使用有意义地生成的自定义资源标签来促进工作负载的增强调度和部署,可以基于由工作节点发布的若干细粒度资源标签来自动计算和/或更新该自定义资源标签的值。通过基于所发布的性能和安全性能力或性能和安全性限制来在工作负载编排系统(例如kubernetes)上构建调度或部署能力,用户可以运行工作负载,诸如具有工作节点(诸如工作节点102至106)的硬件和软件能力和/或漏洞的意识。特定地,由于如本文中所呈现的各种示例方面所影响的工作负载的增强部署,可以在装备完善的工作节点上执行工作负载,该装备完善的工作节点具有足以满足工作负载的要求的资源。基于自定义资源标签的值和工作负载描述来部署工作负载可以使得能够在客户的前提下或即服务产品上实现联网系统(例如kubernetes集群)上的工作负载的增强的性能和安全性。而且,由于自定义资源的值和工作负载描述是在操作期间自动并且动态确定的,因此可以减少或消除人工干预。
[0079]
现在参考图3,根据示例呈现了描绘用于部署工作负载的方法300的流程图。出于说明目的,将结合图1的联网系统100来描述方法300。方法300可以包括方法框302、304、306
以及308(在下文中被统称为框302至308),这些方法框可以由基于处理器的系统(诸如(例如)管理节点108)进行。特定地,可以由处理资源112通过执行存储在机器可读介质114(参见图1)中的指令116来进行方法框302至308中的每个方法框中的操作。而且,应注意,在一些示例中,框302至308的执行顺序可以与图4中所示出的执行顺序不同。例如,框302至308可以串行、并行或串行-并行组合进行。
[0080]
在框302中,例如,处理资源112可以获得与多个工作节点102至106的平台特点相关的资源标签的值。进一步地,在框304中,处理资源112可以为多个工作节点102至106中的每个工作节点确定一个或多个自定义资源标签的值。特定地,一个或多个自定义资源标签中的每个自定义资源标签的值可以是基于资源标签的相应集合的值而被确定的。已经结合图1描述了关于确定自定义资源标签的值的附加细节。此外,在框306中,处理资源112可以接收工作负载部署请求,该工作负载部署请求包括要部署的工作负载的工作负载描述。一旦接收到处理资源112,处理资源112就可以将工作负载配置文件(例如工作负载配置文件122)存储到机器可读介质114中,该工作负载配置文件包含与工作负载对应的工作负载描述。而且,在一些示例中,在框308中,处理资源112可以基于工作负载描述和自定义资源标签的值来以与结合图1所描述的类似的方式在多个工作节点102至106中的工作节点上部署工作负载。
[0081]
现在移动到图4,根据另一示例呈现了描绘用于部署工作负载的方法400的流程图。出于说明目的,将结合图1的联网系统100来描述方法400。方法400可以包括方法框402、404、406、408、410、412、414、416、418、420以及422(在下文中被统称为框402至422),这些方法框可以由基于处理器的系统(例如管理节点108)进行。特定地,可以由处理资源112通过执行存储在机器可读介质114中的指令116来进行方法框402至422中的操作。出于简洁起见,不再重复框402至422中所图示的各种方面的某些细节,这是由于这种细节已经在图1至图3中的一个或多个图中进行了描述。而且,应注意,在一些示例中,框406至422的执行顺序可以与图4中所示出的执行顺序不同。例如,框402至422可以串行、并行或串行-并行组合进行。
[0082]
在框402中,例如,处理资源112可以获得与多个工作节点102至106的平台特点相关的资源标签的值。进一步地,在框404中,处理资源112可以为多个工作节点102至106中的每个工作节点确定一个或多个自定义资源标签的值。在一些示例中,在框404中确定一个或多个自定义资源标签的值可以包括:确定一个或多个自定义资源标签,诸如turbo指数、存储器和带宽指数、运算抖动指数或安全性指数。例如,在框406中,处理资源112可以基于资源标签的第一集合中的一个或多个资源标签来确定turbo指数的值。进一步地,在一些示例中,在框408中,处理资源112可以基于资源标签的第二集合中的一个或多个资源标签来确定存储器和带宽指数的值。此外,在某些示例中,在框410中,处理资源112可以基于资源标签的第三集合中的一个或多个资源标签来确定运算抖动指数的值。而且,在一些示例中,在框412中,处理资源112可以基于资源标签的第四集合中的一个或多个资源标签来确定安全性指数的值。应注意,框404中的操作的执行可以包括:执行框406至412中的更少或所有框。进一步地,框406中的操作可以串行、并行或串行-并行组合来进行。
[0083]
进一步地,在框414中,处理资源112可以接收工作负载部署请求,该工作负载部署请求包括要部署的工作负载的工作负载描述。如先前所提到的,可以经由工作负载配置文
件(例如工作负载配置文件122)描述工作负载。在框416中,处理资源112可以通过解析工作负载配置文件122来从工作负载配置文件122标识工作负载描述。而且,在一些示例中,在框418中,处理资源112可以基于工作负载描述来为工作负载生成自定义资源标签的优先化列表。此外,在框420中,处理资源112可以基于自定义资源标签的优先化列表和多个工作节点102至106的自定义资源标签的值来标识工作节点。另外,在框422中,处理资源112可以在所标识的工作节点上部署工作负载。
[0084]
移动到图5,框图500描绘了根据示例的处理资源502和机器可读介质504,该机器可读介质504编码有示例指令以促进工作负载的增强部署。机器可读介质504可以是非暂态的并且备选地被称为非暂态机器可读介质504。在一些示例中,机器可读介质504可以由处理资源502访问。在一些示例中,处理资源502可以表示管理节点108的处理资源112的一个示例。进一步地,机器可读介质504可以表示管理节点108的机器可读介质114的一个示例。
[0085]
机器可读介质504可以是可以存储数据和/或可执行指令的任何电子、磁性、光学或其他物理存储设备。因此,机器可读介质504可以是例如ram、eeprom、存储驱动器、闪速存储器、cd-rom等。如本文中详细地描述的,机器可读介质504可以编码有可执行指令506、508、510以及512(在下文中被统称为指令506至512)以用于进行图3中所描述的方法300。尽管未示出,但在一些示例中,机器可读介质504可以编码有某些附加可执行指令以在不限制本公开的范围的情况下进行图4的方法400和/或由管理节点108执行的任何其他操作。
[0086]
处理资源502可以是物理设备,例如一个或多个cpu、一个或多个基于半导体的微处理器、一个或多个gpu、asic、fpga、能够获取和执行存储在机器可读介质504中的指令506至512的其他硬件设备或其组合。在一些示例中,处理资源502可以取得、译码并且执行存储在机器可读介质504中的指令506至512以在工作节点102至106中的一个或多个工作节点上部署工作负载。在某些示例中,作为获取和执行指令506至512的替代或除了获取和执行指令506至512之外,处理资源502可以包括至少一个ic、其他控制逻辑、其他电子电路或其组合,这些组合包括用于进行旨在由图1的管理节点108进行的功能性的多个电子部件。
[0087]
指令506在被处理资源502执行时可以使处理资源502获得与多个工作节点102至106的平台特点相关的资源标签的值。进一步地,指令508在被处理资源502执行时可以使处理资源502为多个工作节点102至106中的每个工作节点确定一个或多个自定义资源标签的值。在一些示例中,一个或多个自定义资源标签中的每个自定义资源标签的值是基于资源标签中的资源标签的相应集合的值而被确定的。此外,指令510在被处理资源502执行时可以使处理资源502接收工作负载部署请求,该工作负载部署请求包括工作负载的工作负载描述。而且,指令512在被处理资源502执行时可以使处理资源502基于工作负载描述和一个或多个自定义资源标签的值来在多个工作节点102至106中的工作节点上部署工作负载。
[0088]
虽然上文已经示出并且描述了某些实施方式,但可以在形式和细节上做出各种改变。例如,已经关于一种实施方式和/或过程描述的一些特征和/或功能可以与其他实施方式相关。换句话说,关于一种实施方式描述的过程、特征、部件和/或特性在其他实施方式中可以是有用的。此外,应了解,本文中所描述的系统和方法可以包括所描述的不同实施方式的部件和/或特征的各种组合和/或子组合。
[0089]
在前述描述中,阐述了许多细节来提供对本文中所公开的主题的理解。然而,可以在不具有这些细节中的一些或所有细节的情况下实践实施方式。其他实施方式可以包括对
上文所讨论的细节的修改、组合以及变化。以下权利要求书旨在涵盖这种修改和变化。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献