能量感知网络切分的制作方法

文档序号:30434425发布日期:2022-06-15 18:42阅读:86来源:国知局
能量感知网络切分的制作方法
能量感知网络切分


背景技术:

1.网络切分(network slicing)允许网络运营商共享用于部署网络资源的物理网络基础设施。从移动运营商的角度来看,网络切片(network slice)是运行在共享物理基础设施上的独立端到端逻辑网络。网络切片可能能够提供约定的服务质量。网络运营商保证性能(例如,延时、丢失、带宽或无线电资源)以满足所需的服务质量。
附图说明
2.图1图示了根据某些实施例的利用能量感知网络切分的计算机网络。
3.图2图示了根据某些实施例的在网络切片之间共享的物理平台。
4.图3图示了根据某些实施例的用于基于功率预算来部署网络切片的流程。
5.图4图示了根据某些实施例的用于为网络切片配置和调整平台操作参数的流程。
6.图5图示了根据某些实施例的用于基于功率使用来调整网络切片的分组处理速率的流程。
7.图6示出了根据某些实施例的关键组件功率分配的流程。
8.图7图示了根据某些实施例的切片功率分配的流程。
9.图8图示了根据某些实施例的用于资源调度的流程。
10.图9图示了根据某些实施例的示例计算系统。
11.各图中相同的附图标记和名称表示相同的元素。
具体实施方式
12.图1图示了根据某些实施例的利用能量感知网络切分(energy aware network slicing)的计算机网络100。计算机网络100包括任何合适的网络,例如无线电接入网络104、传输网络106、核心网络108和互联网110。每个网络可以包括任何合适的网络节点102,每个网络节点102可以包括物理计算平台。网络节点102可以由软件定义联网(sdn)控制器116和118(其均可以包括单个控制器或控制器的层次结构)来管理。
13.在实现网络切分的网络中,根据某些实施例,各种服务被部署在公共物理基础设施上。包括各种网络节点102的网络平台基础设施的使用可以在可以包括(例如)以下各项的各种切片112之间共享:移动宽带使用(例如,电话呼叫、娱乐或互联网业务(traffic))、物联网(例如、机器对机器通信、零售、运输或制造用途)、可靠的低延时通信(例如,自主车辆控制、医疗设备控制或基础设施控制)或其他应用。在所描绘的实施例中,计算机网络100实施iot切片112a、移动宽带切片112b和自主车辆切片112c,尽管网络可以实施任何数量或种类的网络切片112。
14.如上所述,网络切片112可以是在共享物理基础设施上运行的端到端逻辑网络。例如,切片112的逻辑网络的一个端点可以是基站114或接入点,而另一端可以是核心网络108的网络节点,尽管网络切片可以是从网络(例如,100)的任何合适节点到网络的另一个节点的逻辑网络。流经网络切片的数据源可以源自任何合适的源(例如,用于下游数据内容提供
商的数据中心,或用于上游数据的端点设备,例如移动电话手持机或iot设备)。网络切片可以与运行在相同网络节点上的其他网络切片隔离。每个网络切片可以独立控制和管理。在一些实施例中,每个网络切片可以包括相应的可编程控制平面和数据平面。运营商可以创建各种网络切片,为各种需求多样化的服务提供优化的解决方案。网络切片可以使用任何合适的网络通信技术来实现,例如可扩展i/o虚拟化(scalable i/o virtualization)、应用设备队列(application device queueing,adq)(其中,网络接口控制器的一个或多个队列专用于特定执行线程(例如,应用或虚拟化执行环境(vee),例如容器或虚拟机)、类似技术或其他合适的技术。
15.网络100的互连节点102可以均对通过网络100传送的分组执行处理。分组处理的类型。网络切片112可以利用这些网络节点102中的每一个(或子集)的资源来实现两个端点之间的逻辑网络。例如,平台基础设施可以被切分,使得平台基础设施的关键硬件资源在多个网络切片之间共享以执行相应切片的操作,关键硬件资源例如处理器单元(例如,中央处理单元(cpu)、处理器核心、图形处理单元、硬件加速器、现场可编程门阵列、神经网络处理单元、人工智能处理单元、推理引擎、数据处理单元或基础设施处理单元)、高速缓存、加速器、存储器带宽或网络接口卡资源。
16.传统上,网络已经支持网络切片的服务水平协议(sla),其中网络保证一类或多类业务的某些服务水平(例如,对于带宽参数,例如保证比特率和超额比特率、分组延迟变化、分组丢失、分组延时)。对于使用网络的多个实体(例如,网络运营商和服务提供商)来说,功率使用是关键的考虑因素。切片的功率使用特性可能会显著影响整个网络中各种网络节点的操作,包括例如传输和核心网络内的边缘设备和平台。
17.本公开的各种实施例提供用于为在网络上运行的各个网络切片实施功率sla的系统和方法。特定实施例可以提供特定计算平台和cpu的选择以运行节能网络切片、指派核心以在功率约束内运行网络切片、确保平台上网络切片所消耗的功率不超过该网络切片的特定功率阈值的功率感知控制器、以及可以调整分组处理速率以确保物理计算平台上网络切片所消耗的功率不超过特定功率阈值的功率感知业务管理器。
18.图2图示了根据某些实施例的在网络切片之间共享的网络节点102。每个网络节点102可以包括物理计算平台,其可操作以处理在端点204和206之间发送的分组。每个网络节点102包括可以由切片112共享的硬件资源202。
19.在所描绘的实施例中,网络切片112a可以实现端点204a和端点206a之间的逻辑网络,网络切片112b可以实现端点204b和端点206b之间的逻辑网络,并且网络切片112c可以实现端点204c与端点206c之间的逻辑网络。
20.硬件资源202可以包括任何合适的计算机硬件组件。例如,硬件资源202可以包括例如均包括一个或多个处理核心、高速缓存、加速器、存储器或网络接口卡的cpu。在一些实施例中,硬件资源包括非核心(uncore)。在各种实施例中,非核心(有时称为系统代理)可以包括不是核心的一部分的任何合适的逻辑。例如,非核心可以包括最后一级高速缓存、高速缓存控制器、耦合到系统存储器的管芯上存储器控制器、处理器互连控制器(例如,快速路径互连(quick path interconnect)或类似控制器)、管芯上i/o控制器或其他合适的管芯上逻辑中的一个或多个。在特定实施例中,非核心可以处于与核心的电压域和/或频域分离的电压域和/或频域中。即,非核心可以由与用于为核心供电的电源电压不同的电源电压供
电和/或可以在与核心的操作频率不同的频率下操作。
21.图3图示了根据某些实施例的用于基于功率预算来部署网络切片112的流程300。在所描绘的实施例中,各种计算系统(例如,切片控制器302、能量感知平台选择器304和可用平台306)彼此通信以实现网络切片的部署,但是在其他实施例中,任何合适的计算系统或组件可以执行图示的通信(或其变体)。
22.切片控制器302可操作以接收请求以创建网络切片并与网络节点102或控制器通信以引起所请求的网络切片的部署。在各种实施例中,切片控制器302可以是软件定义联网(sdn)控制器(例如,116、118)、网络切片控制器(例如,5g网络切片控制器)、网络切片选择器(例如,5g网络切片选择器)、编排(orchestration)和管理控制器或其他合适的控制器。在一些实施例中,片控制器302可以包括控制器的层次结构。例如,切片控制器302可以由耦合到一个或多个边缘sdn控制器(例如,其与网络100的边缘部分中的网络节点通信)、核心sdn控制器(例如,其与网络100的核心部分中的网络节点通信)和/或数据中心sdn控制器(例如,其与数据中心中的网络节点通信)的中央sdn控制器来实现。
23.能量感知平台选择器304可操作以基于网络切片的功耗参数和网络切片的其他约束(例如,如sla定义的)来选择一个或多个平台来实现网络切片。为了这样做,能量感知平台选择器304可以与切片控制器302通信以确定对网络切片的要求并且与可用平台306通信以确定平台的能力以便选择合适的平台来实现网络切片。在一些实施例中,能量感知平台选择器304可以与切片控制器302集成。
24.当在切片控制器302处接收到对具有相关联的功率预算的网络切片的请求时,流程300开始。该请求可以由任何合适的实体发送,例如网络100的租户或可以代表其他用户管理网络切片或使用网络切片的其他实体。
25.该请求可以为网络切片指定各种参数,例如传统的服务水平协议(sla)参数(例如,对于带宽参数,例如用于一个或多个类别或类型的网络业务的保证比特率和超额比特率、分组延迟变化、分组丢失、分组延时等)以及网络切片的功率预算。可以在端到端网络切片的功率预算中指定任何合适的能效参数,例如平均功率(例如,以瓦特计)、网络切片的最大功率、平均功率加最大功率、要在空闲时段中消耗的最大功率、构成空闲时段的内容的规范、要在繁忙时段期间消耗的最大功率、构成繁忙时段的内容的规范、或适用于端到端网络切片的其他合适的能效参数中的一个或多个。
26.在第二通信中,切片控制器302将网络切片的功率预算传送到能量感知平台选择器304。在第三通信中,切片控制器302接收来自各种可用的物理计算平台306的功率信息(例如,平台遥测、能力、策略等)。在一些实施例中,选择器304可以直接地或通过一个或多个其他网络节点与每个平台通信,一个或多个其他网络节点例如管理服务器,其可以聚合来自多个可用平台的信息,并且然后将信息发送到能量感知平台选择器304。在各种实施例中,选择器304响应于从选择器304发送到平台306的请求而从平台接收信息。附加或替代地,平台306可以以周期性的间隔或响应于任何合适的触发器来将该信息发送到选择器304。
27.在第三通信中从可用平台306发送到能量感知平台选择器304的平台功率信息可以包括平台功率遥测数据、平台功率能力、平台功率策略、平台的每个核的频率信息、或与相应平台的功率使用或能力相关的其他合适信息中的一个或多个。
28.平台功率遥测数据可以包括以下各项中的一个或多个:平台的每个硬件资源(例如,cpu)的当前功率测量值、整个平台(例如,包括cpu、其他处理器或加速器、电源单元、存储器、风扇或其他冷却单元,或其他合适的硬件)的当前功率测量值)(例如,由/智能平台管理接口(ipmi)或以其他合适的方式测量的)、每个核心的频率测量值、以及可用的tdp余量(其中tdp余量是平台或其硬件资源上使用的瓦数与可用的最大瓦数之间的差异)。在一些实施例中,平台功率遥测数据中还可以包括具有所需最小频率和可用功率余量(例如,峰值和平均值)的可用核心的数量。在此描述的任何其他功率遥测数据(例如,结合图4)可以被报告给能量感知平台选择器304。
29.平台功率能力可以包括平台上可用的功率特征的指示。例如,平台功率能力可以描述哪些cpu配备了速度选择技术(sst)(例如,可以修改核心的基频使得处理器的核心的基频可以不同的技术)、涡轮增压能力或其他可变功率使用能力。
30.平台功率策略可以指示在相应平台上哪些功率策略可用以控制功率使用。例如,此类策略可包括一种或多种睡眠模式、平衡性能模式(其尝试平衡高性能与低功率使用)、高性能模式或其他合适的性能模式。
31.每个核心的频率信息可以指示平台的每个核心处的可用频率。例如,该信息可以指示核心的频率范围(例如,其最小和最大频率)。该信息还可以包括频率步长或其他信息(其指示每个核心的最小和最大频率之间的哪些频率可用)。其他硬件组件(例如,网络接口、存储器或加速器)的可用频率也可以包括在发送到选择器304的信息中。
32.在分析切片的功率预算和平台功率信息之后,能量感知平台选择器304可以选择能够共同(collectively)保持在网络切片的指定功率预算内的平台,并且然后可以在第四通信中将选择通知切片控制器302。
33.与选择平台306以实现网络切片相关联地,能量感知平台选择器304或切片控制器302(或其他相关联的计算实体)可以确定每个平台的各个网络切片功耗参数,所述每个平台被选择为基于网络切片的整体功率预算来实现网络切片。例如,如果功率预算指定网络切片的平均瓦数,则选择器304或切片控制器302可以在平台之间划分平均瓦数以实现网络切片,使得所选平台的平均瓦数之和(在对网络切片进行操作时)不超过整个网络切片的平均瓦数。作为另一示例,可以以类似方式分配网络切片的最大瓦数(例如,在突发周期期间)或最小保证瓦数。可以以任何合适的方式在不同平台之间分配功率预算。例如,分配给每个平台的功率预算部分可以基于任何合适的因素,例如相应平台将对网络切片执行的处理操作(例如,相比用于执行较不密集操作的类似平台,用于执行更密集的分组处理操作的平台可以被分配更多的预算)、平台的硬件特性(例如,相比包括对于类似的处理操作消耗相对高功率的硬件的平台,包括消耗相对低功率的硬件的平台可以被分配更少的功率预算)、或其他合适的因素。在各种实施例中,可以为多个平台分配相等或不相等的功率预算部分。
34.以下结合图4更详细地描述示例网络切片功耗参数。在各种实施例中,实现切片的平台的选择还基于为网络切片请求的其他参数(例如,为一个或多个类别或类型的业务指定的诸如带宽、延时、抖动、分组丢失等的sla参数)。这样做时,平台的选择(以及平台特定网络切片功耗参数的指派)可以寻求平衡性能与能效。对于在性能需求方面灵活的网络切片,可以采取积极的节能方法,而需要高性能的网络切片可能反而专注于放置在具有更大功率需求的更高性能平台中。作为一个示例,对于特定网络切片,选择器304可以选择能够
实现低功率状态但也能够处理业务突发的平台(例如,具有带涡轮增压能力的cpu的平台)。作为另一个示例,最不容忍延时和分组丢失的切片可以指派给最高频率的核心。一般而言,网络切片功耗参数可被设置为最小化功率使用,同时仍确保满足与网络切片相关联的sla的性能要求(例如延时和分组丢失)。
35.一旦切片控制器302从能量感知平台选择器304接收到选择的平台列表,切片控制器302就与选择的平台通信以使得网络切片根据与网络切片相关联的功率预算在选择的平台上被实例化。
36.图4图示了根据某些实施例的用于配置和调整网络切片112的平台操作参数的流程400。在所描绘的实施例中,描绘了各种逻辑(例如,切片功率控制器402和计算平台401的各种组件),但在其他实施例中,任何合适的计算系统或组件可以执行所示出的通信(或其变体)。
37.切片功率控制器402可以包括任何合适的计算系统。在特定实施例中,切片功率控制器402是与切片控制器302或平台选择器304相同(或与之通信)的计算实体。平台401表示网络节点102的示例实现方式。平台401包括能量管理控制器404、功率控制单元(pcu)408、硬件资源410(其可对应于硬件资源202)、功率监控器412和网络切片逻辑414(其表示用于使硬件资源410能够执行对于网络切片112的处理和其他操作的逻辑)。
38.在流程400的第一通信中,切片功率控制器402向计算平台401的能量管理控制器404发送一个或多个网络切片功耗参数。在一些实施例中,可以在平台401处接收网络切片功耗参数连同用于实现网络切片112的请求,或与所述请求结合地接收网络切片功耗参数。
39.在各种实施例中,网络切片功耗参数可以包括基于为网络切片指定的功率预算的任何合适的功耗参数。网络切片功耗参数可以特定于特定平台401,因此与特定平台401结合使用以实现网络切片的其他平台可以具有它们自己的针对网络切片的相应网络切片功耗参数。
40.网络切片功耗参数包括一个或多个参数,这些参数在执行相关联的网络切片112的操作时约束平台401的操作。这些功耗参数中的至少一些可以特定于用于特定切片112的操作的执行(与平台401针对其他网络切片执行的操作相反,其可以与其他相应的网络切片功耗参数相关联)。例如,网络切片功耗参数可以包括切片的最大突发功率、切片的平均功率、共享功率使用信息、功率使用优先级信息、超出功率阈值行为信息(exceeded power threshold behavior information)、cpu的总功率预算、平台401的总功率预算中的一个或多个(包括例如一个或多个cpu、其他处理器或加速器、电源单元、存储器、风扇或其他冷却单元或其他合适的硬件资源410的功率使用)。
41.最大突发功率可以是当执行网络切片112的操作时整个平台401或其一部分(例如,一个或多个cpu)的最大突发功率。平均功率可以是整个平台401或其一部分(例如,一个或多个cpu)的平均功率。共享功率使用信息可以包括在网络切片112已经超过用于网络切片112的平台401的保证功率量之后,网络切片112可以利用来自共享功率量的功率(例如,在突发期间)的条件。当多个切片正在竞争有限资源(其中有限资源之一可以是功率)时,功率使用优先级信息可以指定切片相对于运行在平台401上的其他切片的优先级的优先级。超出功率阈值行为信息可以指定如果平台401的所有核心已经超过它们的可用功率预算则要采取的一个或多个动作。例如,该信息可以指定如果超过总功率预算,则所有核心都应限
制于一个或多个特定频率,或者一个或多个特定核心应优先于其他核心,使得它们可以以相对于其他核心的相对高的频率运行。cpu的总功率预算可以指示cpu的总功率预算(例如,跨所有切片)。平台401的总功率预算可以指示对于平台401所实现的所有切片而言平台的总功率预算(以防止在功率被分配给各个切片时超过总功率预算限制)。
42.能量管理控制器404接收网络切片功耗参数并基于功耗参数确定平台402的硬件的操作参数。例如,对于代表网络切片112执行处理的每个核心,可以确定最低基频和起始频率。最低基频可以是核心将在针对网络切片112执行处理时操作的最低频率,而起始频率可以与最低基频不同或相同,并且是当开始针对网络切片112执行处理时核心设置成的频率。作为另一示例,操作参数之一可以是非核心频率。作为又一示例,操作参数可指定是否高级向量指令(avx)指令可由一个或多个核心执行。
43.在第二通信中,能量管理控制器404将配置的操作参数传送到pcu 408,pcu 408在适当的时间(例如,当网络切片开始操作时)将操作参数应用到指定的硬件。在各种实施例中,pcu 408可以控制施加到核心中的每一个(例如,以每个核心为基础)和非核心的电源电压和操作频率。当不执行工作负载时,pcu 408还可以指示核心或非核心进入空闲状态(例如,其中不提供电压和时钟)。pcu 408可以使核心或非核心进入任何其他合适的状态或模式。在各种实施例中,操作参数可以包括与硬件资源相关联的任何其他合适的参数(例如,加速器、图形处理单元、矢量处理单元的频率或电压,或其他合适的参数)。
44.在第三通信中,平台的功率监控器412将功率使用信息传送到能量管理控制器404。功率使用信息可以包括可以由平台401报告的任何合适的功率使用信息。例如,功率使用信息可以包括以下各项中的一个或多个:平台的每个核心的操作频率、每个核心的功耗、系统存储器(例如,dram)的功耗、网络接口(例如,nic)的功耗、网络接口的功率状态、加速器的功耗、gpu的功耗、vpu的功耗、平台的聚合功耗(例如,由于cpu、存储器、存储、冷却等)、平台401的总功耗(例如,如通过对电源单元的输入测量的,也称为墙壁功率(wall power))、非核心频率、非核心的功耗或其他合适的功耗参数。在各种实施例中,能量管理控制器404还可接收核心是否正在执行avx指令的指示。
45.即使能量管理控制器404指定了这些操作参数中的一些(例如,操作频率),这些参数中的一些可以与基于实际操作条件的设定值不同(并且因此来自功率监控器的反馈可以在实现对平台401及其组件的功率使用的准确评估方面是有价值的)。例如,可以设置核心的操作频率,但是由于处理器由于执行诸如avx指令之类的高功率指令而限制频率或由于涡轮功率限制或其他因素,所以实际实现的频率可以低于设定频率。
46.能量管理控制器404接收功率使用信息并且对照网络切片功耗参数中的一个或多个检查功率使用信息,以确定与网络切片406相关联的功耗是否可接受。如果功耗过高,则绿色能源控制器可以调整一个或多个操作参数以降低与网络切片406相关联的功耗。如果功耗可接受,绿色能源控制器可以维持相同的操作参数或者如果存在合适的功率余量,则可以修改一个或多个操作参数以提高性能。任何调整后的操作参数可以在第四通信中从能量管理控制器404传送到功率控制单元408。在一个实施例中,当期望较低的功率使用时,可以在降低核心频率之前降低非核心频率。
47.平台的特定硬件资源(例如,核心)410可以专用于一个切片或者可以在多个切片之间进行时间共享(time shared)。当硬件资源在多个切片之间时间共享时,能量管理控制
器404或其他平台逻辑可以跟踪特定网络切片406所使用硬件资源410的时间,以便基于从功率监控器412接收的功率使用信息来确定归因于网络切片的功率使用。
48.能量管理控制器404可以执行类似于针对在平台401上运行的任何数量的网络切片所描绘的那些通信。在一些实施例中,能量管理控制器404可以由平台401执行并且可以执行特定于平台401的所示出的功率监控操作。在其他实施例中,能量管理控制器404可以为多个不同平台401执行所示的功率监控操作。
49.图5图示了根据某些实施例的用于基于功率使用调整网络切片的分组处理速率的流程500。流程500类似于流程400,但在流程500中,可以通过功率感知业务管理器502对网络分组进行监管或整形来改变功耗。这可以作为如结合流程400所描述地改变操作参数以根据网络切片功耗参数控制功率使用的附加或替代来完成。在流程500中,在网络切片功耗参数被发送到能量管理控制器404并且操作参数被发送到功率控制单元408之后,能量管理控制器404可以基于功率使用信息来确定是否应该针对网络切片112减少功率使用。
50.响应于确定应该针对网络切片112减少功率使用,功率感知业务管理器502可以使从nic 504接收的与网络切片112相关联的传入分组排队以供平台502的硬件的未来处理(例如,在网络切片112在平台上消耗较少功率以使得对排队的分组的处理将不会导致违反网络切片功耗参数的时间期间)或完全丢弃以使得它们不被平台502的硬件资源410处理。在一些实施例中,功率感知业务管理器502可以选择性地阻止或限制(通过速率限制和/或在时间延迟之后经由业务整形选择性地缓冲和处理)某些分组(例如较低优先等级的分组),同时处理其他分组(例如较高优先等级的分组)。在所描绘的实施例中,功率感知业务管理器502被实现为网络切片逻辑514(其可以类似于网络切片逻辑414)的一部分。在各种实施例中,业务管理器502可以在平台本身上实现(例如,可以通过由平台502执行的软件来实现或者可以在nic 504上实现,例如,当nic 504是智能nic时)或者可以在平台外部(例如,在外部负载平衡器上)。
51.图6图示了根据某些实施例的用于关键组件功率分配的流程600。流程的操作可以由任何合适的逻辑执行,例如切片控制器302、平台本身或其他合适的逻辑。在602,检测可操作以针对一个或多个网络切片执行处理的新平台。在604,为支持平台的一般操作和管理的关键组件保留保证频率。例如,可以为操作系统、网络堆栈、虚拟交换机和一个或多个管理接口中的一个或多个保留核心频率(或其他合适的硬件资源)。关键组件可以允许平台与其他网络节点(例如,其他平台、切片控制器302、能量感知平台选择器304等)通信并允许平台执行网络切片的处理。在一些实施例中,单独的核心可以专用于这些关键组件中的每一个(例如,一个核心来执行操作系统,另一个核心来执行网络堆栈,等等),尽管这里设想了其他布置。在606,为关键组件保留突发频率。一旦已经为关键组件保留了保证频率和突发频率,就可以分配剩余频率以供网络切片使用。通过确保保证频率始终可供关键组件使用,在608处保证频率被实施(enforce)。例如,可以通过写入操作系统接口或设置操作系统电源调节器子系统的功率策略来显式更改核心频率,来实施特定核心或特定一组核心的频率。
52.图7示出了根据某些实施例的切片功率分配的流程700。系统100的任何合适的逻辑(或其组合)(例如,切片控制器302、能量感知平台选择器304、能量管理控制器404或其他逻辑)可以执行流程700的操作。在702,接收切片部署请求。例如,切片部署请求可以是用于
部署虚拟网络功能(vnf)的请求。
53.在704,基于与网络切片相关联的功率预算来调度平台的硬件资源。在各种实施例中,这可以包括检查所有可用平台,并且然后从列表中选择满足以下参数的平台,并且然后为所选平台上的网络切片调度工作负载(例如上文结合图3所述)。在各种实施例中,该操作可以在诸如可从kubernetes或获得的编排系统中执行。
54.在706,进行关于网络切片的容量是否可用的确定。如果容量不可用,则网络切片的实现可能被延迟并且流程可能返回到704(如果合适,则可以在704修改调度)。一旦容量在706可用,则在708为切片分配保证频率(例如,核心频率)并且在710分配切片突发频率。然后在712实施保证频率。
55.图8图示了根据某些实施例的用于资源调度的流程。流程800的操作可以由任何合适的逻辑来执行,例如能量管理控制器404。
56.在802,启动功率调度定时器。在804,等待功率调度周期。在该时间段过去之后,流程移动到806,其中针对每个网络切片(针对其平台处理分组)检查功率利用指示符。例如,功率利用指示符可以根据从功率监控器412发送到能量管理控制器404的功率使用信息导出(例如,如在图4中所描述的)。然后可以对照相应的网络切片功耗参数检查每个切片的功率利用指示符,以确定是否应该改变切片的功耗。在808,可以针对每个切片的下一个时间段调整一个或多个核心频率。在其他实施例中,可以对网络切片的硬件资源(如上所述)进行其他调整。该流程可以重复任意次数。
57.图9图示了根据某些实施例的示例计算系统900。这里描述的各种实体(例如,控制器、选择器304、网络节点102、平台等中的任何一个)可以使用计算系统900或其他合适的计算系统来实现。系统900包括一个或多个cpu 902,每个cpu 902包括一个或多个核心904、存储器906、加速器908和nic 910。
58.cpu 902包括处理器,例如微处理器、嵌入式处理器、数字信号处理器(dsp)、网络处理器、手持式处理器、应用处理器、协处理器、soc或用于执行代码(例如,软件指令)的其他设备。所描绘的实施例中的cpu 902包括四个处理元件(所描绘的实施例中的核心904),其可包括非对称处理元件或对称处理元件。然而,处理器可以包括任意数量的可以是对称或非对称的处理元件。
59.在一个实施例中,处理元件是指用于支持软件线程的硬件或逻辑。硬件处理元件的示例包括:线程单元、线程槽、线程、进程单元、上下文、上下文单元、逻辑处理器、硬件线程、核心和/或能够保持处理器的状态(例如执行状态或架构状态)的任何其他元件。换言之,在一个实施例中,处理元件是指能够独立地与代码相关联的任何硬件,代码例如软件线程、操作系统、应用或其他代码。物理处理器(或处理器插槽)通常是指集成电路,其潜在地包括任意数量的其他处理元件,例如核心或硬件线程。
60.核心904可以指位于能够维持独立架构状态的集成电路上的逻辑,其中每个独立维持的架构状态与至少一些专用执行资源相关联。硬件线程可以指位于能够维持独立架构状态的集成电路上的任何逻辑,其中独立维护的架构状态共享对执行资源的访问。可以看出,当某些资源被共享而其他资源专用于架构状态时,硬件线程和核心的命名法之间的界限是重叠的。然而,核心和硬件线程通常被操作系统视为各个逻辑处理器,其中操作系统能够单独调度每个逻辑处理器上的操作。
61.在各种实施例中,处理元件还可以包括一个或多个算术逻辑单元(alu)、浮点单元(fpu)、高速缓存、指令流水线、中断处理硬件、寄存器或其他用于促进处理元件的操作的硬件。
62.存储器906可以包括任何形式的易失性或非易失性存储器,包括但不限于磁性介质(例如,一个或多个磁带驱动器)、光学介质、随机存取存储器(ram)、只读存储器(rom)、闪存、三维交叉点存储器、相变存储器、可移动介质或一个或多个任何其他合适的本地或远程存储器组件。存储器906可以被系统900用于短期、中期和/或长期存储。存储器906可以存储由系统100使用的任何合适的数据或信息,包括嵌入在计算机可读介质中的软件,和/或并入硬件或以其他方式存储的编码逻辑(例如,固件)。存储器906可以存储由cpu 902的核心904使用的数据。在一些实施例中,存储器906还可以包括用于可以由cpu 902的核心904或其他处理元件执行以提供与网络切片112相关联的功能的指令的存储。存储器906还可存储由cpu 902执行的各种计算和确定的结果和/或中间结果。在各种实施例中,存储器906可包括通过存储器控制器(其可在cpu 902外部或与cpu 902集成)与cpu耦合的系统存储器的一个或多个模块。在各种实施例中,存储器906的一个或多个特定模块可以专用于特定cpu 902或其他处理设备,或者可以跨多个cpu 902或其他处理设备共享。
63.加速器908可以包括任何合适的逻辑以代表一个或多个cpu执行专门的处理任务。加速器908可以执行任何专门的处理任务,例如图形处理、密码运算、数学运算、tcp/ip处理或其他合适的功能。在特定实施例中,加速器908可以经由专用互连耦合到一个或多个cpu 902。在特定实施例中,加速器908可以包括可编程逻辑门。例如,加速器908可以是现场可编程门阵列(fpga)。在各种实施例中,加速器908可以位于与cpu 902相同的芯片上或位于不同的芯片上。
64.通信接口910可用于计算系统900的组件与一个或多个i/o设备、一个或多个网络和/或耦合到网络的一个或多个设备之间的信令和/或数据的通信。例如,通信接口910可用于发送和接收诸如数据分组之类的网络业务。在特定实施例中,通信接口910包括一个或多个物理网络接口控制器(nic),也称为网络接口卡或网络适配器。nic可以包括电子电路以使用任何合适的物理层和数据链路层标准进行通信,例如以太网(例如,由ieee 802.3标准定义)、光纤通道(fibre channel)、infiniband、wi-fi或其他合适的标准。nic可以包括一个或多个可以耦合到电缆(例如,以太网电缆)的物理端口。nic可以实现系统100的任何合适的元件与耦合到网络的另一个设备之间的通信。在各种实施例中,nic可以与系统900的芯片组集成(例如,可以与芯片组逻辑的其余部分在同一集成电路或电路板上)或可以在机电耦合到芯片组的不同集成电路或电路板上。
65.设计可以经历从创建到模拟到制造的各个阶段。表示设计的数据可以以多种方式表示设计。首先,由于在模拟中很有用,可以使用硬件描述语言(hdl)或其他功能描述语言来表示硬件。此外,可以在设计过程的一些阶段产生具有逻辑和/或晶体管门的电路级模型。此外,大多数设计在某个阶段达到了表示硬件模型中各种设备的物理位置的数据级别。在使用传统半导体制造技术的情况下,表示硬件模型的数据可以是指定用于生产集成电路的掩模的不同掩模层上存在或不存在各种特征的数据。在一些实现方式中,这样的数据可以以诸如图形数据系统ii(gds ii)、开放艺术品系统交换标准(oasis)或类似格式的数据库文件格式存储。
66.在一些实现方式中,基于软件的硬件模型以及hdl和其他功能描述语言对象可以包括寄存器传输语言(rtl)文件等。这样的对象可以是机器可解析的,使得设计工具可以接受hdl对象(或模型),解析hdl对象以获得所描述的硬件的属性,并根据对象确定物理电路和/或片上布局。设计工具的输出可用于制造物理设备。例如,设计工具可以从hdl对象中确定各种硬件和/或固件元素的配置,例如总线宽度、寄存器(包括大小和类型)、存储器块、物理链接路径、结构拓扑,以及为了实现在hdl对象中建模的系统而将实现的其他属性。设计工具可以包括用于确定片上系统(soc)和其他硬件设备的拓扑和结构配置的工具。在一些情况下,hdl对象可以用作开发模型和设计文件的基础,制造设备可以使用这些开发模型和设计文件来制造所描述的硬件。实际上,hdl对象本身可以作为制造系统软件的输入来提供所描述的硬件。
67.在设计的任何表示中,数据可以存储在任何形式的机器可读介质中。存储器或诸如磁盘之类的磁或光存储装置可以是机器可读介质,用于存储经由调制或以其他方式生成以传输此类信息的光或电波传输的信息。当传输指示或携带代码或设计的电载波时,在执行电信号的复制、缓冲或重新传输的范围内,制作新的复本。因此,通信提供商或网络提供商可以在有形的、机器可读的介质上至少暂时地存储体现本公开的实施例的技术的制品,例如编码到载波中的信息。
68.在各种实施例中,可以向制造系统(例如,能够制造集成电路和/或相关组件的半导体制造系统)提供存储设计表示的介质。设计表示可以指示系统制造能够执行上述功能的任何组合的设备。例如,设计表示可以指示系统关于制造哪些组件、组件应该如何耦合在一起、组件应该放置在设备上的什么位置、和/或关于要制造的设备的其他合适的规范。
69.如本文所用或如图所示的模块是指硬件、软件和/或固件的任何组合。作为示例,模块包括与用于存储适于由微控制器执行的代码的非暂时性介质相关联的硬件,例如微控制器。因此,在一个实施例中,对模块的引用是指硬件,其具体被配置为识别和/或执行要保存在非暂时性介质上的代码。此外,在另一实施例中,模块的使用是指包括代码的非暂时性介质,其具体适于由微控制器执行以执行预定操作。并且可以推断,在又一个实施例中,术语模块(在该示例中)可以指微控制器和非暂时性介质的组合。通常,被图示为单独的模块边界通常不同并且潜在重叠。例如,第一和第二模块可以共享硬件、软件、固件或它们的组合,同时潜在地保留一些独立的硬件、软件或固件。在一个实施例中,术语逻辑的使用包括硬件,例如晶体管、寄存器,或其他硬件,例如可编程逻辑器件。
70.逻辑可用于实现任何描述的流程或本文描述的各种系统或组件的功能。“逻辑”可以指引用执行一个或多个功能的硬件、固件、软件和/或每一项的组合。在各种实施例中,逻辑可以包括微处理器或可操作以执行软件指令的其他处理元素、诸如专用集成电路(asic)的分立逻辑、诸如现场可编程门阵列(fpga)的编程逻辑器件、包含指令的存储设备、逻辑器件的组合(例如,如将在印刷电路板上找到)或其他合适的硬件和/或软件。逻辑可以包括一个或多个门或其他电路组件。在一些实施例中,逻辑也可以完全体现为软件。软件可以体现为记录在非暂时性计算机可读存储介质上的软件包、代码、指令、指令集和/或数据。固件可以体现为存储设备中硬编码(例如,非易失性)的代码、指令或指令集和/或数据。
71.在一个实施例中,措辞“用于”或“被配置为”的使用是指布置、组装、制造、提供以售卖、进口和/或设计执行指定或确定的任务的装置、硬件、逻辑或元素。在该示例中,没有
进行操作的装置或其元素仍“被配置为”执行指定任务,如果其被设计、耦合和/或互连来执行所述指定任务。作为纯粹说明性的示例,逻辑门可以在操作期间提供0或1。但是“被配置为”提供使能信号到时钟的逻辑门不包括可提供1或0的每一个可能的逻辑门。相反,该逻辑门是以在操作期间1或0输出用于使能时钟的某种方式耦合的逻辑门。再次注意到,术语“被配置为”的使用不要求操作,而是侧重于装置、硬件和/或元素的潜在状态,其中在潜在状态下,装置、硬件和/或元素被设计为当装置、硬件和/或元素正在操作时执行特定任务。
72.此外,在一个实施例中措辞“能够/能”和/或“可操作”的使用是指以这样的方式设计来实现按指定方式使用装置、逻辑、硬件和/或元素的某种装置、逻辑、硬件和/或元素。如上文所提到的,在一个实施例中,用于、能够或可操作的使用是指装置、逻辑、硬件和/或元素的潜在状态,其中装置、逻辑、硬件和/或元素没有正操作,但是设计成使得能够以指定方式使用装置。
73.如本文所使用的,值包括数字、状态、逻辑状态或二进制逻辑状态的任何已知表示。通常,逻辑电平、逻辑值或逻辑上的值还称为1和0,其简单地表示二进制逻辑状态。例如,1表示高逻辑电平,并且0表示低逻辑电平。在一个实施例中,诸如晶体管或闪存单元的存储单元可以能够保存单个逻辑值或多个逻辑值。但是,已经使用了计算机系统中的其他值表示。例如,十进制数十也可以表示为二进制值1010和十六进制字母a。因此,值包括能够保存在计算机系统中的任何信息表示。
74.此外,状态可由值或值的部分表示。作为示例,诸如逻辑1的第一值可以表示默认或初始状态,而诸如逻辑0的第二值可以表示非默认值。另外,在一个实施例中,术语重置和置位分别是指默认值或状态和更新值或状态。例如,默认值可能包括高逻辑值,例如重置,而更新的值可能包括低逻辑值,例如置位。注意,值的任何组合可用于表示任意数量的状态。
75.上文所阐述的方法、硬件、软件、固件或代码的实施例可以经由存储在机器可访问、机器可读、计算机可访问或计算机可读介质上的、可由处理元素执行的指令或代码来实现。机器可访问/可读介质包括提供(即,存储和/或发送)诸如计算机或电子系统的机器可读的形式的信息的任何机制。例如,机器可访问介质包括随机存取存储器(ram),例如静态ram(sram)或动态ram(dram);rom;磁或光存储介质;闪存设备;电存储设备;光存储设备;声存储设备;其它形式的存储设备,其用于保存从暂时(传播)信号(例如,载波、红外信号、数字信号)接收到的信息;等等,暂时(传播)信号区别于可从其接收信息的非暂时性介质。
76.用于对逻辑进行编程以执行本公开的实施例的指令可以存储在系统中的存储器内,例如dram、高速缓存、闪速存储器或其它存储装置。此外,指令可以经由网络或通过其它计算机可读介质的方式来分发。因此,机器可读介质可以包括用于以机器(例如,计算机)可读形式存储或发送信息的任何机制,但不限于软盘、光盘、压缩盘只读存储器(cd-rom)和磁光盘、只读存储器(rom)、随机存取存储器(ram)、可擦除可编程只读存储器(eprom)、电可擦除可编程只读存储器(eeprom)、磁卡或光卡、闪速存储器或用于经由电、光、声或其它形式的传播信号(例如,载波、红外信号、数字信号等)通过互联网传输信息的有形的机器可读存储装置。因此,计算机可读介质包括适合于存储或发送机器(例如,计算机)可读形式的电子指令或信息的任何类型的有形机器可读介质。
77.在本说明书通篇提到“一个实施例”或“实施例”是指结合该实施例描述的特定的
特征、结构或特性被包括在本公开的至少一个实施例中。因此,在本说明书通篇各处出现的措辞“在一个实施例中”或“在实施例中”不一定都指同一实施例。此外,特定的特征、结构或特性可以任何适合的方式结合在一个或多个实施例中。
78.在前面的说明书中,已经参考具体的示例性实施例进行了详细说明。然而,将显而易见的是,可以对其进行各种修改和改变,而不偏离如随附权利要求中阐述的本公开的更宽泛的精神和范围。说明书和附图因此应在说明性的意义而非限制性的意义上考虑。此外,前面对实施例和其它示范性语言的使用不一定是指同一实施例或同一示例,而是可以指不同和独特的实施例以及可能同一实施例。
79.示例1可以包括一种系统,该系统包括:用于通过多个物理计算平台访问包括两个端点之间的逻辑网络的网络切片的网络切片功耗参数的接口;以及控制器,包括电路,该控制器根据所述网络切片功耗参数为第一物理计算平台的多个硬件资源指定操作参数。
80.示例2可以包括示例1的主题,控制器基于所述第一物理计算平台上的所述网络切片的测量功耗并且进一步基于所述网络切片功耗参数,来进一步修改所述多个硬件资源的操作参数。
81.示例3可以包括示例1-2中任一个的主题,其中网络切片功耗参数是从通过为所述网络切片定义的功率预算指定的网络切片功率总量中分配给所述第一物理计算平台的功率量。
82.示例4可以包括示例1-3中任一个的主题,其中第一物理计算平台的多个硬件资源的操作参数包括为网络切片处理分组的多个核心的频率。
83.示例5可以包括示例4的主题,其中频率包括所述多个核心中的第一核心的基频和所述第一核心的起始频率。
84.示例6可以包括示例1-5中任一个的主题,其中第一物理计算平台的多个硬件资源的操作参数包括所述第一物理计算平台的非核心的频率。
85.示例7可以包括示例1-6中任一个的主题,其中控制器基于在所述第一物理计算平台上的所述网络切片的测量功耗并且进一步基于所述网络切片功耗参数来使所述网络切片的传入分组被阻止。
86.示例8可以包括示例1-7中任一个的主题,其中控制器基于在所述第一物理计算平台上的所述网络切片的测量功耗并且进一步基于所述网络切片功耗参数,使所述网络切片的传入分组排队以供将来处理。
87.示例9可以包括示例1-8中任一个的主题,还包括第一物理计算平台。
88.示例10可以包括示例1-9中任一个的主题,其中第一物理计算平台包括接口和控制器。
89.示例11可以包括示例1-10中任一项的主题,其中网络切片功耗参数是根据为所述网络切片定义的功率预算导出的。
90.示例12可以包括一种系统,该系统包括:接口,用于:生成用于根据为所述网络切片定义的功率预算接收网络切片的请求;以及接收多个物理计算平台的功率遥测数据和功率能力数据;以及包括电路的控制器,该控制器用于:基于为网络切片定义的功率预算以及所述功率遥测数据和所述功率能力数据,选择物理计算平台的子集来实现所述网络切片。
91.示例13可以包括示例12的主题,控制器在所选择的物理计算平台子集之间划分为
所述网络切片定义的功率预算。
92.示例14可以包括示例12-13中任一个的主题,控制器将用于实现所述网络切片的一部分的请求传送到所述子集中的第一物理计算平台,所述请求指定功率预算的已分配给所述第一物理计算平台的一部分。
93.示例15可以包括示例12-14中任一项的主题,控制器进一步基于定义所述网络切片的分组的至少子集的分组丢失或延时中的至少一项的服务水平协议来选择所述物理计算平台的所述子集以实现所述网络切片。
94.示例16可以包括一种方法,该方法包括:通过多个物理计算平台访问包括为两个端点之间的逻辑网络的网络切片定义的网络切片功耗参数;以及根据所述网络切片功耗参数确定第一物理计算平台的多个硬件资源的操作参数。
95.示例17可以包括示例16的主题,还包括基于在第一物理计算平台上的网络切片的测量功耗并且进一步基于所述网络切片功耗参数,来修改所述多个硬件资源的操作参数。
96.示例18可以包括示例16-17中任一个的主题,其中网络切片功耗参数是从由为所述网络切片定义的功率预算指定的网络切片功率总量中分配给所述第一物理计算平台的功率量。
97.示例19可以包括示例16-18中任一个的主题,还包括基于在所述第一物理计算平台上的所述网络切片的测量功耗并且进一步基于所述网络切片功耗参数来阻止要被阻止的所述网络切片的传入分组。
98.示例20可以包括示例16-19中任一个的主题,还包括基于在第一物理计算平台上的网络切片的测量功耗并且进一步基于所述网络切片功耗参数,将要被阻止的网络切片的传入分组排队。
99.示例21可以包括示例16-20中任一项的主题,还包括基于为所述网络切片定义的功率预算以及所述多个物理计算平台的功率遥测数据和功率能力数据,来选择多个物理计算平台的子集以实现所述网络切片。
100.示例22可以包括其上存储有指令的至少一种非暂时性机器可读存储介质,该指令在由机器执行时使机器:通过多个物理计算平台访问网络切片的网络切片功耗参数,该网络切片包括两个端点之间的逻辑网络;以及根据网络切片功耗参数确定第一物理计算平台的多个硬件资源的操作参数。
101.示例23可以包括示例22的主题,指令用于使得机器:基于在第一物理计算平台上的网络切片的测量功耗并且进一步基于网络切片功耗参数,修改多个硬件资源的操作参数。
102.示例24可以包括示例22-23中任一个的主题,其中网络切片功耗参数是从由为网络切片定义的功率预算指定的网络切片功率总量中分配给第一物理计算平台的功率量。
103.示例25可以包括示例22-24中任一个的主题,其中第一物理计算平台的多个硬件资源的操作参数包括用于处理网络切片的分组的多个核心的频率。
104.示例26可以包括示例25的主题,其中频率包括多个核心中的第一核心的基频和第一核心的起始频率。
105.示例27可以包括示例22-26中任一个的主题,其中第一物理计算平台的多个硬件资源的操作参数包括第一物理计算平台的非核心的频率。
106.示例28可以包括示例22-27中任一个的主题,其中指令用于使机器:基于在第一物理计算平台上的网络切片的测量功耗并进一步基于网络切片功耗参数来使网络切片的传入分组被阻止。
107.示例29可以包括示例22-28中任一项的主题,其中指令用于使机器:基于在第一物理计算平台上的网络切片的测量功耗并进一步基于网络切片功耗参数使网络切片的传入分组排队以供将来处理。
108.示例30可以包括示例22-29中任一个的主题,还包括第一物理计算平台。
109.示例31可以包括示例22-30中任一个的主题,其中第一物理计算平台包括接口和控制器。
110.示例32可以包括示例22-31中任一项的主题,其中网络切片功耗参数是从为网络切片定义的功率预算导出的。
111.示例33可以包括其上存储有指令的至少一个非暂时性机器可读存储介质,该指令在由机器执行时使机器:接收请求,该请求用于根据为网络定义的功率预算生成网络切片;以及接收多个物理计算平台的功率遥测数据和功率能力数据;以及基于为网络切片定义的功率预算以及功率遥测数据和功率能力数据,选择物理计算平台的子集来实现网络切片。
112.示例34可以包括示例33的主题,指令用于使机器:在物理计算平台的选定子集之间划分为网络切片定义的功率预算。
113.示例35可以包括示例33-34中任一个的主题,指令用于使机器:将用于实现网络切片的一部分的请求传送到子集的第一物理计算平台,该请求指定已分配给第一物理计算平台的功率预算的一部分。
114.示例36可以包括示例33-35中任一项的主题,指令用于使机器:选择物理计算平台的子集以进一步基于定义网络切片的分组的至少子集的分组丢失或延时中的至少一个的服务水平协议来实现网络切片。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1